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 { private final int minSize; private final DelayedException error; public UnquotedStringParseRule(int minSize, DelayedException error) { this.minSize = minSize; this.error = error; } @Nullable public String parse(ParseState 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; } } }