This commit is contained in:
kento2 2026-07-07 21:06:57 +02:00
parent a2d1153ae8
commit a8807c9d7e
7 changed files with 16 additions and 11 deletions

View file

@ -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<T> {
@ -28,8 +29,8 @@ public class CommandHandler<T> {
}
@SuppressWarnings("CodeBlock2Expr")
public void invoke(RootLiteral<T> rootLiteral, T sender, String[] args) {
invocationParser.parse(rootLiteral, sender, Arrays.stream(args).iterator())
public void invoke(RootLiteral<T> rootLiteral, T sender, Stream<String> 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<T> {
}
public List<String> getSuggestions(RootLiteral<T> 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);
}
}

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;