KenCommandAPI/kencommandapi-bukkit/src/main/java/de/kentoj/kencommandapi/BukkitKenCommand.java
2026-08-02 21:23:36 +02:00

34 lines
1.1 KiB
Java

package de.kentoj.kencommandapi;
import de.kentoj.kencommandapi.api.CommandHandler;
import de.kentoj.kencommandapi.api.literal.Literal;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
import java.util.Arrays;
import java.util.stream.Stream;
public class BukkitKenCommand extends Command {
private final Literal<CommandSender> rootNode;
private final CommandHandler<CommandSender> commandHandler;
protected BukkitKenCommand(
CommandHandler<CommandSender> commandHandler,
Literal<CommandSender> rootLiteral
) {
super(rootLiteral.getNames()[0]);
this.commandHandler = commandHandler;
this.rootNode = rootLiteral;
this.setAliases(Arrays.asList(rootLiteral.getNames()));
this.setPermission(rootLiteral.getPermission());
}
@Override
public boolean execute(@NotNull CommandSender sender, @NotNull String commandLabel, @NotNull String[] args) {
commandHandler.invoke(rootNode, sender, Stream.of(args)
.filter(str -> !str.isEmpty()));
return true;
}
}