summaryrefslogtreecommitdiffstats
path: root/Essentials/src/com/earth2me/essentials/Settings.java
diff options
context:
space:
mode:
Diffstat (limited to 'Essentials/src/com/earth2me/essentials/Settings.java')
-rw-r--r--Essentials/src/com/earth2me/essentials/Settings.java53
1 files changed, 47 insertions, 6 deletions
diff --git a/Essentials/src/com/earth2me/essentials/Settings.java b/Essentials/src/com/earth2me/essentials/Settings.java
index dc9c9471e..2152fc800 100644
--- a/Essentials/src/com/earth2me/essentials/Settings.java
+++ b/Essentials/src/com/earth2me/essentials/Settings.java
@@ -2,6 +2,8 @@ package com.earth2me.essentials;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.commands.IEssentialsCommand;
+import com.earth2me.essentials.signs.EssentialsSign;
+import com.earth2me.essentials.signs.Signs;
import java.io.File;
import java.text.MessageFormat;
import java.util.*;
@@ -278,7 +280,7 @@ public class Settings implements ISettings
@Override
public boolean areSignsDisabled()
{
- return config.getBoolean("signs-disabled", false);
+ return enabledSigns.isEmpty();
}
@Override
@@ -356,12 +358,21 @@ public class Settings implements ISettings
{
config.load();
noGodWorlds = new HashSet<String>(config.getStringList("no-god-in-worlds", Collections.<String>emptyList()));
+ enabledSigns = getEnabledSigns();
+ itemSpawnBl = getItemSpawnBlacklist();
chatFormats.clear();
}
+ private List<Integer> itemSpawnBl = new ArrayList<Integer>();
+
@Override
public List<Integer> itemSpawnBlacklist()
{
+ return itemSpawnBl;
+ }
+
+ private List<Integer> getItemSpawnBlacklist()
+ {
final List<Integer> epItemSpwn = new ArrayList<Integer>();
for (String itemName : config.getString("item-spawn-blacklist", "").split(","))
{
@@ -369,12 +380,11 @@ public class Settings implements ISettings
if (itemName.isEmpty())
{
continue;
- }
- ItemStack is;
+ }
try
{
- is = ess.getItemDb().get(itemName);
- epItemSpwn.add(is.getTypeId());
+ final ItemStack iStack = ess.getItemDb().get(itemName);
+ epItemSpwn.add(iStack.getTypeId());
}
catch (Exception ex)
{
@@ -383,6 +393,36 @@ public class Settings implements ISettings
}
return epItemSpwn;
}
+
+ private List<EssentialsSign> enabledSigns = new ArrayList<EssentialsSign>();
+
+ @Override
+ public List<EssentialsSign> enabledSigns()
+ {
+ return enabledSigns;
+ }
+
+ private List<EssentialsSign> getEnabledSigns()
+ {
+ List<EssentialsSign> newSigns = new ArrayList<EssentialsSign>();
+ for (String signName : config.getString("enabledSigns", "").split(","))
+ {
+ signName = signName.trim();
+ if (signName.isEmpty())
+ {
+ continue;
+ }
+ try
+ {
+ newSigns.add(Signs.valueOf(signName).getSign());
+ }
+ catch (Exception ex)
+ {
+ logger.log(Level.SEVERE, _("unknownItemInList", signName, "enabledSigns"));
+ }
+ }
+ return newSigns;
+ }
@Override
public boolean spawnIfNoHome()
@@ -559,7 +599,8 @@ public class Settings implements ISettings
{
return config.getBoolean("death-messages", true);
}
- Set<String> noGodWorlds = new HashSet<String>();
+
+ private Set<String> noGodWorlds = new HashSet<String>();
@Override
public Set<String> getNoGodWorlds()