From a60fa5923c48097fe8275665609c7bfd7bfc0a4e Mon Sep 17 00:00:00 2001 From: jojo Date: Wed, 30 Dec 2020 22:57:56 +0100 Subject: [PATCH] Simplify SWCommand.register --- .../src/de/steamwar/command/SWCommand.java | 56 +++++++++---------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/SpigotCore_Main/src/de/steamwar/command/SWCommand.java b/SpigotCore_Main/src/de/steamwar/command/SWCommand.java index 239b0ad..bbd881d 100644 --- a/SpigotCore_Main/src/de/steamwar/command/SWCommand.java +++ b/SpigotCore_Main/src/de/steamwar/command/SWCommand.java @@ -63,34 +63,6 @@ public class SWCommand { this.lastArgRepeatable = lastArgRepeatable; } - protected void register(String name, String... aliases) { - commandMap.register("steamwar", new Command(name, "", "/" + name, Arrays.asList(aliases)) { - @Override - public boolean execute(CommandSender sender, String alias, String[] args) { - if (!isInstance(sender)) return false; - instance.execute((T) sender, args); - return true; - } - - @Override - public List tabComplete(CommandSender sender, String alias, String[] args) { - if (!isInstance(sender)) new ArrayList<>(); - return SWCommand.this.tabComplete((T) sender, args); - } - - private boolean isInstance(CommandSender sender) { - try { - if (Class.forName(getClass().getGenericInterfaces()[0].getTypeName()).isInstance(sender)) { - return true; - } - } catch (ClassNotFoundException e) { - // Ignored - } - return false; - } - }); - } - public boolean execute(T sender, String[] args) { if (args.length != arguments.length) return false; Object[] objects = new Object[args.length]; @@ -141,4 +113,32 @@ public class SWCommand { return strings; } + public static void register(List> commandList, String name, String... aliases) { + commandMap.register("steamwar", new Command(name, "", "/" + name, Arrays.asList(aliases)) { + @Override + public boolean execute(CommandSender sender, String alias, String[] args) { + if (!isInstance(sender)) return false; + SWCommand.execute(commandList, (T) sender, args); + return true; + } + + @Override + public List tabComplete(CommandSender sender, String alias, String[] args) { + if (!isInstance(sender)) new ArrayList<>(); + return SWCommand.tabComplete(commandList, (T) sender, args); + } + + private boolean isInstance(CommandSender sender) { + try { + if (Class.forName(getClass().getGenericInterfaces()[0].getTypeName()).isInstance(sender)) { + return true; + } + } catch (ClassNotFoundException e) { + // Ignored + } + return false; + } + }); + } + }