From 83ab05780b4a6b4d49be675f8f668d57243e5160 Mon Sep 17 00:00:00 2001 From: Pepich Date: Thu, 11 May 2017 18:59:07 +0200 Subject: [PATCH] Removed static accesses as they break updating on runtime --- .../modules/datamanager/DataManager.java | 54 ++++++++++-------- .../modules/socialspy/Socialspy.java | 57 ++++++++++--------- 2 files changed, 60 insertions(+), 51 deletions(-) diff --git a/src/com/redstoner/modules/datamanager/DataManager.java b/src/com/redstoner/modules/datamanager/DataManager.java index ca52eb8..0821253 100644 --- a/src/com/redstoner/modules/datamanager/DataManager.java +++ b/src/com/redstoner/modules/datamanager/DataManager.java @@ -15,17 +15,18 @@ import org.json.simple.JSONObject; import com.redstoner.annotations.AutoRegisterListener; import com.redstoner.annotations.Version; +import com.redstoner.coremods.moduleLoader.ModuleLoader; import com.redstoner.misc.JsonManager; import com.redstoner.misc.Main; import com.redstoner.misc.Utils; import com.redstoner.modules.CoreModule; @AutoRegisterListener -@Version(major = 3, minor = 0, revision = 6, compatible = 3) +@Version(major = 3, minor = 0, revision = 7, compatible = 3) public final class DataManager implements CoreModule, Listener { - private static final File dataFolder = new File(Main.plugin.getDataFolder(), "data"); - private static JSONObject data = new JSONObject(); + private final File dataFolder = new File(Main.plugin.getDataFolder(), "data"); + private JSONObject data = new JSONObject(); @Override public void postEnable() @@ -60,7 +61,7 @@ public final class DataManager implements CoreModule, Listener } @SuppressWarnings("unchecked") - public static void loadData(UUID id) + public void loadData(UUID id) { JSONObject playerData = JsonManager.getObject(new File(dataFolder, id.toString() + ".json")); if (playerData == null) @@ -68,24 +69,24 @@ public final class DataManager implements CoreModule, Listener data.put(id.toString(), playerData); } - public static Object getOrDefault(CommandSender sender, String key, Object fallback) + public Object getOrDefault(CommandSender sender, String key, Object fallback) { Object o = getData(sender, Utils.getCaller("DataManager"), key); return o == null ? fallback : o; } - public static Object getOrDefault(CommandSender sender, String module, String key, Object fallback) + public Object getOrDefault(CommandSender sender, String module, String key, Object fallback) { Object o = getData(sender, module, key); return o == null ? fallback : o; } - public static Object getData(CommandSender sender, String key) + public Object getData(CommandSender sender, String key) { return getData(sender, Utils.getCaller("DataManager"), key); } - public static Object getData(CommandSender sender, String module, String key) + public Object getData(CommandSender sender, String module, String key) { String id; if (sender instanceof Player) @@ -103,7 +104,7 @@ public final class DataManager implements CoreModule, Listener return loadAndGet(id, module, key); } - private static Object loadAndGet(String id, String module, String key) + private Object loadAndGet(String id, String module, String key) { JSONObject playerData = JsonManager.getObject(new File(dataFolder, id + ".json")); if (playerData == null) @@ -111,13 +112,13 @@ public final class DataManager implements CoreModule, Listener return ((JSONObject) playerData.get(module)).get(key); } - public static void setData(CommandSender sender, String key, Object value) + public void setData(CommandSender sender, String key, Object value) { setData(sender, Utils.getCaller("DataManager"), key, value); } @SuppressWarnings("unchecked") - public static void setData(CommandSender sender, String module, String key, Object value) + public void setData(CommandSender sender, String module, String key, Object value) { String id; if (sender instanceof Player) @@ -140,7 +141,7 @@ public final class DataManager implements CoreModule, Listener } @SuppressWarnings("unchecked") - private static void loadAndSet(String id, String module, String key, Object value) + private void loadAndSet(String id, String module, String key, Object value) { File dataFile = new File(dataFolder, id + ".json"); JSONObject playerData = JsonManager.getObject(dataFile); @@ -156,12 +157,12 @@ public final class DataManager implements CoreModule, Listener JsonManager.save(playerData, dataFile); } - public static void removeData(CommandSender sender, String key) + public void removeData(CommandSender sender, String key) { removeData(sender, Utils.getCaller("DataManager"), key); } - public static void removeData(CommandSender sender, String module, String key) + public void removeData(CommandSender sender, String module, String key) { String id; if (sender instanceof Player) @@ -180,7 +181,7 @@ public final class DataManager implements CoreModule, Listener loadAndRemove(id, module, key); } - private static void loadAndRemove(String id, String module, String key) + private void loadAndRemove(String id, String module, String key) { File dataFile = new File(dataFolder, id + ".json"); JSONObject playerData = JsonManager.getObject(dataFile); @@ -193,12 +194,12 @@ public final class DataManager implements CoreModule, Listener JsonManager.save(playerData, dataFile); } - public static void migrateAll(String oldName) + public void migrateAll(String oldName) { migrateAll(oldName, Utils.getCaller("DataManager")); } - public static void migrateAll(String oldName, String newName) + public void migrateAll(String oldName, String newName) { for (String s : dataFolder.list(new FilenameFilter() { @@ -213,13 +214,13 @@ public final class DataManager implements CoreModule, Listener } } - public static void migrate(String id, String oldName) + public void migrate(String id, String oldName) { migrate(id, oldName, Utils.getCaller("DataManager")); } @SuppressWarnings("unchecked") - public static void migrate(String id, String oldName, String newName) + public void migrate(String id, String oldName, String newName) { if (data.containsKey(id)) { @@ -232,7 +233,7 @@ public final class DataManager implements CoreModule, Listener } @SuppressWarnings("unchecked") - private static void loadAndMigrate(String id, String oldName, String newName) + private void loadAndMigrate(String id, String oldName, String newName) { File dataFile = new File(dataFolder, id + ".json"); JSONObject data = JsonManager.getObject(dataFile); @@ -241,7 +242,7 @@ public final class DataManager implements CoreModule, Listener JsonManager.save(data, dataFile); } - public static void save(CommandSender sender) + public void save(CommandSender sender) { String id; if (sender instanceof Player) @@ -251,7 +252,7 @@ public final class DataManager implements CoreModule, Listener save(id); } - public static void save(String id) + public void save(String id) { Object raw = data.get(id); if (raw == null || ((JSONObject) raw).size() == 0) @@ -259,7 +260,7 @@ public final class DataManager implements CoreModule, Listener JsonManager.save((JSONObject) raw, new File(dataFolder, id + ".json")); } - private static void saveAndUnload(CommandSender sender) + private void saveAndUnload(CommandSender sender) { String id; if (sender instanceof Player) @@ -269,9 +270,14 @@ public final class DataManager implements CoreModule, Listener saveAndUnload(id); } - private static void saveAndUnload(String id) + private void saveAndUnload(String id) { save(id); data.remove(id); } + + public static DataManager getDataManager() + { + return (DataManager) ModuleLoader.getModule("DataManager"); + } } diff --git a/src/com/redstoner/modules/socialspy/Socialspy.java b/src/com/redstoner/modules/socialspy/Socialspy.java index 740615a..24e01f9 100644 --- a/src/com/redstoner/modules/socialspy/Socialspy.java +++ b/src/com/redstoner/modules/socialspy/Socialspy.java @@ -17,7 +17,7 @@ import com.redstoner.misc.Utils; import com.redstoner.modules.CoreModule; import com.redstoner.modules.datamanager.DataManager; -@Version(major = 3, minor = 0, revision = 3, compatible = 3) +@Version(major = 3, minor = 1, revision = 0, compatible = 3) public class Socialspy implements CoreModule { @Override @@ -36,7 +36,7 @@ public class Socialspy implements CoreModule public boolean prefix(CommandSender sender, String prefix) { Utils.sendMessage(sender, null, "Set your prefix to: " + prefix); - DataManager.setData(sender, "prefix", prefix); + DataManager.getDataManager().setData(sender, "prefix", prefix); return true; } @@ -50,7 +50,7 @@ public class Socialspy implements CoreModule public boolean configFormat(CommandSender sender, String format) { Utils.sendMessage(sender, null, "Set your format to: " + format); - DataManager.setData(sender, "format", format); + DataManager.getDataManager().setData(sender, "format", format); return true; } @@ -58,7 +58,7 @@ public class Socialspy implements CoreModule public boolean stripcolorOn(CommandSender sender) { Utils.sendMessage(sender, null, "Enabled stripping colors!"); - DataManager.setData(sender, "stripcolor", true); + DataManager.getDataManager().setData(sender, "stripcolor", true); return true; } @@ -66,16 +66,16 @@ public class Socialspy implements CoreModule public boolean stripcolorOff(CommandSender sender) { Utils.sendMessage(sender, null, "Disabled stripping colors!"); - DataManager.setData(sender, "stripcolor", false); + DataManager.getDataManager().setData(sender, "stripcolor", false); return true; } @Command(hook = "stripcolor") public boolean stripcolor(CommandSender sender) { - boolean b = (boolean) DataManager.getOrDefault(sender, "stripcolor", true); + boolean b = (boolean) DataManager.getDataManager().getOrDefault(sender, "stripcolor", true); Utils.sendMessage(sender, null, (b ? "Disabled" : "Enabled") + " stripping colors!"); - DataManager.setData(sender, "stripcolor", !b); + DataManager.getDataManager().setData(sender, "stripcolor", !b); return true; } @@ -83,7 +83,7 @@ public class Socialspy implements CoreModule public boolean spyOn(CommandSender sender) { Utils.sendMessage(sender, null, "Enabled socialspy!"); - DataManager.setData(sender, "enabled", true); + DataManager.getDataManager().setData(sender, "enabled", true); return true; } @@ -91,16 +91,16 @@ public class Socialspy implements CoreModule public boolean spyOff(CommandSender sender) { Utils.sendMessage(sender, null, "Disabled socialspy!"); - DataManager.setData(sender, "enabled", false); + DataManager.getDataManager().setData(sender, "enabled", false); return true; } @Command(hook = "toggle") public boolean spyToggle(CommandSender sender) { - boolean b = (boolean) DataManager.getOrDefault(sender, "enabled", false); + boolean b = (boolean) DataManager.getDataManager().getOrDefault(sender, "enabled", false); Utils.sendMessage(sender, null, (b ? "Disabled" : "Enabled") + " socialspy!"); - DataManager.setData(sender, "enabled", !b); + DataManager.getDataManager().setData(sender, "enabled", !b); return true; } @@ -124,7 +124,8 @@ public class Socialspy implements CoreModule public boolean commands_list(CommandSender sender) { Utils.sendModuleHeader(sender); - JSONArray commands = (JSONArray) DataManager.getOrDefault(sender, "commands", getDefaultCommandList()); + JSONArray commands = (JSONArray) DataManager.getDataManager().getOrDefault(sender, "commands", + getDefaultCommandList()); if (commands == null || commands.size() == 0) Utils.sendErrorMessage(sender, "", "You are not listening to any commands!"); else @@ -149,9 +150,10 @@ public class Socialspy implements CoreModule @Command(hook = "commands_add") public boolean commands_add(CommandSender sender, String command) { - JSONArray commands = (JSONArray) DataManager.getOrDefault(sender, "commands", getDefaultCommandList()); + JSONArray commands = (JSONArray) DataManager.getDataManager().getOrDefault(sender, "commands", + getDefaultCommandList()); commands.add(command); - DataManager.setData(sender, "commands", commands); + DataManager.getDataManager().setData(sender, "commands", commands); Utils.sendMessage(sender, null, "You are now spying on &e" + command, '&'); return true; } @@ -159,9 +161,10 @@ public class Socialspy implements CoreModule @Command(hook = "commands_del") public boolean commands_del(CommandSender sender, String command) { - JSONArray commands = (JSONArray) DataManager.getOrDefault(sender, "commands", getDefaultCommandList()); + JSONArray commands = (JSONArray) DataManager.getDataManager().getOrDefault(sender, "commands", + getDefaultCommandList()); commands.remove(command); - DataManager.setData(sender, "commands", commands); + DataManager.getDataManager().setData(sender, "commands", commands); Utils.sendMessage(sender, null, "You are no longer spying on &e" + command, '&'); return true; } @@ -171,14 +174,14 @@ public class Socialspy implements CoreModule { for (Player p : Bukkit.getOnlinePlayers()) { - if ((boolean) DataManager.getOrDefault(p, "enabled", false)) + if ((boolean) DataManager.getDataManager().getOrDefault(p, "enabled", false)) if (p.hasPermission("utils.socialspy")) { if (filter == null || filter.sendTo(p)) Utils.sendMessage(p, "", formatMessage(p, sender, target, message, command)); } else - DataManager.setData(sender, "enabled", false); + DataManager.getDataManager().setData(sender, "enabled", false); } } @@ -187,23 +190,23 @@ public class Socialspy implements CoreModule { for (Player p : Bukkit.getOnlinePlayers()) { - if ((boolean) DataManager.getOrDefault(p, "enabled", false)) + if ((boolean) DataManager.getDataManager().getOrDefault(p, "enabled", false)) if (p.hasPermission("utils.socialspy")) { if (filter == null || filter.sendTo(p)) Utils.sendMessage(p, "", formatMessage(p, sender, target, message, command)); } else - DataManager.setData(sender, "enabled", false); + DataManager.getDataManager().setData(sender, "enabled", false); } } private static String formatMessage(CommandSender formatHolder, CommandSender sender, CommandSender target, String message, String command) { - if ((boolean) DataManager.getOrDefault(formatHolder, "stripcolor", false)) + if ((boolean) DataManager.getDataManager().getOrDefault(formatHolder, "stripcolor", false)) message = ChatColor.stripColor(message); - String format = (String) DataManager.getOrDefault(formatHolder, "format", getDefaultFormat()); + String format = (String) DataManager.getDataManager().getOrDefault(formatHolder, "format", getDefaultFormat()); // Replace escaped % with placeholder format = format.replace("%%", "§§"); // Sender name @@ -213,7 +216,7 @@ public class Socialspy implements CoreModule format = format.replace("%t", Utils.getName(target)); format = format.replace("%T", target.getName()); // Prefix - String prefix = (String) DataManager.getOrDefault(formatHolder, "prefix", getDefaultPrefix()); + String prefix = (String) DataManager.getDataManager().getOrDefault(formatHolder, "prefix", getDefaultPrefix()); format = format.replace("%p", prefix); // Apply colors to halfway replaced String format = ChatColor.translateAlternateColorCodes('&', format); @@ -228,9 +231,9 @@ public class Socialspy implements CoreModule private static String formatMessage(CommandSender formatHolder, CommandSender sender, String target, String message, String command) { - if ((boolean) DataManager.getOrDefault(formatHolder, "stripcolor", false)) + if ((boolean) DataManager.getDataManager().getOrDefault(formatHolder, "stripcolor", false)) message = ChatColor.stripColor(message); - String format = (String) DataManager.getOrDefault(formatHolder, "format", getDefaultFormat()); + String format = (String) DataManager.getDataManager().getOrDefault(formatHolder, "format", getDefaultFormat()); // Replace escaped % with placeholder format = format.replace("%%", "§§"); // Sender name @@ -240,7 +243,7 @@ public class Socialspy implements CoreModule format = format.replace("%t", target); format = format.replace("%T", target); // Prefix - String prefix = (String) DataManager.getOrDefault(formatHolder, "prefix", getDefaultPrefix()); + String prefix = (String) DataManager.getDataManager().getOrDefault(formatHolder, "prefix", getDefaultPrefix()); format = format.replace("%p", prefix); // Apply colors to halfway replaced String format = ChatColor.translateAlternateColorCodes('&', format); @@ -265,7 +268,7 @@ public class Socialspy implements CoreModule @Command(hook = "migrate") public boolean migrate(CommandSender sender) { - DataManager.migrateAll("Message"); + DataManager.getDataManager().migrateAll("Message"); return true; } }