Co to jest format pliku NBT?
Plik .nbt to format Named Binary Tag gry Minecraft - hierarchiczny, typowany kontener danych binarnych używany powszechnie w światach Java Edition oraz Bedrock Edition. Markus „Notch” Persson zaprojektował i opublikował specyfikację NBT w 2010 roku wraz z Minecraft Alpha.
Każdy plik .nbt jest drzewem typowanych, nazwanych tagów zakorzenionych w TAG_Compound. Istnieje 13 typów tagów: byte, short, int, long, float, double, byte array, string, list, compound, int array oraz long array (dwa ostatnie dodane odpowiednio w 2011 i 2017 roku). Java Edition przechowuje pliki .nbt skompresowane algorytmem GZip - plik otwiera się z magicznymi bajtami 1F 8B. Bedrock Edition używa wariantu little-endian, nieskompresowanego, z 4-bajtowym prefiksem wersji i 4-bajtowym polem rozmiaru pliku.
Format ten pełni wiele ról w instalacji Minecraft: level.dat przechowuje metadane świata, player.dat śledzi ekwipunek i pozycję, pliki regionów zawierają chunki zakodowane w NBT, a polecenie /structure save eksportuje pliki struktur z rozszerzeniem .nbt. Tablice wyników, statystyki i osiągnięcia są również przechowywane jako NBT.
Edycje Java i Bedrock są niekompatybilne pod względem formatu ze względu na różnice w kolejności bajtów (endianness), więc narzędzia takie jak NBTExplorer muszą wykrywać, która edycja wygenerowała plik. Ponieważ większość plików .nbt w Java Edition jest opakowana w GZip, można sprawdzić surową zawartość, dekompresując ją dowolnym narzędziem zgodnym z GZip przed odczytem binarnego strumienia tagów.
Bezpieczeństwo
RYZYKO: LOWNBT to czysty format danych bez zawartości wykonywalnej; nie może zawierać złośliwego oprogramowania. Uszkodzony NBT może zepsuć zapis świata Minecraft, więc zawsze rób kopię zapasową przed edycją.
Szczegóły formatu
w pigułce- Nero BackItUp Template - Nero BackItUp (obecnie Nero BackItUp & Burn, wycofany około 2015 r.) używał .nbt dla szablonów zadań kopii zapasowych; całkowicie niepowiązany format binarny.
Programy otwierające pliki NBT
Szczegóły techniczne
specyfikacja| Kodowanie pliku | Binarne - hierarchiczne drzewo nazwanych tagów |
| Kolejność bajtów | Big-endian (Java Edition); little-endian (Bedrock Edition) |
| Kompresja | GZip (standardowe pliki Java Edition); nieskompresowane z 8-bajtowym nagłówkiem (Bedrock Edition) |
| Struktura główna | Zawsze pojedynczy TAG_Compound; wszystkie inne tagi są w nim zagnieżdżone |
| Typy tagów | 13 nazwanych typów: byte, short, int, long, float, double, byte_array, string, list, compound, int_array, long_array |
| Magiczne bajty | `1F 8B` (magia GZip, Java Edition); surowy nieskompresowany NBT zaczyna się od `0A` (TAG_Compound) |
| Nagłówek Bedrock | 4-bajtowy numer wersji little-endian + 4-bajtowe pole rozmiaru pliku poprzedzające dane NBT |
| Kontrola integralności | GZip CRC-32 (gdy opakowane w GZip) |
| Typowy rozmiar pliku | 1 KB - 10 MB (dane gracza to kilka KB; duże eksporty struktur do kilku MB) |
| Typ MIME | `application/x-nbt` (nieformalny); w praktyce `application/octet-stream` |
| Kompatybilność Java-Bedrock | Niekompatybilne kolejności bajtów; narzędzia muszą wykryć edycję przed parsowaniem |
| Zastosowania w Minecraft | `level.dat`, `player.dat`, eksporty `/structure save`, dane tablic wyników oraz dane chunków w plikach regionów |
| Wydano | 2010 (Minecraft Alpha; NBT spec published by Notch) |
| Najnowsza wersja | NBT with TAG_Long_Array (tag type 12), added in Minecraft 1.12 (2017) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | minecraft.wiki |
Konwersje NBT
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki NBT.