ZombieVillagerRebuildXpFix.java
net.minecraft.util.datafix.fixes.ZombieVillagerRebuildXpFix
信息
- 全限定名:net.minecraft.util.datafix.fixes.ZombieVillagerRebuildXpFix
- 类型:public class
- 包:net.minecraft.util.datafix.fixes
- 源码路径:src/main/java/net/minecraft/util/datafix/fixes/ZombieVillagerRebuildXpFix.java
- 起始行号:L8
- 继承:NamedEntityFix
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
- 无
构造器
public ZombieVillagerRebuildXpFix(Schema outputSchema, boolean changesType) @ L9
- 构造器名:ZombieVillagerRebuildXpFix
- 源码定位:L9
- 修饰符:public
参数:
- outputSchema: Schema
- changesType: boolean
说明:
TODO
方法
下面的方法块按源码顺序生成。
protected Typed<?> fix(Typed<?> entity) @ L13
- 方法名:fix
- 源码定位:L13
- 返回类型:Typed<?>
- 修饰符:protected
参数:
- entity: Typed<?>
说明:
TODO
代码
public class ZombieVillagerRebuildXpFix extends NamedEntityFix {
public ZombieVillagerRebuildXpFix(Schema outputSchema, boolean changesType) {
super(outputSchema, changesType, "Zombie Villager XP rebuild", References.ENTITY, "minecraft:zombie_villager");
}
@Override
protected Typed<?> fix(Typed<?> entity) {
return entity.update(DSL.remainderFinder(), remainder -> {
Optional<Number> xp = remainder.get("Xp").asNumber().result();
if (xp.isEmpty()) {
int level = remainder.get("VillagerData").get("level").asInt(1);
return remainder.set("Xp", remainder.createInt(VillagerRebuildLevelAndXpFix.getMinXpPerLevel(level)));
} else {
return remainder;
}
});
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
VillagerRebuildLevelAndXpFix.getMinXpPerLevel()
- 引用位置: