【マイクラ】データコンポーネントとは?アイテム指定・giveコマンドでの使い方【Java版】

この記事はJava版1.20.5以降のコマンド初心者〜中級者向けです
旧NBT構文とデータコンポーネント構文の違いを、実際に使うコマンド中心で解説します
統合版(BE)とはコマンド仕様が異なるため、Java版限定として読んでください

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

マイクラJava版で/giveコマンドを調べていると、最近よく出てくるのがデータコンポーネントという言葉です。

昔のコマンドに慣れている方ほど、

「あれ?{display:{Name:...}}で名前付きアイテムを出せない…」
/giveの後ろに付いている[]って何?」
「1.20.5以降のアイテム指定が分からない」

となりやすいと思います。

結論から言うと、Java版1.20.5以降では、アイテムの名前・説明文・エンチャント・耐久値・判定用タグなどを、従来のNBTではなくデータコンポーネントで指定する形に変わりました。

なので、これからカスタムアイテムを作るなら、まずはこの構文に慣れるのが大事です。

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

  • Java版1.20.5以降の/giveコマンドの基本形が分かります👍
  • 名前付きアイテム、説明文付きアイテム、エンチャント付きアイテムを作れます👌
  • custom_dataを使った「判定用アイテム」の考え方も理解できます(^^♪

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

※本記事はMinecraft Java版26.1.2時点の公開情報を元に、Java版1.20.5以降のデータコンポーネント構文を解説しています。
※コマンド仕様はアップデートで追加・変更される可能性があります。重要な配布ワールドやサーバーで使う場合は、必ず対象バージョンで動作確認してください。


目次

1. データコンポーネントとは?
2. 旧NBT構文と何が違うのか
3. giveコマンドの基本形
4. 名前付きアイテムを作る:custom_nameとitem_name
5. 説明文付きアイテムを作る:lore
6. エンチャント・壊れない道具・光るアイテムを作る
7. custom_dataで判定用アイテムを作る
8. アドベンチャーモード用のcan_break・can_place_on
9. よく使うデータコンポーネント早見表
10. コマンドが動かない時のチェックポイント
11. バージョンごとの注意点
12. まとめ
13. 参考文献

この記事で分かること
・Java版1.20.5以降のデータコンポーネント構文
/giveで名前・説明文・エンチャント付きアイテムを出す方法
・配布マップやコマンド装置で便利なcustom_dataの使い方


1. データコンポーネントとは?

データコンポーネントとは、アイテムに付ける追加情報のことです。

例えば、次のような情報をアイテムに指定できます。

  • アイテム名
  • 説明文
  • エンチャント
  • 耐久値
  • 壊れない設定
  • 炎で燃えない設定
  • アドベンチャーモードで壊せるブロック
  • コマンド判定用の独自データ

昔のJava版では、これらをNBTタグで指定していました。
ですがJava版1.20.5以降では、アイテムスタックの情報が構造化されたコンポーネントとして扱われるようになっています。

一番分かりやすい見た目の違いはここです。

# Java版1.20.4以前でよく見た旧NBT構文のイメージ
give @s minecraft:stick{display:{Name:'{"text":"名前付きの棒"}'}}

# Java版1.20.5以降のデータコンポーネント構文
give @s minecraft:stick[minecraft:custom_name='{"text":"名前付きの棒"}']

旧NBTでは{}をアイテムIDの後ろに付けていました。
一方、データコンポーネントでは、アイテムIDの後ろに[]を付けて、その中にコンポーネント名=値を書きます。

ここが最初のポイントです
Java版1.20.5以降の/giveでは、アイテムの追加情報は基本的に[]の中へ書く、と覚えてください。

実際に使うと、こうなります。

/give @s minecraft:diamond_sword[minecraft:custom_name='{"text":"ゆずかきの剣","color":"gold","italic":false}'] 1

このコマンドを実行すると、金色の名前が付いたダイヤモンドの剣を入手できます。

最初は文字数が多くて難しく見えますが、仕組み自体はかなりシンプルです。
アイテムIDの後ろに、欲しい性質を追加しているだけです。


2. 旧NBT構文と何が違うのか

Java版1.20.5以降で一番大きい変更は、アイテムのtagがそのまま使われる形ではなくなったことです。

旧構文に慣れている方向けに、違いを表にすると下記です。

項目 Java版1.20.4以前 Java版1.20.5以降
アイテム名 display.Name custom_name
説明文 display.Lore lore
エンチャント Enchantments enchantments
耐久値の減り Damage damage
壊れない設定 Unbreakable unbreakable
独自タグ 任意のNBTタグ custom_data


特に大事なのは、昔の独自NBTタグはcustom_dataへ入れるという考え方です。

例えば、配布マップで「この特別な棒を持っていたらイベント発生」という判定をしたい時、アイテム名だけで判定すると危険です。
なぜなら、プレイヤーが金床で似た名前を付けたアイテムを作れてしまうからですね。

そういう時は、見た目の名前とは別に、判定用のcustom_dataを付けておくのが安全です。

/give @s minecraft:stick[minecraft:custom_data={yuzukaki_item:1b},minecraft:item_name='{"text":"イベント用の棒","color":"yellow"}'] 1

このようにしておけば、表示名は「イベント用の棒」ですが、内部的にはyuzukaki_item:1bという目印を持ったアイテムになります。

体験ベースの注意点
名前だけで判定するコマンドは、後から見直した時にかなり事故りやすいです。
コマンド装置や配布ワールドで使うアイテムは、できるだけcustom_dataで見分けるようにしておくと安心です。


3. giveコマンドの基本形

まずは、Java版1.20.5以降の/giveコマンドの基本形を見てみましょう。

/give <対象> <アイテムID>[<データコンポーネント>] <個数>

実際に書くと、こうです。

/give @s minecraft:apple 5

これは、自分にリンゴを5個渡すコマンドです。
まだデータコンポーネントは使っていません。

では、ここに名前を付けてみます。

/give @s minecraft:apple[minecraft:item_name='{"text":"硬いリンゴ","color":"green"}'] 5

minecraft:appleの後ろに、[minecraft:item_name=...]が付きました。
この[]の中に書かれている部分がデータコンポーネントです。

複数のコンポーネントを付けたい場合は、カンマで区切ります。

/give @s minecraft:apple[minecraft:item_name='{"text":"硬いリンゴ","color":"green"}',minecraft:enchantment_glint_override=true] 5

これで、名前付きで、さらにエンチャントのような光り方をするリンゴになります。

ポイント
[]の中は、コンポーネント名=値をカンマで並べるだけです。
最初は長く見えますが、分解するとかなり読みやすくなります。

名前空間のminecraft:は省略できる?

コマンド入力では、minecraft:を省略しても動く場面があります。

例えば、下記のような書き方でも通ることがあります。

/give @s stick[custom_name='{"text":"名前付きの棒"}'] 1

ただし、記事や配布用のコマンドとして残すなら、筆者はできるだけminecraft:付きで書くのをおすすめします。

理由はシンプルで、後から見直した時に分かりやすいからです。
また、/data getで実際のアイテムデータを確認すると、基本的にminecraft:custom_nameのような正式な形で表示されます。

記事やメモに残すなら、少し長くても正式名称で書いた方が安全です。


4. 名前付きアイテムを作る:custom_nameとitem_name

アイテム名を変える時によく使うのは、主にこの2つです。

  • minecraft:custom_name
  • minecraft:item_name

似ていますが、役割が少し違います。

custom_name:金床で付けた名前に近い扱い

custom_nameは、金床で名前を付けた時のような「カスタム名」を指定するコンポーネントです。

/give @s minecraft:diamond_sword[minecraft:custom_name='{"text":"ゆずかきの剣","color":"gold","italic":false}'] 1

このコマンドでは、金色の「ゆずかきの剣」という名前のダイヤモンドの剣を入手できます。

italic:falseを入れているのは、斜体表示を避けるためです。
カスタム名はデフォルトで斜体表示になるため、普通の見た目にしたい時は入れておくと扱いやすいです。

item_name:金床で変更・削除できない表示名

item_nameは、アイテムの基本名を置き換えるような使い方ができます。
custom_nameとの違いとして、金床で変更・削除できない名前として扱われる点が大きいです。

/give @s minecraft:apple[minecraft:item_name='{"text":"硬いリンゴ","color":"green"}'] 1

個人的には、配布マップやコマンド装置で「このアイテムはこういう名前として出したい」という時は、item_nameが扱いやすいです。
逆に、普通の名前付きアイテムっぽくしたい時はcustom_nameで十分です。

どちらを使えばいい?

迷ったら、下記の考え方で大丈夫です。

  • 普通の名前付きアイテムを作る → custom_name
  • 配布マップ用の固定名アイテムを作る → item_name
  • 判定にも使う重要アイテム → item_name + custom_data

特にイベント用アイテムは、名前だけでなくcustom_dataも一緒に付けるのがおすすめです。

/give @s minecraft:paper[minecraft:custom_data={quest_ticket:1b},minecraft:item_name='{"text":"村長からの依頼書","color":"aqua"}'] 1

これなら、見た目は「村長からの依頼書」で、内部的にはquest_ticket:1bという判定用データも持たせられます。


5. 説明文付きアイテムを作る:lore

アイテムのツールチップに説明文を入れたい時は、minecraft:loreを使います。

例えば、説明文が1行だけならこうです。

/give @s minecraft:stick[minecraft:item_name='{"text":"はじまりの棒","color":"yellow"}',minecraft:lore=['{"text":"最初に渡される記念品です","color":"gray","italic":false}']] 1

説明文を複数行にしたい時は、lore=[...]の中に文章を追加します。

/give @s minecraft:stick[minecraft:item_name='{"text":"はじまりの棒","color":"yellow"}',minecraft:lore=['{"text":"最初に渡される記念品です","color":"gray","italic":false}','{"text":"特別な効果はありません","color":"dark_gray","italic":false}']] 1

loreは、配布マップやサーバーイベントのアイテム説明にかなり便利です。

例えば、

  • クエストアイテムの説明
  • 使用用途のメモ
  • 入手場所の説明
  • 注意書き

こういう情報をアイテム自体に持たせられます。

注意点
loreは見た目の説明文です。
コマンドで判定するための目印としては、custom_dataを使った方が安全です。

説明文は読者やプレイヤーに見せるためのもの、custom_dataはコマンド内部で判定するためのもの、と分けて考えると分かりやすいですね。


6. エンチャント・壊れない道具・光るアイテムを作る

ここからは、実際に使う機会が多いデータコンポーネントを見ていきます。

エンチャント付きアイテムを作る

エンチャントを付けたい時は、minecraft:enchantmentsを使います。

/give @s minecraft:diamond_sword[minecraft:enchantments={levels:{'minecraft:sharpness':5,'minecraft:unbreaking':3}}] 1

これは、ダイヤモンドの剣に、

  • ダメージ増加Ⅴ
  • 耐久力Ⅲ

を付けるコマンドです。

さらに名前も付けるなら、こうです。

/give @s minecraft:diamond_sword[minecraft:item_name='{"text":"討伐用の剣","color":"red"}',minecraft:enchantments={levels:{'minecraft:sharpness':5,'minecraft:unbreaking':3}}] 1

enchantmentsは、旧NBTのEnchantmentsに相当するものです。
Java版1.20.5以降でエンチャント付きアイテムを/giveするなら、基本はこちらを使います。

壊れない道具を作る

耐久値が減らない道具を作りたい時は、minecraft:unbreakableを使います。

/give @s minecraft:diamond_pickaxe[minecraft:unbreakable={show_in_tooltip:true}] 1

show_in_tooltip:trueにすると、ツールチップに壊れない表示が出ます。
逆に、表示を出したくない場合はfalseにします。

/give @s minecraft:diamond_pickaxe[minecraft:unbreakable={show_in_tooltip:false}] 1

配布ワールドで「絶対に壊れてほしくない専用道具」を渡す時に便利ですね。

すでに耐久が減った道具を出す

耐久値の減りを指定したい場合は、minecraft:damageを使います。

/give @s minecraft:diamond_pickaxe[minecraft:damage=100] 1

これは、耐久値が100減った状態のダイヤモンドのツルハシを出すコマンドです。

ここで注意したいのは、damage=100は「耐久値が100残っている」ではなく、100ダメージを受けているという意味です。

間違えやすいポイント
damageの数値が大きいほど、アイテムは壊れかけに近づきます。
ここは逆に覚えないよう注意してください。

エンチャントなしで光らせる

エンチャント効果は付けたくないけれど、見た目だけ光らせたい時は、minecraft:enchantment_glint_overrideを使います。

/give @s minecraft:paper[minecraft:item_name='{"text":"きらめく紙","color":"aqua"}',minecraft:enchantment_glint_override=true] 1

これで、エンチャントが付いていないのに光る紙を作れます。

イベントアイテム、記念アイテム、重要アイテムの見た目に使いやすいです。
ただし、光っているだけで特別な効果があるとは限らないので、必要ならloreで説明を添えておくと親切です。

/give @s minecraft:paper[minecraft:item_name='{"text":"きらめく紙","color":"aqua"}',minecraft:lore=['{"text":"イベント進行に必要な紙です","color":"gray","italic":false}'],minecraft:enchantment_glint_override=true] 1

7. custom_dataで判定用アイテムを作る

個人的に、データコンポーネントで一番大事なのはminecraft:custom_dataだと思っています。

custom_dataは、ゲーム本体の通常効果とは別に、コマンド判定用の独自データを入れておけるコンポーネントです。

例えば、下記のコマンドで「判定用の棒」を作れます。

/give @s minecraft:stick[minecraft:custom_data={yuzukaki_tool:1b},minecraft:item_name='{"text":"判定用の棒","color":"yellow"}'] 1

この棒は、見た目だけなら普通の名前付きアイテムです。
ですが内部的には、yuzukaki_tool:1bという目印を持っています。

この目印を使えば、プレイヤーがそのアイテムを持っているか判定できます。

メインハンドに持っているか判定する

Java版1.20.5以降では、execute if itemsを使うと、アイテム判定がかなり書きやすくなります。

/execute as @a if items entity @s weapon.mainhand minecraft:stick[minecraft:custom_data~{yuzukaki_tool:1b}] run say 判定用の棒を持っています

このコマンドは、メインハンドにyuzukaki_tool:1b付きの棒を持っているプレイヤーがいたら、メッセージを出します。

custom_data~{...}~は、完全一致ではなく、指定したデータを含むかどうかを見るイメージです。
そのため、判定用の一部データだけを見たい時に扱いやすいです。

チェスト内にあるか判定する

チェストや樽などの中身を確認したい場合も、execute if itemsが使えます。

/execute if items block ~ ~ ~ container.* minecraft:stick[minecraft:custom_data~{yuzukaki_tool:1b}] run say チェスト内に判定用の棒があります

container.*は、コンテナ内のどこかのスロットを見に行く指定です。
配布マップで「指定アイテムをチェストに入れたら扉が開く」みたいな仕組みを作る時に便利です。

名前ではなくcustom_dataで判定する理由

名前付きアイテムだけでも判定はできます。
ですが、名前は見た目に関わる情報なので、後から変更したり、似た表示名を作れたりします。

一方、custom_dataは普通のサバイバル操作では付けられません。
なので、コマンド装置で特定アイテムを見分けるなら、名前よりcustom_dataの方が安全です。

おすすめ構成
見た目:item_nameloreで整える
判定:custom_dataで見る

この分け方をしておくと、コマンドがかなり管理しやすくなります。


8. アドベンチャーモード用のcan_break・can_place_on

配布マップを作る方にとって便利なのが、can_breakcan_place_onです。

これは主にアドベンチャーモードで使うコンポーネントです。

  • minecraft:can_break:この道具で壊せるブロックを指定
  • minecraft:can_place_on:このブロックを置ける場所を指定

特定ブロックだけ壊せるツルハシ

例えば、石だけ壊せる鉄のツルハシを渡すなら、こう書けます。

/give @s minecraft:iron_pickaxe[minecraft:item_name='{"text":"石を壊せるツルハシ","color":"gray"}',minecraft:can_break={blocks:'minecraft:stone'}] 1

これをアドベンチャーモードのプレイヤーに渡せば、指定したブロックだけ壊せる道具として使えます。

タグ指定もできます。

/give @s minecraft:iron_pickaxe[minecraft:item_name='{"text":"ツルハシで採掘できるブロック用のツルハシ","color":"gray"}',minecraft:can_break={blocks:'#minecraft:mineable/pickaxe'}] 1

#minecraft:mineable/pickaxeのように、ブロックタグを使うと対象を広めに指定できます。

特定ブロックの上にだけ置ける石

逆に、置ける場所を指定したい時はcan_place_onです。

/give @s minecraft:stone[minecraft:item_name='{"text":"草ブロックの上に置ける石","color":"gray"}',minecraft:can_place_on={blocks:'minecraft:grass_block'}] 16

アドベンチャーモードの謎解きやチュートリアルマップで、かなり使いやすいです。

注意点
can_breakcan_place_onは、主にアドベンチャーモードで意味を持つ指定です。
サバイバルやクリエイティブでは普段通りの操作が優先されるため、検証時はゲームモードを間違えないようにしましょう。


9. よく使うデータコンポーネント早見表

ここまで紹介したものを中心に、実用頻度が高いデータコンポーネントを表にまとめます。

コンポーネント できること よく使う場面
custom_name アイテムにカスタム名を付ける 名前付き装備・記念品
item_name アイテムの表示名を置き換える 配布マップ用の固定名アイテム
lore 説明文を追加する クエストアイテム・注意書き
enchantments エンチャントを付ける 武器・防具・道具
stored_enchantments エンチャントの本の内容を指定する エンチャントの本の配布
unbreakable 耐久値を減らなくする 専用道具・壊れない装備
damage 耐久値の減りを指定する 壊れかけ道具の演出
custom_data 判定用の独自データを入れる コマンド装置・配布マップ
enchantment_glint_override エンチャントの光を制御する 光る記念品・重要アイテム
can_break 壊せるブロックを指定する アドベンチャーモード
can_place_on 置けるブロックを指定する アドベンチャーモード
dyed_color 革装備などの色を指定する 色付き防具
fire_resistant アイテムを炎で燃えないようにする 特別アイテムの保護
max_stack_size 最大スタック数を指定する 特殊アイテムの調整


色付き革装備の例

dyed_colorを使うと、革装備の色を指定できます。

/give @s minecraft:leather_chestplate[minecraft:item_name='{"text":"赤い革の上着","color":"red"}',minecraft:dyed_color={rgb:16711680}] 1

16711680は赤色を表すRGB値です。
色を変えたい場合は、RGB値を変えればOKです。

燃えない紙の例

fire_resistantを付けると、アイテムが炎で燃えないようになります。

/give @s minecraft:paper[minecraft:item_name='{"text":"燃えない紙","color":"gold"}',minecraft:fire_resistant={}] 1

大事なイベントアイテムを炎で失いたくない時に使えます。

最大スタック数を変える例

max_stack_sizeを使うと、最大スタック数を指定できます。

/give @s minecraft:emerald[minecraft:item_name='{"text":"特別なエメラルド","color":"green"}',minecraft:max_stack_size=1] 1

この例では、特別なエメラルドを1個ずつしかスタックできないようにしています。

注意点
max_stack_sizeは1〜99の範囲で指定できます。
ただし、最大スタック数を2以上にする指定は、max_damageを持つアイテムとは両立できません。特殊な装備や道具に使う場合は対象バージョンで確認してください。


10. コマンドが動かない時のチェックポイント

データコンポーネントのコマンドは、1文字のミスで動かなくなります。
特にJSONテキストやカンマ周りは、慣れるまで本当に間違えやすいです。

うまく動かない時は、下記を確認してください。

  • [ ] Java版1.20.5以降のワールドで実行しているか?
  • [ ] 統合版(BE)でJava版のコマンドを使おうとしていないか?
  • [ ] アイテムIDの後ろに[]を書いているか?
  • [ ] 複数コンポーネントの間に,を入れているか?
  • [ ] JSONテキストの"'が崩れていないか?
  • [ ] エンチャントIDやブロックIDのスペルを間違えていないか?
  • [ ] damageを「残り耐久」と勘違いしていないか?
  • [ ] custom_dataで判定する時、=~の違いを間違えていないか?
  • [ ] コマンドブロックに入力する時、先頭の/を付けたままにしていないか?

よくあるミス1:カンマ忘れ

これは本当によくあります。

# NG例:custom_nameとloreの間にカンマがない
/give @s minecraft:paper[minecraft:custom_name='{"text":"依頼書"}' minecraft:lore=['{"text":"村長から受け取った紙"}']] 1

正しくは、こうです。

# OK例:コンポーネントの間にカンマを入れる
/give @s minecraft:paper[minecraft:custom_name='{"text":"依頼書"}',minecraft:lore=['{"text":"村長から受け取った紙"}']] 1

よくあるミス2:旧NBT構文をそのまま使っている

Java版1.20.5以降では、昔のdisplay.NameEnchantmentsをそのままアイテムIDの後ろに書くやり方ではなく、データコンポーネント構文へ読み替える必要があります。

# 旧構文の例:1.20.5以降ではこのまま使わない
give @s minecraft:diamond_sword{display:{Name:'{"text":"古い剣"}'}}

今の構文なら、こうです。

/give @s minecraft:diamond_sword[minecraft:custom_name='{"text":"古い剣"}'] 1

昔の記事や動画を参考にする場合は、対象バージョンを必ず確認しましょう。

よくあるミス3:判定コマンドで省略名を使っている

/giveではcustom_dataのように省略できても、/data getやNBT判定で見る時は、minecraft:custom_dataのような正式名で出てくることがあります。

迷った時は、実際にアイテムを持って下記を実行してください。

/data get entity @s SelectedItem

これで、手に持っているアイテムの実データを確認できます。
コマンドがうまく動かない時ほど、実データを見るのが一番早いです。


11. バージョンごとの注意点

データコンポーネントは、Java版1.20.5で本格的に導入された大きな変更です。
そのため、古いバージョンの記事・動画・コマンドをそのまま使うと、構文エラーになることがあります。

Java版1.20.4以前

Java版1.20.4以前では、アイテムの追加情報は主に旧NBT構文で指定していました。

/give @s minecraft:stick{display:{Name:'{"text":"名前付きの棒"}'}}

この形式の記事や動画は今でもたくさん残っています。
ですが、Java版1.20.5以降のワールドで新しく使うなら、データコンポーネント構文へ読み替えましょう。

Java版1.20.5以降

Java版1.20.5以降では、アイテムIDの後ろに[]を書き、その中にデータコンポーネントを指定します。

/give @s minecraft:stick[minecraft:custom_name='{"text":"名前付きの棒"}'] 1

名前、説明文、エンチャント、耐久値、独自データなどは、この形で指定するのが基本です。

Java版1.21.11以降・26.1系について

Java版1.21.11の後、Java版は26.1系のような新しいバージョン表記へ移行しています。
ただし、この記事で扱っている基本的な/giveのデータコンポーネント構文、つまり、

/give @s minecraft:stick[minecraft:custom_data={sample:1b}] 1

のように[]へコンポーネントを書く考え方は、Java版1.20.5以降の基本として引き続き使います。

一方で、アップデートごとに新しいコンポーネントが追加されたり、細かい仕様が変わったりすることはあります。
例えば、1.21.11では武器の使用感や攻撃範囲に関わる高度なコンポーネントが追加されています。
26.1系でも、レシピやデータパック周りでコンポーネントを使う場面が増えています。

この記事の方針
この記事では、初心者でもすぐ使う機会が多い/give向けの基本コンポーネントに絞っています。
槍の攻撃仕様、データパックの高度なレシピ、独自アイテム挙動まで触れるとかなり長くなるため、別テーマとして扱うのがおすすめです。

配布用コマンドは対象バージョンを書いておく

自分用のワールドなら、多少ミスっても直せば済みます。
ですが、配布マップやサーバー用のコマンドは話が別です。

コマンドを配布する時は、

  • Java版1.20.5以降用
  • Java版1.21系用
  • Java版26.1系で確認

のように、対象バージョンを書いておくと親切です。

マイクラのコマンドは、バージョン差で本当に動作が変わります。
特にデータコンポーネント周りは、古いNBT構文との違いが大きいので注意しましょう。


12. まとめ

以上、マイクラJava版のデータコンポーネントについて、/giveコマンドで使う基本を解説しました。

要点を整理すると、

  • Java版1.20.5以降では、アイテムの追加情報はデータコンポーネントで指定する
  • 基本形は/give @s アイテムID[コンポーネント=値] 個数
  • 名前はcustom_nameまたはitem_name、説明文はlore
  • エンチャントはenchantments、壊れない道具はunbreakable
  • コマンド判定用アイテムは、名前ではなくcustom_dataで見分けるのがおすすめ

このあたりを押さえておけば、名前付きアイテムやイベント用アイテムはかなり作りやすくなります。

最初は構文が長くて難しく見えますが、実際は、

アイテムIDの後ろに[]を書く
その中に欲しい性質をカンマ区切りで入れる

というだけです。

まずは、下記のような簡単なコマンドから試してみてください。

/give @s minecraft:paper[minecraft:custom_data={test_item:1b},minecraft:item_name='{"text":"テスト用の紙","color":"aqua"}',minecraft:lore=['{"text":"データコンポーネント練習用です","color":"gray","italic":false}'],minecraft:enchantment_glint_override=true] 1

この1本のコマンドに、

  • 判定用データ
  • 表示名
  • 説明文
  • 光る見た目

が全部入っています。

ここまで理解できれば、配布マップ用の鍵アイテム、イベント用チケット、専用武器、説明文付きの報酬アイテムなども作れるようになります。

では、本日はここまでで終わります。
最後までご覧いただき、ありがとうございました。
柚子クラでは他にも便利なマイクラ仕様・コマンド解説をまとめていくので、是非ご覧くださいね(^^♪


13. 参考文献

この記事を書くにあたり、以下の公式情報・コミュニティ資料を参考にしています: