From 13385de5d54bf1d97295c8fd9c6d49ecd1099269 Mon Sep 17 00:00:00 2001 From: ChomeNS <95471003+ChomeNS@users.noreply.github.com> Date: Thu, 3 Apr 2025 09:46:37 +0700 Subject: [PATCH] refactor: improve the CommandHandlerPlugin a bit --- build-number.txt | 2 +- .../chomens_bot/commands/HelpCommand.java | 4 +-- .../plugins/CommandHandlerPlugin.java | 36 +++++++++---------- .../plugins/CommandSuggestionPlugin.java | 2 +- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/build-number.txt b/build-number.txt index 5456c806..b1ccee37 100644 --- a/build-number.txt +++ b/build-number.txt @@ -1 +1 @@ -2348 \ No newline at end of file +2349 \ No newline at end of file diff --git a/src/main/java/me/chayapak1/chomens_bot/commands/HelpCommand.java b/src/main/java/me/chayapak1/chomens_bot/commands/HelpCommand.java index fcb11f9b..6cdce578 100644 --- a/src/main/java/me/chayapak1/chomens_bot/commands/HelpCommand.java +++ b/src/main/java/me/chayapak1/chomens_bot/commands/HelpCommand.java @@ -74,7 +74,7 @@ public class HelpCommand extends Command { List commandNames = new ArrayList<>(); - for (Command command : CommandHandlerPlugin.commands) { + for (Command command : CommandHandlerPlugin.COMMANDS) { if (command.trustLevel != trustLevel || (command.consoleOnly && !(context instanceof ConsoleCommandContext))) continue; @@ -108,7 +108,7 @@ public class HelpCommand extends Command { final String prefix = context.prefix; - for (Command command : CommandHandlerPlugin.commands) { + for (Command command : CommandHandlerPlugin.COMMANDS) { if ( !command.name.equalsIgnoreCase(commandName) && !Arrays.stream(command.aliases).toList().contains(commandName.toLowerCase()) diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/CommandHandlerPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/CommandHandlerPlugin.java index fa310d7b..5500f698 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/CommandHandlerPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/CommandHandlerPlugin.java @@ -23,7 +23,7 @@ import java.util.Arrays; import java.util.List; public class CommandHandlerPlugin implements TickPlugin.Listener { - public static final List commands = new ArrayList<>(); + public static final List COMMANDS = new ArrayList<>(); static { registerCommand(new CommandBlockCommand()); @@ -68,7 +68,22 @@ public class CommandHandlerPlugin implements TickPlugin.Listener { } public static void registerCommand (Command command) { - commands.add(command); + COMMANDS.add(command); + } + + public static Command findCommand (String searchTerm) { + if (searchTerm.isBlank()) return null; + + for (Command command : COMMANDS) { + if ( + command.name.equals(searchTerm.toLowerCase()) || + Arrays.stream(command.aliases).toList().contains(searchTerm.toLowerCase()) + ) { + return command; + } + } + + return null; } public boolean disabled = false; @@ -110,7 +125,7 @@ public class CommandHandlerPlugin implements TickPlugin.Listener { final String commandName = splitInput[0]; - final Command command = findCommand(commands, commandName); + final Command command = findCommand(commandName); // I think this is kinda annoying when you correct spelling mistakes or something, // so I made it return nothing if it's in game @@ -217,19 +232,4 @@ public class CommandHandlerPlugin implements TickPlugin.Listener { } } } - - public Command findCommand (List commands, String searchTerm) { - for (Command command : commands) { - if ( - ( - command.name.equals(searchTerm.toLowerCase()) || - Arrays.stream(command.aliases).toList().contains(searchTerm.toLowerCase()) - ) && - !searchTerm.isEmpty() // ig yup - ) { - return command; - } - } - return null; - } } diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/CommandSuggestionPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/CommandSuggestionPlugin.java index c371847e..6f958cd7 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/CommandSuggestionPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/CommandSuggestionPlugin.java @@ -36,7 +36,7 @@ public class CommandSuggestionPlugin implements ChatPlugin.Listener { final List output = new ArrayList<>(); output.add(Component.text(ID)); - for (Command command : CommandHandlerPlugin.commands) { + for (Command command : CommandHandlerPlugin.COMMANDS) { if (command.consoleOnly) continue; final boolean hasAliases = command.aliases.length != 0;