InputPredicate.java
net.minecraft.advancements.criterion.InputPredicate
信息
- 全限定名:net.minecraft.advancements.criterion.InputPredicate
- 类型:public record
- 包:net.minecraft.advancements.criterion
- 源码路径:src/main/java/net/minecraft/advancements/criterion/InputPredicate.java
- 起始行号:L8
- 职责:
TODO
字段/常量
CODEC- 类型:
Codec<InputPredicate> - 修饰符:
public static final - 源码定位:
L17 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
public boolean matches(Input input) @ L30
- 方法名:matches
- 源码定位:L30
- 返回类型:boolean
- 修饰符:public
参数:
- input: Input
说明:
TODO
private boolean matches(Optional<Boolean> match, boolean value) @ L40
- 方法名:matches
- 源码定位:L40
- 返回类型:boolean
- 修饰符:private
参数:
- match: Optional
- value: boolean
说明:
TODO
代码
public record InputPredicate(
Optional<Boolean> forward,
Optional<Boolean> backward,
Optional<Boolean> left,
Optional<Boolean> right,
Optional<Boolean> jump,
Optional<Boolean> sneak,
Optional<Boolean> sprint
) {
public static final Codec<InputPredicate> CODEC = RecordCodecBuilder.create(
i -> i.group(
Codec.BOOL.optionalFieldOf("forward").forGetter(InputPredicate::forward),
Codec.BOOL.optionalFieldOf("backward").forGetter(InputPredicate::backward),
Codec.BOOL.optionalFieldOf("left").forGetter(InputPredicate::left),
Codec.BOOL.optionalFieldOf("right").forGetter(InputPredicate::right),
Codec.BOOL.optionalFieldOf("jump").forGetter(InputPredicate::jump),
Codec.BOOL.optionalFieldOf("sneak").forGetter(InputPredicate::sneak),
Codec.BOOL.optionalFieldOf("sprint").forGetter(InputPredicate::sprint)
)
.apply(i, InputPredicate::new)
);
public boolean matches(Input input) {
return this.matches(this.forward, input.forward())
&& this.matches(this.backward, input.backward())
&& this.matches(this.left, input.left())
&& this.matches(this.right, input.right())
&& this.matches(this.jump, input.jump())
&& this.matches(this.sneak, input.shift())
&& this.matches(this.sprint, input.sprint());
}
private boolean matches(Optional<Boolean> match, boolean value) {
return match.<Boolean>map(b -> b == value).orElse(true);
}
}引用的其他类
- Input
- 引用位置:
参数
- 引用位置: