package de.kentoj.kencommandapi; import com.velocitypowered.api.command.CommandSource; import com.velocitypowered.api.command.SimpleCommand; import de.kentoj.kencommandapi.api.CommandHandler; import de.kentoj.kencommandapi.api.literal.RootLiteral; import lombok.RequiredArgsConstructor; import java.util.List; @RequiredArgsConstructor public class VelocityCommand implements SimpleCommand { private final CommandHandler commandHandler; private final RootLiteral rootNode; @Override public void execute(Invocation invocation) { commandHandler.invoke(rootNode, invocation.source(), invocation.arguments()); } @Override public boolean hasPermission(Invocation ctx) { if (rootNode.getPermission() == null) return true; return ctx.source().hasPermission(rootNode.getPermission()); } @Override public List suggest(Invocation invocation) { return commandHandler.getSuggestions(rootNode, invocation.source(), invocation.arguments()); } }