TippedArrowPotionToItemFix.java
net.minecraft.util.datafix.fixes.TippedArrowPotionToItemFix
信息
- 全限定名:net.minecraft.util.datafix.fixes.TippedArrowPotionToItemFix
- 类型:public class
- 包:net.minecraft.util.datafix.fixes
- 源码路径:src/main/java/net/minecraft/util/datafix/fixes/TippedArrowPotionToItemFix.java
- 起始行号:L7
- 继承:NamedEntityWriteReadFix
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
- 无
构造器
public TippedArrowPotionToItemFix(Schema outputSchema) @ L8
- 构造器名:TippedArrowPotionToItemFix
- 源码定位:L8
- 修饰符:public
参数:
- outputSchema: Schema
说明:
TODO
方法
下面的方法块按源码顺序生成。
protected <T> Dynamic<T> fix(Dynamic<T> input) @ L12
- 方法名:fix
- 源码定位:L12
- 返回类型:
Dynamic - 修饰符:protected
参数:
- input: Dynamic
说明:
TODO
代码
public class TippedArrowPotionToItemFix extends NamedEntityWriteReadFix {
public TippedArrowPotionToItemFix(Schema outputSchema) {
super(outputSchema, false, "TippedArrowPotionToItemFix", References.ENTITY, "minecraft:arrow");
}
@Override
protected <T> Dynamic<T> fix(Dynamic<T> input) {
Optional<Dynamic<T>> potion = input.get("Potion").result();
Optional<Dynamic<T>> customPotionEffects = input.get("custom_potion_effects").result();
Optional<Dynamic<T>> color = input.get("Color").result();
return potion.isEmpty() && customPotionEffects.isEmpty() && color.isEmpty()
? input
: input.remove("Potion").remove("custom_potion_effects").remove("Color").update("item", itemStack -> {
Dynamic<?> tag = itemStack.get("tag").orElseEmptyMap();
if (potion.isPresent()) {
tag = tag.set("Potion", potion.get());
}
if (customPotionEffects.isPresent()) {
tag = tag.set("custom_potion_effects", customPotionEffects.get());
}
if (color.isPresent()) {
tag = tag.set("CustomPotionColor", color.get());
}
return itemStack.set("tag", tag);
});
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数/返回值
- 引用位置: