[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:
snowleo 2011-04-01 22:06:00 +00:00
parent 1e45b468dc
commit 3c59ec9c58
4 changed files with 121 additions and 40 deletions

View File

@ -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;
}
}

View File

@ -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

View File

@ -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: ");
}

View File

@ -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: ");
}