Added static wrappers for datamanager and socialspy functions
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package com.redstoner.modules.socialspy;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
@@ -18,7 +20,7 @@ import com.redstoner.misc.Utils;
|
||||
import com.redstoner.modules.CoreModule;
|
||||
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
|
||||
{
|
||||
@Override
|
||||
@@ -37,7 +39,7 @@ public class Socialspy implements CoreModule
|
||||
public boolean prefix(CommandSender sender, String prefix)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Set your prefix to: " + prefix);
|
||||
DataManager.getDataManager().setData(sender, "prefix", prefix);
|
||||
DataManager.setData(sender, "prefix", prefix);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -51,7 +53,7 @@ public class Socialspy implements CoreModule
|
||||
public boolean configFormat(CommandSender sender, String format)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Set your format to: " + format);
|
||||
DataManager.getDataManager().setData(sender, "format", format);
|
||||
DataManager.setData(sender, "format", format);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -59,7 +61,7 @@ public class Socialspy implements CoreModule
|
||||
public boolean stripcolorOn(CommandSender sender)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Enabled stripping colors!");
|
||||
DataManager.getDataManager().setData(sender, "stripcolor", true);
|
||||
DataManager.setData(sender, "stripcolor", true);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -67,16 +69,16 @@ public class Socialspy implements CoreModule
|
||||
public boolean stripcolorOff(CommandSender sender)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Disabled stripping colors!");
|
||||
DataManager.getDataManager().setData(sender, "stripcolor", false);
|
||||
DataManager.setData(sender, "stripcolor", false);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "stripcolor")
|
||||
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!");
|
||||
DataManager.getDataManager().setData(sender, "stripcolor", !b);
|
||||
DataManager.setData(sender, "stripcolor", !b);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -84,7 +86,7 @@ public class Socialspy implements CoreModule
|
||||
public boolean spyOn(CommandSender sender)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Enabled socialspy!");
|
||||
DataManager.getDataManager().setData(sender, "enabled", true);
|
||||
DataManager.setData(sender, "enabled", true);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -92,16 +94,16 @@ public class Socialspy implements CoreModule
|
||||
public boolean spyOff(CommandSender sender)
|
||||
{
|
||||
Utils.sendMessage(sender, null, "Disabled socialspy!");
|
||||
DataManager.getDataManager().setData(sender, "enabled", false);
|
||||
DataManager.setData(sender, "enabled", false);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Command(hook = "toggle")
|
||||
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!");
|
||||
DataManager.getDataManager().setData(sender, "enabled", !b);
|
||||
DataManager.setData(sender, "enabled", !b);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -125,8 +127,7 @@ public class Socialspy implements CoreModule
|
||||
public boolean commands_list(CommandSender sender)
|
||||
{
|
||||
Utils.sendModuleHeader(sender);
|
||||
JSONArray commands = (JSONArray) DataManager.getDataManager().getOrDefault(sender, "commands",
|
||||
getDefaultCommandList());
|
||||
JSONArray commands = (JSONArray) DataManager.getOrDefault(sender, "commands", getDefaultCommandList());
|
||||
if (commands == null || commands.size() == 0)
|
||||
Utils.sendErrorMessage(sender, "", "You are not listening to any commands!");
|
||||
else
|
||||
@@ -151,10 +152,9 @@ public class Socialspy implements CoreModule
|
||||
@Command(hook = "commands_add")
|
||||
public boolean commands_add(CommandSender sender, String command)
|
||||
{
|
||||
JSONArray commands = (JSONArray) DataManager.getDataManager().getOrDefault(sender, "commands",
|
||||
getDefaultCommandList());
|
||||
JSONArray commands = (JSONArray) DataManager.getOrDefault(sender, "commands", getDefaultCommandList());
|
||||
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, '&');
|
||||
return true;
|
||||
}
|
||||
@@ -162,52 +162,83 @@ public class Socialspy implements CoreModule
|
||||
@Command(hook = "commands_del")
|
||||
public boolean commands_del(CommandSender sender, String command)
|
||||
{
|
||||
JSONArray commands = (JSONArray) DataManager.getDataManager().getOrDefault(sender, "commands",
|
||||
getDefaultCommandList());
|
||||
JSONArray commands = (JSONArray) DataManager.getOrDefault(sender, "commands", getDefaultCommandList());
|
||||
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, '&');
|
||||
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)
|
||||
{
|
||||
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 (filter == null || filter.sendTo(p))
|
||||
Utils.sendMessage(p, "", formatMessage(p, sender, target, message, command));
|
||||
if (((JSONArray) DataManager.getOrDefault(p, "commands", getDefaultCommandList()))
|
||||
.contains(command))
|
||||
if (filter == null || filter.sendTo(p))
|
||||
Utils.sendMessage(p, "", formatMessage(p, sender, target, message, command));
|
||||
}
|
||||
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)
|
||||
{
|
||||
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 (filter == null || filter.sendTo(p))
|
||||
Utils.sendMessage(p, "", formatMessage(p, sender, target, message, command));
|
||||
if (((JSONArray) DataManager.getOrDefault(p, "commands", getDefaultCommandList()))
|
||||
.contains(command))
|
||||
if (filter == null || filter.sendTo(p))
|
||||
Utils.sendMessage(p, "", formatMessage(p, sender, target, message, command));
|
||||
}
|
||||
else
|
||||
DataManager.getDataManager().setData(sender, "enabled", false);
|
||||
DataManager.setData(sender, "enabled", false);
|
||||
}
|
||||
}
|
||||
|
||||
private String formatMessage(CommandSender formatHolder, CommandSender sender, CommandSender target, String message,
|
||||
String command)
|
||||
{
|
||||
if ((boolean) DataManager.getDataManager().getOrDefault(formatHolder, "stripcolor", false))
|
||||
if ((boolean) DataManager.getOrDefault(formatHolder, "stripcolor", false))
|
||||
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
|
||||
format = format.replace("%%", "§§");
|
||||
// Sender name
|
||||
@@ -217,7 +248,7 @@ public class Socialspy implements CoreModule
|
||||
format = format.replace("%t", Utils.getName(target));
|
||||
format = format.replace("%T", target.getName());
|
||||
// Prefix
|
||||
String prefix = (String) DataManager.getDataManager().getOrDefault(formatHolder, "prefix", getDefaultPrefix());
|
||||
String prefix = (String) DataManager.getOrDefault(formatHolder, "prefix", getDefaultPrefix());
|
||||
format = format.replace("%p", prefix);
|
||||
// Apply colors to halfway replaced String
|
||||
format = ChatColor.translateAlternateColorCodes('&', format);
|
||||
@@ -232,9 +263,9 @@ public class Socialspy implements CoreModule
|
||||
private String formatMessage(CommandSender formatHolder, CommandSender sender, String target, String message,
|
||||
String command)
|
||||
{
|
||||
if ((boolean) DataManager.getDataManager().getOrDefault(formatHolder, "stripcolor", false))
|
||||
if ((boolean) DataManager.getOrDefault(formatHolder, "stripcolor", false))
|
||||
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
|
||||
format = format.replace("%%", "§§");
|
||||
// Sender name
|
||||
@@ -244,7 +275,7 @@ public class Socialspy implements CoreModule
|
||||
format = format.replace("%t", target);
|
||||
format = format.replace("%T", target);
|
||||
// Prefix
|
||||
String prefix = (String) DataManager.getDataManager().getOrDefault(formatHolder, "prefix", getDefaultPrefix());
|
||||
String prefix = (String) DataManager.getOrDefault(formatHolder, "prefix", getDefaultPrefix());
|
||||
format = format.replace("%p", prefix);
|
||||
// Apply colors to halfway replaced String
|
||||
format = ChatColor.translateAlternateColorCodes('&', format);
|
||||
@@ -269,12 +300,7 @@ public class Socialspy implements CoreModule
|
||||
@Command(hook = "migrate")
|
||||
public boolean migrate(CommandSender sender)
|
||||
{
|
||||
DataManager.getDataManager().migrateAll("Message");
|
||||
DataManager.migrateAll("Message");
|
||||
return true;
|
||||
}
|
||||
|
||||
public static Socialspy getSocialspy()
|
||||
{
|
||||
return (Socialspy) ModuleLoader.getModule("Socialspy");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user