Редактор NBT Bedrock и Java Edition

Поддерживаются Minecraft Bedrock Edition и Java Edition, а также все их серверные ядра, популярные и редкие: Vanilla, Paper, Spigot, Purpur, Folia, Fabric, Forge, NeoForge, Mohist, Sponge, Bedrock Dedicated Server, PocketMine-MP, Nukkit, PowerNukkitX, Cloudburst, Dragonfly, Endstone, LeviLamina и остальные. Полный список.

Поддерживаются Bedrock Edition со всеми серверными ядрами Bedrock и Java Edition со всеми серверными ядрами Java, включая редкие. Перетащите в область ниже файл level.dat, playerdata, .nbt, .mcstructure, .schem или .schematic, измените любой тег в дереве и скачайте файл в том же бинарном формате. Порядок байтов, заголовок и сжатие определяются автоматически. Всё выполняется в браузере: без отправки файла, регистрации и установки.

Bedrock EditionJava EditionVanillaPaperSpigotPurpurPufferfishFoliaLeavesFabricQuiltForgeNeoForgeMohistArclightSpongeBedrock Dedicated ServerPocketMine-MPNukkitPowerNukkitXNukkit-MOTCloudburstDragonflyEndstoneLeviLaminaAllayJukeboxMCGoMintGeyserWaterdogPE

Перетащите любой NBT-файл сюда

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · дампы чанков

Все NBT-файлы, которые создаёт Minecraft

NBT (Named Binary Tag) — единый формат с несколькими вариантами кодирования. Каждая редакция Minecraft, лаунчер и серверное ядро используют своё сочетание вариантов. Редактор поддерживает их все и определяет нужный по самим байтам, поэтому заранее знать разновидность файла не требуется.

ФайлИсточникКодированиеСжатие
level.datМир Java — Vanilla, Paper, Spigot, Fabric, ForgeBig-endian, именованный кореньgzip
level.datМир Bedrock — BDS, PocketMine-MP, Nukkit, MCPELittle-endian + 8-байтовый заголовокНет
<uuid>.datplayerdata/ в JavaBig-endiangzip
servers.dat, hotbar.nbtКлиент JavaBig-endianНет
idcounts.dat, raids.dat, map_*.datdata/ мира JavaBig-endiangzip
.nbtСтруктурные блоки, структуры датапаковBig-endiangzip
.schem, .schematicWorldEdit, Sponge, MCEditBig-endiangzip
.mcstructureСтруктурные блоки BedrockLittle-endianНет
Данные чанкаИзвлечение из региона .mca, значение LevelDBЛюбой порядок байтовzlib или без сжатия
Дамп пакетаПротокол Bedrock, протокол Java 1.20.2+Varint LE / безымянный BEНет

Как изменить NBT-файл

  1. Скопируйте файл с сервера или устройства. Серверы Java хранят его в world/, серверы Bedrock — в worlds/YourWorld/, Android — в games/com.mojang/minecraftWorlds/<id>/. Сначала остановите сервер, чтобы во время копирования файл не перезаписывался.
  2. Перетащите файл в редактор. Метка над деревом покажет определённые параметры: редакцию, кодирование, сжатие, а для Bedrock — версию хранилища из заголовка.
  3. Внесите изменения. Нажмите значение, чтобы изменить его на месте. Поиск позволяет перейти к тегу по имени или значению, кнопка + — добавить тег в compound или список, а × — удалить.
  4. Сохраните и скачайте. По умолчанию формат вывода и сжатие совпадают с исходным файлом, поэтому обычное редактирование сохраняет его формат.
  5. Верните файл на место и перезапустите сервер. Храните исходный файл как резервную копию, пока мир не загрузится и вы не проверите результат.

Особенности редактора

Пять кодировок в одной области загрузки

Java big-endian, Bedrock little-endian, сетевой NBT Bedrock с varint, сетевой NBT Java 1.20.2+ с безымянным корнем и level.dat Bedrock с заголовком. Формат определяется по данным, а не предполагается.

gzip и zlib в браузере

Для распаковки и повторного сжатия используется встроенный Compression Streams API, поэтому после сохранения Java-файл level.dat остаётся в формате, который принимает игра.

Настоящие 64-битные long

Значения TAG_Long хранятся как BigInt. Сиды миров и половины UUID не повреждаются округлением чисел с плавающей точкой — частой проблемой браузерных NBT-инструментов.

Правильное кодирование строк

Java записывает модифицированный UTF-8 (CESU-8), Bedrock — обычный UTF-8. Редактор выбирает кодирование по редакции, поэтому эмодзи и названия миров на нелатинских языках сохраняются.

Работа с большими файлами

Массивы хранятся в типизированных массивах, а дерево выводится частями по 200 элементов. NBT чанка размером в мегабайт открывается без зависания вкладки.

Поиск по всему дереву

Найдите тег по имени или значению в любой части файла и сразу перейдите к нему с раскрытым путём.

Экспорт SNBT

Экспортируйте всё дерево в SNBT — текстовый формат команд /data и датапаков — для сравнения, передачи или вставки в команду.

Преобразование форматов

Прочитайте файл Bedrock и запишите его как Java big-endian gzip или наоборот. Это удобно при работе с протоколами, тестами и инструментами.

Файл не покидает устройство

Файл читается через FileReader, разбирается в JavaScript и возвращается как blob в памяти. Серверной точки загрузки нет.

Поддерживается всё серверное ПО

NBT записывает игра, а не конкретная серверная реализация. Поэтому любое ядро, сохраняющее мир Minecraft, использует один из поддерживаемых вариантов кодирования. Перечень ниже полный не из маркетинговых соображений: ядро записывает мир в структуре Vanilla, потому что клиент должен суметь его прочитать.

Bedrock Edition — little-endian 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, а также клиенты MCPE и MCBE для Android, iOS, Windows, консолей и Switch. Те же worlds/<World>/level.dat, заголовок и теги — см. инструкцию для серверов.

Java Edition — NBT с порядком байтов big-endian, 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 little-endian со стороны Bedrock и big-endian с безымянным корнем со стороны 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 Edition и Bedrock Edition?

С обеими редакциями. Файлы Java Edition используют big-endian и обычно сжаты gzip; файлы Bedrock используют little-endian, а level.dat содержит дополнительный 8-байтовый заголовок. Редактор определяет вариант и при сохранении записывает файл в том же формате.

Файл мира куда-либо отправляется?

Нет. Файл читается локально через FileReader API, а скачиваемая версия создаётся из blob в памяти. После загрузки страницы можно отключиться от сети — редактор продолжит работать.

Можно пользоваться редактором на Android или iOS?

Да. Интерфейс рассчитан на мобильные устройства: области нажатия имеют размер 44 px, панель действий закреплена. На Android файл мира можно выбрать в файловом менеджере; на iOS из-за изоляции приложений его сначала нужно поместить в приложение «Файлы».

Чем NBT отличается от SNBT?

NBT — бинарный формат, в котором Minecraft хранит данные на диске. SNBT — его текстовая форма, используемая в командах вроде /data merge. Редактор читает бинарный NBT и экспортирует SNBT, чтобы сравнивать файлы или вставлять структуру в команду.

Какие инструменты заменяет этот редактор?

Настольные NBT-редакторы, включая NBTExplorer, и веб-инструменты, поддерживающие только одну редакцию. Сходства и различия перечислены в сравнении с NBTExplorer онлайн.

Связанные инструменты