diff options
author | ementalo <ementalodev@gmx.co.uk> | 2012-06-27 13:35:39 +0100 |
---|---|---|
committer | ementalo <ementalodev@gmx.co.uk> | 2012-06-27 13:35:39 +0100 |
commit | 16d0b5c228dd8d981a0d79944c70248ea813d63b (patch) | |
tree | b76e6966bfc2b4b9b668b89b13e30307e0b81988 /EssentialsProtect/src/net/ess3/protect/EssentialsProtect.java | |
parent | c1230bd6ae4e17539e1f6f2c82691fa7a8395e8c (diff) | |
download | Essentials-16d0b5c228dd8d981a0d79944c70248ea813d63b.tar Essentials-16d0b5c228dd8d981a0d79944c70248ea813d63b.tar.gz Essentials-16d0b5c228dd8d981a0d79944c70248ea813d63b.tar.lz Essentials-16d0b5c228dd8d981a0d79944c70248ea813d63b.tar.xz Essentials-16d0b5c228dd8d981a0d79944c70248ea813d63b.zip |
package name change to net.ess3
Diffstat (limited to 'EssentialsProtect/src/net/ess3/protect/EssentialsProtect.java')
-rw-r--r-- | EssentialsProtect/src/net/ess3/protect/EssentialsProtect.java | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/EssentialsProtect/src/net/ess3/protect/EssentialsProtect.java b/EssentialsProtect/src/net/ess3/protect/EssentialsProtect.java new file mode 100644 index 000000000..9f1e58e10 --- /dev/null +++ b/EssentialsProtect/src/net/ess3/protect/EssentialsProtect.java @@ -0,0 +1,157 @@ +package net.ess3.protect; + +import net.ess3.protect.data.IProtectedBlock; +import java.util.logging.Filter; +import java.util.logging.Level; +import java.util.logging.LogRecord; +import java.util.logging.Logger; + +import org.bukkit.entity.Player; +import org.bukkit.plugin.Plugin; +import org.bukkit.plugin.PluginManager; +import org.bukkit.plugin.java.JavaPlugin; + + +public class EssentialsProtect extends JavaPlugin implements IProtect +{ + private static final Logger LOGGER = Logger.getLogger("Minecraft"); + private static com.mchange.v2.log.MLogger C3P0logger; + //private final transient Map<ProtectConfig, Boolean> settingsBoolean = new EnumMap<ProtectConfig, Boolean>(ProtectConfig.class); + //private final transient Map<ProtectConfig, String> settingsString = new EnumMap<ProtectConfig, String>(ProtectConfig.class); + //private final transient Map<ProtectConfig, List<Integer>> settingsList = new EnumMap<ProtectConfig, List<Integer>>(ProtectConfig.class); + private transient IProtectedBlock storage = null; + private transient EssentialsConnect ess = null; + private transient ProtectHolder settings = null; + private transient com.mchange.v2.c3p0.management.ActiveManagementCoordinator temp; // leave this here for maven + + @Override + public void onLoad() + { + C3P0logger = com.mchange.v2.log.MLog.getLogger(com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.class); + C3P0logger.setFilter(new Filter() + { + public boolean isLoggable(final LogRecord lr) + { + return lr.getLevel() != Level.INFO; + } + }); + } + + @Override + public void onEnable() + { + final PluginManager pm = this.getServer().getPluginManager(); + final Plugin essPlugin = pm.getPlugin("Essentials-3"); + if (essPlugin == null || !essPlugin.isEnabled()) + { + enableEmergencyMode(pm); + return; + } + ess = new EssentialsConnect(essPlugin, this); + + final EssentialsProtectPlayerListener playerListener = new EssentialsProtectPlayerListener(this); + pm.registerEvents(playerListener, this); + + final EssentialsProtectBlockListener blockListener = new EssentialsProtectBlockListener(this); + pm.registerEvents(blockListener, this); + + final EssentialsProtectEntityListener entityListener = new EssentialsProtectEntityListener(this); + pm.registerEvents(entityListener, this); + + final EssentialsProtectWeatherListener weatherListener = new EssentialsProtectWeatherListener(this); + pm.registerEvents(weatherListener, this); + } + + private void enableEmergencyMode(final PluginManager pm) + { + final EmergencyListener emListener = new EmergencyListener(); + pm.registerEvents(emListener, this); + + for (Player player : getServer().getOnlinePlayers()) + { + player.sendMessage("Essentials Protect is in emergency mode. Check your log for errors."); + } + LOGGER.log(Level.SEVERE, "Essentials not installed or failed to load. Essenials Protect is in emergency mode now."); + } + + /*@Override + public boolean checkProtectionItems(final ProtectConfig list, final int id) + { + final List<Integer> itemList = settingsList.get(list); + return itemList != null && !itemList.isEmpty() && itemList.contains(id); + }*/ + @Override + public IProtectedBlock getStorage() + { + return storage; + } + + @Override + public void setStorage(final IProtectedBlock pb) + { + storage = pb; + } + + @Override + public EssentialsConnect getEssentialsConnect() + { + return ess; + } + + /*public Map<ProtectConfig, Boolean> getSettingsBoolean() + { + return settingsBoolean; + } + + public Map<ProtectConfig, String> getSettingsString() + { + return settingsString; + } + + public Map<ProtectConfig, List<Integer>> getSettingsList() + { + return settingsList; + } + + @Override + public boolean getSettingBool(final ProtectConfig protectConfig) + { + final Boolean bool = settingsBoolean.get(protectConfig); + return bool == null ? protectConfig.getDefaultValueBoolean() : bool; + } + + @Override + public String getSettingString(final ProtectConfig protectConfig) + { + final String str = settingsString.get(protectConfig); + return str == null ? protectConfig.getDefaultValueString() : str; + }*/ + @Override + public void onDisable() + { + if (storage != null) + { + storage.onPluginDeactivation(); + } + // Sleep for a second to allow the database to close. + try + { + Thread.sleep(1000); + } + catch (InterruptedException ex) + { + } + } + + @Override + public ProtectHolder getSettings() + { + return settings; + } + + @Override + public void setSettings(final ProtectHolder settings) + { + this.settings = settings; + } +} |