【マイクラ】アイテムコンポーネント一覧|データ仕様・giveコマンドでの使い方【Java版】

この記事はマイクラJava版のアイテムコンポーネント解説です
Java版26.1.2時点の正式リリース仕様を基準にしています
統合版(BE)のアイテムコンポーネントとは別物なので注意してください

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

マイクラJava版で/giveコマンドを触っていると、昔の記事に書いてある{display:{Name:...}}とか{Unbreakable:1b}が動かなくて、困ったことはありませんか?

実はJava版1.20.5以降、アイテムの細かいデータは、従来のNBTタグ中心の書き方からアイテムコンポーネントという仕組みに大きく変わっています。

たとえば、名前付きの紙を出すなら、今はこんな感じです。

/give @p minecraft:paper[minecraft:custom_name={text:'ゆずかきメモ',color:'gold',italic:false}] 1

最初は「角括弧?」「minecraft:多すぎない?」となると思います。筆者も最初に見たとき、普通にややこしいなと思いました。

ただ、慣れるとかなり便利です。

  • アイテム名や説明文を付けられる
  • 光るだけのアイテムを作れる
  • スタック数や耐久値を変えられる
  • 食べられるアイテムや、クールダウン付きアイテムを作れる
  • リソースパックと組み合わせて専用アイテム風にできる

この記事では、マイクラJava版のアイテムコンポーネント一覧と、実際に使いやすい/giveコマンドの書き方をまとめます。

この記事を読めば、次のことが分かります。

  • Java版1.20.5以降の/giveコマンドの基本形が分かります👍
  • custom_nameloreunbreakableなど、よく使うコンポーネントを使えるようになります👌
  • Java版26.1.2時点のアイテムコンポーネント名を一覧で確認できます
  • 古いNBT記事を見たときに、どこを読み替えれば良いか分かります

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

※本記事内のコマンド例は、Java版26.1.2時点の正式リリース仕様を基準にしています。
※バージョン1.20.5〜1.21.4では、テキストコンポーネントの書き方が一部異なる場合があります。
※コマンドはワールドのチート許可、またはサーバー権限が必要です。


目次

1. アイテムコンポーネントとは
2. giveコマンドでの基本の書き方
3. まず覚えるべき重要コンポーネント
4. アイテムコンポーネント一覧表
5. 名前・説明文・見た目を変えるコンポーネント
6. 耐久値・スタック数・エンチャント系コンポーネント
7. 食べ物・使用アクション系コンポーネント
8. 武器・防具・ツール系コンポーネント
9. ブロック・エンティティ・容器系コンポーネント
10. 地図・本・花火・特殊アイテム系コンポーネント
11. Mobの色・種類・見た目を指定するコンポーネント
12. Java版1.20.5以降の主な変更点
13. 実際に使えるgiveコマンド例
14. コマンドが動かない時のチェックポイント
15. まとめ
16. 引用・参考文献

この記事で分かること
・マイクラJava版のアイテムコンポーネント一覧
・Java版26.1.2時点の/giveコマンドの書き方
・旧NBT構文から新コンポーネント構文への読み替え方


1. アイテムコンポーネントとは

アイテムコンポーネントとは、アイテムに付いている性質を部品ごとに管理する仕組みです。

たとえば、1本の剣にも、実際は色々な情報が付いています。

  • アイテム名
  • 説明文
  • 耐久値
  • エンチャント
  • 攻撃力補正
  • 壊れない設定
  • 表示されるツールチップ

昔のJava版では、こういう情報をNBTタグでまとめて書くことが多かったです。

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

でも、Java版1.20.5以降は、基本的にこの書き方ではなく、角括弧[]の中にコンポーネントを書く形になりました。

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

この変更は、単なる表記ゆれではありません。

アイテムのデータが「なんとなくNBTに入っているもの」から、minecraft:custom_nameminecraft:loreminecraft:foodのように、役割ごとに分かれた正式なデータとして扱われるようになりました。

筆者の体感としても、最初は難しく見えます。
ただ、1回理解してしまえば、古いNBTよりも「どこを変えれば何が変わるか」が見やすくなります。

旧NBTとコンポーネントの違い

項目 旧NBT寄りの考え方 コンポーネントの考え方
名前 display.Nameなどで指定 minecraft:custom_nameで指定
説明文 display.Loreなどで指定 minecraft:loreで指定
壊れない設定 Unbreakable:1b minecraft:unbreakable={}
独自データ 好きなNBTを直に入れる minecraft:custom_dataに入れる
見た目変更 CustomModelData中心 minecraft:item_modelminecraft:custom_model_dataを使う


初心者さん向けに言うなら、アイテムの設定を、名前・耐久・食べ物・見た目などの部品ごとに書く仕組みだと思えばOKです。


2. giveコマンドでの基本の書き方

Java版の/giveコマンドの基本形はこれです。

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

実際に書くと、こんな感じになります。

/give @p minecraft:paper[minecraft:item_name={text:'特別な紙',color:'yellow'}] 1

コンポーネントを1つだけ付ける例

壊れないダイヤ剣を出すなら、こうです。

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

コンポーネントを複数付ける例

複数付ける時は、,で区切ります。

/give @p minecraft:diamond_sword[minecraft:custom_name={text:'ゆずかきの剣',color:'aqua',italic:false},minecraft:lore=[{text:'壊れない試作品です',color:'gray',italic:false}],minecraft:unbreakable={}] 1

minecraft: は省略できる場合もある

チャット欄で入力するとき、minecraft:は省略できることがあります。

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

ただ、本記事では分かりやすさと事故防止のため、基本的にminecraft:付きで書きます。

体験談
筆者は最初、ネットのコマンドをコピペして動かない原因が「古いNBT構文」なのか「名前空間の省略」なのか分からず、かなり迷いました。
慣れるまではminecraft:を付けて書いた方が、原因を切り分けやすいです。

既定コンポーネントを消す書き方

一部のアイテムには、最初からコンポーネントが付いています。

たとえばリンゴには食べ物としての情報があります。
その食べ物設定を外したい場合は、コンポーネント名の前に!を付けます。

/give @p minecraft:apple[!minecraft:food,!minecraft:consumable] 1

これで、見た目はリンゴだけど食べられないアイテムを作れます。

※バージョンやサーバー実装によって挙動確認が必要です。特にPaper・Spigot系サーバーでは、プラグイン側の処理が関わることがあります。


3. まず覚えるべき重要コンポーネント

全部のコンポーネントを一気に覚える必要はありません。

サバイバルの配布アイテム、配布ワールド、ミニゲーム、データパック制作でよく使うものは、かなり限られます。

まずは下の表だけ覚えれば、だいたい遊べます。

コンポーネント 何ができる? よく使う場面
minecraft:custom_name アイテム名を付ける イベント配布品、専用武器、キーアイテム
minecraft:item_name アイテム本来の表示名を置き換える 金床で変えられたくない名前
minecraft:lore 説明文を追加する 効果説明、入手日、注意書き
minecraft:custom_data 独自タグを保存する コマンド判定、データパック判定
minecraft:enchantment_glint_override エンチャントの光り方だけ制御する 光る記念アイテム
minecraft:unbreakable 耐久が減らないようにする 壊したくない装備や道具
minecraft:max_stack_size 最大スタック数を変える 通貨、チケット、専用素材
minecraft:tooltip_display ツールチップ表示を隠す 見た目をきれいにしたい配布アイテム
minecraft:item_model リソースパック側のアイテムモデルを指定する カスタムアイテム風の見た目
minecraft:foodminecraft:consumable 食べ物・使用アイテム化する 回復アイテム、特殊アイテム


特にcustom_namelorecustom_dataenchantment_glint_overrideは使用頻度が高いです。

筆者なら、最初にこの4つから覚えます。


4. アイテムコンポーネント一覧表

ここでは、Java版26.1.2時点で確認できるアイテムコンポーネントを一覧化します。

一つ一つの詳細な内部形式まで全部書くと、記事が辞書になって読みにくくなるため、ここでは検索用の一覧+用途の短い説明に絞ります。
実際によく使うものは、後の章で例付きで解説しますね。

コンポーネントID 主な用途 初心者向けメモ
minecraft:additional_trade_cost村人取引生成時の一時的な追加コスト取引生成後に消える特殊な値です
minecraft:attack_range攻撃が届く範囲の調整槍などの武器仕様で重要
minecraft:attribute_modifiers攻撃力・移動速度などの属性補正装備カスタムで使いますが書式はやや難しめ
minecraft:axolotl/variantウーパールーパーの種類バケツやスポーン系で使う見た目指定
minecraft:banner_patterns旗の模様データ盾や旗の見た目に関係します
minecraft:base_color盾の基本色旗の模様を盾へ写す時にも関係します
minecraft:beesミツバチ入りブロックの中身ハチの巣・養蜂箱で使われます
minecraft:block_entity_dataブロックエンティティのデータチェストやスポナーなど高度な用途
minecraft:block_stateブロック状態設置時の状態指定に関係します
minecraft:blocks_attacks攻撃を防ぐ挙動盾系・防御系の仕様で使われます
minecraft:break_sound壊れた時の音専用装備や特殊アイテム向け
minecraft:bucket_entity_dataバケツ入りMobに適用する補助データ1.21.5以降は見た目指定に専用コンポーネントも使います
minecraft:bundle_contentsバンドルの中身バンドル内アイテム管理
minecraft:can_breakアドベンチャーモードで壊せるブロック配布マップでよく使います
minecraft:can_place_onアドベンチャーモードで置けるブロック配布マップでかなり便利
minecraft:cat/collarネコの首輪色スポーンエッグ等の見た目指定
minecraft:cat/sound_variantネコの鳴き声バリエーション26.1系で重要になった音の種類
minecraft:cat/variantネコの柄色違い・種類指定で使用
minecraft:charged_projectilesクロスボウに装填された弾装填済みクロスボウを作る時に使います
minecraft:chicken/sound_variantニワトリの鳴き声バリエーション26.1系の音バリエーション
minecraft:chicken/variantニワトリの種類スポーン系の見た目指定
minecraft:consumable使用・消費アクション食べ物化にはfoodと組み合わせることが多いです
minecraft:container容器内のアイテムシュルカーボックスなどの中身
minecraft:container_loot容器のルートテーブル高度な戦利品設定
minecraft:cow/sound_variantウシの鳴き声バリエーション26.1系の音バリエーション
minecraft:cow/variantウシの種類スポーン系の見た目指定
minecraft:custom_data自由な独自データコマンド判定用にとても便利
minecraft:custom_model_dataカスタムモデル用データ1.21.4以降は用途が広がっています
minecraft:custom_name金床名のようなカスタム名よく使います。斜体に注意
minecraft:damage現在の耐久消費量max_damageとセットで考えます
minecraft:damage_resistant特定ダメージへの耐性火や爆発などへの耐性指定で使用
minecraft:damage_typeダメージ種別武器・攻撃仕様の高度な設定
minecraft:death_protection死亡時保護系の処理トーテム系の特殊挙動に関係
minecraft:debug_stick_stateデバッグ棒の状態通常は触らなくてOK
minecraft:dye染料の色情報26.1系で追加。染色レシピや首輪色などに関係
minecraft:dyed_color革防具などの染色色指定でよく使います
minecraft:enchantableエンチャント適性独自装備のエンチャント可否に関係
minecraft:enchantment_glint_overrideエンチャントの光だけ制御光る記念アイテム作成に便利
minecraft:enchantments実際に付いているエンチャント武器・道具・防具でよく使います
minecraft:entity_dataスポーンするエンティティのデータスポーンエッグや防具立てなど高度な用途
minecraft:equippable装備できるスロット防具・馬鎧・鞍系のカスタムに関係
minecraft:firework_explosion花火の星の爆発データ色・形・きらめき等
minecraft:fireworks花火ロケットのデータ飛翔時間や爆発内容
minecraft:food満腹度・隠し満腹度食べ物化の本体データ
minecraft:fox/variantキツネの種類赤・白などの指定に使用
minecraft:frog/variantカエルの種類温帯・寒帯・熱帯など
minecraft:glider滑空できる設定エリトラ的な挙動に関係
minecraft:horse/variantウマの見た目色や模様指定
minecraft:instrumentヤギの角笛などの楽器音を出すアイテムで使用
minecraft:intangible_projectile回収できない投射物クリエイティブ・特殊投射物向け
minecraft:item_modelアイテムモデル指定1.21.4以降の見た目変更で重要
minecraft:item_name基本アイテム名の上書き金床で変えられにくい表示名
minecraft:jukebox_playableジュークボックス再生音楽ディスク系
minecraft:kinetic_weapon速度を使う武器挙動槍などの新しめの武器仕様
minecraft:llama/variantラマの種類見た目指定
minecraft:lockロック付きコンテナ鍵アイテムが必要なチェスト作りに使えます
minecraft:lodestone_trackerロードストーンコンパス情報コンパスの追跡先
minecraft:loreアイテム説明文かなりよく使います
minecraft:map_color地図上の色地図表示に関係
minecraft:map_decorations地図の装飾表示地図マーカーなど
minecraft:map_id地図ID既存地図の識別
minecraft:map_post_processing地図作成後処理拡張・コピー系で使用
minecraft:max_damage最大耐久値耐久アイテム化で重要
minecraft:max_stack_size最大スタック数通貨やチケット作りに便利
minecraft:minimum_attack_charge攻撃に必要な溜め武器の攻撃仕様向け
minecraft:mooshroom/variantムーシュルームの種類赤・茶色など
minecraft:note_block_sound音符ブロック音プレイヤーヘッド等の音に関係
minecraft:ominous_bottle_amplifier不吉な瓶のレベル0〜4の段階指定
minecraft:painting/variant絵画の種類絵画アイテム・スポーン系
minecraft:parrot/variantオウムの種類色違い指定
minecraft:piercing_weapon貫通系武器挙動槍などの仕様で使用
minecraft:pig/sound_variantブタの鳴き声バリエーション26.1系の音バリエーション
minecraft:pig/variantブタの種類見た目指定
minecraft:pot_decorations飾り壺の模様壺の各面データ
minecraft:potion_contentsポーション内容薬水・矢・ポーション系
minecraft:potion_duration_scaleポーション時間倍率効果時間の調整
minecraft:profileプレイヤープロフィールプレイヤーヘッド等
minecraft:provides_banner_patterns旗の模様素材として使える情報織機・旗模様系
minecraft:provides_trim_material防具装飾素材として使える情報鍛冶台・装飾素材系
minecraft:rabbit/variantウサギの種類色違い指定
minecraft:rarityレアリティアイテム名の色や表示に関係
minecraft:recipes知っているレシピレシピブック系
minecraft:repair_cost金床修理コスト金床作業のコストに関係
minecraft:repairable修理素材独自装備の修理設定向け
minecraft:salmon/sizeサケのサイズバケツ・スポーン系
minecraft:sheep/colorヒツジの色色付きヒツジ指定
minecraft:shulker/colorシュルカーの色色付きシュルカー指定
minecraft:stored_enchantmentsエンチャント本の中身エンチャント本用
minecraft:suspicious_stew_effects怪しげなシチューの効果隠し効果付きシチュー
minecraft:swing_animation攻撃時の振りアニメーション武器カスタム向け
minecraft:tool採掘ツール設定ブロック破壊速度など
minecraft:tooltip_displayツールチップ表示制御余計な説明を隠す時に便利
minecraft:tooltip_styleツールチップの見た目リソースパック向け
minecraft:trim防具装飾鍛冶型の装飾データ
minecraft:tropical_fish/base_color熱帯魚の基本色熱帯魚バケツ等
minecraft:tropical_fish/pattern熱帯魚の模様熱帯魚バケツ等
minecraft:tropical_fish/pattern_color熱帯魚の模様色熱帯魚バケツ等
minecraft:unbreakable壊れない設定配布装備・専用道具で便利
minecraft:use_cooldown使用後のクールダウン連打防止の特殊アイテム
minecraft:use_effects使用中・使用時の効果高度な消費アイテム向け
minecraft:use_remainder使用後に残るアイテムバケツや瓶のような戻りアイテム
minecraft:villager/variant村人の種類バイオーム別村人の見た目
minecraft:weapon武器としての基本挙動攻撃系アイテム向け
minecraft:wolf/collarオオカミの首輪色ペットの見た目指定
minecraft:wolf/sound_variantオオカミの鳴き声バリエーション音の種類指定
minecraft:wolf/variantオオカミの種類見た目指定
minecraft:writable_book_content本と羽根ペンの内容未署名の本
minecraft:written_book_content署名済みの本の内容配布本・説明本
minecraft:zombie_nautilus/variantゾンビオウムガイの種類1.21.11以降のMob系指定


この一覧を見ると分かる通り、全部を普段使いするわけではありません。

初心者さんがまず使うのは、名前・説明文・光る見た目・壊れない設定・独自データあたりです。


5. 名前・説明文・見た目を変えるコンポーネント

ここからは、実際に使いやすいコンポーネントを解説します。
まずは一番使う、見た目まわりです。

custom_name:アイテム名を付ける

minecraft:custom_nameは、金床で名前を付けたようなカスタム名を設定するコンポーネントです。

/give @p minecraft:paper[minecraft:custom_name={text:'冒険者のメモ',color:'gold',italic:false}] 1

italic:falseを入れないと、アイテム名が斜体っぽく見えることがあります。
日本語名のアイテムを作るなら、個人的には入れておくのがおすすめです。

item_name:元のアイテム名そのものを置き換える

minecraft:item_nameは、アイテム本来の表示名を置き換えるコンポーネントです。

/give @p minecraft:apple[minecraft:item_name={text:'かたいリンゴ',color:'red'}] 1

custom_nameは金床名に近い扱いですが、item_nameはもっと「元の名前を差し替える」感覚です。

使い分けの目安
・プレイヤーが名前を変えても良いアイテム:custom_name
・配布品として名前を固定したいアイテム:item_name

lore:説明文を付ける

minecraft:loreは、アイテムに説明文を追加するコンポーネントです。

/give @p minecraft:paper[minecraft:custom_name={text:'古い地図の切れ端',color:'yellow',italic:false},minecraft:lore=[{text:'どこかの村を示しているようです',color:'gray',italic:false}]] 1

複数行にしたい時は、リストの中に複数入れます。

/give @p minecraft:paper[minecraft:lore=[{text:'1行目の説明です',color:'gray',italic:false},{text:'2行目の説明です',color:'dark_gray',italic:false}]] 1

配布マップやサーバーイベントなら、ここに「使い方」や「入手場所」を書いておくと親切です。

enchantment_glint_override:光る見た目だけ付ける

minecraft:enchantment_glint_overridetrueにすると、エンチャントが無くても光る見た目になります。

/give @p minecraft:amethyst_shard[minecraft:item_name={text:'光る欠片',color:'light_purple'},minecraft:enchantment_glint_override=true] 1

逆に、エンチャント付きなのに光らせたくない場合はfalseにします。

/give @p minecraft:diamond_sword[minecraft:enchantments={minecraft:sharpness:5},minecraft:enchantment_glint_override=false] 1

tooltip_display:余計な表示を隠す

Java版1.21.5以降、ツールチップの表示制御はminecraft:tooltip_displayに整理されています。

たとえば、壊れない表示を隠したいならこうです。

/give @p minecraft:diamond_sword[minecraft:unbreakable={},minecraft:tooltip_display={hidden_components:['minecraft:unbreakable']}] 1

アイテムの説明を全部隠したい場合は、hide_tooltip:trueを使います。

/give @p minecraft:paper[minecraft:item_name={text:'何も表示しない紙'},minecraft:tooltip_display={hide_tooltip:true}] 1

ただし、全部隠すとプレイヤーが何のアイテムか分かりにくくなるので、普段はhidden_componentsで必要な部分だけ隠すのがおすすめです。


6. 耐久値・スタック数・エンチャント系コンポーネント

次は、道具や装備を作る時によく使うコンポーネントです。

unbreakable:壊れないアイテムにする

壊れない道具や武器を作るなら、minecraft:unbreakableを使います。

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

イベント用のツルハシ、配布マップの専用道具、撮影用アイテムなどに便利です。

max_damage:最大耐久値を変える

minecraft:max_damageは、最大耐久値を指定します。

/give @p minecraft:stick[minecraft:max_damage=100,minecraft:max_stack_size=1] 1

棒のような本来は耐久を持たないアイテムにも、耐久アイテムっぽいデータを持たせられます。
ただし、耐久を持たせる場合は、基本的にmax_stack_size=1にしておくのが安全です。

damage:現在どれだけ傷んでいるか

minecraft:damageは、現在の耐久消費量です。

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

耐久が減った状態のアイテムを配布したい時に使えます。

max_stack_size:最大スタック数を変える

minecraft:max_stack_sizeは、アイテムの最大スタック数を指定します。

/give @p minecraft:paper[minecraft:item_name={text:'イベントチケット',color:'gold'},minecraft:max_stack_size=16] 16

通貨、チケット、交換券のようなアイテムで便利です。

※最大スタック数を変えたアイテムは、通常アイテムとスタックが分かれることがあります。サーバーで使う時は必ずテストしましょう。

enchantments:エンチャントを付ける

minecraft:enchantmentsで、アイテムにエンチャントを付けられます。

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

1.21.5以降は、以前のlevels:{...}のような書き方から簡略化されています。
古い記事のコマンドをコピペすると、ここで引っかかることが多いです。

stored_enchantments:エンチャント本の中身

エンチャント本を作る場合は、minecraft:stored_enchantmentsを使います。

/give @p minecraft:enchanted_book[minecraft:stored_enchantments={minecraft:mending:1}] 1

enchantmentsではなくstored_enchantmentsです。
ここは間違えやすいので注意してくださいね。


7. 食べ物・使用アクション系コンポーネント

アイテムを食べ物化したり、右クリックで使うアイテムにしたい場合は、食べ物・使用系のコンポーネントを使います。

food:満腹度などを設定する

minecraft:foodは、満腹度や隠し満腹度を設定するコンポーネントです。

/give @p minecraft:diamond[minecraft:food={nutrition:4,saturation:2.4,can_always_eat:true},minecraft:consumable={consume_seconds:1.6,animation:'eat'}] 1

上の例は、ダイヤモンドを食べ物のように使えるアイテムにする例です。

重要なのは、Java版1.21.2以降では、食べ物としての数値はfood、使用動作はconsumableという感じで分かれている点です。

foodだけ付けても、右クリックで食べられない場合があります。
食べ物化したいなら、consumableも一緒に確認してください。

consumable:使う動作を設定する

minecraft:consumableは、アイテムを使う動作を設定します。

/give @p minecraft:paper[minecraft:item_name={text:'食べられる紙'},minecraft:food={nutrition:1,saturation:0.5,can_always_eat:true},minecraft:consumable={consume_seconds:2.0,animation:'eat',sound:'minecraft:entity.generic.eat'}] 1

consume_secondsで使用にかかる秒数、animationで食べる・飲むなどの動作を指定できます。

use_cooldown:連打防止のクールダウン

minecraft:use_cooldownは、使用後のクールダウンを設定します。

/give @p minecraft:blaze_rod[minecraft:item_name={text:'再使用に時間がかかる杖',color:'gold'},minecraft:use_cooldown={seconds:5.0,cooldown_group:'yuzukaki:magic_wand'}] 1

同じcooldown_groupを持つアイテム同士で、クールダウンを共有できます。
サーバーイベントの特殊アイテムを作る時にかなり便利です。

use_remainder:使用後に残るアイテム

minecraft:use_remainderは、使ったあとに別アイテムを残す設定です。

/give @p minecraft:honey_bottle[minecraft:use_remainder={id:'minecraft:glass_bottle',count:1}] 1

バケツや瓶のように、使ったあと容器が返ってくる挙動を作れます。


8. 武器・防具・ツール系コンポーネント

ここは少し上級者向けです。
ただ、カスタム武器や専用装備を作りたい方には重要です。

attribute_modifiers:攻撃力や移動速度などを変える

minecraft:attribute_modifiersは、プレイヤーの能力値に補正をかけるコンポーネントです。

攻撃力アップ、移動速度アップ、最大体力アップなどに関係します。

ただし、書式が長くなりやすく、装備スロットや演算方法なども絡むため、初心者さんが最初に手打ちするには少し重いです。

筆者メモ
ここは無理に手打ちせず、慣れるまではコマンド生成ツールで形を作ってから調整する方が安全です。

equippable:装備スロットを指定する

minecraft:equippableは、どのスロットに装備できるかを指定するコンポーネントです。

/give @p minecraft:paper[minecraft:item_name={text:'頭に装備できる紙'},minecraft:equippable={slot:'head'},minecraft:max_stack_size=1] 1

リソースパックと組み合わせると、専用帽子や装飾品のような装備を作れます。

tool:採掘ツールとしての設定

minecraft:toolは、ブロックを壊す速度や適正ブロックに関係します。

バニラのツルハシ・斧・シャベルのような採掘ツール挙動を、データ側で指定するためのコンポーネントです。

weapon:武器としての設定

minecraft:weaponは、武器の基本挙動に関係します。

剣・斧・槍のような攻撃用アイテムを細かく作りたい場合に触る項目です。

attack_range:攻撃範囲

minecraft:attack_rangeは、攻撃が届く範囲を調整するコンポーネントです。

1.21.11系で槍などの武器仕様に関係して重要になりました。
通常の剣や斧を少し触るだけなら不要ですが、独自武器を作りたい場合は覚えておくと良いです。

kinetic_weapon・piercing_weapon:槍系の武器挙動

minecraft:kinetic_weaponminecraft:piercing_weaponは、槍などの新しい武器仕様に関係するコンポーネントです。

  • kinetic_weapon:速度や突進系の攻撃に関係
  • piercing_weapon:貫通・突き刺し系の挙動に関係

普段の/give遊びでは出番は少なめですが、データパック制作ではかなり重要になりそうな項目です。


9. ブロック・エンティティ・容器系コンポーネント

ブロック設置、スポーンエッグ、シュルカーボックス、チェストなどを扱う時に使うコンポーネントです。

can_place_on:置けるブロックを指定する

アドベンチャーモードで「このブロックの上にだけ置ける」という指定をする時に使います。

/give @p minecraft:oak_planks[minecraft:can_place_on={blocks:'minecraft:stone'}] 64

配布マップで、プレイヤーに置ける場所を制限したい時に便利です。

can_break:壊せるブロックを指定する

こちらは逆に、「この道具でこのブロックだけ壊せる」という指定です。

/give @p minecraft:iron_pickaxe[minecraft:can_break={blocks:'minecraft:stone'}] 1

アドベンチャーモードのダンジョンや謎解きでよく使えます。

container:中身入りの容器

minecraft:containerは、シュルカーボックスなどの中身に関係するコンポーネントです。

実用例としては、中身入りシュルカーボックスの配布、イベント報酬ボックスなどです。
ただし、手打ちすると長くなりやすいので、ここも生成ツール利用が安全です。

block_entity_data:ブロックエンティティのデータ

minecraft:block_entity_dataは、チェスト、看板、スポナーなど、ブロックエンティティを持つブロックの詳細データを扱います。

強力ですが、間違えるとコマンドが長くなりすぎます。
初心者さんは、まずcustom_nameloreに慣れてから触るのがおすすめです。

entity_data:スポーンするエンティティのデータ

minecraft:entity_dataは、スポーンエッグや防具立てなど、アイテムから出てくるエンティティのデータに関係します。

Mobの名前、状態、装備、年齢などを指定したい時に出番があります。


10. 地図・本・花火・特殊アイテム系コンポーネント

この章は、特定アイテム専用のコンポーネントが多いです。
普段のサバイバル記事ではあまり使いませんが、配布ワールド制作では出番があります。

potion_contents:ポーション内容

minecraft:potion_contentsは、ポーションや効果付きの矢の中身を管理します。

/give @p minecraft:potion[minecraft:potion_contents={potion:'minecraft:healing'}] 1

ポーション系アイテムをコマンドで作る時の基本です。

written_book_content:署名済みの本

minecraft:written_book_contentは、署名済みの本の内容です。

説明書、ルールブック、クエスト文書を配布したい時に使えます。

writable_book_content:本と羽根ペン

こちらは未署名の本、本と羽根ペンの内容です。

配布アイテムとしてはwritten_book_contentの方が使いやすいです。

firework_explosion・fireworks:花火

花火の色や形は、主にこの2つです。

  • minecraft:firework_explosion:花火の星の爆発データ
  • minecraft:fireworks:花火ロケット全体のデータ

色や形を細かく指定できる一方で、コマンドは長くなりやすいです。

trim:防具装飾

minecraft:trimは、防具装飾のデータです。

/give @p minecraft:diamond_chestplate[minecraft:trim={material:'minecraft:gold',pattern:'minecraft:vex'}] 1

防具の見た目を配布コマンドで決めたい時に使えます。


11. Mobの色・種類・見た目を指定するコンポーネント

Java版1.21.5以降、Mobの種類や色もコンポーネントとして扱われるものが増えました。

たとえば、次のようなものです。

  • minecraft:cat/variant:ネコの柄
  • minecraft:wolf/variant:オオカミの種類
  • minecraft:sheep/color:ヒツジの毛色
  • minecraft:shulker/color:シュルカーの色
  • minecraft:tropical_fish/base_color:熱帯魚の基本色
  • minecraft:tropical_fish/pattern_color:熱帯魚の模様色

色違いMobを書く時の注意

色違いMobを記事で解説する場合は、必ず色名と実際の見た目を確認してから書くのが大事です。

たとえばヒツジなら、白、橙、赤紫、空色、黄色、黄緑、桃、灰色、薄灰色、青緑、紫、青、茶、緑、赤、黒のように、染料色に対応した色があります。

熱帯魚はさらにややこしく、基本色・模様・模様色が分かれます。
見た目を説明する記事なら、ここはスクリーンショット確認込みで書いた方が安全です。

sound_variant:鳴き声の種類

26.1系では、ネコ・ブタ・ウシ・ニワトリの大人の鳴き声バリエーションや、オオカミなどの子ども用サウンドも整理されています。
それに対応するコンポーネントとして、次のようなものがあります。

  • minecraft:cat/sound_variant
  • minecraft:pig/sound_variant
  • minecraft:cow/sound_variant
  • minecraft:chicken/sound_variant
  • minecraft:wolf/sound_variant

見た目だけではなく、鳴き声の種類もデータで扱う時代になってきましたね。


12. Java版1.20.5以降の主な変更点

ここは、古いコマンド記事を読む時にかなり大事です。

1.20.5:アイテムNBTからコンポーネントへ移行

Java版1.20.5で、アイテムスタックのデータは大きく変更されました。

昔のような、

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

という書き方ではなく、

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

のように、コンポーネントで書く形が基本になりました。

1.21.2:foodとconsumableの考え方が重要に

1.21.2系では、食べ物や消費アイテムまわりが整理され、foodconsumableの使い分けが重要になりました。

食べ物っぽい数値だけならfood、実際に使う動作はconsumableという意識で見ると分かりやすいです。

1.21.4:item_modelとcustom_model_dataまわりが強化

1.21.4では、アイテムモデルまわりの仕組みが大きく変わりました。

昔はCustomModelDataだけを見ていた方も多いと思いますが、現在はminecraft:item_modelを使って、リソースパック側のモデル指定を行う場面が増えています。

リソースパックで専用見た目のアイテムを作るなら、ここは避けて通れません。

1.21.5:tooltip_displayに表示制御が統合

1.21.5以降、ツールチップ表示の制御はminecraft:tooltip_displayに整理されました。

古い記事にあるshow_in_tooltip:falsehide_tooltiphide_additional_tooltipなどは、そのまま使えない場合があります。

今は基本的に、

minecraft:tooltip_display={hidden_components:['minecraft:unbreakable']}

のように書きます。

1.21.5:テキストコンポーネントの書き方も変化

1.21.5以降は、テキストコンポーネントが文字列に包まれたJSONではなく、外側の構造に直接入る形へ寄っています。

古い例:

minecraft:custom_name='{"text":"名前"}'

新しめの例:

minecraft:custom_name={text:'名前'}

古い記事を見ていてコマンドが通らない時は、ここが原因のこともあります。

1.21.11:attack_rangeやゾンビオウムガイ関連

1.21.11では、槍などの武器仕様に関係するminecraft:attack_rangeや、ゾンビオウムガイの種類を扱うminecraft:zombie_nautilus/variantなどが重要になりました。

26.1:バージョン番号が新方式に

Java版は1.21.11の次に、26.1系のバージョンへ移っています。

26.1では、minecraft:additional_trade_costminecraft:dyeの追加、Mobの音バリエーションなど、データまわりにも変更があります。

「1.21.11より新しいバージョンなのに、なぜ26.1?」と迷うかもしれませんが、これはバージョン番号の付け方が新しくなったためです。

本記事では、正式リリース版のJava版26.1.2時点を基準にしています。


13. 実際に使えるgiveコマンド例

ここでは、コピペして試しやすい例をまとめます。
ワールドやサーバーの権限設定によっては、先頭の/が不要な場合もあります。

名前付きの紙

/give @p minecraft:paper[minecraft:custom_name={text:'ゆずかきメモ',color:'gold',italic:false}] 1

一番基本です。
まずはこれが動くか確認すると、バージョンや権限の確認にもなります。

説明文付きのイベントチケット

/give @p minecraft:paper[minecraft:item_name={text:'イベントチケット',color:'yellow'},minecraft:lore=[{text:'会場入口で使用します',color:'gray',italic:false},{text:'なくさないようにしてください',color:'dark_gray',italic:false}],minecraft:max_stack_size=16] 1

配布サーバーやイベントワールドで使いやすい形です。

光るだけのアメジスト

/give @p minecraft:amethyst_shard[minecraft:item_name={text:'光るアメジストの欠片',color:'light_purple'},minecraft:enchantment_glint_override=true] 1

エンチャント効果は付けずに、見た目だけ光らせたい時に便利です。

壊れないツルハシ

/give @p minecraft:diamond_pickaxe[minecraft:custom_name={text:'壊れない採掘ツルハシ',color:'aqua',italic:false},minecraft:unbreakable={}] 1

建築勢、整地勢、撮影用ワールドで便利です。

壊れない表示を隠した剣

/give @p minecraft:diamond_sword[minecraft:custom_name={text:'静かな剣',color:'dark_aqua',italic:false},minecraft:unbreakable={},minecraft:tooltip_display={hidden_components:['minecraft:unbreakable']}] 1

ツールチップをきれいにしたい時に使えます。

独自データ付きの紙

/give @p minecraft:paper[minecraft:item_name={text:'クエスト証明書',color:'green'},minecraft:custom_data={quest_id:'village_001',completed:1b}] 1

データパックやコマンドで判定したいアイテムに向いています。

食べられるダイヤモンド

/give @p minecraft:diamond[minecraft:item_name={text:'食べられるダイヤ',color:'aqua'},minecraft:food={nutrition:6,saturation:4.0,can_always_eat:true},minecraft:consumable={consume_seconds:2.0,animation:'eat',sound:'minecraft:entity.generic.eat'}] 1

ネタアイテムにも、特殊回復アイテムにも使えます。

クールダウン付きの杖

/give @p minecraft:blaze_rod[minecraft:item_name={text:'再使用に時間がかかる杖',color:'gold'},minecraft:use_cooldown={seconds:10.0,cooldown_group:'yuzukaki:magic_wand'},minecraft:enchantment_glint_override=true] 1

右クリック処理と組み合わせると、ミニゲームのスキルアイテムっぽくできます。

アドベンチャーモードで石にだけ置ける木材

/give @p minecraft:oak_planks[minecraft:can_place_on={blocks:'minecraft:stone'}] 16

配布マップで「ここにだけブロックを置いて進む」仕掛けを作る時に使えます。

アドベンチャーモードで石だけ壊せるツルハシ

/give @p minecraft:iron_pickaxe[minecraft:can_break={blocks:'minecraft:stone'}] 1

探索マップや脱出マップ向けです。

トリム付き防具

/give @p minecraft:diamond_chestplate[minecraft:trim={material:'minecraft:gold',pattern:'minecraft:vex'}] 1

防具の見た目を最初から指定して配りたい時に便利です。


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

コマンドをコピペしたのに赤くなる
古い記事の通りに書いたのに動かない

こういう時は、下のチェックポイントを見てください。

  • [ ] Java版ですか?統合版の構文を見ていませんか?
  • [ ] バージョンは1.20.5以降ですか?
  • [ ] 旧NBTの{Unbreakable:1b}をそのまま使っていませんか?
  • [ ] コンポーネントは[]の中に書いていますか?
  • [ ] 複数コンポーネントの区切り,を忘れていませんか?
  • [ ] テキストの引用符が崩れていませんか?
  • [ ] custom_nameの中に日本語を入れた時、全角記号が混ざっていませんか?
  • [ ] foodだけでなくconsumableも必要なアイテムではありませんか?
  • [ ] 1.21.5より前の記事のshow_in_tooltip:falseを見ていませんか?
  • [ ] サーバー側がPaper・Spigot等で、バニラと挙動差が出ていませんか?

体験談
筆者が一番引っかかったのは、古いコマンド記事のshow_in_tooltip:falseです。
現在はtooltip_displayへ整理されているので、古い記事を読む時は注意しましょう。

まずは短いコマンドで動作確認する

いきなり長いコマンドを書くと、どこが悪いのか分かりにくいです。
まずは、短いコマンドで確認しましょう。

/give @p minecraft:paper[minecraft:item_name={text:'テスト'}] 1

これが動くなら、次にloreunbreakablecustom_dataと、少しずつ足していくのがおすすめです。


15. まとめ

以上、マイクラJava版のアイテムコンポーネント一覧と、/giveコマンドでの使い方を解説しました。

要点を整理すると、

  • Java版1.20.5以降、アイテムの細かいデータはコンポーネント構文が基本
  • /give @p アイテムID[コンポーネント=値] 個数の形で書く
  • 名前はcustom_name、説明文はlore、独自判定はcustom_dataが便利
  • 1.21.5以降はtooltip_displayやテキストコンポーネントの書き方に注意
  • 最新の正式リリースでは、26.1系の追加コンポーネントも確認しておくと安心

全部を一気に覚える必要はありません。

最初は、

/give @p minecraft:paper[minecraft:custom_name={text:'名前',italic:false}]

これが書ければ十分です。
そこからlorecustom_dataenchantment_glint_overrideunbreakableと増やしていけば、自然と使える幅が広がります。

マイクラのコマンドは、バージョンごとに書き方が変わることがあります。
特にJava版1.20.5以降の記事では、古いNBT構文と新しいコンポーネント構文が混ざりやすいので、必ず自分のプレイバージョンに合わせて確認してくださいね。

では、本日はここまでで終わります。
最後までご覧いただき、ありがとうございました。


16. 引用・参考文献

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