CommandArgumentParser.java
net.minecraft.util.parsing.packrat.commands.CommandArgumentParser
信息
- 全限定名:net.minecraft.util.parsing.packrat.commands.CommandArgumentParser
- 类型:public interface
- 包:net.minecraft.util.parsing.packrat.commands
- 源码路径:src/main/java/net/minecraft/util/parsing/packrat/commands/CommandArgumentParser.java
- 起始行号:L15
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
T parseForCommands(StringReader reader) @ L16
- 方法名:parseForCommands
- 源码定位:L16
- 返回类型:T
- 修饰符:package-private
参数:
- reader: StringReader
说明:
TODO
CompletableFuture<Suggestions> parseForSuggestions(SuggestionsBuilder suggestionsBuilder) @ L18
- 方法名:parseForSuggestions
- 源码定位:L18
- 返回类型:CompletableFuture
- 修饰符:package-private
参数:
- suggestionsBuilder: SuggestionsBuilder
说明:
TODO
default <S> CommandArgumentParser<S> mapResult(Function<T,S> mapper) @ L20
- 方法名:mapResult
- 源码定位:L20
- 返回类型:
CommandArgumentParser - 修饰符:default
参数:
- mapper: Function<T,S>
说明:
TODO
default <T,O> CommandArgumentParser<T> withCodec(DynamicOps<O> ops, CommandArgumentParser<O> valueParser, Codec<T> codec, DynamicCommandExceptionType exceptionType) @ L38
- 方法名:withCodec
- 源码定位:L38
- 返回类型:<T,O> CommandArgumentParser
- 修饰符:default
参数:
- ops: DynamicOps
- valueParser: CommandArgumentParser
- codec: Codec
- exceptionType: DynamicCommandExceptionType
说明:
TODO
代码
public interface CommandArgumentParser<T> {
T parseForCommands(StringReader reader) throws CommandSyntaxException;
CompletableFuture<Suggestions> parseForSuggestions(SuggestionsBuilder suggestionsBuilder);
default <S> CommandArgumentParser<S> mapResult(Function<T, S> mapper) {
return new CommandArgumentParser<S>() {
{
Objects.requireNonNull(CommandArgumentParser.this);
}
@Override
public S parseForCommands(StringReader reader) throws CommandSyntaxException {
return mapper.apply((T)CommandArgumentParser.this.parseForCommands(reader));
}
@Override
public CompletableFuture<Suggestions> parseForSuggestions(SuggestionsBuilder suggestionsBuilder) {
return CommandArgumentParser.this.parseForSuggestions(suggestionsBuilder);
}
};
}
default <T, O> CommandArgumentParser<T> withCodec(
DynamicOps<O> ops, CommandArgumentParser<O> valueParser, Codec<T> codec, DynamicCommandExceptionType exceptionType
) {
return new CommandArgumentParser<T>() {
{
Objects.requireNonNull(CommandArgumentParser.this);
}
@Override
public T parseForCommands(StringReader reader) throws CommandSyntaxException {
int cursor = reader.getCursor();
O tag = valueParser.parseForCommands(reader);
DataResult<T> result = codec.parse(ops, tag);
return result.getOrThrow(message -> {
reader.setCursor(cursor);
return exceptionType.createWithContext(reader, message);
});
}
@Override
public CompletableFuture<Suggestions> parseForSuggestions(SuggestionsBuilder suggestionsBuilder) {
return CommandArgumentParser.this.parseForSuggestions(suggestionsBuilder);
}
};
}
}引用的其他类
- 无