【マイクラ】NBTとは?使い方・確認方法・dataコマンドを解説【Java版】

この記事はマイクラJava版向けのNBT・dataコマンド解説です
統合版(Bedrock Edition)とはコマンド仕様が異なるので注意してください
Java版26.1.2時点の仕様を前提に、1.20.5以降のアイテム構文変更も扱います

こんにちは。ゆずかきです。

マイクラでコマンドを触り始めると、急に出てくるのがNBTという言葉です。

「NBTって何?」
{}とか[]が多すぎて読めない…」
「古いコマンドをコピペしたら赤文字になった…」

こういう経験、ありませんか?
筆者も最初は、NBTを見た瞬間に「これは自分が触っていいものではない」と思っていました。

でも実際は、NBTはモブ・アイテム・ブロックの細かいデータを見るための仕組みです。
慣れると、チェストの中身を調べたり、モブの状態を確認したり、コマンド制作の幅を広げたりできます。

特にJava版では、/dataコマンドを使うことで、ゲーム内からNBTを確認できます。
この記事では、難しい専門用語をできるだけ減らして、NBTの基本・確認方法・dataコマンドの使い方・1.20.5以降の注意点まで順番に解説しますね。

この記事を読めば、次のことが出来るようになります。

  • NBTが何を意味しているのか分かります👍
  • /data getでエンティティやブロックのデータを確認できます👌
  • NBTパスの読み方が分かり、欲しいデータだけ抜き出せます
  • Java版1.20.5以降の「アイテムNBTとコンポーネント」の違いで迷いにくくなります

それでは、やっていきましょう!

※本記事はJava版のコマンド仕様を前提にしています。
※サバイバルで使う場合は、チートの許可または管理者権限が必要です。
※Java版は2026年以降、年を基準にした26.x系のバージョン表記へ変わっています。本記事ではJava版26.1.2時点の仕様を前提にしています。
※NBT・コマンド仕様はバージョンによって変わることがあります。古い動画や記事のコマンドをそのまま使う時は注意してください。


目次

1. NBTとは?マイクラ内部データのことです
2. NBTを触る前に知っておきたい前提
3. NBTとSNBTの違い
4. NBTの基本構造を読む
5. dataコマンドでNBTを確認する方法
6. NBTパスの読み方
7. ブロック・エンティティ・ストレージの使い分け
8. 実用例:チェストの中身を確認・変更する
9. 実用例:モブのNBTを確認・変更する
10. 1.20.5以降の注意点:アイテムNBTはコンポーネントへ移行
11. よくあるエラーと対処法
12. まとめ
13. 参考文献

この記事で分かること
・マイクラJava版におけるNBTの意味
/data get/data merge/data modify/data removeの基本
・NBTパスを使って必要なデータだけ読む方法
・Java版1.20.5以降で古いアイテムNBTコマンドが使えない理由


1. NBTとは?マイクラ内部データのことです

NBTとは、簡単に言うとマイクラの内部データを保存するための形式です。

モブの体力、位置、持ち物、チェストの中身、看板の文字、額縁のアイテム、ワールドデータなど、マイクラの裏側ではかなり多くの情報がデータとして管理されています。
そのデータを読む時に出てくるのがNBTです。

たとえば、ゾンビ1体にもこんな情報があります。

  • 今いる座標
  • 体力
  • 火がついているか
  • 手に持っているアイテム
  • 防具
  • 無音かどうか
  • AIが有効かどうか
  • 名前が付いているか

普段のプレイでは見えませんが、コマンドで確認すると、これらの情報がずらっと表示されます。

体験談
筆者は最初、/data get entity @sを実行して、表示量の多さに驚きました。
でも、全部を覚える必要はありません。
最初は「NBTはマイクラ内部のプロフィール帳みたいなもの」と思っておけば大丈夫です。

NBTを理解すると、コマンドで出来ることが一気に増えます。
ただし、最初から全部を覚えようとすると大変なので、この記事では確認する→読む→少しだけ書き換えるの順番で進めていきますね。


2. NBTを触る前に知っておきたい前提

NBTは便利ですが、何でも自由に書き換えられる魔法の機能ではありません。
まずは、ここだけ押さえておいてください。

NBT操作は基本的にJava版向け

この記事で扱うNBTや/dataコマンドは、マイクラJava版向けです。
統合版にも似たようなデータ指定はありますが、構文や使える機能が大きく違います。

そのため、統合版でこの記事のコマンドをそのまま入力しても動かない可能性が高いです。

コマンドを使うには権限が必要

シングルプレイなら、ワールド作成時にチートを許可するか、LANに公開してチートをオンにすればコマンドを使えます。
サーバーなら、OP権限などが必要です。

/dataコマンドはゲーム内容を直接操作できるため、通常プレイだけでは使えません。

プレイヤーのNBTは読めるけど、直接書き換えは制限が強い

ここは初心者さんがかなり詰まりやすいところです。

Java版では、/data get entity @sで自分自身のNBTを読むことはできます。
ただし、プレイヤーのNBTを/data modify/data mergeで直接書き換えようとすると、基本的には失敗します。

たとえば、こういうイメージです。

/data get entity @s

これは確認用として使えます。

一方で、プレイヤー本人のNBTを直接変更する用途では、/dataだけで完結しないことが多いです。
プレイヤーの持ち物を変更したい場合は、/itemコマンドや/give、データパック側のアイテム修飾などを使う場面が増えます。

注意!
「モブのNBTを変更できるなら、自分のインベントリも同じように変更できるはず」と思いやすいですが、ここは別物です。
最初は、/data確認用として強い、書き換えはブロック・モブ・storage中心と覚えておくと事故が少ないです。


3. NBTとSNBTの違い

NBTを調べていると、SNBTという言葉も出てきます。
ここも難しそうに見えますが、最初はかなり単純に考えて大丈夫です。

  • NBT:マイクラ内部で使われるデータ形式
  • SNBT:コマンドで人間が読めるように書いたNBT

つまり、プレイヤーがコマンド欄に書いている{NoAI:1b}{Health:20f}のようなものは、厳密にはSNBT表記です。
ただ、マイクラ界隈ではまとめて「NBT」と呼ばれることも多いので、この記事でも読みやすさ優先で「NBT」と書きますね。

例:ゾンビをAIなしで召喚する

/summon minecraft:zombie ~ ~ ~ {NoAI:1b}

この{NoAI:1b}がNBTの指定部分です。

NoAIは「AIを無効にするかどうか」、1bは「はい」を表すような値です。
このように、NBTは名前と値のセットで情報を書いていきます。

JSONとは似ているけど同じではない

NBTは、見た目がJSONに似ています。
ただし、マイクラのNBTでは1b20f[I;1,2,3]のような専用の書き方があります。

たとえば、NBTではこう書きます。

{NoAI:1b,Health:20f,Silent:1b}

JSONのつもりで書くと、型の指定や文字列の扱いでエラーになることがあります。
なので、最初はNBTはマイクラ独自のデータ記法と思っておくと良いです。


4. NBTの基本構造を読む

NBTは、主に次の記号を読めればかなり理解しやすくなります。

👇下の表に、初心者さんが最初に覚えるべきNBTの記号をまとめました。

記号・型 意味
{ } 複数のデータをまとめる箱 {NoAI:1b,Silent:1b}
[ ] リスト。複数の値を順番に入れる Pos[1]
: 名前と値をつなぐ Health:20f
, データを区切る NoAI:1b,Silent:1b
b Byte型。true/false系でよく見る 1b
s Short型 10s
f Float型。体力などでよく見る 20f
"文字列" 文字として扱う値 "minecraft:diamond"


よく使うのは、{}[]:,です。
まずはこの4つだけでも十分です。

例:NBTを分解して読む

{NoAI:1b,Silent:1b,Health:20f}

これは、次のように読めます。

  • NoAI:1b → AIなし
  • Silent:1b → 音を出さない
  • Health:20f → 体力20

つまり、AIが動かず、無音で、体力20の状態という指定です。

リストは順番が大事

たとえば、エンティティの位置データはPosというリストで表示されます。

Pos:[10.5d,64.0d,-32.5d]

この場合、順番は次の通りです。

  • Pos[0] → X座標
  • Pos[1] → Y座標
  • Pos[2] → Z座標

配列の番号が0から始まるのがポイントです。
ここを忘れると、Y座標を見たいのにX座標を読んでしまう…みたいなミスが起きます。

体験談
筆者は最初、Pos[1]がY座標だと分からず、何度も違う値を読んでいました。
コマンドの配列は0番目から始まる。ここは本当に大事です。


5. dataコマンドでNBTを確認する方法

NBTを実際に見るなら、まずは/data getを使います。

/dataコマンドは、NBTを確認・合成・変更・削除するためのコマンドです。
初心者さんは、まずgetから入るのがおすすめです。

dataコマンドの基本形

/data get entity <対象>
/data get block <座標>
/data get storage <名前空間:ID>

NBTを見る対象は、大きく3つあります。

  • entity:モブ、アイテム、プレイヤーなど
  • block:チェスト、看板、かまどなどのブロックエンティティ
  • storage:コマンドやデータパック用の保存場所

近くのゾンビのNBTを見る

まずは、近くのゾンビを確認してみましょう。

/data get entity @e[type=minecraft:zombie,limit=1,sort=nearest]

近くにゾンビがいれば、そのゾンビのNBTがチャット欄に表示されます。
かなり長いですが、最初は全部読まなくて大丈夫です。

見るべきポイントは、たとえば次のような項目です。

  • Health
  • Pos
  • Rotation
  • HandItems
  • ArmorItems
  • NoAI
  • Silent

自分のNBTを見る

自分自身のNBTを見るなら、これです。

/data get entity @s

持ち物や体力、位置など、かなり多くの情報が出ます。
表示量が多すぎる場合は、NBTパスを使って必要な場所だけ見るのがおすすめです。

たとえば、自分の現在位置だけ見るなら、こうです。

/data get entity @s Pos

手に持っているアイテムを見るなら、こうです。

/data get entity @s SelectedItem

このあたりは、コマンド制作でもよく使います。

チェストのNBTを見る

チェストの中身を確認したい場合は、チェストの座標を指定します。

/data get block 100 64 100

座標100 64 100にチェストがある場合、そのチェストのNBTが表示されます。
チェストの中身はItemsというリストに入っています。

特定の座標が分からない時は、F3画面で座標を確認してから入力しましょう。

注意!
普通の石や土のようなブロックには、チェストの中身や看板文字のような追加データがありません。
/data get blockで見る対象は、チェスト・樽・かまど・看板などのブロックエンティティが中心です。


6. NBTパスの読み方

NBTパスとは、NBTの中から欲しい場所だけを指定するための道順です。

たとえば、エンティティ全体を見ると情報量が多すぎます。
そこで、NBTパスを使って、欲しい部分だけを取り出します。

位置のY座標だけ見る

/data get entity @s Pos[1]

これは、自分のPosリストのうち、2番目の値を取得します。
配列番号は0から始まるので、Pos[1]がY座標です。

インベントリの1番目のホットバーを見る

/data get entity @p Inventory[{Slot:0b}]

Inventoryは持ち物リストです。
その中から、Slot:0bのアイテムを探して表示しています。

ホットバー左端のスロットが0bです。
ここも初心者さんが混乱しやすいポイントですね。

チェストのItemsリスト先頭のアイテムIDを見る

/data get block 100 64 100 Items[0].id

これは、座標100 64 100にあるチェストのItemsリストから、リスト先頭のアイテムのidだけを確認するコマンドです。

NBTパスは、次のように読むと分かりやすいです。

Items[0].id
  • Itemsを見る
  • その0番目を見る
  • その中のidを見る

これだけです。
難しそうに見えますが、道順を左から順番に追うだけです。

よく使うNBTパス例

👇NBTパスの例を、初心者向けに整理しました。

見たいもの NBTパス例 使いどころ
エンティティのY座標 Pos[1] 高さ判定・座標確認
手持ちアイテム SelectedItem 今持っているアイテム確認
手持ちアイテムID SelectedItem.id 持ち物判定
インベントリ左端 Inventory[{Slot:0b}] ホットバー確認
チェストの中身 Items 収納ブロック確認
チェストのItemsリスト先頭のアイテムID Items[0].id 収納物の種類確認


NBTパスが分かると、/data getがかなり使いやすくなります。
まずはPosSelectedItemInventoryItemsあたりから練習すると良いですよ。


7. ブロック・エンティティ・ストレージの使い分け

/dataコマンドでは、対象としてblockentitystorageを指定します。
ここが分かると、コマンドの見通しがかなり良くなります。

entity:モブやアイテムを見る

モブや落ちているアイテム、プレイヤーなどを見る時はentityです。

/data get entity @e[type=minecraft:zombie,limit=1,sort=nearest]

たとえば、モブの体力、位置、装備、タグなどを確認できます。

block:チェストや看板などを見る

チェスト、樽、かまど、看板などを見る時はblockです。

/data get block 100 64 100

ただし、何でも見られるわけではありません。
追加データを持っていない普通のブロックには、NBTとして確認できる情報がほぼありません。

storage:コマンド用の保存場所

storageは、コマンドやデータパックで使うメモ帳のような場所です。
ワールド内のブロックやモブに依存しないので、コマンド制作ではかなり便利です。

たとえば、次のコマンドでstorageにデータを入れられます。

/data merge storage yuzukaki:memo {message:"hello",count:1}

確認する時はこちらです。

/data get storage yuzukaki:memo

yuzukaki:memoのように、名前空間:IDで指定します。
自分のデータパックやコマンド用なら、分かりやすい名前を付けておくと管理しやすいです。

筆者のおすすめ
最初の練習では、いきなりモブやチェストを書き換えるより、storageでNBTの書き方に慣れるのが安全です。
失敗してもワールド内の実体を壊しにくいので、練習用に向いています。


8. 実用例:チェストの中身を確認・変更する

ここからは、実際に使える例を紹介します。
まずはチェストです。

チェストはNBT練習にかなり向いています。
中身がItemsというリストで見えるので、NBTパスの練習にもなります。

1. チェストの中身を確認する

座標100 64 100にチェストがあるとします。
まずは丸ごと確認します。

/data get block 100 64 100

中にアイテムが入っていれば、Itemsという項目が表示されます。

アイテム部分だけ見たいなら、こうです。

/data get block 100 64 100 Items

2. Itemsリスト先頭のアイテムIDだけ確認する

/data get block 100 64 100 Items[0].id

チェストのItemsリスト先頭にあるアイテムのIDだけを表示します。
たとえば、ダイヤモンドならminecraft:diamondのように出ます。

3. Itemsリスト先頭のアイテムを別アイテムに変更する

チェストのItemsリスト先頭にあるアイテムIDを、ダイヤモンドブロックに変えてみます。

/data modify block 100 64 100 Items[0].id set value "minecraft:diamond_block"

これで、チェストのItemsリスト0番目のアイテムIDがダイヤモンドブロックになります。
ただし、これはあくまでIDを変えるだけなので、個数や他のデータはそのまま残ります。

4. チェスト全体にNBTを合成する

/data mergeを使うと、対象にNBTを合成できます。

/data merge block 100 64 100 {CustomName:'{"text":"練習チェスト"}'}

これで、チェストに名前を付けられます。

注意!
/data modify/data mergeは便利ですが、指定を間違えると中身が変わります。
大事なワールドでは、必ずバックアップを取ってから試してくださいね。

チェスト練習で覚えること

  • チェストの中身はItemsに入る
  • Items[0]Itemsリストの先頭アイテム
  • Items[0].idでアイテムIDだけ見られる
  • data modify blockで一部を書き換えられる

ここまで出来れば、NBTパスの基本はかなり掴めています。


9. 実用例:モブのNBTを確認・変更する

次はモブです。
NBTの面白さが分かりやすいのは、やはりモブですね。

まずは練習用のゾンビを召喚します。

/summon minecraft:zombie ~ ~ ~ {CustomName:'{"text":"NBT練習ゾンビ"}',NoAI:1b}

これで、名前付き・AIなしのゾンビが召喚されます。
AIなしなので動きません。練習用に扱いやすいです。

1. 近くのゾンビのNBTを見る

/data get entity @e[type=minecraft:zombie,limit=1,sort=nearest]

かなり長く表示されますが、まずはHealthPosNoAICustomNameあたりを見ると良いです。

2. ゾンビの体力を見る

/data get entity @e[type=minecraft:zombie,limit=1,sort=nearest] Health

20.0fのような値が表示されればOKです。

3. ゾンビを無音にする

/data merge entity @e[type=minecraft:zombie,limit=1,sort=nearest] {Silent:1b}

これで、近くのゾンビにSilent:1bが追加されます。
ゾンビの声がうるさい時の練習にも使えます。

4. ゾンビのAIを戻す

AIなしで召喚したゾンビを動かしたい場合は、NoAIを0にします。

/data merge entity @e[type=minecraft:zombie,limit=1,sort=nearest] {NoAI:0b}

これでゾンビが動き出します。
近くにいると普通に襲ってくるので、クリエイティブや安全な場所で試してください。

5. NBTを削除する

/data removeを使えば、指定したNBTを削除できます。

/data remove entity @e[type=minecraft:zombie,limit=1,sort=nearest] Silent

これでSilentタグが削除されます。

注意!
data removeは対象のNBTを消します。
意味が分からないタグを適当に消すと、思った挙動にならない可能性があります。
慣れるまでは、練習用モブで試しましょう。


10. 1.20.5以降の注意点:アイテムNBTはコンポーネントへ移行

NBTで一番つまずきやすいのが、Java版1.20.5以降のアイテム構文変更です。

古い記事や動画では、アイテムにNBTを付ける時にこういう形がよく出てきます。

/give @p minecraft:diamond_sword{Unbreakable:1b} 1

でも、Java版1.20.5以降では、アイテムの多くのデータがNBTのtag欄からコンポーネント形式へ移行しました。
そのため、古い/giveコマンドをそのまま入力すると、赤文字になったり、動かなかったりすることがあります。

1.20.5以降の書き方

現在のJava版では、アイテムの追加データは[]内にコンポーネントとして書く場面が増えています。

/give @p minecraft:diamond_sword[unbreakable={}] 1

壊れないダイヤモンドの剣なら、このような形です。

名前付きアイテムの例

/give @p minecraft:diamond_sword[custom_name='{"text":"練習用の剣","italic":false}'] 1

昔のdisplay:{Name:...}ではなく、今はcustom_nameコンポーネントを使います。

custom_dataを付ける例

独自の目印データを付けたい場合は、custom_dataを使います。

/give @p minecraft:carrot_on_a_stick[custom_data={magic_id:1}] 1

このアイテムを手に持って、データを確認するならこうです。

/data get entity @s SelectedItem.components."minecraft:custom_data".magic_id

ここが重要です。
1.20.5以降、カスタムデータはSelectedItem.tagではなく、SelectedItem.components."minecraft:custom_data"側を見る形になります。

古い書き方と新しい書き方の比較

👇古い記事や動画を見る時のために、代表例を比較しておきます。

やりたいこと 1.20.4以前でよく見る形 1.20.5以降の考え方
壊れないアイテム {Unbreakable:1b} [unbreakable={}]
名前付きアイテム {display:{Name:'...'}} [custom_name='...']
独自データ {magic_id:1} [custom_data={magic_id:1}]
耐久値の消耗 {Damage:12} [damage=12]
金床コスト {RepairCost:12} [repair_cost=12]


全部を一気に覚える必要はありません。
まずは、1.20.5以降はアイテムの書き方が変わったという事実だけ覚えておけば十分です。

重要!
古いコマンド生成サイトや古い動画の/giveコマンドは、Java版1.20.5以降でそのまま使えないことがあります。
特に{display:{...}}{Enchantments:[...]}{Unbreakable:1b}あたりは、今のコンポーネント構文に直す必要が出やすいです。

26.1.2時点では何に注意する?

Java版26.1.2時点でも、NBTそのものや/data getの考え方が消えたわけではありません。

ただし、アイテムまわりは1.20.5以降のコンポーネント形式が前提です。
そのため、NBTを学ぶ時は、次の2つを分けて考えると分かりやすいです。

  • エンティティ・ブロック・storageのNBT/dataで確認・操作する。ただし、プレイヤーの直接書き換えは制限が強い
  • アイテムの追加データ:1.20.5以降はコンポーネントを意識する

この切り分けができると、かなり混乱が減ります。


11. よくあるエラーと対処法

NBTやdataコマンドは、慣れるまではエラーが出やすいです。
ここでは、初心者さんが詰まりやすいポイントをまとめますね。

コマンドが赤文字になる

よくある原因は、構文ミスです。

  • {}[]を間違えている
  • ,が抜けている
  • 文字列の"が抜けている
  • Java版1.20.5以降なのに古いアイテムNBT構文を使っている
  • 1b20fなどの型指定が合っていない

特に、古い/giveコマンドを使っている場合は、まず1.20.5以降のコンポーネント構文を疑ってください。

データが長すぎて読めない

/data get entity @sのように丸ごと表示すると、情報量が多すぎます。
この場合は、NBTパスで絞り込みましょう。

/data get entity @s Pos
/data get entity @s SelectedItem
/data get entity @s Inventory[{Slot:0b}]

最初は丸ごと確認して、次に必要なパスだけ見るのがおすすめです。

対象が複数いて失敗する

/dataでエンティティを対象にする場合、対象が複数だと失敗することがあります。
そのため、limit=1を付けて1体だけに絞りましょう。

/data get entity @e[type=minecraft:zombie,limit=1,sort=nearest]

sort=nearestも付けると、近くの1体を選べるので分かりやすいです。

チェストを指定したのにデータが出ない

座標が間違っている可能性があります。
また、対象がチェストではなく普通のブロックになっている場合もあります。

F3画面で座標を確認して、対象ブロックの座標を正しく入力しましょう。

プレイヤーのNBTを書き換えられない

これは仕様として制限が強い部分です。
/data get entity @sで読めても、/data modify entity @sで直接書き換えられるとは限りません。

プレイヤーの持ち物を操作したい場合は、/itemコマンド、/give/clear、データパックのアイテム修飾など、別の手段を検討しましょう。

古いNBTコマンドが最新バージョンで動かない

これはかなり多いです。
特にJava版1.20.5以降では、アイテムのNBT構文が大きく変わっています。

古い記事でこう書かれていたら、

/give @p minecraft:diamond_sword{Unbreakable:1b}

今のJava版では、まずこちらの形を試します。

/give @p minecraft:diamond_sword[unbreakable={}] 1

筆者のチェック順
1. バージョンが古くないか確認
2. {}[]の閉じ忘れ確認
3. 対象が1つに絞れているか確認
4. アイテムNBTなら1.20.5以降のコンポーネント形式を確認
5. それでも無理なら、一度/data getで実際のデータ構造を見る

この順番で確認すると、原因を見つけやすいです。


12. まとめ

以上、マイクラJava版のNBTについて、確認方法からdataコマンド、1.20.5以降のアイテム構文変更まで解説しました。

NBTは最初こそ難しく見えますが、やっていることはマイクラ内部のデータを見る・必要な部分だけ読む・一部を書き換えるという流れです。

要点を整理すると、

  • NBTはマイクラ内部データを管理する形式
  • コマンドで書くNBTは、正確にはSNBT表記
  • /data get entity @sで自分のNBTを確認できる
  • チェストや樽などは/data get block 座標で確認する
  • NBTパスを使えば、Pos[1]Items[0].idのように欲しい情報だけ見られる
  • Java版1.20.5以降、アイテムの多くのデータはコンポーネント形式に移行している
  • プレイヤーNBTは読めても、直接書き換えは制限が強い

このあたりを押さえておけば、NBTの入口としては十分です。

最初から全部のタグ名を暗記しようとしなくて大丈夫です。
むしろ、/data getで実際のデータを見て、必要な場所だけ少しずつ読めるようになる方が上達しやすいです。

よかったら皆さんも、まずは練習用ワールドでチェストやゾンビのNBTを確認してみてください。
一度「このタグがこの挙動に対応しているんだ」と分かると、コマンド制作がかなり楽になります。

では、本日はここまでで終わります。
最後までご覧いただき、ありがとうございました。
柚子クラでは他にも便利装置やコマンド関連の記事を紹介しているので、是非ご覧くださいね(^^♪


13. 参考文献

この記事を書くにあたり、以下の公式リリースノート・英語Wikiを参考にしています。