34 lines
1.1 KiB
Java
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;
|
|
}
|
|
}
|