TrialSpawnerConfigFix.java
net.minecraft.util.datafix.fixes.TrialSpawnerConfigFix
信息
- 全限定名:net.minecraft.util.datafix.fixes.TrialSpawnerConfigFix
- 类型:public class
- 包:net.minecraft.util.datafix.fixes
- 源码路径:src/main/java/net/minecraft/util/datafix/fixes/TrialSpawnerConfigFix.java
- 起始行号:L10
- 继承:NamedEntityWriteReadFix
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
- 无
构造器
public TrialSpawnerConfigFix(Schema outputSchema) @ L11
- 构造器名:TrialSpawnerConfigFix
- 源码定位:L11
- 修饰符:public
参数:
- outputSchema: Schema
说明:
TODO
方法
下面的方法块按源码顺序生成。
private static <T> Dynamic<T> moveToConfigTag(Dynamic<T> input) @ L15
- 方法名:moveToConfigTag
- 源码定位:L15
- 返回类型:
Dynamic - 修饰符:private static
参数:
- input: Dynamic
说明:
TODO
protected <T> Dynamic<T> fix(Dynamic<T> input) @ L40
- 方法名:fix
- 源码定位:L40
- 返回类型:
Dynamic - 修饰符:protected
参数:
- input: Dynamic
说明:
TODO
代码
public class TrialSpawnerConfigFix extends NamedEntityWriteReadFix {
public TrialSpawnerConfigFix(Schema outputSchema) {
super(outputSchema, true, "Trial Spawner config tag fixer", References.BLOCK_ENTITY, "minecraft:trial_spawner");
}
private static <T> Dynamic<T> moveToConfigTag(Dynamic<T> input) {
List<String> keysToMove = List.of(
"spawn_range",
"total_mobs",
"simultaneous_mobs",
"total_mobs_added_per_player",
"simultaneous_mobs_added_per_player",
"ticks_between_spawn",
"spawn_potentials",
"loot_tables_to_eject",
"items_to_drop_when_ominous"
);
Map<Dynamic<T>, Dynamic<T>> map = new HashMap<>(keysToMove.size());
for (String key : keysToMove) {
Optional<Dynamic<T>> maybeValueForKey = input.get(key).get().result();
if (maybeValueForKey.isPresent()) {
map.put(input.createString(key), maybeValueForKey.get());
input = input.remove(key);
}
}
return map.isEmpty() ? input : input.set("normal_config", input.createMap(map));
}
@Override
protected <T> Dynamic<T> fix(Dynamic<T> input) {
return moveToConfigTag(input);
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数/返回值
- 引用位置: