FireworkExplosionPredicate.java
net.minecraft.core.component.predicates.FireworkExplosionPredicate
信息
- 全限定名:net.minecraft.core.component.predicates.FireworkExplosionPredicate
- 类型:public record
- 包:net.minecraft.core.component.predicates
- 源码路径:src/main/java/net/minecraft/core/component/predicates/FireworkExplosionPredicate.java
- 起始行号:L12
- 实现:SingleComponentItemPredicate
- 职责:
TODO
字段/常量
CODEC- 类型:
Codec<FireworkExplosionPredicate> - 修饰符:
public static final - 源码定位:
L13 - 说明:
TODO
- 类型:
内部类/嵌套类型
net.minecraft.core.component.predicates.FireworkExplosionPredicate.FireworkPredicate- 类型:
record - 修饰符:
public - 源码定位:
L25 - 说明:
TODO
- 类型:
构造器
- 无
方法
下面的方法块按源码顺序生成。
public DataComponentType<FireworkExplosion> componentType() @ L16
- 方法名:componentType
- 源码定位:L16
- 返回类型:DataComponentType
- 修饰符:public
参数:
- 无
说明:
TODO
public boolean matches(FireworkExplosion value) @ L21
- 方法名:matches
- 源码定位:L21
- 返回类型:boolean
- 修饰符:public
参数:
- value: FireworkExplosion
说明:
TODO
代码
public record FireworkExplosionPredicate(FireworkExplosionPredicate.FireworkPredicate predicate) implements SingleComponentItemPredicate<FireworkExplosion> {
public static final Codec<FireworkExplosionPredicate> CODEC = FireworkExplosionPredicate.FireworkPredicate.CODEC
.xmap(FireworkExplosionPredicate::new, FireworkExplosionPredicate::predicate);
@Override
public DataComponentType<FireworkExplosion> componentType() {
return DataComponents.FIREWORK_EXPLOSION;
}
public boolean matches(FireworkExplosion value) {
return this.predicate.test(value);
}
public record FireworkPredicate(Optional<FireworkExplosion.Shape> shape, Optional<Boolean> twinkle, Optional<Boolean> trail)
implements Predicate<FireworkExplosion> {
public static final Codec<FireworkExplosionPredicate.FireworkPredicate> CODEC = RecordCodecBuilder.create(
i -> i.group(
FireworkExplosion.Shape.CODEC.optionalFieldOf("shape").forGetter(FireworkExplosionPredicate.FireworkPredicate::shape),
Codec.BOOL.optionalFieldOf("has_twinkle").forGetter(FireworkExplosionPredicate.FireworkPredicate::twinkle),
Codec.BOOL.optionalFieldOf("has_trail").forGetter(FireworkExplosionPredicate.FireworkPredicate::trail)
)
.apply(i, FireworkExplosionPredicate.FireworkPredicate::new)
);
public boolean test(FireworkExplosion fireworkExplosion) {
if (this.shape.isPresent() && this.shape.get() != fireworkExplosion.shape()) {
return false;
} else {
return this.twinkle.isPresent() && this.twinkle.get() != fireworkExplosion.hasTwinkle()
? false
: !this.trail.isPresent() || this.trail.get() == fireworkExplosion.hasTrail();
}
}
}
}引用的其他类
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数/返回值
- 引用位置: