From ae5494f203e2141197a1b6e5472612032c409fb1 Mon Sep 17 00:00:00 2001 From: Minenash Date: Sun, 13 Jan 2019 00:42:29 -0500 Subject: Fixed module loading, with caveats*. * Unfortunately it still won't remove the commands from the TabComplete * ChatAPI's error message for now unregistered commands, have been changed to lessen the confusion. --- .../redstoner/coremods/moduleLoader/ModuleLoader.java | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/redstoner/coremods/moduleLoader/ModuleLoader.java b/src/main/java/com/redstoner/coremods/moduleLoader/ModuleLoader.java index 109fc27..0a4cdf9 100644 --- a/src/main/java/com/redstoner/coremods/moduleLoader/ModuleLoader.java +++ b/src/main/java/com/redstoner/coremods/moduleLoader/ModuleLoader.java @@ -5,7 +5,6 @@ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; -import java.lang.reflect.Method; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; @@ -40,7 +39,7 @@ import net.nemez.chatapi.click.Message; /** The module loader, mother of all modules. Responsible for loading and taking care of all modules. * * @author Pepich */ -@Version(major = 5, minor = 0, revision = 0, compatible = 5) +@Version(major = 5, minor = 1, revision = 0, compatible = 5) public final class ModuleLoader implements CoreModule { private static ModuleLoader instance; @@ -370,8 +369,7 @@ public final class ModuleLoader implements CoreModule { HandlerList.unregisterAll((Listener) module); } - String[] commands = getAllHooks(module).toArray(new String[] {}); - CommandManager.unregisterAll(commands); + CommandManager.unregisterAllWithFallback(module.getClass().getSimpleName()); try { URLClassLoader loader = loaders.get(module); @@ -387,19 +385,6 @@ public final class ModuleLoader implements CoreModule } } - private static ArrayList getAllHooks(Module module) - { - ArrayList commands = new ArrayList<>(); - for (Method m : module.getClass().getMethods()) - { - Command cmd = m.getDeclaredAnnotation(Command.class); - if (cmd == null) - continue; - commands.add(cmd.hook()); - } - return commands; - } - @Command(hook = "load") public boolean loadModule(CommandSender sender, String name) { -- cgit v1.2.3