From dd10dcc09bae68fb2742c0aca11febaac8c73c6f Mon Sep 17 00:00:00 2001 From: AnimeGitB Date: Thu, 25 Aug 2022 10:27:03 +0930 Subject: [PATCH] Fix HelpCommand missing aliases --- .../emu/grasscutter/command/CommandMap.java | 6 +++--- .../command/commands/HelpCommand.java | 17 ++++++++--------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/main/java/emu/grasscutter/command/CommandMap.java b/src/main/java/emu/grasscutter/command/CommandMap.java index 260a69e20..50eb97b5e 100644 --- a/src/main/java/emu/grasscutter/command/CommandMap.java +++ b/src/main/java/emu/grasscutter/command/CommandMap.java @@ -83,7 +83,7 @@ public final class CommandMap { return new LinkedList<>(this.annotations.values()); } - public HashMap getAnnotations() { + public Map getAnnotations() { return new LinkedHashMap<>(this.annotations); } @@ -96,8 +96,8 @@ public final class CommandMap { return new LinkedList<>(this.commands.values()); } - public HashMap getHandlers() { - return new LinkedHashMap<>(this.commands); + public Map getHandlers() { + return this.commands; } /** diff --git a/src/main/java/emu/grasscutter/command/commands/HelpCommand.java b/src/main/java/emu/grasscutter/command/commands/HelpCommand.java index c405456e7..a30fc9eb2 100644 --- a/src/main/java/emu/grasscutter/command/commands/HelpCommand.java +++ b/src/main/java/emu/grasscutter/command/commands/HelpCommand.java @@ -46,25 +46,25 @@ public final class HelpCommand implements CommandHandler { @Override public void execute(Player player, Player targetPlayer, List args) { Account account = (player == null) ? null : player.getAccount(); - Map handlers = CommandMap.getInstance().getHandlers(); + var commandMap = CommandMap.getInstance(); List commands = new ArrayList<>(); List commands_no_permission = new ArrayList<>(); if (args.isEmpty()) { - for (String key : handlers.keySet()) { - CommandHandler command = handlers.get(key); + commandMap.getHandlers().forEach((key, command) -> { Command annotation = command.getClass().getAnnotation(Command.class); if (player == null || account.hasPermission(annotation.permission())) { commands.add(createCommand(player, command, args)); } else if (SHOW_COMMANDS_WITHOUT_PERMISSIONS) { commands_no_permission.add(createCommand(player, command, args)); } - } + }); CommandHandler.sendTranslatedMessage(player, "commands.help.available_commands"); } else { String command_str = args.remove(0).toLowerCase(); - CommandHandler command = handlers.get(command_str); + CommandHandler command = commandMap.getHandler(command_str); if (command == null) { CommandHandler.sendTranslatedMessage(player, "commands.generic.command_exist_error"); + CommandHandler.sendMessage(player, "Command: " + command_str); return; } else { Command annotation = command.getClass().getAnnotation(Command.class); @@ -75,9 +75,8 @@ public final class HelpCommand implements CommandHandler { } } } - for (String s : commands) - CommandHandler.sendMessage(player, s); - for (String s : commands_no_permission) - CommandHandler.sendMessage(player, s + "\n\t" + translate(player, "commands.help.warn_player_has_no_permission")); + final String suf = "\n\t" + translate(player, "commands.help.warn_player_has_no_permission"); + commands.forEach(s -> CommandHandler.sendMessage(player, s)); + commands_no_permission.forEach(s -> CommandHandler.sendMessage(player, s + suf)); } }