Java Edition NBTエディター

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など。全一覧。

Minecraft Java EditionはデータをビッグエンディアンNBTで保存し、通常はgzipで圧縮します。level.dat、playerdata のUUIDファイル、servers.dat、構造物の .nbt、WorldEditスキーマティックを下へドロップすると、展開して解析し、ゲームがそのまま受け付けるgzip圧縮形式で書き戻します。

VanillaPaperSpigotPurpurFoliaFabricQuiltForgeNeoForgeSponge

ここにJava NBTファイルをドロップ

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · チャンクのダンプ

Javaワールドを構成するファイル

以下のファイルはすべて上のエディターで開けます。リージョンファイル(.mca)自体は単一NBTではなく複数の圧縮チャンクを収めるコンテナーなので、先にチャンクペイロードを抽出してください。抽出したzlib圧縮チャンクNBTは読み込めます。

パス内容圧縮
world/level.datワールド名、ゲームモード、ルール、スポーン、DataVersiongzip
world/level.dat_old同じファイルの1つ前の保存gzip
world/playerdata/<uuid>.datインベントリ、エンダーチェスト、位置、体力、XP、属性gzip
world/data/raids.dat, idcounts.dat, map_*.dat襲撃状態、エンティティIDカウンター、地図アイテムgzip
world/data/scoreboard.dat目標、チーム、スコアgzip
world/region/*.mcaリージョンコンテナー内のチャンクNBTチャンクごとにzlib
servers.datクライアントのマルチプレイサーバー一覧なし
hotbar.nbt保存したクリエイティブホットバーなし
データパック内の *.nbtストラクチャーブロックやジグソーで配置する構造物gzip

JavaのNBTエンコード

  • ビッグエンディアン。すべての整数と浮動小数点数は上位バイトから保存され、Javaの DataOutputStream と一致します。
  • 名前付きルート。ファイルはタグ型 0x0A、UTF-8長付きルート名の順で始まります。level.dat のルート名は従来空です。
  • 修正版UTF-8。文字列はJavaの writeUTF を使います。2バイト長、NULは C0 80、基本多言語面外の文字は3バイトのサロゲート2個(CESU-8)で表します。通常のUTF-8として扱うツールはワールド名の絵文字を壊します。
  • 既定はgzip。NbtIo.readCompressed はgzipストリームを想定します。非圧縮ファイルは一部ツールでは開けてもゲームでは開けません。
  • 通信では名前なしルート。1.20.2以降のプロトコルはルート名を省略します。この形式のダンプはここで Java ネットワーク と判定されます。

Paper、Spigot、Fabric、Forgeでも同じファイル

フォークやModローダーはサーバーの動作を変えますが、ワールドの保存形式は変えません。Paper、Purpur、Pufferfish、Folia、Fabric、Quilt、Forge、NeoForge、Mohist、Arclight、SpongeはいずれもVanillaのNBTレイアウトを使います。paper-world.yml やMod設定など追加ファイルはYAMLまたはTOMLで、NBTではありません。

Modやプラグインは level.dat や playerdata 内に独自Compoundを追加する場合があります。通常のタグとして開けますが、用途が分からないものは変更しないでください。

DataVersion とバージョン移行

Javaワールドには形式を示す整数 DataVersion があり、スナップショットごとに増えます。主な値は1.16.5が2586、1.17.1が2730、1.18.2が2975、1.19.4が3337、1.20.4が3700、1.21が3953です。書き込んだものより古いクライアントで開けないのはこのタグが理由です。手動で値を下げてもチャンクはダウングレードされず、安全確認だけが失われます。作成バージョンの確認に使い、強制ダウングレードには使わないでください。

よくある質問

ゲームで開けないJava の level.datを開けますか?

多くの場合は開けます。エディターは末尾の余分なバイトに対してゲームより寛容で、切断されたファイルでは解析停止位置を報告します。ここでも失敗する場合は前回の自動保存 level.dat_old を試してください。

1.20.2以降のネットワークNBTに対応しますか?

はい。1.20.2以降のプロトコルではルート名が省略されます。その形式のダンプは Java ネットワーク として検出され、ネットワークNBTまたは通常の名前付きルートとして保存できます。

.mcaリージョンファイルのチャンクを編集できますか?

リージョンコンテナーから抽出した後ならチャンクNBTを編集できます。.mca 自体はインデックスと多数のzlib圧縮チャンクからなり、このエディターはコンテナーではなく単一NBTを扱います。

playerdataを編集するとプレイヤーが壊れますか?

サーバー稼働中に編集した場合は、メモリー内の状態がログアウト時に書き戻され、編集が上書きされます。プレイヤーをオフラインにして編集し、その後再接続させてください。playerdataエディターも参照してください。

level.datはgzipである必要がありますか?

Vanillaローダーはgzipを読みます。圧縮をgzipにして保存してください。入力がgzipならこれが初期値で、ゲームからそのまま読み込めます。

関連ツール