什么是 NBT 文件?
NBT 文件是 Minecraft 使用的文件格式。NBT 代表命名二进制标签,是一种用于存储结构化数据的简单二进制格式(类似于 JSON 或 XML)。在 Minecraft 中,NBT 文件用于存储各种游戏数据,包括玩家背包、世界信息、实体数据等。
NBT 文件通常使用 .dat 扩展名存储,并可在 Minecraft 世界的目录结构中找到。例如,玩家背包存储在 playerdata 目录下的 .dat 文件中,而世界信息存储在 region 目录下的 .dat 文件中。
NBT 文件格式 - 更多信息
NBT 是一种简单的二进制格式,旨在高效存储大量二进制数据。由于其灵活性和易用性,Minecraft 使用它来保存数据文件。Minecraft 是一款流行的 3D 沙盒游戏,玩家可以在其中构建和探索虚拟世界。Minecraft 的 Java 版在模组作者中尤为受欢迎,他们通过编辑文件或添加新文件来修改游戏以自定义玩法。Minecraft 中的 NBT 文件经常被模组作者检查和编辑。这些文件通常使用 GZip 压缩,并且可以包含对世界构建和自定义至关重要的各种游戏数据项。
NBT 文件的关键特性
| 特征 | 描述 |
|---|---|
| 文件扩展名 | .nbt, .dat (most common), .schematic, .schem |
| 主要变体 | Java 版 NBT(大端序,最常见),Bedrock 版 NBT(小端序,不同的二进制布局) |
| 格式类型 | 二进制树结构数据格式,具有命名标签和类型化值 |
| 主要用途 | 存储 Minecraft 游戏数据,包括玩家背包、世界信息、实体数据(怪物、物品)、方块实体(箱子、熔炉)以及多人服务器数据 |
| 主要特性 | 基于树的层级结构,允许复杂的嵌套数据,类似于 JSON,但为二进制形式 |
| 安全性概况 | 对游戏分发安全;模组作者经常编辑 NBT 文件进行自定义;损坏的 NBT 文件可能导致世界加载失败 |
| 兼容性 | 原生于 Minecraft Java 版;Bedrock 版使用修改过的版本;第三方工具支持两种变体 |
NBT 与 JSON:关键差异
| 特性 | NBT | JSON |
|---|---|---|
| 格式 | 二进制(带文本 SNBT 表示) | 文本 |
| 压缩 | 通常使用 GZip 压缩 | 纯文本(可压缩) |
| 数据类型 | 特定数值类型(byte、short、int、long、float、double) | 仅 Number(无类型区分) |
| 列表 | 同质(仅单一类型) | 异质(允许混合类型) |
| 顶层 | 必须是复合类型 | 可以是任何有效的 JSON 值 |
| 注释 | 不支持 | 官方不支持 |
| 主要用途 | Minecraft 游戏数据 | Web API、配置文件 |
如何打开 NBT 文件
有多款软件工具可用于打开和编辑 NBT 文件。以下是能够打开或引用 NBT 文件的程序列表。
- NBTExplorer(免费),适用于(Windows、Mac、Linux)
- NBTEdit(免费),适用于 Windows
- MCEdit(免费),适用于(Windows、Linux)
常见问题
Q1: 我可以在不使用任何特殊软件的情况下打开和编辑 NBT 文件吗?
A: 不行,NBT 文件是二进制的且通常经过 GZip 压缩,因此需要像 NBTExplorer 或 NBT Studio 这样的专用工具来查看或编辑它们。
Q2: NBT 文件与 Minecraft 中的 DAT 文件有什么区别?
A: 它们是相同的格式——Minecraft 通常使用 .dat 扩展名来表示 NBT 格式的文件,例如用于世界数据的 level.dat 和位于 playerdata 文件夹中的玩家 .dat 文件。
Q3: Bedrock 版使用与 Java 版相同的 NBT 格式吗?
A: 不,Bedrock 版使用一种小端序的修改版 NBT,而 Java 版使用大端序;不过,像 NBT Studio 这样的工具可以同时处理两者。
Q4: SNBT 是什么缩写,它在 Minecraft 中如何使用?
A: SNBT 代表 Stringified Named Binary Tag(字符串化命名二进制标签)——它是 NBT 的可读文本表示形式,常用于 /give 和 /data 等指令中,以指定复杂的物品和实体数据。
Q5: 编辑 NBT 文件会损坏我的 Minecraft 世界吗?
A: 是的,对 NBT 文件的错误编辑可能会导致世界存档损坏;在使用任何 NBT 编辑工具之前,请务必完整备份你的世界。