From 526f785677e0ea5c67c17a5398521ac1a8ae3a3f Mon Sep 17 00:00:00 2001 From: Shevchik Date: Sun, 1 Sep 2013 17:17:43 +0400 Subject: [PATCH] Refactor --- src/com/cnaude/chairs/Chairs.java | 10 ++-------- src/com/cnaude/chairs/ChairsIgnoreList.java | 18 ++++++++++++------ target/Chairs.jar | Bin 22806 -> 22775 bytes 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/com/cnaude/chairs/Chairs.java b/src/com/cnaude/chairs/Chairs.java index 1ec31b1..ad54b67 100644 --- a/src/com/cnaude/chairs/Chairs.java +++ b/src/com/cnaude/chairs/Chairs.java @@ -2,6 +2,7 @@ package com.cnaude.chairs; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.logging.Level; @@ -25,7 +26,6 @@ import com.comphenix.protocol.ProtocolLibrary; import com.comphenix.protocol.ProtocolManager; public class Chairs extends JavaPlugin { - private static Chairs instance = null; public static ChairEffects chairEffects; public List allowedBlocks; public List validSigns; @@ -49,8 +49,7 @@ public class Chairs extends JavaPlugin { @Override public void onEnable() { - instance = this; - ignoreList = new ChairsIgnoreList(); + ignoreList = new ChairsIgnoreList(this); ignoreList.load(); pm = this.getServer().getPluginManager(); pluginFolder = getDataFolder(); @@ -67,7 +66,6 @@ public class Chairs extends JavaPlugin { } protocolManager = ProtocolLibrary.getProtocolManager(); new PacketListener(protocolManager, this); - } @Override @@ -87,7 +85,6 @@ public class Chairs extends JavaPlugin { chairEffects.cancel(); } HandlerList.unregisterAll(this); - instance = null; } public void restartEffectsTask() { @@ -257,9 +254,6 @@ public class Chairs extends JavaPlugin { log.log(Level.SEVERE, String.format("%s %s", LOG_HEADER, _message)); } - public static Chairs get() { - return instance; - } } diff --git a/src/com/cnaude/chairs/ChairsIgnoreList.java b/src/com/cnaude/chairs/ChairsIgnoreList.java index 6b473c6..7ecc657 100644 --- a/src/com/cnaude/chairs/ChairsIgnoreList.java +++ b/src/com/cnaude/chairs/ChairsIgnoreList.java @@ -9,18 +9,24 @@ import java.util.ArrayList; /** * - * @author naudec + * @author cnaude */ @SuppressWarnings("serial") public class ChairsIgnoreList implements Serializable{ private static ArrayList ignoreList = new ArrayList(); private static final String IGNORE_FILE = "plugins/Chairs/ignores.ser"; + private Chairs plugin; + public ChairsIgnoreList(Chairs plugin) + { + this.plugin = plugin; + } + @SuppressWarnings("unchecked") public void load() { File file = new File(IGNORE_FILE); if (!file.exists()) { - Chairs.get().logInfo("Ignore file '"+file.getAbsolutePath()+"' does not exist."); + plugin.logInfo("Ignore file '"+file.getAbsolutePath()+"' does not exist."); return; } try { @@ -28,10 +34,10 @@ public class ChairsIgnoreList implements Serializable{ ObjectInputStream obj_in = new ObjectInputStream (f_in); ignoreList = (ArrayList) obj_in.readObject(); obj_in.close(); - Chairs.get().logInfo("Loaded ignore list. (Count = "+ignoreList.size()+")"); + plugin.logInfo("Loaded ignore list. (Count = "+ignoreList.size()+")"); } catch(Exception e) { - Chairs.get().logError(e.getMessage()); + plugin.logError(e.getMessage()); } } @@ -42,10 +48,10 @@ public class ChairsIgnoreList implements Serializable{ ObjectOutputStream obj_out = new ObjectOutputStream (f_out); obj_out.writeObject (ignoreList); obj_out.close(); - Chairs.get().logInfo("Saved ignore list. (Count = "+ignoreList.size()+")"); + plugin.logInfo("Saved ignore list. (Count = "+ignoreList.size()+")"); } catch(Exception e) { - Chairs.get().logError(e.getMessage()); + plugin.logError(e.getMessage()); } } diff --git a/target/Chairs.jar b/target/Chairs.jar index 69de59b592958a082d3c8f66defcb4835fd70999..802a7ab824d74089e9ec9b0fbcd17a40c28b203f 100644 GIT binary patch delta 8320 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 O2kqY-c3b;j@BaY0y{w%8