Files
brigadier/src/main/java/net/minecraft/commands/tree/LiteralCommandNode.java
T

42 lines
1.1 KiB
Java

package net.minecraft.commands.tree;
import net.minecraft.commands.exceptions.IllegalCommandArgumentException;
public class LiteralCommandNode extends CommandNode {
private final String literal;
private final Runnable executor;
public LiteralCommandNode(String literal, Runnable executor) {
this.literal = literal;
this.executor = executor;
}
public String getLiteral() {
return literal;
}
public Runnable getExecutor() {
return executor;
}
@Override
public void parse(String command) throws IllegalCommandArgumentException {
if (command.startsWith(literal)) {
int start = literal.length() + 1;
if (start < command.length()) {
String result = command.substring(start);
for (CommandNode node : getChildren()) {
node.parse(result);
return;
}
throw new IllegalCommandArgumentException();
}
} else {
throw new IllegalCommandArgumentException();
}
}
}