Archived
0

Removed static accesses as they break updating on runtime

This commit is contained in:
Pepich
2017-05-11 18:59:07 +02:00
parent fb171ff7c1
commit 83ab05780b
2 changed files with 60 additions and 51 deletions

View File

@@ -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");
}
}

View File

@@ -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;
}
}