minecraft-src/net/minecraft/util/parsing/packrat/commands/UnquotedStringParseRule.java
2025-07-04 03:45:38 +03:00

31 lines
1 KiB
Java

package net.minecraft.util.parsing.packrat.commands;
import com.mojang.brigadier.StringReader;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import net.minecraft.util.parsing.packrat.DelayedException;
import net.minecraft.util.parsing.packrat.ParseState;
import net.minecraft.util.parsing.packrat.Rule;
import org.jetbrains.annotations.Nullable;
public class UnquotedStringParseRule implements Rule<StringReader, String> {
private final int minSize;
private final DelayedException<CommandSyntaxException> error;
public UnquotedStringParseRule(int minSize, DelayedException<CommandSyntaxException> error) {
this.minSize = minSize;
this.error = error;
}
@Nullable
public String parse(ParseState<StringReader> parseState) {
parseState.input().skipWhitespace();
int i = parseState.mark();
String string = parseState.input().readUnquotedString();
if (string.length() < this.minSize) {
parseState.errorCollector().store(i, this.error);
return null;
} else {
return string;
}
}
}