8バイトヘッダーとその役割
Bedrockの level.dat は生のNBTではありません。先頭4バイトはリトルエンディアンのストレージバージョン(実際のファイルでは8または10)、次の4バイトはNBTペイロードのバイト長で、その後に非圧縮タグが続きます。長さを修正せずペイロードだけを編集するとゲームが拒否します。Java専用NBTツールでBedrockセーブを開いた場合に起きる問題です。
| オフセット | サイズ | フィールド |
|---|---|---|
| 0 | 4 バイト | ストレージバージョン、リトルエンディアンint |
| 4 | 4 バイト | ペイロードのバイト長、リトルエンディアンunsigned |
| 8 | 残り | リトルエンディアンNBT、ルートCompound、非圧縮 |
このエディターはファイルバーへストレージバージョンを表示して維持し、保存するたびに長さを書き直します。