From d7fec0297fff70c9632fec25688e65019ad455fc Mon Sep 17 00:00:00 2001 From: themode Date: Mon, 11 Jan 2021 01:54:59 +0100 Subject: [PATCH] Fix argument callback with 0 correct argument --- .../command/builder/CommandDispatcher.java | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/src/main/java/net/minestom/server/command/builder/CommandDispatcher.java b/src/main/java/net/minestom/server/command/builder/CommandDispatcher.java index e2affe860..d027b2d4e 100644 --- a/src/main/java/net/minestom/server/command/builder/CommandDispatcher.java +++ b/src/main/java/net/minestom/server/command/builder/CommandDispatcher.java @@ -257,23 +257,19 @@ public class CommandDispatcher { { // Get closest valid syntax if (!syntaxesSuggestions.isEmpty()) { - final int max = syntaxesSuggestions.firstKey(); // number of correct arguments - // Check if at least 1 argument of the syntax is correct - if (max > 0) { - // Get the data of the closest syntax - final CommandSuggestionHolder suggestionHolder = syntaxesSuggestions.get(max); - final CommandSyntax syntax = suggestionHolder.syntax; - final ArgumentSyntaxException argumentSyntaxException = suggestionHolder.argumentSyntaxException; - final int argIndex = suggestionHolder.argIndex; + final int max = syntaxesSuggestions.firstKey(); // number of correct arguments in the most correct syntax + final CommandSuggestionHolder suggestionHolder = syntaxesSuggestions.get(max); + final CommandSyntax syntax = suggestionHolder.syntax; + final ArgumentSyntaxException argumentSyntaxException = suggestionHolder.argumentSyntaxException; + final int argIndex = suggestionHolder.argIndex; - // Found the closest syntax with at least 1 correct argument - final Argument argument = syntax.getArguments()[argIndex]; - if (argument.hasErrorCallback()) { - result.callback = argument.getCallback(); - result.argumentSyntaxException = argumentSyntaxException; + // Found the closest syntax with at least 1 correct argument + final Argument argument = syntax.getArguments()[argIndex]; + if (argument.hasErrorCallback()) { + result.callback = argument.getCallback(); + result.argumentSyntaxException = argumentSyntaxException; - return result; - } + return result; } } }