mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-01-03 22:08:28 +00:00
[trunk] Item lists in settings are now stored as Integer lists.
Also: Names from items.csv now work in item lists. git-svn-id: https://svn.java.net/svn/essentials~svn/trunk@1084 e251c2fe-e539-e718-e476-b85c1f46cddb
This commit is contained in:
parent
1e45b468dc
commit
3c59ec9c58
4 changed files with 121 additions and 40 deletions
|
@ -1,16 +1,20 @@
|
|||
package com.earth2me.essentials;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import org.bukkit.ChatColor;
|
||||
import com.earth2me.essentials.commands.IEssentialsCommand;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import org.bukkit.entity.CreatureType;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
|
||||
public class Settings implements IConf
|
||||
{
|
||||
private EssentialsConf config;
|
||||
private final static Logger logger = Logger.getLogger("Minecraft");
|
||||
|
||||
public Settings(File dataFolder)
|
||||
{
|
||||
|
@ -197,39 +201,94 @@ public class Settings implements IConf
|
|||
return epSettings;
|
||||
}
|
||||
|
||||
public ArrayList getEpAlertOnPlacement()
|
||||
public ArrayList<Integer> getEpAlertOnPlacement()
|
||||
{
|
||||
ArrayList epAlertPlace = new ArrayList();
|
||||
epAlertPlace.addAll(Arrays.asList(config.getString("protect.alert.on-placement", "").split(",")));
|
||||
ArrayList<Integer> epAlertPlace = new ArrayList<Integer>();
|
||||
for (String itemName : config.getString("protect.alert.on-placement", "").split(",")) {
|
||||
if (itemName.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
ItemStack is;
|
||||
try {
|
||||
is = ItemDb.get(itemName);
|
||||
epAlertPlace.add(is.getTypeId());
|
||||
} catch (Exception ex) {
|
||||
logger.log(Level.SEVERE, "Unknown item " + itemName + " in alert on placement list.");
|
||||
}
|
||||
}
|
||||
return epAlertPlace;
|
||||
}
|
||||
|
||||
public ArrayList getEpAlertOnUse()
|
||||
public ArrayList<Integer> getEpAlertOnUse()
|
||||
{
|
||||
ArrayList epAlertUse = new ArrayList();
|
||||
epAlertUse.addAll(Arrays.asList(config.getString("protect.alert.on-use", "").split(",")));
|
||||
ArrayList<Integer> epAlertUse = new ArrayList<Integer>();
|
||||
for (String itemName : config.getString("protect.alert.on-use", "").split(",")) {
|
||||
if (itemName.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
ItemStack is;
|
||||
try {
|
||||
is = ItemDb.get(itemName);
|
||||
epAlertUse.add(is.getTypeId());
|
||||
} catch (Exception ex) {
|
||||
logger.log(Level.SEVERE, "Unknown item " + itemName + " in alert on use list.");
|
||||
}
|
||||
}
|
||||
return epAlertUse;
|
||||
}
|
||||
|
||||
public ArrayList getEpAlertOnBreak()
|
||||
public ArrayList<Integer> getEpAlertOnBreak()
|
||||
{
|
||||
ArrayList epAlertPlace = new ArrayList();
|
||||
epAlertPlace.addAll(Arrays.asList(config.getString("protect.alert.on-break", "").split(",")));
|
||||
ArrayList<Integer> epAlertPlace = new ArrayList<Integer>();
|
||||
for (String itemName : config.getString("protect.alert.on-break", "").split(",")) {
|
||||
if (itemName.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
ItemStack is;
|
||||
try {
|
||||
is = ItemDb.get(itemName);
|
||||
epAlertPlace.add(is.getTypeId());
|
||||
} catch (Exception ex) {
|
||||
logger.log(Level.SEVERE, "Unknown item " + itemName + " in alert on break list.");
|
||||
}
|
||||
}
|
||||
return epAlertPlace;
|
||||
}
|
||||
|
||||
public ArrayList epBlackListPlacement()
|
||||
public ArrayList<Integer> epBlackListPlacement()
|
||||
{
|
||||
ArrayList epBlack = new ArrayList();
|
||||
epBlack.addAll(Arrays.asList(config.getString("protect.blacklist.placement", "").split(",")));
|
||||
return epBlack;
|
||||
ArrayList<Integer> epBlacklistPlacement = new ArrayList<Integer>();
|
||||
for (String itemName : config.getString("protect.blacklist.placement", "").split(",")) {
|
||||
if (itemName.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
ItemStack is;
|
||||
try {
|
||||
is = ItemDb.get(itemName);
|
||||
epBlacklistPlacement.add(is.getTypeId());
|
||||
} catch (Exception ex) {
|
||||
logger.log(Level.SEVERE, "Unknown item " + itemName + " in placement blacklist.");
|
||||
}
|
||||
}
|
||||
return epBlacklistPlacement;
|
||||
}
|
||||
|
||||
public ArrayList epBlackListUsage()
|
||||
public ArrayList<Integer> epBlackListUsage()
|
||||
{
|
||||
ArrayList epBlack = new ArrayList();
|
||||
epBlack.addAll(Arrays.asList(config.getString("protect.blacklist.usage", "").split(",")));
|
||||
return epBlack;
|
||||
ArrayList<Integer> epBlackListUsage = new ArrayList<Integer>();
|
||||
for (String itemName : config.getString("protect.blacklist.usage", "").split(",")) {
|
||||
if (itemName.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
ItemStack is;
|
||||
try {
|
||||
is = ItemDb.get(itemName);
|
||||
epBlackListUsage.add(is.getTypeId());
|
||||
} catch (Exception ex) {
|
||||
logger.log(Level.SEVERE, "Unknown item " + itemName + " in usage blacklist.");
|
||||
}
|
||||
}
|
||||
return epBlackListUsage;
|
||||
}
|
||||
|
||||
public HashMap<String, Boolean> getEpGuardSettings()
|
||||
|
@ -332,17 +391,39 @@ public class Settings implements IConf
|
|||
config.load();
|
||||
}
|
||||
|
||||
public ArrayList itemSpawnBlacklist()
|
||||
public ArrayList<Integer> itemSpawnBlacklist()
|
||||
{
|
||||
ArrayList epItemSpwn = new ArrayList();
|
||||
epItemSpwn.addAll(Arrays.asList(config.getString("item-spawn-blacklist", "").split(",")));
|
||||
ArrayList<Integer> epItemSpwn = new ArrayList<Integer>();
|
||||
for (String itemName : config.getString("item-spawn-blacklist", "").split(",")) {
|
||||
if (itemName.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
ItemStack is;
|
||||
try {
|
||||
is = ItemDb.get(itemName);
|
||||
epItemSpwn.add(is.getTypeId());
|
||||
} catch (Exception ex) {
|
||||
logger.log(Level.SEVERE, "Unknown item " + itemName + " in item spawn blacklist.");
|
||||
}
|
||||
}
|
||||
return epItemSpwn;
|
||||
}
|
||||
|
||||
public ArrayList epBlockBreakingBlacklist()
|
||||
public ArrayList<Integer> epBlockBreakingBlacklist()
|
||||
{
|
||||
ArrayList epBreakList = new ArrayList();
|
||||
epBreakList.addAll(Arrays.asList(config.getString("protect.blacklist.break", "").split(",")));
|
||||
ArrayList<Integer> epBreakList = new ArrayList<Integer>();
|
||||
for (String itemName : config.getString("protect.blacklist.break", "").split(",")) {
|
||||
if (itemName.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
ItemStack is;
|
||||
try {
|
||||
is = ItemDb.get(itemName);
|
||||
epBreakList.add(is.getTypeId());
|
||||
} catch (Exception ex) {
|
||||
logger.log(Level.SEVERE, "Unknown item " + itemName + " in block breaking blacklist.");
|
||||
}
|
||||
}
|
||||
return epBreakList;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,12 +26,12 @@ public class EssentialsProtect extends JavaPlugin
|
|||
public static HashMap<String, String> dataSettings = null;
|
||||
public static HashMap<String, Boolean> guardSettings = null;
|
||||
public static HashMap<String, Boolean> playerSettings = null;
|
||||
public static ArrayList usageList = null;
|
||||
public static ArrayList blackListPlace = null;
|
||||
public static ArrayList breakBlackList = null;
|
||||
public static ArrayList onPlaceAlert = null;
|
||||
public static ArrayList onUseAlert = null;
|
||||
public static ArrayList onBreakAlert = null;
|
||||
public static ArrayList<Integer> usageList = null;
|
||||
public static ArrayList<Integer> blackListPlace = null;
|
||||
public static ArrayList<Integer> breakBlackList = null;
|
||||
public static ArrayList<Integer> onPlaceAlert = null;
|
||||
public static ArrayList<Integer> onUseAlert = null;
|
||||
public static ArrayList<Integer> onBreakAlert = null;
|
||||
|
||||
|
||||
public EssentialsProtect()
|
||||
|
@ -65,9 +65,9 @@ public class EssentialsProtect extends JavaPlugin
|
|||
logger.info("Loaded " + this.getDescription().getName() + " build " + this.getDescription().getVersion() + " maintained by " + AUTHORS);
|
||||
}
|
||||
|
||||
public static boolean checkProtectionItems(ArrayList itemList, int id)
|
||||
public static boolean checkProtectionItems(ArrayList<Integer> itemList, int id)
|
||||
{
|
||||
return !itemList.isEmpty() && itemList.contains(String.valueOf(id));
|
||||
return !itemList.isEmpty() && itemList.contains(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -56,7 +56,7 @@ public class EssentialsProtectBlockListener extends BlockListener
|
|||
return;
|
||||
}
|
||||
|
||||
if (!EssentialsProtect.onPlaceAlert.isEmpty() && EssentialsProtect.onPlaceAlert.contains(String.valueOf(item.getTypeId())))
|
||||
if (EssentialsProtect.checkProtectionItems(EssentialsProtect.onPlaceAlert, id))
|
||||
{
|
||||
parent.alert(user, item.getType().toString(), "placed: ");
|
||||
}
|
||||
|
@ -192,13 +192,13 @@ public class EssentialsProtectBlockListener extends BlockListener
|
|||
return;
|
||||
}
|
||||
|
||||
if(EssentialsProtect.breakBlackList.contains(String.valueOf(block.getTypeId())) && !user.isAuthorized("essentials.protect.exemptbreak"))
|
||||
if (EssentialsProtect.checkProtectionItems(EssentialsProtect.breakBlackList, block.getTypeId()) && !user.isAuthorized("essentials.protect.exemptbreak"))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!EssentialsProtect.onBreakAlert.isEmpty() && EssentialsProtect.onBreakAlert.contains(String.valueOf(block.getTypeId())))
|
||||
if (EssentialsProtect.checkProtectionItems(EssentialsProtect.onBreakAlert, block.getTypeId()))
|
||||
{
|
||||
parent.alert(user, block.getType().toString(), "broke: ");
|
||||
}
|
||||
|
|
|
@ -45,11 +45,11 @@ public class EssentialsProtectPlayerListener extends PlayerListener
|
|||
}
|
||||
|
||||
|
||||
if (item != null && EssentialsProtect.checkProtectionItems(EssentialsProtect.usageList, item.getTypeId()) && !user.isAuthorized("essentials.protect.exemptusage"))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
if (item != null && EssentialsProtect.checkProtectionItems(EssentialsProtect.usageList, item.getTypeId()) && !user.isAuthorized("essentials.protect.exemptusage"))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (user.isAuthorized("essentials.protect.admin"))
|
||||
{
|
||||
|
@ -61,7 +61,7 @@ public class EssentialsProtectPlayerListener extends PlayerListener
|
|||
+ ownerName);
|
||||
}
|
||||
}
|
||||
if (item != null && EssentialsProtect.onUseAlert.contains(String.valueOf(item.getTypeId())))
|
||||
if (item != null && EssentialsProtect.checkProtectionItems(EssentialsProtect.onUseAlert, item.getTypeId()))
|
||||
{
|
||||
parent.alert(user, item.getType().toString(), "used: ");
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue