Minecraft 基岩版 NBT 编辑器,也支持 Java 版

支持 Minecraft 基岩版和 Java 版,也支持两者所有常见或少见的服务端核心:Vanilla、Paper、Spigot、Purpur、Folia、Fabric、Forge、NeoForge、Mohist、Sponge、Bedrock Dedicated Server、PocketMine-MP、Nukkit、PowerNukkitX、Cloudburst、Dragonfly、Endstone、LeviLamina 等。完整列表。

支持 Minecraft 基岩版及其所有服务端核心,也支持 Java 版及其全部服务端核心,包括较少见的实现。将 level.dat、playerdata、.nbt、.mcstructure、.schem 或 .schematic 文件拖入下方区域,即可修改树中的任意标签,并以完全相同的二进制格式下载。字节序、文件头和压缩方式会自动识别。全部操作都在浏览器中完成,无需上传、注册或安装。

Bedrock EditionJava EditionVanillaPaperSpigotPurpurPufferfishFoliaLeavesFabricQuiltForgeNeoForgeMohistArclightSpongeBedrock Dedicated ServerPocketMine-MPNukkitPowerNukkitXNukkit-MOTCloudburstDragonflyEndstoneLeviLaminaAllayJukeboxMCGoMintGeyserWaterdogPE

将任意 NBT 文件拖放到这里

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · 区块转储数据

Minecraft 写入的所有 NBT 文件

NBT(Named Binary Tag,命名二进制标签)是一种具有多种编码方式的格式;不同的 Minecraft 版本、启动器和服务端核心会使用不同组合。本编辑器实现了这些编码,并直接根据文件字节选择正确格式,因此打开前无需判断文件属于哪一种。

文件来源编码压缩
level.datJava 世界——Vanilla、Paper、Spigot、Fabric、Forge大端序,有名称的根标签gzip
level.dat基岩版世界——BDS、PocketMine-MP、Nukkit、MCPE小端序 + 8 字节文件头无
<uuid>.datJava playerdata/大端序gzip
servers.dat, hotbar.nbtJava 客户端大端序无
idcounts.dat, raids.dat, map_*.datJava 世界 data/大端序gzip
.nbt结构方块、数据包结构大端序gzip
.schem, .schematicWorldEdit、Sponge、MCEdit大端序gzip
.mcstructure基岩版结构方块小端序无
区块负载从区域 .mca 提取的数据、LevelDB 值任一字节序zlib 或无压缩
数据包转储基岩版协议、Java 1.20.2+ 协议Varint LE / nameless BE无

如何编辑 NBT 文件

  1. 从服务器或设备中取出文件。Java 服务器将文件保存在 world/,基岩版服务器保存在 worlds/YourWorld/,Android 则位于 games/com.mojang/minecraftWorlds/<id>/。复制前先停止服务器,避免复制期间文件仍被写入。
  2. 将文件拖入编辑器。树上方的标记会显示检测到的版本、编码、压缩方式;对于基岩版,还会显示文件头中的存储版本。
  3. 编辑。点击值即可原地修改。使用搜索按名称或值跳转到标签;用 + 向任意复合标签或列表添加标签,用 × 删除标签。
  4. 保存并下载。输出格式和压缩方式默认与输入文件相同,因此普通编辑可按原格式完整往返。
  5. 放回文件并重启。在世界成功加载并确认正常之前,请保留原文件作为备份。

本编辑器的技术特点

一个拖放区支持五种编码

支持 Java 大端序、基岩版小端序、基岩版 varint 网络 NBT、Java 1.20.2+ 的无名称根网络 NBT,以及带文件头的基岩版 level.dat。格式通过检测确定,而不是猜测。

在浏览器中处理 gzip 和 zlib

解压与重新压缩使用原生 Compression Streams API,因此 Java level.dat 经编辑后仍会生成游戏可正常接受的文件。

真正的 64 位 long

TAG_Long 值以 BigInt 保存。世界种子和 UUID 的两半在编辑后不会因浮点数舍入而损坏,这是许多浏览器 NBT 工具容易出错的地方。

正确的字符串编码

Java 使用修改版 UTF-8(CESU-8),基岩版使用标准 UTF-8。编辑器会按版本编码,因此表情符号和非拉丁字符的世界名称可以保持完整。

适合处理大文件

数组存放在类型化数组中,树按需渲染,每次显示 200 项。打开数 MB 的区块 NBT 时不会导致标签页卡死。

搜索整棵树

可按名称或值查找文件中的任意标签,并在展开对应路径后直接跳转。

导出 SNBT

将整棵树导出为 SNBT,即 /data 和数据包使用的文本形式,便于比较、分享或粘贴到命令中。

格式转换

读取基岩版文件后写为 Java 大端序 gzip,或反向转换。适用于协议开发、测试和工具处理。

文件不会离开设备

文件由 FileReader 读取,在 JavaScript 中解析,再以内存 blob 形式返回。本站不存在上传端点。

支持所有服务端软件

NBT 由游戏格式定义,而不是由服务端实现定义。因此,任何保存 Minecraft 世界的核心都会使用本编辑器支持的某种编码。下列列表是技术兼容范围,不是宣传列表:只要核心写入世界,就必须采用客户端可读取的 Vanilla 数据结构。

基岩版——小端序 NBT,8 字节 level.dat 文件头

Bedrock Dedicated Server (BDS)、PocketMine-MP(PM3、PM4、PM5)、Nukkit、Nukkit-MOT、PowerNukkitX、Cloudburst Server、Dragonfly、Endstone、LeviLamina 和 BDSX、Allay、JukeboxMC、GoMint、Sculk、ElementZero、LiteLoaderBDS,以及 Android、iOS、Windows、主机和 Switch 上的 MCPE 与 MCBE 客户端。它们使用相同的 worlds/<World>/level.dat、文件头和标签;请参阅服务端操作流程。

Java 版——大端序 NBT,gzip

Vanilla、CraftBukkit、Spigot、Paper、Purpur、Pufferfish、Folia、Leaves、Gale、Petal、Airplane、Sponge(SpongeVanilla、SpongeForge)、Fabric、Quilt、Forge、NeoForge、Mohist、Arclight、Magma、Ketting、Banner、Cardboard、Glowstone、Thermos、Uberbukkit,以及其他分支、模组包服务器和旧版本。只要写入 world/level.dat,本编辑器就能打开;请查看详细说明。

代理和桥接程序

Geyser、WaterdogPE、Waterfall、Velocity 和 BungeeCord 不保存世界,而是通过网络传输 NBT。从这些连接捕获的数据属于网络 NBT:基岩版侧为 varint 小端序,Java 1.20.2+ 侧为无名称根的大端序;两者都能直接在此打开。

列表中未列出的实现

自定义分支、私有核心、教学项目或自行编写的服务器,只要文件是 NBT,编辑器就会检测其所属的五种编码之一并打开。这里的处理逻辑不依赖核心名称。

在自己的代码中使用解析器

页面通过 window.NBT 暴露其引擎,因此可以在浏览器控制台中调用驱动界面所用的同一解析器,也可以在用户脚本中复用:

const bytes = new Uint8Array(await file.arrayBuffer());
const { root, format, compression, headerVersion } = await NBT.read(bytes);

root.value.find(t => t.name === "LevelName").value = "New World";

const out = await NBT.write(root, format, { compression, headerVersion });

标签是普通对象:{ type, name, value, listType };数组为 Int8Array、Int32Array 和 BigInt64Array,long 为 BigInt。完整的NBT 格式参考说明了每种标签类型及各种编码之间的差异。

常见问题

这个 NBT 编辑器免费吗?

是的,并且以 MIT 许可证开源。没有付费等级、注册要求或上传配额,因为它根本没有服务器组件;整个编辑器仅由一个静态页面和两个资源文件组成。

它支持 Java 版和基岩版吗?

两者都支持。Java 版文件使用大端序,通常由 gzip 压缩;基岩版文件使用小端序,level.dat 还包含额外的 8 字节文件头。编辑器会检测收到的格式,并在保存时写回同一格式。

我的世界文件会上传到其他地方吗?

不会。文件通过 FileReader API 在本地读取,下载文件由内存中的 blob 生成。页面加载完成后,即使断开网络也仍可使用。

可以在 Android 或 iOS 上使用吗?

可以。界面采用移动端优先设计,点击目标为 44 px,并带有固定操作栏。在 Android 上可直接从文件管理器选择世界文件;由于沙盒限制,在 iOS 上必须先将文件放入“文件”App。

NBT 和 SNBT 有什么区别?

NBT 是 Minecraft 在磁盘上存储数据的二进制编码。SNBT 是其文本形式,也是输入 /data merge 等命令时使用的语法。本编辑器可读取二进制 NBT 并导出 SNBT,便于比较两个文件或将结构粘贴到命令中。

它可以替代哪些工具?

它可替代 NBTExplorer 等桌面 NBT 编辑器,以及只支持单一版本的各种网页工具。有关可迁移和不可迁移的功能,请参阅NBTExplorer 在线版对比。

相关工具