KenCommandAPI/kencommandapi-bukkit/src/main/java/de/kentoj/kencommandapi/BukkitKenCommand.java

32 lines
1 KiB
Java

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