AbstractListBuilder.java
net.minecraft.util.AbstractListBuilder
信息
- 全限定名:net.minecraft.util.AbstractListBuilder
- 类型:abstract class
- 包:net.minecraft.util
- 源码路径:src/main/java/net/minecraft/util/AbstractListBuilder.java
- 起始行号:L9
- 实现:ListBuilder
- 职责:
TODO
字段/常量
-
ops- 类型:
DynamicOps<T> - 修饰符:
private final - 源码定位:
L10 - 说明:
TODO
- 类型:
-
builder- 类型:
DataResult<B> - 修饰符:
protected - 源码定位:
L11 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
protected AbstractListBuilder(DynamicOps<T> ops) @ L13
- 构造器名:AbstractListBuilder
- 源码定位:L13
- 修饰符:protected
参数:
- ops: DynamicOps
说明:
TODO
方法
下面的方法块按源码顺序生成。
public DynamicOps<T> ops() @ L17
- 方法名:ops
- 源码定位:L17
- 返回类型:DynamicOps
- 修饰符:public
参数:
- 无
说明:
TODO
protected abstract B initBuilder() @ L22
- 方法名:initBuilder
- 源码定位:L22
- 返回类型:B
- 修饰符:protected abstract
参数:
- 无
说明:
TODO
protected abstract B append(B builder, T value) @ L24
- 方法名:append
- 源码定位:L24
- 返回类型:B
- 修饰符:protected abstract
参数:
- builder: B
- value: T
说明:
TODO
protected abstract DataResult<T> build(B builder, T prefix) @ L26
- 方法名:build
- 源码定位:L26
- 返回类型:DataResult
- 修饰符:protected abstract
参数:
- builder: B
- prefix: T
说明:
TODO
public ListBuilder<T> add(T value) @ L28
- 方法名:add
- 源码定位:L28
- 返回类型:ListBuilder
- 修饰符:public
参数:
- value: T
说明:
TODO
public ListBuilder<T> add(DataResult<T> value) @ L34
- 方法名:add
- 源码定位:L34
- 返回类型:ListBuilder
- 修饰符:public
参数:
- value: DataResult
说明:
TODO
public ListBuilder<T> withErrorsFrom(DataResult<?> result) @ L40
- 方法名:withErrorsFrom
- 源码定位:L40
- 返回类型:ListBuilder
- 修饰符:public
参数:
- result: DataResult<?>
说明:
TODO
public ListBuilder<T> mapError(UnaryOperator<String> onError) @ L46
- 方法名:mapError
- 源码定位:L46
- 返回类型:ListBuilder
- 修饰符:public
参数:
- onError: UnaryOperator
说明:
TODO
public DataResult<T> build(T prefix) @ L52
- 方法名:build
- 源码定位:L52
- 返回类型:DataResult
- 修饰符:public
参数:
- prefix: T
说明:
TODO
代码
abstract class AbstractListBuilder<T, B> implements ListBuilder<T> {
private final DynamicOps<T> ops;
protected DataResult<B> builder = DataResult.success(this.initBuilder(), Lifecycle.stable());
protected AbstractListBuilder(DynamicOps<T> ops) {
this.ops = ops;
}
@Override
public DynamicOps<T> ops() {
return this.ops;
}
protected abstract B initBuilder();
protected abstract B append(B builder, T value);
protected abstract DataResult<T> build(B builder, T prefix);
@Override
public ListBuilder<T> add(T value) {
this.builder = this.builder.map(b -> this.append((B)b, value));
return this;
}
@Override
public ListBuilder<T> add(DataResult<T> value) {
this.builder = this.builder.apply2stable(this::append, value);
return this;
}
@Override
public ListBuilder<T> withErrorsFrom(DataResult<?> result) {
this.builder = this.builder.flatMap(r -> result.map(v -> r));
return this;
}
@Override
public ListBuilder<T> mapError(UnaryOperator<String> onError) {
this.builder = this.builder.mapError(onError);
return this;
}
@Override
public DataResult<T> build(T prefix) {
DataResult<T> result = this.builder.flatMap(b -> this.build((B)b, prefix));
this.builder = DataResult.success(this.initBuilder(), Lifecycle.stable());
return result;
}
}引用的其他类
- CollectToTag
- 引用位置:
实现/返回值
- 引用位置: