From 893b24ed5f9d61c43da761f6575ec1766cbea120 Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Wed, 14 Oct 2020 20:40:56 +0200 Subject: [PATCH] Fix alias support and add tab completion for it --- .../main/java/buttondevteam/lib/chat/Command2.java | 3 +-- .../java/buttondevteam/lib/chat/Command2MC.java | 13 +++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Chroma-Core/src/main/java/buttondevteam/lib/chat/Command2.java b/Chroma-Core/src/main/java/buttondevteam/lib/chat/Command2.java index 9f26a80..a9e5e01 100644 --- a/Chroma-Core/src/main/java/buttondevteam/lib/chat/Command2.java +++ b/Chroma-Core/src/main/java/buttondevteam/lib/chat/Command2.java @@ -288,9 +288,8 @@ public abstract class Command2, TP extends Command2Send return registerCommand(command, command.getCommandPath(), commandChar); } - protected List> registerCommand(TC command, String commandPath, @SuppressWarnings("SameParameterValue") char commandChar) { + protected List> registerCommand(TC command, String path, @SuppressWarnings("SameParameterValue") char commandChar) { this.commandChar = commandChar; - val path = command.getCommandPath(); int x = path.indexOf(' '); val mainPath = commandChar + path.substring(0, x == -1 ? path.length() : x); //var scmdmap = subcommandStrings.computeIfAbsent(mainPath, k -> new HashSet<>()); //Used to display subcommands diff --git a/Chroma-Core/src/main/java/buttondevteam/lib/chat/Command2MC.java b/Chroma-Core/src/main/java/buttondevteam/lib/chat/Command2MC.java index 3f4fc71..8676927 100644 --- a/Chroma-Core/src/main/java/buttondevteam/lib/chat/Command2MC.java +++ b/Chroma-Core/src/main/java/buttondevteam/lib/chat/Command2MC.java @@ -228,10 +228,7 @@ public class Command2MC extends Command2 implemen ((PluginCommand) bukkitCommand).setExecutor(this::executeCommand); } bukkitCommand = oldcmd == null ? new BukkitCommand(mainPath) : oldcmd; - /*System.out.println("oldcmd: " + oldcmd); - System.out.println("bukkitCommand: " + bukkitCommand);*/ } - //System.out.println("Registering to " + command.getPlugin().getName()); if (CommodoreProvider.isSupported()) TabcompleteHelper.registerTabcomplete(command, subcmds, bukkitCommand); return bukkitCommand; @@ -465,10 +462,14 @@ public class Command2MC extends Command2 implemen if (shouldRegister.get()) { commodore.register(maincmd); //MinecraftArgumentTypes.getByKey(NamespacedKey.minecraft("")) - var prefixedcmd = new LiteralCommandNode<>(command2MC.getPlugin().getName().toLowerCase() + ":" + path[0], maincmd.getCommand(), maincmd.getRequirement(), maincmd.getRedirect(), maincmd.getRedirectModifier(), maincmd.isFork()); - for (var child : maincmd.getChildren()) - prefixedcmd.addChild(child); + String pluginName = command2MC.getPlugin().getName().toLowerCase(); + var prefixedcmd = LiteralArgumentBuilder.literal(pluginName + ":" + path[0]) + .redirect(maincmd).build(); commodore.register(prefixedcmd); + for (String alias : bukkitCommand.getAliases()) { + commodore.register(LiteralArgumentBuilder.literal(alias).redirect(maincmd).build()); + commodore.register(LiteralArgumentBuilder.literal(pluginName + ":" + alias).redirect(maincmd).build()); + } } } }