Added static wrappers for datamanager and socialspy functions
This commit is contained in:
@@ -29,7 +29,7 @@ import com.redstoner.modules.socialspy.Socialspy;
|
|||||||
*
|
*
|
||||||
* @author Pepich */
|
* @author Pepich */
|
||||||
@AutoRegisterListener
|
@AutoRegisterListener
|
||||||
@Version(major = 2, minor = 1, revision = 1, compatible = 2)
|
@Version(major = 2, minor = 1, revision = 2, compatible = 2)
|
||||||
public class Chatgroups implements Module, Listener
|
public class Chatgroups implements Module, Listener
|
||||||
{
|
{
|
||||||
private static final char defaultKey = ':';
|
private static final char defaultKey = ':';
|
||||||
@@ -367,8 +367,7 @@ public class Chatgroups implements Module, Listener
|
|||||||
}, '&');
|
}, '&');
|
||||||
if (ModuleLoader.getModule("Socialspy") != null)
|
if (ModuleLoader.getModule("Socialspy") != null)
|
||||||
{
|
{
|
||||||
Socialspy.getSocialspy().spyBroadcast(sender, "§e" + group + " §a(cg)", message, "/cg",
|
Socialspy.spyBroadcast(sender, "§e" + group + " §a(cg)", message, "/cg", new BroadcastFilter()
|
||||||
new BroadcastFilter()
|
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public boolean sendTo(CommandSender recipient)
|
public boolean sendTo(CommandSender recipient)
|
||||||
@@ -404,7 +403,7 @@ public class Chatgroups implements Module, Listener
|
|||||||
});
|
});
|
||||||
if (ModuleLoader.getModule("Socialspy") != null)
|
if (ModuleLoader.getModule("Socialspy") != null)
|
||||||
{
|
{
|
||||||
Socialspy.getSocialspy().spyBroadcast(Bukkit.getConsoleSender(), "§e" + group + " §a(cg)", message, "/cg",
|
Socialspy.spyBroadcast(Bukkit.getConsoleSender(), "§e" + group + " §a(cg)", message, "/cg",
|
||||||
new BroadcastFilter()
|
new BroadcastFilter()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ package com.redstoner.modules.datamanager;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FilenameFilter;
|
import java.io.FilenameFilter;
|
||||||
import java.util.UUID;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@@ -22,7 +23,7 @@ import com.redstoner.misc.Utils;
|
|||||||
import com.redstoner.modules.CoreModule;
|
import com.redstoner.modules.CoreModule;
|
||||||
|
|
||||||
@AutoRegisterListener
|
@AutoRegisterListener
|
||||||
@Version(major = 3, minor = 0, revision = 7, compatible = 3)
|
@Version(major = 3, minor = 1, revision = 0, compatible = 3)
|
||||||
public final class DataManager implements CoreModule, Listener
|
public final class DataManager implements CoreModule, Listener
|
||||||
{
|
{
|
||||||
private final File dataFolder = new File(Main.plugin.getDataFolder(), "data");
|
private final File dataFolder = new File(Main.plugin.getDataFolder(), "data");
|
||||||
@@ -35,7 +36,7 @@ public final class DataManager implements CoreModule, Listener
|
|||||||
dataFolder.mkdirs();
|
dataFolder.mkdirs();
|
||||||
for (Player p : Bukkit.getOnlinePlayers())
|
for (Player p : Bukkit.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
loadData(p.getUniqueId());
|
loadData_(p.getUniqueId().toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,7 +52,7 @@ public final class DataManager implements CoreModule, Listener
|
|||||||
@EventHandler
|
@EventHandler
|
||||||
public void onPlayerJoin(PlayerJoinEvent event)
|
public void onPlayerJoin(PlayerJoinEvent event)
|
||||||
{
|
{
|
||||||
loadData(event.getPlayer().getUniqueId());
|
loadData_(event.getPlayer().getUniqueId().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
@@ -60,33 +61,71 @@ public final class DataManager implements CoreModule, Listener
|
|||||||
saveAndUnload(event.getPlayer());
|
saveAndUnload(event.getPlayer());
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
public static void loadData(String id)
|
||||||
public void loadData(UUID id)
|
|
||||||
{
|
{
|
||||||
JSONObject playerData = JsonManager.getObject(new File(dataFolder, id.toString() + ".json"));
|
try
|
||||||
|
{
|
||||||
|
Method m = DataManager.class.getDeclaredMethod("loadData_", String.class);
|
||||||
|
m.invoke(ModuleLoader.getModule("DataManager"), id);
|
||||||
|
}
|
||||||
|
catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
|
||||||
|
| InvocationTargetException e)
|
||||||
|
{}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public void loadData_(String id)
|
||||||
|
{
|
||||||
|
JSONObject playerData = JsonManager.getObject(new File(dataFolder, id + ".json"));
|
||||||
if (playerData == null)
|
if (playerData == null)
|
||||||
playerData = new JSONObject();
|
playerData = new JSONObject();
|
||||||
data.put(id.toString(), playerData);
|
data.put(id.toString(), playerData);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object getOrDefault(CommandSender sender, String key, Object fallback)
|
public static Object getOrDefault(CommandSender sender, String key, Object fallback)
|
||||||
{
|
{
|
||||||
Object o = getData(sender, Utils.getCaller("DataManager"), key);
|
return getOrDefault(sender, Utils.getCaller("DataManager"), key, fallback);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Object getOrDefault(CommandSender sender, String module, String key, Object fallback)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Method m = DataManager.class.getDeclaredMethod("getOrDefault_", CommandSender.class, String.class,
|
||||||
|
String.class, Object.class);
|
||||||
|
return m.invoke(ModuleLoader.getModule("DataManager"), sender, module, key, fallback);
|
||||||
|
}
|
||||||
|
catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
|
||||||
|
| InvocationTargetException e)
|
||||||
|
{}
|
||||||
|
return fallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object getOrDefault_(CommandSender sender, String module, String key, Object fallback)
|
||||||
|
{
|
||||||
|
Object o = getData_(sender, module, key);
|
||||||
return o == null ? fallback : o;
|
return o == null ? fallback : o;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object getOrDefault(CommandSender sender, String module, String key, Object fallback)
|
public static Object getData(CommandSender sender, String key)
|
||||||
{
|
|
||||||
Object o = getData(sender, module, key);
|
|
||||||
return o == null ? fallback : o;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Object getData(CommandSender sender, String key)
|
|
||||||
{
|
{
|
||||||
return getData(sender, Utils.getCaller("DataManager"), key);
|
return getData(sender, Utils.getCaller("DataManager"), key);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object getData(CommandSender sender, String module, String key)
|
public static Object getData(CommandSender sender, String module, String key)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Method m = DataManager.class.getDeclaredMethod("getData_", CommandSender.class, String.class, String.class);
|
||||||
|
return m.invoke(ModuleLoader.getModule("DataManager"), sender, module, key);
|
||||||
|
}
|
||||||
|
catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
|
||||||
|
| InvocationTargetException e)
|
||||||
|
{}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object getData_(CommandSender sender, String module, String key)
|
||||||
{
|
{
|
||||||
String id;
|
String id;
|
||||||
if (sender instanceof Player)
|
if (sender instanceof Player)
|
||||||
@@ -112,13 +151,26 @@ public final class DataManager implements CoreModule, Listener
|
|||||||
return ((JSONObject) playerData.get(module)).get(key);
|
return ((JSONObject) playerData.get(module)).get(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setData(CommandSender sender, String key, Object value)
|
public static void setData(CommandSender sender, String key, Object value)
|
||||||
{
|
{
|
||||||
setData(sender, Utils.getCaller("DataManager"), key, value);
|
setData(sender, Utils.getCaller("DataManager"), key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void setData(CommandSender sender, String module, String key, Object value)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Method m = DataManager.class.getDeclaredMethod("setData_", CommandSender.class, String.class, String.class,
|
||||||
|
Object.class);
|
||||||
|
m.invoke(ModuleLoader.getModule("DataManager"), sender, module, key, value);
|
||||||
|
}
|
||||||
|
catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
|
||||||
|
| InvocationTargetException e)
|
||||||
|
{}
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public void setData(CommandSender sender, String module, String key, Object value)
|
public void setData_(CommandSender sender, String module, String key, Object value)
|
||||||
{
|
{
|
||||||
String id;
|
String id;
|
||||||
if (sender instanceof Player)
|
if (sender instanceof Player)
|
||||||
@@ -134,7 +186,7 @@ public final class DataManager implements CoreModule, Listener
|
|||||||
((JSONObject) data.get(id)).put(module, moduleData);
|
((JSONObject) data.get(id)).put(module, moduleData);
|
||||||
}
|
}
|
||||||
moduleData.put(key, value);
|
moduleData.put(key, value);
|
||||||
save(sender);
|
save_(sender);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
loadAndSet(id, module, key, value);
|
loadAndSet(id, module, key, value);
|
||||||
@@ -157,12 +209,25 @@ public final class DataManager implements CoreModule, Listener
|
|||||||
JsonManager.save(playerData, dataFile);
|
JsonManager.save(playerData, dataFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeData(CommandSender sender, String key)
|
public static void removeData(CommandSender sender, String key)
|
||||||
{
|
{
|
||||||
removeData(sender, Utils.getCaller("DataManager"), key);
|
removeData(sender, Utils.getCaller("DataManager"), key);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeData(CommandSender sender, String module, String key)
|
public static void removeData(CommandSender sender, String module, String key)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Method m = DataManager.class.getDeclaredMethod("removeData_", CommandSender.class, String.class,
|
||||||
|
String.class);
|
||||||
|
m.invoke(ModuleLoader.getModule("DataManager"), sender, module, key);
|
||||||
|
}
|
||||||
|
catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
|
||||||
|
| InvocationTargetException e)
|
||||||
|
{}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removeData_(CommandSender sender, String module, String key)
|
||||||
{
|
{
|
||||||
String id;
|
String id;
|
||||||
if (sender instanceof Player)
|
if (sender instanceof Player)
|
||||||
@@ -175,7 +240,7 @@ public final class DataManager implements CoreModule, Listener
|
|||||||
if (moduleData == null)
|
if (moduleData == null)
|
||||||
return;
|
return;
|
||||||
moduleData.remove(key);
|
moduleData.remove(key);
|
||||||
save(sender);
|
save_(sender);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
loadAndRemove(id, module, key);
|
loadAndRemove(id, module, key);
|
||||||
@@ -194,12 +259,24 @@ public final class DataManager implements CoreModule, Listener
|
|||||||
JsonManager.save(playerData, dataFile);
|
JsonManager.save(playerData, dataFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void migrateAll(String oldName)
|
public static void migrateAll(String oldName)
|
||||||
{
|
{
|
||||||
migrateAll(oldName, Utils.getCaller("DataManager"));
|
migrateAll(oldName, Utils.getCaller("DataManager"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void migrateAll(String oldName, String newName)
|
public static void migrateAll(String oldName, String newName)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Method m = DataManager.class.getDeclaredMethod("migrateAll_", String.class, String.class);
|
||||||
|
m.invoke(ModuleLoader.getModule("DataManager"), oldName, newName);
|
||||||
|
}
|
||||||
|
catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
|
||||||
|
| InvocationTargetException e)
|
||||||
|
{}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void migrateAll_(String oldName, String newName)
|
||||||
{
|
{
|
||||||
for (String s : dataFolder.list(new FilenameFilter()
|
for (String s : dataFolder.list(new FilenameFilter()
|
||||||
{
|
{
|
||||||
@@ -210,23 +287,35 @@ public final class DataManager implements CoreModule, Listener
|
|||||||
}
|
}
|
||||||
}))
|
}))
|
||||||
{
|
{
|
||||||
migrate(s.replace(".json", ""), oldName, newName);
|
migrate_(s.replace(".json", ""), oldName, newName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void migrate(String id, String oldName)
|
public static void migrate(String id, String oldName)
|
||||||
{
|
{
|
||||||
migrate(id, oldName, Utils.getCaller("DataManager"));
|
migrate(id, oldName, Utils.getCaller("DataManager"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void migrate(String id, String oldName, String newName)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Method m = DataManager.class.getDeclaredMethod("migrate_", String.class, String.class, String.class);
|
||||||
|
m.invoke(ModuleLoader.getModule("DataManager"), id, oldName, newName);
|
||||||
|
}
|
||||||
|
catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
|
||||||
|
| InvocationTargetException e)
|
||||||
|
{}
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public void migrate(String id, String oldName, String newName)
|
public void migrate_(String id, String oldName, String newName)
|
||||||
{
|
{
|
||||||
if (data.containsKey(id))
|
if (data.containsKey(id))
|
||||||
{
|
{
|
||||||
data.put(newName, data.get(oldName));
|
data.put(newName, data.get(oldName));
|
||||||
data.remove(oldName);
|
data.remove(oldName);
|
||||||
save(id);
|
save_(id);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
loadAndMigrate(id, oldName, newName);
|
loadAndMigrate(id, oldName, newName);
|
||||||
@@ -242,17 +331,41 @@ public final class DataManager implements CoreModule, Listener
|
|||||||
JsonManager.save(data, dataFile);
|
JsonManager.save(data, dataFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void save(CommandSender sender)
|
public static void save(CommandSender sender)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Method m = DataManager.class.getDeclaredMethod("save_", CommandSender.class);
|
||||||
|
m.invoke(ModuleLoader.getModule("DataManager"), sender);
|
||||||
|
}
|
||||||
|
catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
|
||||||
|
| InvocationTargetException e)
|
||||||
|
{}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void save_(CommandSender sender)
|
||||||
{
|
{
|
||||||
String id;
|
String id;
|
||||||
if (sender instanceof Player)
|
if (sender instanceof Player)
|
||||||
id = ((Player) sender).getUniqueId().toString();
|
id = ((Player) sender).getUniqueId().toString();
|
||||||
else
|
else
|
||||||
id = "CONSOLE";
|
id = "CONSOLE";
|
||||||
save(id);
|
save_(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void save(String id)
|
public static void save(String id)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Method m = DataManager.class.getDeclaredMethod("save_", String.class);
|
||||||
|
m.invoke(ModuleLoader.getModule("DataManager"), id);
|
||||||
|
}
|
||||||
|
catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
|
||||||
|
| InvocationTargetException e)
|
||||||
|
{}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void save_(String id)
|
||||||
{
|
{
|
||||||
Object raw = data.get(id);
|
Object raw = data.get(id);
|
||||||
if (raw == null || ((JSONObject) raw).size() == 0)
|
if (raw == null || ((JSONObject) raw).size() == 0)
|
||||||
@@ -272,12 +385,7 @@ public final class DataManager implements CoreModule, Listener
|
|||||||
|
|
||||||
private void saveAndUnload(String id)
|
private void saveAndUnload(String id)
|
||||||
{
|
{
|
||||||
save(id);
|
save_(id);
|
||||||
data.remove(id);
|
data.remove(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static DataManager getDataManager()
|
|
||||||
{
|
|
||||||
return (DataManager) ModuleLoader.getModule("DataManager");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ import com.redstoner.misc.Utils;
|
|||||||
import com.redstoner.modules.Module;
|
import com.redstoner.modules.Module;
|
||||||
import com.redstoner.modules.socialspy.Socialspy;
|
import com.redstoner.modules.socialspy.Socialspy;
|
||||||
|
|
||||||
@Version(major = 3, minor = 3, revision = 0, compatible = 3)
|
@Version(major = 3, minor = 3, revision = 1, compatible = 3)
|
||||||
public class Message implements Module
|
public class Message implements Module
|
||||||
{
|
{
|
||||||
HashMap<CommandSender, CommandSender> replyTargets = new HashMap<CommandSender, CommandSender>();
|
HashMap<CommandSender, CommandSender> replyTargets = new HashMap<CommandSender, CommandSender>();
|
||||||
@@ -45,7 +45,7 @@ public class Message implements Module
|
|||||||
{
|
{
|
||||||
message = Utils.colorify(message, sender);
|
message = Utils.colorify(message, sender);
|
||||||
if (ModuleLoader.getModule("Socialspy") != null)
|
if (ModuleLoader.getModule("Socialspy") != null)
|
||||||
Socialspy.getSocialspy().spyBroadcast(sender, p, message, "/m", new BroadcastFilter()
|
Socialspy.spyBroadcast(sender, p, message, "/m", new BroadcastFilter()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public boolean sendTo(CommandSender recipient)
|
public boolean sendTo(CommandSender recipient)
|
||||||
@@ -74,7 +74,7 @@ public class Message implements Module
|
|||||||
{
|
{
|
||||||
message = Utils.colorify(message, sender);
|
message = Utils.colorify(message, sender);
|
||||||
if (ModuleLoader.getModule("Socialspy") != null)
|
if (ModuleLoader.getModule("Socialspy") != null)
|
||||||
Socialspy.getSocialspy().spyBroadcast(sender, target, message, "/m", new BroadcastFilter()
|
Socialspy.spyBroadcast(sender, target, message, "/m", new BroadcastFilter()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public boolean sendTo(CommandSender recipient)
|
public boolean sendTo(CommandSender recipient)
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.redstoner.modules.socialspy;
|
package com.redstoner.modules.socialspy;
|
||||||
|
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
@@ -18,7 +20,7 @@ import com.redstoner.misc.Utils;
|
|||||||
import com.redstoner.modules.CoreModule;
|
import com.redstoner.modules.CoreModule;
|
||||||
import com.redstoner.modules.datamanager.DataManager;
|
import com.redstoner.modules.datamanager.DataManager;
|
||||||
|
|
||||||
@Version(major = 3, minor = 1, revision = 1, compatible = 3)
|
@Version(major = 3, minor = 1, revision = 3, compatible = 3)
|
||||||
public class Socialspy implements CoreModule
|
public class Socialspy implements CoreModule
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
@@ -37,7 +39,7 @@ public class Socialspy implements CoreModule
|
|||||||
public boolean prefix(CommandSender sender, String prefix)
|
public boolean prefix(CommandSender sender, String prefix)
|
||||||
{
|
{
|
||||||
Utils.sendMessage(sender, null, "Set your prefix to: " + prefix);
|
Utils.sendMessage(sender, null, "Set your prefix to: " + prefix);
|
||||||
DataManager.getDataManager().setData(sender, "prefix", prefix);
|
DataManager.setData(sender, "prefix", prefix);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,7 +53,7 @@ public class Socialspy implements CoreModule
|
|||||||
public boolean configFormat(CommandSender sender, String format)
|
public boolean configFormat(CommandSender sender, String format)
|
||||||
{
|
{
|
||||||
Utils.sendMessage(sender, null, "Set your format to: " + format);
|
Utils.sendMessage(sender, null, "Set your format to: " + format);
|
||||||
DataManager.getDataManager().setData(sender, "format", format);
|
DataManager.setData(sender, "format", format);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,7 +61,7 @@ public class Socialspy implements CoreModule
|
|||||||
public boolean stripcolorOn(CommandSender sender)
|
public boolean stripcolorOn(CommandSender sender)
|
||||||
{
|
{
|
||||||
Utils.sendMessage(sender, null, "Enabled stripping colors!");
|
Utils.sendMessage(sender, null, "Enabled stripping colors!");
|
||||||
DataManager.getDataManager().setData(sender, "stripcolor", true);
|
DataManager.setData(sender, "stripcolor", true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -67,16 +69,16 @@ public class Socialspy implements CoreModule
|
|||||||
public boolean stripcolorOff(CommandSender sender)
|
public boolean stripcolorOff(CommandSender sender)
|
||||||
{
|
{
|
||||||
Utils.sendMessage(sender, null, "Disabled stripping colors!");
|
Utils.sendMessage(sender, null, "Disabled stripping colors!");
|
||||||
DataManager.getDataManager().setData(sender, "stripcolor", false);
|
DataManager.setData(sender, "stripcolor", false);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Command(hook = "stripcolor")
|
@Command(hook = "stripcolor")
|
||||||
public boolean stripcolor(CommandSender sender)
|
public boolean stripcolor(CommandSender sender)
|
||||||
{
|
{
|
||||||
boolean b = (boolean) DataManager.getDataManager().getOrDefault(sender, "stripcolor", true);
|
boolean b = (boolean) DataManager.getOrDefault(sender, "stripcolor", true);
|
||||||
Utils.sendMessage(sender, null, (b ? "Disabled" : "Enabled") + " stripping colors!");
|
Utils.sendMessage(sender, null, (b ? "Disabled" : "Enabled") + " stripping colors!");
|
||||||
DataManager.getDataManager().setData(sender, "stripcolor", !b);
|
DataManager.setData(sender, "stripcolor", !b);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,7 +86,7 @@ public class Socialspy implements CoreModule
|
|||||||
public boolean spyOn(CommandSender sender)
|
public boolean spyOn(CommandSender sender)
|
||||||
{
|
{
|
||||||
Utils.sendMessage(sender, null, "Enabled socialspy!");
|
Utils.sendMessage(sender, null, "Enabled socialspy!");
|
||||||
DataManager.getDataManager().setData(sender, "enabled", true);
|
DataManager.setData(sender, "enabled", true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -92,16 +94,16 @@ public class Socialspy implements CoreModule
|
|||||||
public boolean spyOff(CommandSender sender)
|
public boolean spyOff(CommandSender sender)
|
||||||
{
|
{
|
||||||
Utils.sendMessage(sender, null, "Disabled socialspy!");
|
Utils.sendMessage(sender, null, "Disabled socialspy!");
|
||||||
DataManager.getDataManager().setData(sender, "enabled", false);
|
DataManager.setData(sender, "enabled", false);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Command(hook = "toggle")
|
@Command(hook = "toggle")
|
||||||
public boolean spyToggle(CommandSender sender)
|
public boolean spyToggle(CommandSender sender)
|
||||||
{
|
{
|
||||||
boolean b = (boolean) DataManager.getDataManager().getOrDefault(sender, "enabled", false);
|
boolean b = (boolean) DataManager.getOrDefault(sender, "enabled", false);
|
||||||
Utils.sendMessage(sender, null, (b ? "Disabled" : "Enabled") + " socialspy!");
|
Utils.sendMessage(sender, null, (b ? "Disabled" : "Enabled") + " socialspy!");
|
||||||
DataManager.getDataManager().setData(sender, "enabled", !b);
|
DataManager.setData(sender, "enabled", !b);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -125,8 +127,7 @@ public class Socialspy implements CoreModule
|
|||||||
public boolean commands_list(CommandSender sender)
|
public boolean commands_list(CommandSender sender)
|
||||||
{
|
{
|
||||||
Utils.sendModuleHeader(sender);
|
Utils.sendModuleHeader(sender);
|
||||||
JSONArray commands = (JSONArray) DataManager.getDataManager().getOrDefault(sender, "commands",
|
JSONArray commands = (JSONArray) DataManager.getOrDefault(sender, "commands", getDefaultCommandList());
|
||||||
getDefaultCommandList());
|
|
||||||
if (commands == null || commands.size() == 0)
|
if (commands == null || commands.size() == 0)
|
||||||
Utils.sendErrorMessage(sender, "", "You are not listening to any commands!");
|
Utils.sendErrorMessage(sender, "", "You are not listening to any commands!");
|
||||||
else
|
else
|
||||||
@@ -151,10 +152,9 @@ public class Socialspy implements CoreModule
|
|||||||
@Command(hook = "commands_add")
|
@Command(hook = "commands_add")
|
||||||
public boolean commands_add(CommandSender sender, String command)
|
public boolean commands_add(CommandSender sender, String command)
|
||||||
{
|
{
|
||||||
JSONArray commands = (JSONArray) DataManager.getDataManager().getOrDefault(sender, "commands",
|
JSONArray commands = (JSONArray) DataManager.getOrDefault(sender, "commands", getDefaultCommandList());
|
||||||
getDefaultCommandList());
|
|
||||||
commands.add(command);
|
commands.add(command);
|
||||||
DataManager.getDataManager().setData(sender, "commands", commands);
|
DataManager.setData(sender, "commands", commands);
|
||||||
Utils.sendMessage(sender, null, "You are now spying on &e" + command, '&');
|
Utils.sendMessage(sender, null, "You are now spying on &e" + command, '&');
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -162,52 +162,83 @@ public class Socialspy implements CoreModule
|
|||||||
@Command(hook = "commands_del")
|
@Command(hook = "commands_del")
|
||||||
public boolean commands_del(CommandSender sender, String command)
|
public boolean commands_del(CommandSender sender, String command)
|
||||||
{
|
{
|
||||||
JSONArray commands = (JSONArray) DataManager.getDataManager().getOrDefault(sender, "commands",
|
JSONArray commands = (JSONArray) DataManager.getOrDefault(sender, "commands", getDefaultCommandList());
|
||||||
getDefaultCommandList());
|
|
||||||
commands.remove(command);
|
commands.remove(command);
|
||||||
DataManager.getDataManager().setData(sender, "commands", commands);
|
DataManager.setData(sender, "commands", commands);
|
||||||
Utils.sendMessage(sender, null, "You are no longer spying on &e" + command, '&');
|
Utils.sendMessage(sender, null, "You are no longer spying on &e" + command, '&');
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void spyBroadcast(CommandSender sender, CommandSender target, String message, String command,
|
public static void spyBroadcast(CommandSender sender, CommandSender target, String message, String command,
|
||||||
|
BroadcastFilter filter)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Method m = Socialspy.class.getDeclaredMethod("spyBroadcast_", CommandSender.class, CommandSender.class,
|
||||||
|
String.class, String.class, BroadcastFilter.class);
|
||||||
|
m.invoke(ModuleLoader.getModule("Socialspy"), sender, target, message, command, filter);
|
||||||
|
}
|
||||||
|
catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
|
||||||
|
| InvocationTargetException e)
|
||||||
|
{}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void spyBroadcast_(CommandSender sender, CommandSender target, String message, String command,
|
||||||
BroadcastFilter filter)
|
BroadcastFilter filter)
|
||||||
{
|
{
|
||||||
for (Player p : Bukkit.getOnlinePlayers())
|
for (Player p : Bukkit.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
if ((boolean) DataManager.getDataManager().getOrDefault(p, "enabled", false))
|
if ((boolean) DataManager.getOrDefault(p, "enabled", false))
|
||||||
if (p.hasPermission("utils.socialspy"))
|
if (p.hasPermission("utils.socialspy"))
|
||||||
{
|
{
|
||||||
|
if (((JSONArray) DataManager.getOrDefault(p, "commands", getDefaultCommandList()))
|
||||||
|
.contains(command))
|
||||||
if (filter == null || filter.sendTo(p))
|
if (filter == null || filter.sendTo(p))
|
||||||
Utils.sendMessage(p, "", formatMessage(p, sender, target, message, command));
|
Utils.sendMessage(p, "", formatMessage(p, sender, target, message, command));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
DataManager.getDataManager().setData(sender, "enabled", false);
|
DataManager.setData(sender, "enabled", false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void spyBroadcast(CommandSender sender, String target, String message, String command,
|
public static void spyBroadcast(CommandSender sender, String target, String message, String command,
|
||||||
|
BroadcastFilter filter)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Method m = Socialspy.class.getDeclaredMethod("spyBroadcast_", CommandSender.class, String.class,
|
||||||
|
String.class, String.class, BroadcastFilter.class);
|
||||||
|
m.invoke(ModuleLoader.getModule("Socialspy"), sender, target, message, command, filter);
|
||||||
|
}
|
||||||
|
catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
|
||||||
|
| InvocationTargetException e)
|
||||||
|
{}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void spyBroadcast_(CommandSender sender, String target, String message, String command,
|
||||||
BroadcastFilter filter)
|
BroadcastFilter filter)
|
||||||
{
|
{
|
||||||
for (Player p : Bukkit.getOnlinePlayers())
|
for (Player p : Bukkit.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
if ((boolean) DataManager.getDataManager().getOrDefault(p, "enabled", false))
|
if ((boolean) DataManager.getOrDefault(p, "enabled", false))
|
||||||
if (p.hasPermission("utils.socialspy"))
|
if (p.hasPermission("utils.socialspy"))
|
||||||
{
|
{
|
||||||
|
if (((JSONArray) DataManager.getOrDefault(p, "commands", getDefaultCommandList()))
|
||||||
|
.contains(command))
|
||||||
if (filter == null || filter.sendTo(p))
|
if (filter == null || filter.sendTo(p))
|
||||||
Utils.sendMessage(p, "", formatMessage(p, sender, target, message, command));
|
Utils.sendMessage(p, "", formatMessage(p, sender, target, message, command));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
DataManager.getDataManager().setData(sender, "enabled", false);
|
DataManager.setData(sender, "enabled", false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String formatMessage(CommandSender formatHolder, CommandSender sender, CommandSender target, String message,
|
private String formatMessage(CommandSender formatHolder, CommandSender sender, CommandSender target, String message,
|
||||||
String command)
|
String command)
|
||||||
{
|
{
|
||||||
if ((boolean) DataManager.getDataManager().getOrDefault(formatHolder, "stripcolor", false))
|
if ((boolean) DataManager.getOrDefault(formatHolder, "stripcolor", false))
|
||||||
message = ChatColor.stripColor(message);
|
message = ChatColor.stripColor(message);
|
||||||
String format = (String) DataManager.getDataManager().getOrDefault(formatHolder, "format", getDefaultFormat());
|
String format = (String) DataManager.getOrDefault(formatHolder, "format", getDefaultFormat());
|
||||||
// Replace escaped % with placeholder
|
// Replace escaped % with placeholder
|
||||||
format = format.replace("%%", "§§");
|
format = format.replace("%%", "§§");
|
||||||
// Sender name
|
// Sender name
|
||||||
@@ -217,7 +248,7 @@ public class Socialspy implements CoreModule
|
|||||||
format = format.replace("%t", Utils.getName(target));
|
format = format.replace("%t", Utils.getName(target));
|
||||||
format = format.replace("%T", target.getName());
|
format = format.replace("%T", target.getName());
|
||||||
// Prefix
|
// Prefix
|
||||||
String prefix = (String) DataManager.getDataManager().getOrDefault(formatHolder, "prefix", getDefaultPrefix());
|
String prefix = (String) DataManager.getOrDefault(formatHolder, "prefix", getDefaultPrefix());
|
||||||
format = format.replace("%p", prefix);
|
format = format.replace("%p", prefix);
|
||||||
// Apply colors to halfway replaced String
|
// Apply colors to halfway replaced String
|
||||||
format = ChatColor.translateAlternateColorCodes('&', format);
|
format = ChatColor.translateAlternateColorCodes('&', format);
|
||||||
@@ -232,9 +263,9 @@ public class Socialspy implements CoreModule
|
|||||||
private String formatMessage(CommandSender formatHolder, CommandSender sender, String target, String message,
|
private String formatMessage(CommandSender formatHolder, CommandSender sender, String target, String message,
|
||||||
String command)
|
String command)
|
||||||
{
|
{
|
||||||
if ((boolean) DataManager.getDataManager().getOrDefault(formatHolder, "stripcolor", false))
|
if ((boolean) DataManager.getOrDefault(formatHolder, "stripcolor", false))
|
||||||
message = ChatColor.stripColor(message);
|
message = ChatColor.stripColor(message);
|
||||||
String format = (String) DataManager.getDataManager().getOrDefault(formatHolder, "format", getDefaultFormat());
|
String format = (String) DataManager.getOrDefault(formatHolder, "format", getDefaultFormat());
|
||||||
// Replace escaped % with placeholder
|
// Replace escaped % with placeholder
|
||||||
format = format.replace("%%", "§§");
|
format = format.replace("%%", "§§");
|
||||||
// Sender name
|
// Sender name
|
||||||
@@ -244,7 +275,7 @@ public class Socialspy implements CoreModule
|
|||||||
format = format.replace("%t", target);
|
format = format.replace("%t", target);
|
||||||
format = format.replace("%T", target);
|
format = format.replace("%T", target);
|
||||||
// Prefix
|
// Prefix
|
||||||
String prefix = (String) DataManager.getDataManager().getOrDefault(formatHolder, "prefix", getDefaultPrefix());
|
String prefix = (String) DataManager.getOrDefault(formatHolder, "prefix", getDefaultPrefix());
|
||||||
format = format.replace("%p", prefix);
|
format = format.replace("%p", prefix);
|
||||||
// Apply colors to halfway replaced String
|
// Apply colors to halfway replaced String
|
||||||
format = ChatColor.translateAlternateColorCodes('&', format);
|
format = ChatColor.translateAlternateColorCodes('&', format);
|
||||||
@@ -269,12 +300,7 @@ public class Socialspy implements CoreModule
|
|||||||
@Command(hook = "migrate")
|
@Command(hook = "migrate")
|
||||||
public boolean migrate(CommandSender sender)
|
public boolean migrate(CommandSender sender)
|
||||||
{
|
{
|
||||||
DataManager.getDataManager().migrateAll("Message");
|
DataManager.migrateAll("Message");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Socialspy getSocialspy()
|
|
||||||
{
|
|
||||||
return (Socialspy) ModuleLoader.getModule("Socialspy");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user