From 319a3e4deff05d04a544109dbd8755d43dc7abad Mon Sep 17 00:00:00 2001 From: snowleo Date: Sat, 3 Nov 2012 12:44:38 +0100 Subject: Ess2Compat: Settings part 1 --- .../src/com/earth2me/essentials/Essentials.java | 39 +- .../src/com/earth2me/essentials/ISettings.java | 184 ++++ .../src/com/earth2me/essentials/Settings.java | 927 +++++++++++++++++++++ .../com/earth2me/essentials/UpdateSettings.java | 64 ++ 4 files changed, 1208 insertions(+), 6 deletions(-) create mode 100644 Essentials2Compat/src/com/earth2me/essentials/ISettings.java create mode 100644 Essentials2Compat/src/com/earth2me/essentials/Settings.java create mode 100644 Essentials2Compat/src/com/earth2me/essentials/UpdateSettings.java (limited to 'Essentials2Compat/src/com/earth2me/essentials') diff --git a/Essentials2Compat/src/com/earth2me/essentials/Essentials.java b/Essentials2Compat/src/com/earth2me/essentials/Essentials.java index a483fb365..4d61e6b3d 100644 --- a/Essentials2Compat/src/com/earth2me/essentials/Essentials.java +++ b/Essentials2Compat/src/com/earth2me/essentials/Essentials.java @@ -2,6 +2,7 @@ package com.earth2me.essentials; import java.io.File; import net.ess3.api.IEssentials; +import net.ess3.api.IItemDb; import net.ess3.api.IPlugin; import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; @@ -10,7 +11,7 @@ import org.bukkit.plugin.java.JavaPlugin; public class Essentials extends JavaPlugin { IEssentials ess; - + @Override public void onEnable() { @@ -19,19 +20,45 @@ public class Essentials extends JavaPlugin //TODO: Move Eco Api here IPlugin plugin = (IPlugin)getServer().getPluginManager().getPlugin("Essentials-3"); ess = plugin.getEssentials(); + updateSettings(); updateUserfiles(); } + private void updateSettings() + { + File config = new File(getDataFolder(), "config.yml"); + if (config.isFile()) + { + new UpdateSettings(config, ess); + File fileNew; + do + { + fileNew = new File(getDataFolder(), "config-" + System.currentTimeMillis() + ".yml"); + } + while (fileNew.exists()); + config.renameTo(fileNew); + } + } + private void updateUserfiles() { File folder = new File(getDataFolder(), "userdata"); - - if (folder.isDirectory()) { + + if (folder.isDirectory()) + { new UpdateUserFiles(folder, ess); - File folderNew = new File(getDataFolder(), "userdata-"+System.currentTimeMillis()); - if (!folderNew.exists()) { - folder.renameTo(folderNew); + File folderNew; + do + { + folderNew = new File(getDataFolder(), "userdata-" + System.currentTimeMillis()); } + while (folderNew.exists()); + folder.renameTo(folderNew); } } + + public IItemDb getItemDb() + { + return ess.getItemDb(); + } } diff --git a/Essentials2Compat/src/com/earth2me/essentials/ISettings.java b/Essentials2Compat/src/com/earth2me/essentials/ISettings.java new file mode 100644 index 000000000..268a81ba0 --- /dev/null +++ b/Essentials2Compat/src/com/earth2me/essentials/ISettings.java @@ -0,0 +1,184 @@ +package com.earth2me.essentials; + + +import java.text.MessageFormat; +import java.util.List; +import java.util.Map; +import java.util.Set; +import org.bukkit.ChatColor; +import org.bukkit.configuration.ConfigurationSection; +import org.bukkit.event.EventPriority; + + +public interface ISettings +{ + boolean areSignsDisabled(); + + String getAnnounceNewPlayerFormat(); + + boolean getAnnounceNewPlayers(); + + String getNewPlayerKit(); + + String getBackupCommand(); + + long getBackupInterval(); + + //MessageFormat getChatFormat(String group); + + int getChatRadius(); + + + + double getCommandCost(String label); + + String getCurrencySymbol(); + + int getOversizedStackSize(); + + int getDefaultStackSize(); + + double getHealCooldown(); + + Map getKit(String name); + + ConfigurationSection getKits(); + + String getLocale(); + + String getNewbieSpawn(); + + String getNicknamePrefix(); + + ChatColor getOperatorColor() throws Exception; + + boolean getPerWarpPermission(); + + boolean getProtectBoolean(final String configName, boolean def); + + int getProtectCreeperMaxHeight(); + + List getProtectList(final String configName); + + boolean getProtectPreventSpawn(final String creatureName); + + String getProtectString(final String configName); + + boolean getRespawnAtHome(); + + Set getMultipleHomes(); + + int getHomeLimit(String set); + + + + boolean getSortListByGroups(); + + int getSpawnMobLimit(); + + int getStartingBalance(); + + double getTeleportCooldown(); + + double getTeleportDelay(); + + boolean hidePermissionlessHelp(); + + + + boolean isCommandDisabled(String label); + + boolean isCommandOverridden(String name); + + boolean isDebug(); + + boolean isEcoDisabled(); + + boolean isTradeInStacks(int id); + + List itemSpawnBlacklist(); + + List enabledSigns(); + + boolean permissionBasedItemSpawn(); + + boolean showNonEssCommandsInHelp(); + + boolean warnOnBuildDisallow(); + + boolean warnOnSmite(); + + double getMaxMoney(); + + double getMinMoney(); + + boolean isEcoLogEnabled(); + + boolean isEcoLogUpdateEnabled(); + + boolean removeGodOnDisconnect(); + + boolean changeDisplayName(); + + boolean changePlayerListName(); + + boolean isPlayerCommand(String string); + + boolean useBukkitPermissions(); + + boolean addPrefixSuffix(); + + boolean disablePrefix(); + + boolean disableSuffix(); + + long getAutoAfk(); + + long getAutoAfkKick(); + + boolean getFreezeAfkPlayers(); + + boolean cancelAfkOnMove(); + + boolean areDeathMessagesEnabled(); + + public void setDebug(boolean debug); + + Set getNoGodWorlds(); + + boolean getUpdateBedAtDaytime(); + + boolean getRepairEnchanted(); + + boolean isWorldTeleportPermissions(); + + boolean isWorldHomePermissions(); + + boolean registerBackInListener(); + + boolean getDisableItemPickupWhileAfk(); + + EventPriority getRespawnPriority(); + + long getTpaAcceptCancellation(); + + boolean isMetricsEnabled(); + + void setMetricsEnabled(boolean metricsEnabled); + + long getTeleportInvulnerability(); + + boolean isTeleportInvulnerability(); + + long getLoginAttackDelay(); + + int getSignUsePerSecond(); + + double getMaxFlySpeed(); + + double getMaxWalkSpeed(); + + public int getMailsPerMinute(); + + public void setEssentialsChatActive(boolean b); +} \ No newline at end of file diff --git a/Essentials2Compat/src/com/earth2me/essentials/Settings.java b/Essentials2Compat/src/com/earth2me/essentials/Settings.java new file mode 100644 index 000000000..262dbe140 --- /dev/null +++ b/Essentials2Compat/src/com/earth2me/essentials/Settings.java @@ -0,0 +1,927 @@ +package com.earth2me.essentials; + +import java.io.File; +import java.text.MessageFormat; +import java.util.*; +import java.util.logging.Level; +import java.util.logging.Logger; +import static net.ess3.I18n._; +import net.ess3.api.IEssentials; +import org.bukkit.ChatColor; +import org.bukkit.configuration.ConfigurationSection; +import org.bukkit.configuration.MemoryConfiguration; +import org.bukkit.event.EventPriority; +import org.bukkit.inventory.ItemStack; + + +public class Settings implements ISettings +{ + private final transient EssentialsConf config; + private final static Logger logger = Logger.getLogger("Minecraft"); + private final transient IEssentials ess; + private boolean metricsEnabled = true; + + public Settings(IEssentials ess, File file) + { + this.ess = ess; + config = new EssentialsConf(file); + //config.setTemplateName("/config.yml"); + reloadConfig(); + } + + @Override + public boolean getRespawnAtHome() + { + return config.getBoolean("respawn-at-home", false); + } + + @Override + public boolean getUpdateBedAtDaytime() + { + return config.getBoolean("update-bed-at-daytime", true); + } + + @Override + public Set getMultipleHomes() + { + return config.getConfigurationSection("sethome-multiple").getKeys(false); + } + + @Override + public int getHomeLimit(final String set) + { + return config.getInt("sethome-multiple." + set, config.getInt("sethome-multiple.default", 3)); + } + private int chatRadius = 0; + + private int _getChatRadius() + { + return config.getInt("chat.radius", config.getInt("chat-radius", 0)); + } + + @Override + public int getChatRadius() + { + return chatRadius; + } + + @Override + public double getTeleportDelay() + { + return config.getDouble("teleport-delay", 0); + } + + @Override + public int getOversizedStackSize() + { + return config.getInt("oversized-stacksize", 64); + } + + @Override + public int getDefaultStackSize() + { + return config.getInt("default-stack-size", -1); + } + + @Override + public int getStartingBalance() + { + return config.getInt("starting-balance", 0); + } + + private Set disabledCommands = new HashSet(); + + @Override + public boolean isCommandDisabled(String label) + { + return disabledCommands.contains(label); + } + + private Set getDisabledCommands() + { + Set disCommands = new HashSet(); + for (String c : config.getStringList("disabled-commands")) + { + disCommands.add(c.toLowerCase(Locale.ENGLISH)); + } + for (String c : config.getKeys(false)) + { + if (c.startsWith("disable-")) + { + disCommands.add(c.substring(8).toLowerCase(Locale.ENGLISH)); + } + } + return disCommands; + } + + @Override + public boolean isPlayerCommand(String label) + { + for (String c : config.getStringList("player-commands")) + { + if (!c.equalsIgnoreCase(label)) + { + continue; + } + return true; + } + return false; + } + + @Override + public boolean isCommandOverridden(String name) + { + for (String c : config.getStringList("overridden-commands")) + { + if (!c.equalsIgnoreCase(name)) + { + continue; + } + return true; + } + return config.getBoolean("override-" + name.toLowerCase(Locale.ENGLISH), false); + } + private ConfigurationSection commandCosts; + + + + public ConfigurationSection _getCommandCosts() + { + if (config.isConfigurationSection("command-costs")) + { + final ConfigurationSection section = config.getConfigurationSection("command-costs"); + final ConfigurationSection newSection = new MemoryConfiguration(); + for (String command : section.getKeys(false)) + { + if (section.isDouble(command)) + { + newSection.set(command.toLowerCase(Locale.ENGLISH), section.getDouble(command)); + } + else if (section.isInt(command)) + { + newSection.set(command.toLowerCase(Locale.ENGLISH), (double)section.getInt(command)); + } + } + return newSection; + } + return null; + } + + @Override + public double getCommandCost(String name) + { + name = name.replace('.', '_').replace('/', '_'); + if (commandCosts != null) + { + return commandCosts.getDouble(name, 0.0); + } + return 0.0; + } + private String nicknamePrefix = "~"; + + private String _getNicknamePrefix() + { + return config.getString("nickname-prefix", "~"); + } + + @Override + public String getNicknamePrefix() + { + return nicknamePrefix; + } + + @Override + public double getTeleportCooldown() + { + return config.getDouble("teleport-cooldown", 0); + } + + @Override + public double getHealCooldown() + { + return config.getDouble("heal-cooldown", 0); + } + private ConfigurationSection kits; + + public ConfigurationSection _getKits() + { + if (config.isConfigurationSection("kits")) + { + final ConfigurationSection section = config.getConfigurationSection("kits"); + final ConfigurationSection newSection = new MemoryConfiguration(); + for (String kitItem : section.getKeys(false)) + { + if (section.isConfigurationSection(kitItem)) + { + newSection.set(kitItem.toLowerCase(Locale.ENGLISH), section.getConfigurationSection(kitItem)); + } + } + return newSection; + } + return null; + } + + @Override + public ConfigurationSection getKits() + { + return kits; + } + + @Override + public Map getKit(String name) + { + name = name.replace('.', '_').replace('/', '_'); + if (getKits() != null) + { + final ConfigurationSection kits = getKits(); + if (kits.isConfigurationSection(name)) + { + return kits.getConfigurationSection(name).getValues(true); + } + } + return null; + } + private ChatColor operatorColor = null; + + @Override + public ChatColor getOperatorColor() + { + return operatorColor; + } + + private ChatColor _getOperatorColor() + { + String colorName = config.getString("ops-name-color", null); + + if (colorName == null) + { + return ChatColor.DARK_RED; + } + if ("none".equalsIgnoreCase(colorName) || colorName.isEmpty()) + { + return null; + } + + try + { + return ChatColor.valueOf(colorName.toUpperCase(Locale.ENGLISH)); + } + catch (IllegalArgumentException ex) + { + } + + return ChatColor.getByChar(colorName); + } + + @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 !signsEnabled; + } + + @Override + public long getBackupInterval() + { + return config.getInt("backup.interval", 1440); // 1440 = 24 * 60 + } + + @Override + public String getBackupCommand() + { + return config.getString("backup.command", null); + } + private Map chatFormats = Collections.synchronizedMap(new HashMap()); + + /*@Override + public MessageFormat getChatFormat(String group) + { + MessageFormat mFormat = chatFormats.get(group); + if (mFormat == null) + { + String format = config.getString("chat.group-formats." + (group == null ? "Default" : group), + config.getString("chat.format", "&7[{GROUP}]&f {DISPLAYNAME}&7:&f {MESSAGE}")); + format = Util.replaceFormat(format); + format = format.replace("{DISPLAYNAME}", "%1$s"); + format = format.replace("{GROUP}", "{0}"); + format = format.replace("{MESSAGE}", "%2$s"); + format = format.replace("{WORLDNAME}", "{1}"); + format = format.replace("{SHORTWORLDNAME}", "{2}"); + format = format.replaceAll("\\{(\\D*?)\\}", "\\[$1\\]"); + format = "§r".concat(format); + mFormat = new MessageFormat(format); + chatFormats.put(group, mFormat); + } + return mFormat; + }*/ + + public String getDefaultChatformat() + { + return config.getString("chat.format", "&7[{GROUP}]&f {DISPLAYNAME}&7:&f {MESSAGE}"); + } + + @Override + public boolean getAnnounceNewPlayers() + { + return !config.getString("newbies.announce-format", "-").isEmpty(); + } + + @Override + public String getAnnounceNewPlayerFormat() + { + return config.getString("newbies.announce-format", "&dWelcome {DISPLAYNAME} to the server!"); + } + + @Override + public String getNewPlayerKit() + { + return config.getString("newbies.kit", ""); + } + + @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); + } + + + public void reloadConfig() + { + config.load(); + noGodWorlds = new HashSet(config.getStringList("no-god-in-worlds")); + enabledSigns = _getEnabledSigns(); + teleportInvulnerability = _isTeleportInvulnerability(); + disableItemPickupWhileAfk = _getDisableItemPickupWhileAfk(); + registerBackInListener = _registerBackInListener(); + cancelAfkOnMove = _cancelAfkOnMove(); + getFreezeAfkPlayers = _getFreezeAfkPlayers(); + itemSpawnBl = _getItemSpawnBlacklist(); + loginAttackDelay = _getLoginAttackDelay(); + signUsePerSecond = _getSignUsePerSecond(); + kits = _getKits(); + chatFormats.clear(); + changeDisplayName = _changeDisplayName(); + disabledCommands = getDisabledCommands(); + nicknamePrefix = _getNicknamePrefix(); + operatorColor = _getOperatorColor(); + changePlayerListName = _changePlayerListName(); + configDebug = _isDebug(); + prefixsuffixconfigured = _isPrefixSuffixConfigured(); + addprefixsuffix = _addPrefixSuffix(); + disablePrefix = _disablePrefix(); + disableSuffix = _disableSuffix(); + chatRadius = _getChatRadius(); + commandCosts = _getCommandCosts(); + warnOnBuildDisallow = _warnOnBuildDisallow(); + mailsPerMinute = _getMailsPerMinute(); + } + private List itemSpawnBl = new ArrayList(); + + @Override + public List itemSpawnBlacklist() + { + return itemSpawnBl; + } + + private List _getItemSpawnBlacklist() + { + final List epItemSpwn = new ArrayList(); + if (ess.getItemDb() == null) + { + logger.log(Level.FINE, "Aborting ItemSpawnBL read, itemDB not yet loaded."); + return epItemSpwn; + } + for (String itemName : config.getString("item-spawn-blacklist", "").split(",")) + { + itemName = itemName.trim(); + if (itemName.isEmpty()) + { + continue; + } + try + { + final ItemStack iStack = ess.getItemDb().get(itemName); + epItemSpwn.add(iStack.getTypeId()); + } + catch (Exception ex) + { + logger.log(Level.SEVERE, _("unknownItemInList", itemName, "item-spawn-blacklist")); + } + } + return epItemSpwn; + } + private List enabledSigns = new ArrayList(); + private boolean signsEnabled = false; + + @Override + public List enabledSigns() + { + return enabledSigns; + } + + private List _getEnabledSigns() + { + List newSigns = new ArrayList(); + + for (String signName : config.getStringList("enabledSigns")) + { + signName = signName.trim().toUpperCase(Locale.ENGLISH); + if (signName.isEmpty()) + { + continue; + } + if (signName.equals("COLOR") || signName.equals("COLOUR")) + { + signsEnabled = true; + continue; + } + try + { + newSigns.add(signName); + } + catch (Exception ex) + { + logger.log(Level.SEVERE, _("unknownItemInList", signName, "enabledSigns")); + continue; + } + signsEnabled = true; + } + return newSigns; + } + private boolean warnOnBuildDisallow; + + private boolean _warnOnBuildDisallow() + { + return config.getBoolean("protect.disable.warn-on-build-disallow", false); + } + + @Override + public boolean warnOnBuildDisallow() + { + return warnOnBuildDisallow; + } + private boolean debug = false; + private boolean configDebug = false; + + private boolean _isDebug() + { + return config.getBoolean("debug", false); + } + + @Override + public boolean isDebug() + { + return debug || configDebug; + } + + @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", "$").concat("$").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 getProtectList(final String configName) + { + final List list = new ArrayList(); + for (String itemName : config.getString(configName, "").split(",")) + { + itemName = itemName.trim(); + if (itemName.isEmpty()) + { + continue; + } + ItemStack itemStack; + try + { + itemStack = ess.getItemDb().get(itemName); + list.add(itemStack.getTypeId()); + } + catch (Exception ex) + { + logger.log(Level.SEVERE, _("unknownItemInList", itemName, configName)); + } + } + 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; + + @Override + public double getMaxMoney() + { + double max = config.getDouble("max-money", MAXMONEY); + if (Math.abs(max) > MAXMONEY) + { + max = max < 0 ? -MAXMONEY : MAXMONEY; + } + return max; + } + private final static double MINMONEY = -10000000000000.0; + + @Override + public double getMinMoney() + { + double min = config.getDouble("min-money", MINMONEY); + if (min > 0) + { + min = -min; + } + if (min < MINMONEY) + { + min = MINMONEY; + } + return min; + } + + @Override + public boolean isEcoLogEnabled() + { + return config.getBoolean("economy-log-enabled", false); + } + + @Override + public boolean isEcoLogUpdateEnabled() + { + return config.getBoolean("economy-log-update-enabled", false); + } + + @Override + public boolean removeGodOnDisconnect() + { + return config.getBoolean("remove-god-on-disconnect", false); + } + private boolean changeDisplayName = true; + + private boolean _changeDisplayName() + { + return config.getBoolean("change-displayname", true); + } + + @Override + public boolean changeDisplayName() + { + return changeDisplayName; + } + private boolean changePlayerListName = false; + + private boolean _changePlayerListName() + { + return config.getBoolean("change-playerlist", false); + } + + @Override + public boolean changePlayerListName() + { + return changePlayerListName; + } + + @Override + public boolean useBukkitPermissions() + { + return config.getBoolean("use-bukkit-permissions", false); + } + private boolean prefixsuffixconfigured = false; + private boolean addprefixsuffix = false; + private boolean essentialsChatActive = false; + + private boolean _addPrefixSuffix() + { + return config.getBoolean("add-prefix-suffix", false); + } + + private boolean _isPrefixSuffixConfigured() + { + return config.hasProperty("add-prefix-suffix"); + } + + @Override + public void setEssentialsChatActive(boolean essentialsChatActive) + { + this.essentialsChatActive = essentialsChatActive; + } + + @Override + public boolean addPrefixSuffix() + { + return prefixsuffixconfigured ? addprefixsuffix : essentialsChatActive; + } + private boolean disablePrefix = false; + + private boolean _disablePrefix() + { + return config.getBoolean("disablePrefix", false); + } + + @Override + public boolean disablePrefix() + { + return disablePrefix; + } + private boolean disableSuffix = false; + + private boolean _disableSuffix() + { + return config.getBoolean("disableSuffix", false); + } + + @Override + public boolean disableSuffix() + { + return disableSuffix; + } + + @Override + public long getAutoAfk() + { + return config.getLong("auto-afk", 300); + } + + @Override + public long getAutoAfkKick() + { + return config.getLong("auto-afk-kick", -1); + } + private boolean getFreezeAfkPlayers; + + @Override + public boolean getFreezeAfkPlayers() + { + return getFreezeAfkPlayers; + } + + private boolean _getFreezeAfkPlayers() + { + return config.getBoolean("freeze-afk-players", false); + } + private boolean cancelAfkOnMove; + + @Override + public boolean cancelAfkOnMove() + { + return cancelAfkOnMove; + } + + private boolean _cancelAfkOnMove() + { + return config.getBoolean("cancel-afk-on-move", true); + } + + @Override + public boolean areDeathMessagesEnabled() + { + return config.getBoolean("death-messages", true); + } + private Set noGodWorlds = new HashSet(); + + @Override + public Set getNoGodWorlds() + { + return noGodWorlds; + } + + @Override + public void setDebug(final boolean debug) + { + this.debug = debug; + } + + @Override + public boolean getRepairEnchanted() + { + return config.getBoolean("repair-enchanted", true); + } + + @Override + public boolean isWorldTeleportPermissions() + { + return config.getBoolean("world-teleport-permissions", false); + } + + @Override + public boolean isWorldHomePermissions() + { + return config.getBoolean("world-home-permissions", false); + } + private boolean registerBackInListener; + + @Override + public boolean registerBackInListener() + { + return registerBackInListener; + } + + private boolean _registerBackInListener() + { + return config.getBoolean("register-back-in-listener", false); + } + private boolean disableItemPickupWhileAfk; + + @Override + public boolean getDisableItemPickupWhileAfk() + { + return disableItemPickupWhileAfk; + } + + private boolean _getDisableItemPickupWhileAfk() + { + return config.getBoolean("disable-item-pickup-while-afk", false); + } + + @Override + public EventPriority getRespawnPriority() + { + String priority = config.getString("respawn-listener-priority", "normal").toLowerCase(Locale.ENGLISH); + if ("lowest".equals(priority)) + { + return EventPriority.LOWEST; + } + if ("low".equals(priority)) + { + return EventPriority.LOW; + } + if ("normal".equals(priority)) + { + return EventPriority.NORMAL; + } + if ("high".equals(priority)) + { + return EventPriority.HIGH; + } + if ("highest".equals(priority)) + { + return EventPriority.HIGHEST; + } + return EventPriority.NORMAL; + } + + @Override + public long getTpaAcceptCancellation() + { + return config.getLong("tpa-accept-cancellation", 0); + } + + @Override + public boolean isMetricsEnabled() + { + return metricsEnabled; + } + + @Override + public void setMetricsEnabled(boolean metricsEnabled) + { + this.metricsEnabled = metricsEnabled; + } + private boolean teleportInvulnerability; + + @Override + public long getTeleportInvulnerability() + { + return config.getLong("teleport-invulnerability", 0) * 1000; + } + + private boolean _isTeleportInvulnerability() + { + return (config.getLong("teleport-invulnerability", 0) > 0); + } + + @Override + public boolean isTeleportInvulnerability() + { + return teleportInvulnerability; + } + private long loginAttackDelay; + + private long _getLoginAttackDelay() + { + return config.getLong("login-attack-delay", 0) * 1000; + } + + @Override + public long getLoginAttackDelay() + { + return loginAttackDelay; + } + private int signUsePerSecond; + + private int _getSignUsePerSecond() + { + final int perSec = config.getInt("sign-use-per-second", 4); + return perSec > 0 ? perSec : 1; + } + + @Override + public int getSignUsePerSecond() + { + return signUsePerSecond; + } + + @Override + public double getMaxFlySpeed() + { + double maxSpeed = config.getDouble("max-fly-speed", 1.0); + return maxSpeed > 1.0 ? 1.0 : Math.abs(maxSpeed); + } + + //This option does not exist in the config.yml because it wasn't yet implemented in bukkit + //The code was commented out in the /speed command + @Override + public double getMaxWalkSpeed() + { + double maxSpeed = config.getDouble("max-walk-speed", 0.8); + return maxSpeed > 1.0 ? 1.0 : Math.abs(maxSpeed); + } + + private int mailsPerMinute; + + private int _getMailsPerMinute() { + return config.getInt("mails-per-minute", 1000); + } + @Override + public int getMailsPerMinute() + { + return mailsPerMinute; + } +} \ No newline at end of file diff --git a/Essentials2Compat/src/com/earth2me/essentials/UpdateSettings.java b/Essentials2Compat/src/com/earth2me/essentials/UpdateSettings.java new file mode 100644 index 000000000..b269f2711 --- /dev/null +++ b/Essentials2Compat/src/com/earth2me/essentials/UpdateSettings.java @@ -0,0 +1,64 @@ +package com.earth2me.essentials; + +import java.io.File; +import net.ess3.api.IEssentials; +import net.ess3.settings.General; + + +public class UpdateSettings +{ + UpdateSettings(File config, IEssentials ess) + { + Settings settings = new Settings(ess, config); + net.ess3.settings.Settings data = ess.getSettings().getData(); + data.getChat().setChangeDisplayname(settings.changeDisplayName()); + data.getChat().setDefaultFormat(settings.getDefaultChatformat()); + data.getChat().setLocalRadius(settings.getChatRadius()); + data.getChat().setNicknamePrefix(settings.getNicknamePrefix()); + data.getCommands().getAfk().setAutoAFK(settings.getAutoAfk()); + data.getCommands().getAfk().setAutoAFKKick(settings.getAutoAfkKick()); + data.getCommands().getAfk().setDisableItemPickupWhileAfk(settings.getDisableItemPickupWhileAfk()); + data.getCommands().getAfk().setFreezeAFKPlayers(settings.getFreezeAfkPlayers()); + data.getCommands().getBack().setRegisterBackInListener(settings.registerBackInListener()); + data.getCommands().getGod().setRemoveOnDisconnect(settings.removeGodOnDisconnect()); + data.getCommands().getHelp().setHidePermissionlessCommands(settings.hidePermissionlessHelp()); + data.getCommands().getHelp().setShowNonEssCommandsInHelp(settings.showNonEssCommandsInHelp()); + data.getCommands().getHome().setBedSetsHome(false); //TODO + data.getCommands().getHome().setRespawnAtHome(settings.getRespawnAtHome()); + data.getCommands().getHome().setSpawnIfNoHome(false); //TODO + data.getCommands().getHome().setUpdateBedAtDaytime(false); //TODO + data.getCommands().getLightning().setWarnPlayer(settings.warnOnSmite()); + data.getCommands().getList().setSortByGroups(settings.getSortListByGroups()); + data.getCommands().getNear().setDefaultRadius(0); //TODO + data.getCommands().getSocialspy().setSocialspyCommands(null); //TODO + data.getCommands().getSpawnmob().setLimit(settings.getSpawnMobLimit()); + data.getCommands().getSpeed().setMaxFlySpeed(settings.getMaxFlySpeed()); + data.getCommands().getSpeed().setMaxWalkSpeed(settings.getMaxWalkSpeed()); + data.getCommands().getTpa().setCancelTpRequestsOnWorldChange(false); //TODO + data.getCommands().getTpa().setTimeout(0); //TODO + data.getEconomy().setCurrencySymbol(settings.getCurrencySymbol()); + data.getEconomy().setLogEnabled(settings.isEcoLogEnabled()); + data.getEconomy().setMaxMoney(settings.getMaxMoney()); + data.getEconomy().setMinMoney(settings.getMinMoney()); + data.getEconomy().setStartingBalance(settings.getStartingBalance()); + data.getEconomy().setTradeInStacks(settings.isTradeInStacks(0)); //TODO + data.getEconomy().getWorth(); //TODO + data.getGeneral().getBackup().setCommand(settings.getBackupCommand()); + data.getGeneral().getBackup().setInterval(settings.getBackupInterval()); + data.getGeneral().setDeathMessages(settings.areDeathMessagesEnabled()); + data.getGeneral().setDebug(settings.isDebug()); + data.getGeneral().setDefaultStacksize(settings.getDefaultStackSize()); + data.getGeneral().setGroupStorage(General.GroupStorage.FILE); //TODO + data.getGeneral().setJoinMessage(null); //TODO + data.getGeneral().setLeaveMessage(null); //TODO + data.getGeneral().setLocale(settings.getLocale()); + data.getGeneral().setLoginAttackDelay(settings.getLoginAttackDelay()); + data.getGeneral().setMetricsEnabled(settings.isMetricsEnabled()); + data.getGeneral().setOversizedStacksize(settings.getOversizedStackSize()); + data.getGeneral().setTeleportInvulnerability(settings.getTeleportInvulnerability()); + data.getGeneral().setWorldHomePermissions(settings.isWorldHomePermissions()); + data.getGeneral().setWorldTeleportPermissions(settings.isWorldTeleportPermissions()); + data.getWorldOptions(null); //TODO + ess.getSettings().queueSave(); + } +} -- cgit v1.2.3