reworked parsing

This commit is contained in:
kento2 2026-07-06 22:08:48 +02:00
parent 8897579a12
commit ac6a95232e
22 changed files with 360 additions and 441 deletions

View file

@ -1,8 +1,7 @@
package de.kentoj.kencommandapi;
import de.kentoj.kencommandapi.api.CommandHandler;
import de.kentoj.kencommandapi.api.node.RootCommandNode;
import de.kentoj.kencommandapi.api.parser.CommandParser;
import de.kentoj.kencommandapi.api.literal.RootLiteral;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.command.SimpleCommandMap;
@ -17,12 +16,11 @@ import java.util.List;
public class CommandAPI {
private final CommandHandler<CommandSender> commandHandler;
private final List<RootCommandNode<CommandSender>> registeredNodes = new ArrayList<>();
private final List<RootLiteral<CommandSender>> registeredNodes = new ArrayList<>();
private final SimpleCommandMap commandMap;
public CommandAPI(Plugin plugin) {
this.commandHandler = new CommandHandler<>(new CommandParser<>(Permissible::hasPermission),
CommandSender::sendMessage, Permissible::hasPermission);
this.commandHandler = new CommandHandler<>(CommandSender::sendMessage, Permissible::hasPermission);
Bukkit.getPluginManager().registerEvents(new TabCompleteListener(this, commandHandler), plugin);
try {
@ -34,7 +32,7 @@ public class CommandAPI {
}
}
@Nullable RootCommandNode<CommandSender> getRegistered(String name) {
@Nullable RootLiteral<CommandSender> getRegistered(String name) {
for (var node : registeredNodes) {
for (String nodeName : node.getNames()) {
if (nodeName.equals(name)) return node;
@ -43,7 +41,7 @@ public class CommandAPI {
return null;
}
public void register(RootCommandNode<CommandSender> rootNode) {
public void register(RootLiteral<CommandSender> rootNode) {
registeredNodes.add(rootNode);
commandMap.register(rootNode.getNames()[0], new BukkitKenCommand(commandHandler, rootNode));
}