CombinedCondition.java
net.minecraft.client.renderer.block.dispatch.multipart.CombinedCondition
信息
- 全限定名:net.minecraft.client.renderer.block.dispatch.multipart.CombinedCondition
- 类型:public record
- 包:net.minecraft.client.renderer.block.dispatch.multipart
- 源码路径:src/main/java/net/minecraft/client/renderer/block/dispatch/multipart/CombinedCondition.java
- 起始行号:L15
- 实现:Condition
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
net.minecraft.client.renderer.block.dispatch.multipart.CombinedCondition.Operation- 类型:
enum - 修饰符:
public static - 源码定位:
L22 - 说明:
TODO
- 类型:
构造器
- 无
方法
下面的方法块按源码顺序生成。
public <O,S extends StateHolder<O,S>> Predicate<S> instantiate(StateDefinition<O,S> definition) @ L16
- 方法名:instantiate
- 源码定位:L16
- 返回类型:<O,S extends StateHolder<O,S>> Predicate
- 修饰符:public
参数:
- definition: StateDefinition<O,S>
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public record CombinedCondition(CombinedCondition.Operation operation, List<Condition> terms) implements Condition {
@Override
public <O, S extends StateHolder<O, S>> Predicate<S> instantiate(StateDefinition<O, S> definition) {
return this.operation.apply(Lists.transform(this.terms, c -> c.instantiate(definition)));
}
@OnlyIn(Dist.CLIENT)
public static enum Operation implements StringRepresentable {
AND("AND") {
@Override
public <V> Predicate<V> apply(List<Predicate<V>> terms) {
return Util.allOf(terms);
}
},
OR("OR") {
@Override
public <V> Predicate<V> apply(List<Predicate<V>> terms) {
return Util.anyOf(terms);
}
};
public static final Codec<CombinedCondition.Operation> CODEC = StringRepresentable.fromEnum(CombinedCondition.Operation::values);
private final String name;
private Operation(String name) {
this.name = name;
}
@Override
public String getSerializedName() {
return this.name;
}
public abstract <V> Predicate<V> apply(List<Predicate<V>> terms);
}
}引用的其他类
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
StringRepresentable.fromEnum()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Util.allOf(), Util.anyOf()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
返回值
- 引用位置: