读取并非由你创建的文件
打开 NBT 文件通常是为了诊断:哪个版本写入了文件、世界为何无法加载、他人发送的原理图实际包含什么。查看器会显示每个标签的准确类型,因此可区分值同为 1 的 TAG_Byte 和 TAG_Int;这种区别对 Minecraft 很重要,却常在文本转储中丢失。
- 每行都有类型标记——Byte、Short、Int、Long、Float、Double、Byte[]、String、List、Compound、Int[]、Long[]。
- 准确显示完整 64 位 long,世界种子和 UUID 两半不会被舍入。
- 搜索整棵树中的标签名称或值,并直接跳到匹配项。
- 检测到的格式显示在文件栏:版本、字节序、压缩方式和基岩版存储版本。
- 导出 SNBT,获得可比较、粘贴到命令或交给其他工具的完整文本。
NBT 与 SNBT
SNBT 是 NBT 的文本形式,即 /data get 输出和命令接受的格式。它用后缀保留类型信息:3b 是 byte,3s 是 short,3L 是 long,3.0f 是 float,3.0d 是 double,[I;1,2,3] 是 int 数组。导出按钮会准确生成这种格式,使二进制文件可粘贴到命令方块,或加入 git 后逐行比较。
JSON 不能替代它:JSON 只有一种数字类型,也没有 byte 数组,因此将 NBT 转为 JSON 会悄悄丢失 Minecraft 所需的区别。这就是本工具导出 SNBT 而非 JSON 的原因。
可打开的文件
只要负载是单个 NBT 文档即可,包括 Java 和基岩版 level.dat、playerdata、servers.dat、hotbar.nbt、idcounts.dat、raids.dat、scoreboard.dat、地图数据、结构 .nbt、.schem 和 .schematic、.mcstructure、.litematic、提取的区块负载和数据包转储。.mca 区域、.mcworld 压缩包和 LevelDB 文件夹等容器需要先从中提取单个文档。