SnbtDatafixer.java

net.minecraft.data.structures.SnbtDatafixer

信息

  • 全限定名:net.minecraft.data.structures.SnbtDatafixer
  • 类型:public class
  • 包:net.minecraft.data.structures
  • 源码路径:src/main/java/net/minecraft/data/structures/SnbtDatafixer.java
  • 起始行号:L16
  • 职责:

    TODO

字段/常量

内部类/嵌套类型

构造器

方法

下面的方法块按源码顺序生成。

public static void main(String[] args) @ L17

  • 方法名:main
  • 源码定位:L17
  • 返回类型:void
  • 修饰符:public static

参数:

  • args: String[]

说明:

TODO

private static void updateInDirectory(String structureDir) @ L26

  • 方法名:updateInDirectory
  • 源码定位:L26
  • 返回类型:void
  • 修饰符:private static

参数:

  • structureDir: String

说明:

TODO

代码

public class SnbtDatafixer {
    public static void main(String[] args) throws IOException {
        SharedConstants.setVersion(DetectedVersion.BUILT_IN);
        Bootstrap.bootStrap();
 
        for (String dir : args) {
            updateInDirectory(dir);
        }
    }
 
    private static void updateInDirectory(String structureDir) throws IOException {
        try (Stream<Path> walk = Files.walk(Paths.get(structureDir))) {
            walk.filter(path -> path.toString().endsWith(".snbt")).forEach(path -> {
                try {
                    String snbt = Files.readString(path);
                    CompoundTag readSnbt = NbtUtils.snbtToStructure(snbt);
                    CompoundTag updatedTag = StructureUpdater.update(path.toString(), readSnbt);
                    NbtToSnbt.writeSnbt(CachedOutput.NO_CACHE, path, NbtUtils.structureToSnbt(updatedTag));
                } catch (IOException | CommandSyntaxException var4) {
                    throw new RuntimeException(var4);
                }
            });
        }
    }
}

引用的其他类

  • SharedConstants

    • 引用位置: 方法调用
    • 关联成员: SharedConstants.setVersion()
  • NbtToSnbt

    • 引用位置: 方法调用
    • 关联成员: NbtToSnbt.writeSnbt()
  • StructureUpdater

    • 引用位置: 方法调用
    • 关联成员: StructureUpdater.update()
  • NbtUtils

    • 引用位置: 方法调用
    • 关联成员: NbtUtils.snbtToStructure(), NbtUtils.structureToSnbt()
  • Bootstrap

    • 引用位置: 方法调用
    • 关联成员: Bootstrap.bootStrap()