From 106efc3ed865a5b726bdc3a5effab846333f90d6 Mon Sep 17 00:00:00 2001 From: unurled Date: Thu, 14 Mar 2024 12:12:04 +0100 Subject: [PATCH] registerCommand method --- .../sr/commands/CommandManager.java | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/src/main/java/me/unurled/sacredrealms/sr/commands/CommandManager.java b/src/main/java/me/unurled/sacredrealms/sr/commands/CommandManager.java index a6a1fe7..30c0c04 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/commands/CommandManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/commands/CommandManager.java @@ -5,24 +5,23 @@ import me.unurled.sacredrealms.sr.commands.admin.AttributeCommand; import me.unurled.sacredrealms.sr.commands.player.ResetAdventureCommand; import me.unurled.sacredrealms.sr.managers.Manager; import org.bukkit.command.PluginCommand; +import org.bukkit.command.TabExecutor; public class CommandManager extends Manager { - /** Load the manager */ - @Override - public void load() { - super.load(); - SR instance = SR.getInstance(); - PluginCommand attributes = instance.getCommand("attributes"); - if (attributes != null) { - attributes.setExecutor(new AttributeCommand()); - attributes.setTabCompleter(new AttributeCommand()); - } - - PluginCommand resetadventure = instance.getCommand("resetadventure"); - if (resetadventure != null) { - resetadventure.setExecutor(new ResetAdventureCommand()); - resetadventure.setTabCompleter(new ResetAdventureCommand()); + private static void registerCommand(String command, Class clazz) { + PluginCommand pluginCommand = SR.getInstance().getCommand(command); + if (pluginCommand != null) { + try { + T instance = clazz.getDeclaredConstructor().newInstance(); + pluginCommand.setExecutor(instance); + pluginCommand.setTabCompleter(instance); + } catch (InstantiationException + | IllegalAccessException + | InvocationTargetException + | NoSuchMethodException e) { + error("Failed to register command " + command + "\n" + e.getMessage()); + } } } }