summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsnowleo <schneeleo@gmail.com>2011-07-16 02:38:22 +0200
committersnowleo <schneeleo@gmail.com>2011-07-16 02:38:22 +0200
commit78c376af79f1550941166bcfa43a8d3625111693 (patch)
treed6890c81df15f246f7963f8b85f988e78bde698b
parentad8ad8b574e3734269c2c0adba4dd52aa476c1bb (diff)
downloadEssentials-78c376af79f1550941166bcfa43a8d3625111693.tar
Essentials-78c376af79f1550941166bcfa43a8d3625111693.tar.gz
Essentials-78c376af79f1550941166bcfa43a8d3625111693.tar.lz
Essentials-78c376af79f1550941166bcfa43a8d3625111693.tar.xz
Essentials-78c376af79f1550941166bcfa43a8d3625111693.zip
Created an interface for settings.
-rw-r--r--Essentials/src/com/earth2me/essentials/Essentials.java4
-rw-r--r--Essentials/src/com/earth2me/essentials/IEssentials.java2
-rw-r--r--Essentials/src/com/earth2me/essentials/ISettings.java129
-rw-r--r--Essentials/src/com/earth2me/essentials/Settings.java72
4 files changed, 193 insertions, 14 deletions
diff --git a/Essentials/src/com/earth2me/essentials/Essentials.java b/Essentials/src/com/earth2me/essentials/Essentials.java
index e7a57f9b5..b308407c2 100644
--- a/Essentials/src/com/earth2me/essentials/Essentials.java
+++ b/Essentials/src/com/earth2me/essentials/Essentials.java
@@ -48,7 +48,7 @@ public class Essentials extends JavaPlugin implements IEssentials
{
public static final int BUKKIT_VERSION = 974;
private static final Logger LOGGER = Logger.getLogger("Minecraft");
- private transient Settings settings;
+ private transient ISettings settings;
private final transient TNTExplodeListener tntListener = new TNTExplodeListener(this);
private transient Spawn spawn;
private transient Jail jail;
@@ -65,7 +65,7 @@ public class Essentials extends JavaPlugin implements IEssentials
private transient final EssentialsErrorHandler errorHandler = new EssentialsErrorHandler();
private transient IPermissionsHandler permissionsHandler;
- public Settings getSettings()
+ public ISettings getSettings()
{
return settings;
}
diff --git a/Essentials/src/com/earth2me/essentials/IEssentials.java b/Essentials/src/com/earth2me/essentials/IEssentials.java
index 3e5dbbbd3..b1c420e7d 100644
--- a/Essentials/src/com/earth2me/essentials/IEssentials.java
+++ b/Essentials/src/com/earth2me/essentials/IEssentials.java
@@ -25,7 +25,7 @@ public interface IEssentials extends Plugin
int broadcastMessage(String name, String message);
- Settings getSettings();
+ ISettings getSettings();
CraftScheduler getScheduler();
diff --git a/Essentials/src/com/earth2me/essentials/ISettings.java b/Essentials/src/com/earth2me/essentials/ISettings.java
new file mode 100644
index 000000000..c641a8b3f
--- /dev/null
+++ b/Essentials/src/com/earth2me/essentials/ISettings.java
@@ -0,0 +1,129 @@
+package com.earth2me.essentials;
+
+import com.earth2me.essentials.commands.IEssentialsCommand;
+import java.util.List;
+import java.util.Map;
+import org.bukkit.ChatColor;
+
+
+public interface ISettings extends IConf
+{
+
+ boolean areSignsDisabled();
+
+ String format(String format, IUser user);
+
+ String getAnnounceNewPlayerFormat(IUser user);
+
+ boolean getAnnounceNewPlayers();
+
+ String getBackupCommand();
+
+ long getBackupInterval();
+
+ boolean getBedSetsHome();
+
+ String getChatFormat(String group);
+
+ int getChatRadius();
+
+ double getCommandCost(IEssentialsCommand cmd);
+
+ double getCommandCost(String label);
+
+ String getCurrencySymbol();
+
+ int getDefaultStackSize();
+
+ boolean getGenerateExitPortals();
+
+ double getHealCooldown();
+
+ Object getKit(String name);
+
+ Map<String, Object> getKits();
+
+ String getLocale();
+
+ String getNetherName();
+
+ boolean getNetherPortalsEnabled();
+
+ double getNetherRatio();
+
+ String getNewbieSpawn();
+
+ String getNicknamePrefix();
+
+ ChatColor getOperatorColor() throws Exception;
+
+ boolean getPerWarpPermission();
+
+ boolean getProtectBoolean(final String configName, boolean def);
+
+ int getProtectCreeperMaxHeight();
+
+ List<Integer> getProtectList(final String configName);
+
+ boolean getProtectPreventSpawn(final String creatureName);
+
+ String getProtectString(final String configName);
+
+ boolean getReclaimSetting();
+
+ boolean getRespawnAtHome();
+
+ boolean getSortListByGroups();
+
+ int getSpawnMobLimit();
+
+ int getStartingBalance();
+
+ double getTeleportCooldown();
+
+ double getTeleportDelay();
+
+ boolean hidePermissionlessHelp();
+
+ boolean isCommandDisabled(final IEssentialsCommand cmd);
+
+ boolean isCommandDisabled(String label);
+
+ boolean isCommandOverridden(String name);
+
+ boolean isCommandRestricted(IEssentialsCommand cmd);
+
+ boolean isCommandRestricted(String label);
+
+ boolean isDebug();
+
+ boolean isEcoDisabled();
+
+ boolean isNetherEnabled();
+
+ boolean isTradeInStacks(int id);
+
+ List<Integer> itemSpawnBlacklist();
+
+ boolean permissionBasedItemSpawn();
+
+ void reloadConfig();
+
+ boolean showNonEssCommandsInHelp();
+
+ boolean spawnIfNoHome();
+
+ boolean use1to1RatioInNether();
+
+ boolean warnOnBuildDisallow();
+
+ boolean warnOnSmite();
+
+ double getMaxMoney();
+
+ boolean isEcoLogEnabled();
+
+ boolean removeGodOnDisconnect();
+
+ boolean changeDisplayName();
+}
diff --git a/Essentials/src/com/earth2me/essentials/Settings.java b/Essentials/src/com/earth2me/essentials/Settings.java
index 17248a6cc..75063a15b 100644
--- a/Essentials/src/com/earth2me/essentials/Settings.java
+++ b/Essentials/src/com/earth2me/essentials/Settings.java
@@ -11,7 +11,7 @@ import java.util.Map;
import org.bukkit.inventory.ItemStack;
-public class Settings implements IConf
+public class Settings implements ISettings
{
private final transient EssentialsConf config;
private final static Logger logger = Logger.getLogger("Minecraft");
@@ -22,49 +22,58 @@ public class Settings implements IConf
this.ess = ess;
config = new EssentialsConf(new File(ess.getDataFolder(), "config.yml"));
config.setTemplateName("/config.yml");
- config.load();
+ reloadConfig();
}
+ @Override
public boolean getRespawnAtHome()
{
return config.getBoolean("respawn-at-home", false);
}
+ @Override
public boolean getBedSetsHome()
{
return config.getBoolean("bed-sethome", false);
}
+ @Override
public int getChatRadius()
{
return config.getInt("chat.radius", config.getInt("chat-radius", 0));
}
+ @Override
public double getTeleportDelay()
{
return config.getDouble("teleport-delay", 0);
}
+ @Override
public int getDefaultStackSize()
{
return config.getInt("default-stack-size", 64);
}
+ @Override
public int getStartingBalance()
{
return config.getInt("starting-balance", 0);
}
+ @Override
public boolean getNetherPortalsEnabled()
{
return isNetherEnabled() && config.getBoolean("nether.portals-enabled", false);
}
+ @Override
public boolean isCommandDisabled(final IEssentialsCommand cmd)
{
return isCommandDisabled(cmd.getName());
}
+ @Override
public boolean isCommandDisabled(String label)
{
for (String c : config.getStringList("disabled-commands", new ArrayList<String>(0)))
@@ -75,11 +84,13 @@ public class Settings implements IConf
return config.getBoolean("disable-" + label.toLowerCase(), false);
}
+ @Override
public boolean isCommandRestricted(IEssentialsCommand cmd)
{
return isCommandRestricted(cmd.getName());
}
+ @Override
public boolean isCommandRestricted(String label)
{
for (String c : config.getStringList("restricted-commands", new ArrayList<String>(0)))
@@ -90,6 +101,7 @@ public class Settings implements IConf
return config.getBoolean("restrict-" + label.toLowerCase(), false);
}
+ @Override
public boolean isCommandOverridden(String name)
{
List<String> defaultList = new ArrayList<String>(1);
@@ -103,11 +115,13 @@ public class Settings implements IConf
return config.getBoolean("override-" + name.toLowerCase(), false);
}
+ @Override
public double getCommandCost(IEssentialsCommand cmd)
{
return getCommandCost(cmd.getName());
}
+ @Override
public double getCommandCost(String label)
{
double cost = config.getDouble("command-costs." + label, 0.0);
@@ -116,26 +130,25 @@ public class Settings implements IConf
return cost;
}
- public String getCommandPrefix()
- {
- return config.getString("command-prefix", "");
- }
-
+ @Override
public String getNicknamePrefix()
{
return config.getString("nickname-prefix", "~");
}
+ @Override
public double getTeleportCooldown()
{
return config.getDouble("teleport-cooldown", 60);
}
+ @Override
public double getHealCooldown()
{
return config.getDouble("heal-cooldown", 60);
}
+ @Override
public Object getKit(String name)
{
Map<String, Object> kits = (Map<String, Object>)config.getProperty("kits");
@@ -148,11 +161,13 @@ public class Settings implements IConf
return null;
}
+ @Override
public Map<String, Object> getKits()
{
return (Map<String, Object>)config.getProperty("kits");
}
+ @Override
public ChatColor getOperatorColor() throws Exception
{
String colorName = config.getString("ops-name-color", null);
@@ -173,100 +188,120 @@ public class Settings implements IConf
return ChatColor.getByCode(Integer.parseInt(colorName, 16));
}
+ @Override
public boolean getReclaimSetting()
{
return config.getBoolean("reclaim-onlogout", true);
}
+ @Override
public String getNetherName()
{
return config.getString("nether.folder", "nether");
}
+ @Override
public boolean isNetherEnabled()
{
return config.getBoolean("nether.enabled", true);
}
+ @Override
public int getSpawnMobLimit()
{
return config.getInt("spawnmob-limit", 10);
}
+ @Override
public boolean showNonEssCommandsInHelp()
{
return config.getBoolean("non-ess-in-help", true);
}
+ @Override
public boolean hidePermissionlessHelp()
{
return config.getBoolean("hide-permissionless-help", true);
}
+ @Override
public int getProtectCreeperMaxHeight()
{
return config.getInt("protect.creeper.max-height", -1);
}
+ @Override
public boolean areSignsDisabled()
{
return config.getBoolean("signs-disabled", false);
}
+ @Override
public long getBackupInterval()
{
return config.getInt("backup.interval", 1440); // 1440 = 24 * 60
}
+ @Override
public String getBackupCommand()
{
return config.getString("backup.command", null);
}
+ @Override
public String getChatFormat(String group)
{
return config.getString("chat.group-formats." + (group == null ? "Default" : group),
config.getString("chat.format", "&7[{GROUP}]&f {DISPLAYNAME}&7:&f {MESSAGE}"));
}
+ @Override
public boolean getGenerateExitPortals()
{
return config.getBoolean("nether.generate-exit-portals", true);
}
+ @Override
public boolean getAnnounceNewPlayers()
{
return !config.getString("newbies.announce-format", "-").isEmpty();
}
+ @Override
public String getAnnounceNewPlayerFormat(IUser user)
{
return format(config.getString("newbies.announce-format", "&dWelcome {DISPLAYNAME} to the server!"), user);
}
+ @Override
public String format(String format, IUser user)
{
return format.replace('&', '§').replace("§§", "&").replace("{PLAYER}", user.getDisplayName()).replace("{DISPLAYNAME}", user.getDisplayName()).replace("{GROUP}", user.getGroup()).replace("{USERNAME}", user.getName()).replace("{ADDRESS}", user.getAddress().toString());
}
+ @Override
public String getNewbieSpawn()
{
return config.getString("newbies.spawnpoint", "default");
}
+ @Override
public boolean getPerWarpPermission()
{
return config.getBoolean("per-warp-permission", false);
}
+ @Override
public boolean getSortListByGroups()
{
return config.getBoolean("sort-list-by-groups", true);
}
+ @Override
public void reloadConfig() {
config.load();
}
+ @Override
public List<Integer> itemSpawnBlacklist()
{
final List<Integer> epItemSpwn = new ArrayList<Integer>();
@@ -286,21 +321,25 @@ public class Settings implements IConf
return epItemSpwn;
}
+ @Override
public boolean spawnIfNoHome()
{
return config.getBoolean("spawn-if-no-home", false);
}
+ @Override
public boolean warnOnBuildDisallow()
{
return config.getBoolean("protect.disable.warn-on-build-disallow", false);
}
+ @Override
public boolean use1to1RatioInNether()
{
return config.getBoolean("nether.use-1to1-ratio", false);
}
+ @Override
public double getNetherRatio()
{
if (config.getBoolean("nether.use-1to1-ratio", false)) {
@@ -309,46 +348,55 @@ public class Settings implements IConf
return config.getDouble("nether.ratio", 16.0);
}
+ @Override
public boolean isDebug()
{
return config.getBoolean("debug", false);
}
+ @Override
public boolean warnOnSmite()
{
return config.getBoolean("warn-on-smite" ,true);
}
+ @Override
public boolean permissionBasedItemSpawn()
{
return config.getBoolean("permission-based-item-spawn", false);
}
+ @Override
public String getLocale()
{
return config.getString("locale", "");
}
+ @Override
public String getCurrencySymbol()
{
return config.getString("currency-symbol", "$").substring(0, 1).replaceAll("[0-9]", "$");
}
+ @Override
public boolean isTradeInStacks(int id)
{
return config.getBoolean("trade-in-stacks-" + id, false);
}
+ @Override
public boolean isEcoDisabled()
{
return config.getBoolean("disable-eco", false);
}
+ @Override
public boolean getProtectPreventSpawn(final String creatureName)
{
return config.getBoolean("protect.prevent.spawn."+creatureName, false);
}
+ @Override
public List<Integer> getProtectList(final String configName)
{
final List<Integer> list = new ArrayList<Integer>();
@@ -368,18 +416,20 @@ public class Settings implements IConf
return list;
}
+ @Override
public String getProtectString(final String configName)
{
return config.getString(configName, null);
}
+ @Override
public boolean getProtectBoolean(final String configName, boolean def)
{
return config.getBoolean(configName, def);
}
private final static double MAXMONEY = 10000000000000.0;
- double getMaxMoney()
+ public double getMaxMoney()
{
double max = config.getDouble("max-money", MAXMONEY);
if (Math.abs(max) > MAXMONEY) {
@@ -388,17 +438,17 @@ public class Settings implements IConf
return max;
}
- boolean isEcoLogEnabled()
+ public boolean isEcoLogEnabled()
{
return config.getBoolean("economy-log-enabled", false);
}
- boolean removeGodOnDisconnect()
+ public boolean removeGodOnDisconnect()
{
return config.getBoolean("remove-god-on-disconnect", false);
}
- boolean changeDisplayName()
+ public boolean changeDisplayName()
{
return config.getBoolean("change-displayname", true);
}