EnchantmentsPredicate.java
net.minecraft.core.component.predicates.EnchantmentsPredicate
信息
- 全限定名:net.minecraft.core.component.predicates.EnchantmentsPredicate
- 类型:public abstract class
- 包:net.minecraft.core.component.predicates
- 源码路径:src/main/java/net/minecraft/core/component/predicates/EnchantmentsPredicate.java
- 起始行号:L12
- 实现:SingleComponentItemPredicate
- 职责:
TODO
字段/常量
enchantments- 类型:
List<EnchantmentPredicate> - 修饰符:
private final - 源码定位:
L13 - 说明:
TODO
- 类型:
内部类/嵌套类型
-
net.minecraft.core.component.predicates.EnchantmentsPredicate.Enchantments- 类型:
class - 修饰符:
public static - 源码定位:
L45 - 说明:
TODO
- 类型:
-
net.minecraft.core.component.predicates.EnchantmentsPredicate.StoredEnchantments- 类型:
class - 修饰符:
public static - 源码定位:
L58 - 说明:
TODO
- 类型:
构造器
protected EnchantmentsPredicate(List<EnchantmentPredicate> enchantments) @ L15
- 构造器名:EnchantmentsPredicate
- 源码定位:L15
- 修饰符:protected
参数:
- enchantments: List
说明:
TODO
方法
下面的方法块按源码顺序生成。
public static <T extends EnchantmentsPredicate> Codec<T> codec(Function<List<EnchantmentPredicate>,T> constructor) @ L19
- 方法名:codec
- 源码定位:L19
- 返回类型:
Codec - 修饰符:public static
参数:
- constructor: Function<List
,T>
说明:
TODO
protected List<EnchantmentPredicate> enchantments() @ L23
- 方法名:enchantments
- 源码定位:L23
- 返回类型:List
- 修饰符:protected
参数:
- 无
说明:
TODO
public boolean matches(ItemEnchantments appliedEnchantments) @ L27
- 方法名:matches
- 源码定位:L27
- 返回类型:boolean
- 修饰符:public
参数:
- appliedEnchantments: ItemEnchantments
说明:
TODO
public static EnchantmentsPredicate.Enchantments enchantments(List<EnchantmentPredicate> predicates) @ L37
- 方法名:enchantments
- 源码定位:L37
- 返回类型:EnchantmentsPredicate.Enchantments
- 修饰符:public static
参数:
- predicates: List
说明:
TODO
public static EnchantmentsPredicate.StoredEnchantments storedEnchantments(List<EnchantmentPredicate> predicates) @ L41
- 方法名:storedEnchantments
- 源码定位:L41
- 返回类型:EnchantmentsPredicate.StoredEnchantments
- 修饰符:public static
参数:
- predicates: List
说明:
TODO
代码
public abstract class EnchantmentsPredicate implements SingleComponentItemPredicate<ItemEnchantments> {
private final List<EnchantmentPredicate> enchantments;
protected EnchantmentsPredicate(List<EnchantmentPredicate> enchantments) {
this.enchantments = enchantments;
}
public static <T extends EnchantmentsPredicate> Codec<T> codec(Function<List<EnchantmentPredicate>, T> constructor) {
return EnchantmentPredicate.CODEC.listOf().xmap(constructor, EnchantmentsPredicate::enchantments);
}
protected List<EnchantmentPredicate> enchantments() {
return this.enchantments;
}
public boolean matches(ItemEnchantments appliedEnchantments) {
for (EnchantmentPredicate enchantment : this.enchantments) {
if (!enchantment.containedIn(appliedEnchantments)) {
return false;
}
}
return true;
}
public static EnchantmentsPredicate.Enchantments enchantments(List<EnchantmentPredicate> predicates) {
return new EnchantmentsPredicate.Enchantments(predicates);
}
public static EnchantmentsPredicate.StoredEnchantments storedEnchantments(List<EnchantmentPredicate> predicates) {
return new EnchantmentsPredicate.StoredEnchantments(predicates);
}
public static class Enchantments extends EnchantmentsPredicate {
public static final Codec<EnchantmentsPredicate.Enchantments> CODEC = codec(EnchantmentsPredicate.Enchantments::new);
protected Enchantments(List<EnchantmentPredicate> enchantments) {
super(enchantments);
}
@Override
public DataComponentType<ItemEnchantments> componentType() {
return DataComponents.ENCHANTMENTS;
}
}
public static class StoredEnchantments extends EnchantmentsPredicate {
public static final Codec<EnchantmentsPredicate.StoredEnchantments> CODEC = codec(EnchantmentsPredicate.StoredEnchantments::new);
protected StoredEnchantments(List<EnchantmentPredicate> enchantments) {
super(enchantments);
}
@Override
public DataComponentType<ItemEnchantments> componentType() {
return DataComponents.STORED_ENCHANTMENTS;
}
}
}引用的其他类
-
- 引用位置:
参数/字段/返回值
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
参数
- 引用位置: