diff --git a/kencommandapi-bukkit/src/main/java/de/kentoj/kencommandapi/BukkitKenCommand.java b/kencommandapi-bukkit/src/main/java/de/kentoj/kencommandapi/BukkitKenCommand.java index 25dbe36..20608b9 100644 --- a/kencommandapi-bukkit/src/main/java/de/kentoj/kencommandapi/BukkitKenCommand.java +++ b/kencommandapi-bukkit/src/main/java/de/kentoj/kencommandapi/BukkitKenCommand.java @@ -7,6 +7,7 @@ import org.bukkit.command.CommandSender; import org.jetbrains.annotations.NotNull; import java.util.Arrays; +import java.util.stream.Stream; public class BukkitKenCommand extends Command { @@ -26,7 +27,8 @@ public class BukkitKenCommand extends Command { @Override public boolean execute(@NotNull CommandSender sender, @NotNull String commandLabel, @NotNull String[] args) { - commandHandler.invoke(rootNode, sender, args); + commandHandler.invoke(rootNode, sender, Stream.of(args) + .filter(str -> !str.isEmpty())); return true; } } diff --git a/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/CommandHandler.java b/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/CommandHandler.java index c652460..e7d147d 100644 --- a/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/CommandHandler.java +++ b/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/CommandHandler.java @@ -2,15 +2,16 @@ package de.kentoj.kencommandapi.api; import de.kentoj.kencommandapi.api.invocation.CommandContext; import de.kentoj.kencommandapi.api.literal.RootLiteral; -import de.kentoj.kencommandapi.api.parser.CommandParseHelper; -import de.kentoj.kencommandapi.api.parser.InvocationCommandParser; -import de.kentoj.kencommandapi.api.parser.SuggestionCommandParser; +import de.kentoj.kencommandapi.internal.parser.CommandParseHelper; +import de.kentoj.kencommandapi.internal.parser.InvocationCommandParser; +import de.kentoj.kencommandapi.internal.parser.SuggestionCommandParser; import de.kentoj.kencommandapi.api.platform.HasPermissionMethod; import de.kentoj.kencommandapi.api.platform.SendMessageMethod; import lombok.RequiredArgsConstructor; import java.util.Arrays; import java.util.List; +import java.util.stream.Stream; @RequiredArgsConstructor public class CommandHandler { @@ -28,8 +29,8 @@ public class CommandHandler { } @SuppressWarnings("CodeBlock2Expr") - public void invoke(RootLiteral rootLiteral, T sender, String[] args) { - invocationParser.parse(rootLiteral, sender, Arrays.stream(args).iterator()) + public void invoke(RootLiteral rootLiteral, T sender, Stream args) { + invocationParser.parse(rootLiteral, sender, args.toList().iterator()) .ifSuccessOrElse(data -> { var ctx = new CommandContext<>(sender, data.getArguments()); data.getExecutor().execute(ctx).whenComplete((result, ex) -> { @@ -44,7 +45,6 @@ public class CommandHandler { } public List getSuggestions(RootLiteral rootNode, T sender, String[] args, boolean trailingSpace) { - System.out.println("youre using the latest n greatest command parsing 3"); return suggestionParser.suggest(rootNode, sender, Arrays.stream(args).iterator(), trailingSpace); } } \ No newline at end of file diff --git a/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/parser/CommandParseHelper.java b/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/internal/parser/CommandParseHelper.java similarity index 94% rename from kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/parser/CommandParseHelper.java rename to kencommandapi-core/src/main/java/de/kentoj/kencommandapi/internal/parser/CommandParseHelper.java index 94c13c2..1c79386 100644 --- a/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/parser/CommandParseHelper.java +++ b/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/internal/parser/CommandParseHelper.java @@ -1,4 +1,4 @@ -package de.kentoj.kencommandapi.api.parser; +package de.kentoj.kencommandapi.internal.parser; import de.kentoj.kencommandapi.api.literal.Literal; import de.kentoj.kencommandapi.api.platform.HasPermissionMethod; diff --git a/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/parser/InvocationCommandParser.java b/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/internal/parser/InvocationCommandParser.java similarity index 98% rename from kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/parser/InvocationCommandParser.java rename to kencommandapi-core/src/main/java/de/kentoj/kencommandapi/internal/parser/InvocationCommandParser.java index 25697ba..3d06229 100644 --- a/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/parser/InvocationCommandParser.java +++ b/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/internal/parser/InvocationCommandParser.java @@ -1,4 +1,4 @@ -package de.kentoj.kencommandapi.api.parser; +package de.kentoj.kencommandapi.internal.parser; import com.leakyabstractions.result.api.Result; import com.leakyabstractions.result.core.Results; diff --git a/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/parser/SuggestionCommandParser.java b/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/internal/parser/SuggestionCommandParser.java similarity index 98% rename from kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/parser/SuggestionCommandParser.java rename to kencommandapi-core/src/main/java/de/kentoj/kencommandapi/internal/parser/SuggestionCommandParser.java index 035b6b3..fa84f3e 100644 --- a/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/parser/SuggestionCommandParser.java +++ b/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/internal/parser/SuggestionCommandParser.java @@ -1,4 +1,4 @@ -package de.kentoj.kencommandapi.api.parser; +package de.kentoj.kencommandapi.internal.parser; import de.kentoj.kencommandapi.api.literal.Literal; import de.kentoj.kencommandapi.api.literal.RootLiteral; diff --git a/kencommandapi-core/src/test/java/de/kentoj/kencommandapi/api/parser/SuggestionCommandParserTest.java b/kencommandapi-core/src/test/java/de/kentoj/kencommandapi/api/parser/SuggestionCommandParserTest.java index a183269..0a87380 100644 --- a/kencommandapi-core/src/test/java/de/kentoj/kencommandapi/api/parser/SuggestionCommandParserTest.java +++ b/kencommandapi-core/src/test/java/de/kentoj/kencommandapi/api/parser/SuggestionCommandParserTest.java @@ -5,6 +5,7 @@ import de.kentoj.kencommandapi.api.argument.types.StringArgumentType; import de.kentoj.kencommandapi.api.literal.Literal; import de.kentoj.kencommandapi.api.literal.RootLiteral; import de.kentoj.kencommandapi.api.platform.MessageStyle; +import de.kentoj.kencommandapi.internal.parser.SuggestionCommandParser; import org.junit.jupiter.api.Test; import java.util.ArrayList; diff --git a/kencommandapi-velocity/src/main/java/de/kentoj/kencommandapi/VelocityCommand.java b/kencommandapi-velocity/src/main/java/de/kentoj/kencommandapi/VelocityCommand.java index 55c4256..c002669 100644 --- a/kencommandapi-velocity/src/main/java/de/kentoj/kencommandapi/VelocityCommand.java +++ b/kencommandapi-velocity/src/main/java/de/kentoj/kencommandapi/VelocityCommand.java @@ -6,6 +6,7 @@ import de.kentoj.kencommandapi.api.CommandHandler; import de.kentoj.kencommandapi.api.literal.RootLiteral; import lombok.RequiredArgsConstructor; +import java.util.Arrays; import java.util.List; @RequiredArgsConstructor @@ -16,7 +17,8 @@ public class VelocityCommand implements RawCommand { @Override public void execute(Invocation invocation) { - var args = invocation.arguments().split(" "); + var args = Arrays.stream(invocation.arguments().split(" ")) + .filter(a -> !a.isEmpty()); commandHandler.invoke(rootNode, invocation.source(), args); }