Archived
0

Code cleanup batch 2

This commit is contained in:
David
2018-11-12 16:15:36 +01:00
parent 9e03a3371b
commit e64d7ffb0c
4 changed files with 706 additions and 884 deletions

View File

@@ -1,6 +1,5 @@
package com.redstoner.modules.ignore;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.UUID;
@@ -27,133 +26,109 @@ import net.nemez.chatapi.click.Message;
@Commands(CommandHolderType.File)
@AutoRegisterListener
@Version(major = 4, minor = 0, revision = 0, compatible = 4)
public class Ignore implements Module
{
public class Ignore implements Module {
@Command(hook = "unignore", async = AsyncType.ALWAYS)
public boolean unignore(CommandSender sender, String player)
{
public boolean unignore(CommandSender sender, String player) {
return ignore(sender, player, false);
}
@Command(hook = "ignore", async = AsyncType.ALWAYS)
public boolean ignore(CommandSender sender, String player)
{
public boolean ignore(CommandSender sender, String player) {
return ignore(sender, player, true);
}
@Command(hook = "list", async = AsyncType.ALWAYS)
public boolean list(CommandSender sender)
{
public boolean list(CommandSender sender) {
getLogger().message(sender, "§7You are currently ignoring:");
JSONArray ignores = (JSONArray) DataManager.getOrDefault(sender, "ignores", new JSONArray());
if (ignores.isEmpty())
{
if (ignores.isEmpty()) {
new Message(sender, null).appendText(" §7Nobody \\o/").send();
return true;
}
String players;
OfflinePlayer pi = Bukkit.getOfflinePlayer(UUID.fromString((String) ignores.get(0)));
players = " §3" + pi.getName() + "§7";
for (int i = 1; i < ignores.size(); i++)
{
for (int i = 1; i < ignores.size(); i++) {
OfflinePlayer p = Bukkit.getOfflinePlayer(UUID.fromString((String) ignores.get(i)));
players += ", §3" + p.getName() + "§7";
}
Message m = new Message(sender, null);
m.appendText(players);
m.send();
return true;
}
@SuppressWarnings({"unchecked", "deprecation"})
public boolean ignore(CommandSender sender, String player, boolean allowIgnore)
{
@SuppressWarnings({ "unchecked", "deprecation" })
public boolean ignore(CommandSender sender, String player, boolean allowIgnore) {
JSONArray ignores = (JSONArray) DataManager.getOrDefault(sender, "ignores", new JSONArray());
Player p = Utils.isUUID(player) ? Bukkit.getPlayer(UUID.fromString(player)) : Bukkit.getPlayer(player);
OfflinePlayer op = Utils.isUUID(player) ? Bukkit.getOfflinePlayer(UUID.fromString(player))
: Bukkit.getOfflinePlayer(player);
OfflinePlayer op = Utils.isUUID(player) ? Bukkit.getOfflinePlayer(UUID.fromString(player)) : Bukkit.getOfflinePlayer(player);
String pName = p != null ? p.getDisplayName() : op.getName();
String pUUID = p != null ? p.getUniqueId().toString() : op.getUniqueId().toString();
String sUUID = ((Player) sender).getUniqueId().toString();
if (pUUID.equals(sUUID))
{
if (pUUID.equals(sUUID)) {
getLogger().message(sender, true, "§7You can't ignore yourself :P");
return true;
}
if (ignores.contains(pUUID))
{
if (ignores.contains(pUUID)) {
ignores.remove(pUUID);
getLogger().message(sender, "§7You are no longer ignoring §3" + pName + "§7.");
}
else if (!allowIgnore)
{
} else if (!allowIgnore) {
getLogger().message(sender, "§7You weren't ignoring §3" + pName + "§7.");
}
else
{
} else {
ignores.add(pUUID);
getLogger().message(sender, "§7You are now ignoring §3" + pName + "§7.");
}
DataManager.setData(sender, "ignores", ignores);
return true;
}
public static BroadcastFilter getIgnoredBy(CommandSender sender)
{
try
{
public static BroadcastFilter getIgnoredBy(CommandSender sender) {
try {
Module mod = ModuleLoader.getModule("Ignore");
Method m = mod.getClass().getDeclaredMethod("_getIgnoredBy", CommandSender.class);
m.setAccessible(true);
return (BroadcastFilter) m.invoke(mod, sender);
} catch (Exception e) {
return null;
}
catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
| InvocationTargetException e)
{}
return null;
}
@SuppressWarnings("unused")
private BroadcastFilter _getIgnoredBy(CommandSender sender)
{
return new BroadcastFilter()
{
private final String sUUID = sender instanceof Player ? ((Player) sender).getUniqueId().toString()
: "CONSOLE";
private BroadcastFilter _getIgnoredBy(CommandSender sender) {
return new BroadcastFilter() {
private final String sUUID = sender instanceof Player ? ((Player) sender).getUniqueId().toString() : "CONSOLE";
@Override
public boolean sendTo(CommandSender recipient)
{
if (sUUID.equals("CONSOLE"))
return true;
if (recipient instanceof Player)
{
Player player = (Player) recipient;
if (sender.hasPermission("utils.ignore.override"))
return true;
JSONArray ignores = (JSONArray) DataManager.getOrDefault(recipient, "ignores", new JSONArray());
return !ignores.contains(sUUID);
}
else
return true;
public boolean sendTo(CommandSender recipient) {
if (sUUID.equals("CONSOLE")) return true;
if ((recipient instanceof Player)) return true;
Player player = (Player) recipient;
if (sender.hasPermission("utils.ignore.override")) return true;
JSONArray ignores = (JSONArray) DataManager.getOrDefault(recipient, "ignores", new JSONArray());
return !ignores.contains(sUUID);
}
};
}
}