NBTフォーマット

ページ名:NBTフォーマット
この記事では、NBT ファイルフォーマットについて説明しています。コマンドでのNBTの使用については「チュートリアル/コマンドNBTタグ」をご覧ください。

NBTフォーマット(The Named Binary Tag format)はMinecraftでデータをファイルに保存するのに使われる。このフォーマットをNotchが簡潔に説明しているspecification。このフォーマットは様々な"タグ"からなるツリー構造でデータを蓄えている。全てのタグはIDとnameを持っている。元の基地のバージョンは、Minecraft Beta 1.3で導入された、19132であったが、その後Anvilで19133に更新されInt Arrayタグが追加された。NBT形式は、Minecraft Indevのタグ0~10を使用する。

目次

タグ定義

タグはデータツリーの一部分である。タグの最初のバイトはタグタイプIDである。続いて2バイトがnameの長さで、それからnameがUTF-8フォーマットで続いている(注意: TAG_Endに名前は無いので2バイトは必要ない、名前が空であると仮定されている)。タグnameにもしかしたらスペースがあるかもしれない、だがMinecraft自身はけっしてnameにスペースを含めタグを保存することはない。最終的にタグのタイプによりタグのペイロードバイトが続く。このテーブルはNBTFormat19133バージョンにおける12のタグの説明である。

IDアイコンタグの種類ペイロード説明ストレージ容量
0TAG_Endなし終了するのに使用する。このタグに名前はない、だから1バイト(0)のみである。空のリストのタグになることもある。N/A
1TAG_Byte1バイト/8ビット符号付き符号付整数型 しばしば真偽値を表すのにも使用される範囲 -(27)から(27 - 1)
(-128から127)
2TAG_Short2バイト/16ビット符号付きビッグエンディアン符号付整数型範囲 -(215)から(215 - 1)
(-32,768から32,767)
3TAG_Int4バイト/32ビット符号付きビッグエンディアン符号付整数型範囲 -(231)から(231 - 1)
(-2,147,483,648から2,147,483,647)
4TAG_Long8バイト/64ビット符号付きビッグエンディアン符号付整数型.範囲 -(263)から(263 - 1)
(-9,223,372,036,854,775,808から9,223,372,036,854,775,807)
5TAG_Float4バイト/32ビット符号付きビッグエンディアン, IEEE 754-2008, バイナリ32符号付浮動小数点数.精度は数字の行全体で異なる:
Single-precision floating-point format参照。最大値3.4*1038
6TAG_Double8バイト/64ビット符号付きビッグエンディアンIEEE 754-2008, バイナリ64符号付浮動小数点数精度は数字の行全体で異なる:
Double-precision floating-point format参照。最大値 1.8*10308
7TAG_Byte_ArrayTAG_Intで要素数 それから要素数分のTAG_Byteのペイロード.バイト配列最大要素数 (231 - 9) and (231 - 1) (2,147,483,639 and 2,147,483,647) JVMによる
8TAG_StringTAG_Shortのペイロードでバイト数 それからUTF-8文字列のバイト.UTF-8でエンコードされた文字列。

サイズがあり、nullで終わることはない。

最大で32767バイト 詳しくはUTF-8フォーマットを参照
9TAG_ListTAG_ByteのペイロードでTagタイプを決め、続いてTAG_Intのペイロードで要素数を決める。それから指定したタグIDのペイロードが続く。タグペイロードのリスト、なおTagIDは省略され名前も無い。最大要素数は231-9個 または20億4748万3639個である。

(JVMの上限やjava.util.ArrayListの実装による)(リストは512回以上入れ子にできない)

10TAG_Compoundフリーフォーマットである。終端にTAG_Endを指定する。フリーフォーマットJVMのメモリによるが、リストと違い、要素(タグ)の数に上限はない。(512回以上入れ子にはできない)
11TAG_Int_ArrayTAG_Intのペイロードで要素数、それからTAG_Intのペイロードが要素数分続く。4バイト整数配列特定のJVMに応じ、エレメントの最大数の範囲は(231 - 9)から(231 - 1) (2,147,483,639から2,147,483,647)

ListおよびComponentタグは、再帰的にネストできる。また、リストのリストでは、サブリストのそれぞれが異なる種類のタグをリストできる事に注意。注意:要素数や文字数を示す型は符号付きである。

Fileフォーマット

NBTファイルは、GZipされた複合タグであり、名前とタグIDが含まれている。 Minecraftで使用されるファイルの一部は圧縮されていない場合があるが、ほとんどの場合、ファイルはNotchの元の仕様に従っており、GZipで圧縮されている。Xbox 360 Editionでは、LZX圧縮アルゴリズムのバリエーションであるXMemCompressでチャンクが圧縮される。バージョンやその他の情報を指定するヘッダーはない。level.datファイルのみがバージョンを指定する。

Minecraftで使用されるもの

MinecraftのNBT形式の使用は時々奇妙である。場合によっては、空のリストは、正しい種類のリストではなく、バイトタグのリストとして、または新しいバージョンのMinecraftの終了タグのリストとして表されることがある。さらに、ほとんどすべてのルートタグには空の名前文字列があり、実際のデータと名前を持つ1つの複合タグのみをカプセル化する。 例えば:

  • ほとんどのMinecraft NBT構造のルートタグ。
    •  SomeName: ルートタグ内に含まれる唯一のタグ - 名前があり、すべての実際のデータが含まれる。

もう1つの注目すべき奇妙な点は、Notchによる元の仕様ではタグ名にスペースを使用できるが、例でもタグ名にスペースを使用しているにもかかわらず、Minecraftにはタグに名前にスペースが含まれる既知のファイルがないということである。また、大部分がlowerCamelCaseまたはUpperCamelCaseのいずれかであるが、場合によってはすべて小文字でもよいなど、大文字小文字の使用に一貫性がない。

使用

  • level.datは圧縮されたNBT形式で保存される
  • .datファイルは圧縮されたNBT形式で保存される
  • idcounts.datは非圧縮NBT形式で保存される
  • villages.datは圧縮されたNBT形式で保存される
  • map_<#>.datファイルは圧縮されたNBT形式で保存される
  • servers.datは保存されたマルチプレイヤーサーバーのリストを非圧縮NBTとして保存するのに使用される
  • ChunksはRegionファイル内に圧縮されたNBT形式で保存される
  • scoreboard.datは圧縮されたNBT形式で保存される
  • Generated structuresは圧縮されたNBT形式で保存される

ソフトウェア

Mojangは、開発者がMcRegion -> Anvil converterコンバーターのソースコードの一部として使用および参照するためのサンプルJava NBTクラスを提供している。これ以外に、コミュニティは圧縮および非圧縮のNBTファイルを表示および変更するプログラムを開発した。

名前NBTバージョン説明スクリーンショット
MineBack Ultimate19133MineBack Ultimateは、利用可能なすべてのタイプのNBT形式ファイル(マップ、レベル、ワールドなど)をサポートする完全なNBTエディターを提供する。最新のGUIと多くのヘルパー機能が付属している。MineBackNBTEditor.png
NBTEdit19132Windowsツリーコントロールを介してNBTファイルを表示および変更できる。 NBTバージョンが遅れているだけでなく、同じ名前の複数のタグをサポートせず、一部の種類で誤った範囲を強制し、非圧縮のNBTファイルをサポートしていないため、時代遅れである。
NBTExplorer - Forum Post19133このプログラムは、NBTEditに触発され、それに基づいており、Windowsツリーコントロールを介してNBTファイルを表示および編集できる。圧縮および非圧縮のNBTファイルをサポートし、MCRegionおよびAnvilファイル、level.datなどのNBT構造を直接編集できる。NBTExplorer.png
NBT grammar for Synalyze It!19132これを使用すると、解析されたタグツリーとともに色分けされた16進ダンプが表示される。現在、非圧縮ファイルのみがサポートされている。
NEINedit19132テキストベースのツリー構造を備えたMac用のNBTエディター。NEINedit.png
NBT2YAML19133nbt2yamlは、カスタムYAML形式を使用してMinecraft NBTファイルを読み取りおよび編集するためのコマンドラインインターフェイスを提供しする。 また、単純なPythonデータ構造との間でNBTファイルを解析および書き込むためのPython APIも含まれている。
webNBT19133webNBTは、ユーザーがアプリケーションをダウンロードしたり、サードパーティのブラウザープラグイン(FlashやJavaなど)を使用したりすることなく、最新のブラウザーで実行されるNBTエディターである
Minecraft: Java Edition
デモ版
開発
技術的情報
マルチプレイ
ゲームのカスタマイズ


特に記載のない限り、コミュニティのコンテンツはCC BY-NC-SAライセンスの下で利用可能です。

シェアボタン: このページをSNSに投稿するのに便利です。


最近更新されたページ

左メニュー

左メニューサンプル左メニューはヘッダーメニューの【編集】&gt;【左メニューを編集する】をクリックすると編集できます。ご自由に編集してください。掲示板雑談・質問・相談掲示板更新履歴最近のコメントカウン...

黒色の染料

黒色の染料Black Dye.png希少度色一般的再生可スタック可(64)黒色の染料(英:Black Dye)は、イカスミからできる一次染料である。目次1 取引2 クラフトから3 用途3.1 製作材料...

黒板

黒板Chalkboard Slate.pngChalkboard_Board.png再生不可スタック可(16)回収道具なし爆発耐性?硬度?発光しない透過する可燃性なし溶岩からの引火?黒板 (英:Cha...

黒曜石の柱

黒曜石の柱Obsidian_Pillar.pngバイオームジ・エンド構成ブロック黒曜石岩盤鉄格子エンドクリスタル炎既存チャンクでの生成はい(エンダードラゴンがリスポーンした際に)エンドの柱(英:End...

黒曜石の土台

黒曜石の土台Obsidian platform.pngバイオームジ・エンド構成ブロック黒曜石既存チャンクでの生成可、ディメンションに再び入る際に再設置。黒曜石の土台 (英:Obsidian Platf...

黒曜石のボート/ED

エンティティデータすべてのエンティティに共通するタグ obsidian: 1 または 0(true / false)。true の場合は、ボートが黒曜石のボートになる。V1.18.10現在は存在して...

黒曜石のボート

その他の用法については「黒曜石 (曖昧さ回避)」をご覧ください。そのほかの種類のボートについては「ボート (曖昧さ回避)」をご覧ください。Dark Oak Sapling JE2 BE2.pngこの記...

黒曜石 (曖昧さ回避)

黒曜石(英:Obsidian)は以下のいずれかを指す。目次1 ブロック2 アイテム3 構造物4 Minecraft Dungeons5 関連項目 ブロック黒曜石泣く黒曜石輝く黒曜石‌[Bedrock ...

黒曜石

その他の用法については「黒曜石 (曖昧さ回避)」をご覧ください。黒曜石Obsidian_JE3_BE2.png再生可スタック可(64)回収道具爆発耐性1,200硬度50発光しない透過しない可燃性なし溶...

黄色の染料

黄色の染料Dandelion Yellow.png希少度色一般的耐久度11 (データ)再生はいスタックはい (64)黄色の染料(英:Dandelion Yellow)は1次染料の1つであり、黄色の花ま...

黄緑色の染料

黄緑色の染料Lime Dye.png希少度色一般的再生可スタック可(64)黄緑色の染料(英:Lime Dye)とは2次染料の1つであり、緑色の染料1つと骨粉1つを作製枠で組み合わせて作製される。目次1...

鳥(英:Bird)は、小さな羽、意味がないクチバシ、翼を持つ飛行と滑空をするMinecraftのMobである。ニワトリオウムMinecraft EarthStormy ChickenCluckshro...

この記事では、Mobやアイテムについて説明しています。要素については「釣り」をご覧ください。魚(英:Fish)は水生生物であり、海洋の種類に関係なくどこにでも存在する。Mobの1グループであり、以下に...

高速装填

高速装填最大レベルIII一次アイテム二次アイテム該当なし出現比10名前空間IDquick_charge数値ID35高速装填、クイックチャージ‌[Bedrock Edition限定](英:Quick C...

高度

Clock JE3.gifこの記事は内容の更新を必要とします。 この記事を更新して、最近のアップデートや新たな情報を反映してください。詳細:「高度と天然資源」および「ネザー」の節のグラフ画像Y座標と層...

骨粉

骨粉Bone Meal.png希少度色一般的耐久度15 (データ)再生はいスタックはい (64)骨粉(英:Bone Meal)は多くの植物の肥料や、染料の作製素材として用いられる素材である。目次1 入...

骨ブロック/DV

データ値説明0上/下向きの骨ブロック1未使用2未使用3未使用4東/西向きの骨ブロック5未使用6未使用7未使用8北/南向きの骨ブロック特に記載のない限り、コミュニティのコンテンツはCC BY-NC-SA...

骨ブロック/BS

Java Edition:名前デフォルト値取り得る値説明axisyx東西を向いた状態y上下を向いた状態z南北を向いた状態Bedrock Edition:名前デフォルト値取り得る値説明pillar_ax...

骨ブロック

骨ブロックBone_Block_%28UD%29_JE2_BE2.pngBone_Block_%28NS%29_JE2_BE2.png再生可スタック可(64)回収道具爆発耐性2硬度2発光しない透過しな...