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>.datJava playerdata/Big-endiangzip
servers.dat, hotbar.nbtКлієнт JavaBig-endianНемає
idcounts.dat, raids.dat, map_*.datСвіт Java data/Big-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 через обмеження пісочниці його спочатку треба помістити в застосунок Files.

Чим відрізняються NBT і SNBT?

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

Які інструменти замінює цей редактор?

Настільні NBT-редактори на зразок NBTExplorer і різні однозадачні вебінструменти, що підтримують лише одне видання. У порівнянні з NBTExplorer онлайн описано, які можливості доступні, а які — ні.

Пов’язані інструменти