【マイクラ】giveコマンドの使い方・構文・アイテム取得例【Java版】

この記事はマイクラJava版向けのgiveコマンド解説です
Java版1.20.5以降のアイテムコンポーネント形式を中心に書いています
統合版(BE)とは構文が違うので、そのままコピペしないようご注意ください

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

マイクラでクリエイティブ検証をしている時、
「ダイヤをすぐ出したい」
「名前付きの武器を作りたい」
「配布ワールド用に特殊アイテムを渡したい」
と思ったことはありませんか?

そんな時に使うのが、giveコマンドです。

ただし、giveコマンドは一見簡単そうに見えて、Java版1.20.5以降でアイテムの細かい指定方法が大きく変わっています。
昔のサイトに載っている{Enchantments:...}みたいなNBT形式をそのまま使うと、今のバージョンでは赤文字エラーになることがあります。

なのでこの記事では、初心者さんでも迷わないように、

  • 基本のgiveコマンドの使い方
  • アイテムIDと個数指定の考え方
  • 名前付きアイテム・エンチャント付きアイテムの作り方
  • Java版1.20.5以降の変更点
  • よくあるエラーと直し方

を、実際に使う場面ベースで整理していきますね。

最初は、ダイヤを出すだけでOKです。
そこから少しずつ、名前付きの剣や、壊れないツルハシなどを作れるようになっていきましょう👌

※本記事はJava版のコマンド仕様をもとに構成しています。
※ゲーム内の仕様については、Minecraft公式リリースノートおよび海外コミュニティWikiを参考にしています。
※Java版1.20.5以降では、従来のアイテムNBTではなく、アイテムコンポーネント形式で書くのが基本です。


目次

1. giveコマンドとは
2. giveコマンドを使う前の準備
3. giveコマンドの基本構文
4. ターゲット指定の使い分け
5. 基本アイテムを入手するコマンド例
6. 個数指定と100スタック制限
7. 名前付きアイテムを作る方法
8. エンチャント付きアイテムを作る方法
9. ポーション・スポーンエッグ・特殊アイテムのgive例
10. Java版1.20.5以降で変わった重要ポイント
11. よくあるエラーと直し方
12. まとめ
13. 参考文献

この記事で分かること
・Java版のgiveコマンドの基本構文
・ダイヤ、装備、ブロックなどを出す実用例
・名前付き・エンチャント付きアイテムの作り方
・旧NBT形式と現在のアイテムコンポーネント形式の違い


1. giveコマンドとは

giveコマンドは、指定したプレイヤーにアイテムを渡すためのコマンドです。

たとえば、次のコマンドを実行すると、自分にダイヤモンドが64個渡されます。

/give @s minecraft:diamond 64

これだけ見ると、かなりシンプルですよね。

ただ、giveコマンドは単にアイテムを出すだけではありません。
書き方を少し足すことで、次のようなアイテムも作れます。

  • 名前付きの剣
  • エンチャント付きのツルハシ
  • 壊れない道具
  • 説明文付きのアイテム
  • 効果付きポーション
  • 特殊なスポーンエッグ
  • アドベンチャーモード用の設置・破壊制限付きアイテム

つまりgiveコマンドは、検証用・建築用・配布ワールド制作・サーバー運営などでかなり便利なコマンドです。

筆者は、装置検証ワールドで素材を出す時によく使っています。
サバイバル本番ワールドで乱用すると達成感が薄れるので、筆者の場合は基本的に検証用ワールド限定ですね。

体験談
最初の頃は、毎回クリエイティブインベントリから探していました。
でも、よく使うアイテムはgiveコマンドを覚えた方が早いです。
特に、ダイヤ・レッドストーン・ホッパー・ガラスあたりはコマンドで出すと検証がかなり楽になります👌


2. giveコマンドを使う前の準備

giveコマンドを使うには、まずコマンドを実行できる状態にしておく必要があります。

シングルプレイなら、ワールド作成時にチートの許可:オンにしておくのが一番簡単です。
すでに作ったワールドで一時的に使いたい場合は、LANに公開してチートをオンにする方法もあります。

サーバーで使う場合は、OP権限など、コマンドを実行できる権限が必要です。

チャット欄から実行する

基本的には、チャット欄を開いてそのまま入力すればOKです。

/give @s minecraft:diamond 64

実行に成功すると、自分のインベントリにダイヤモンドが64個入ります。
もしインベントリがいっぱいの場合は、プレイヤーの足元にアイテムとして出ることがあります。

コマンドブロックで使う場合

コマンドブロックでもgiveコマンドは使えます。

ただし、コマンドブロックで@sを使うと、コマンドブロック自身が実行者扱いになるため、プレイヤーに渡したい時は@pなどを使う方が分かりやすいです。

give @p minecraft:bread 16

※コマンドブロックでは、先頭の/は入れずに書くのが基本です。
※チャット欄では、普段通り/giveで書けば大丈夫です。


3. giveコマンドの基本構文

Java版のgiveコマンドの基本形は、次の形です。

give <ターゲット> <アイテム> [個数]

チャット欄で使う場合は、先頭に/を付けてこう書きます。

/give @s minecraft:diamond 64

それぞれの意味は下記です。

部分 意味
ターゲット @s 誰に渡すか
アイテム minecraft:diamond 何を渡すか
個数 64 いくつ渡すか


個数を省略すると、1個渡されます。

/give @s minecraft:diamond

👆この場合は、ダイヤモンドが1個だけ渡されます。

アイテムIDはminecraft:を付けると安全

アイテムIDは、基本的にminecraft:diamondのように書きます。

/give @s minecraft:oak_log 64
/give @s minecraft:iron_ingot 64
/give @s minecraft:redstone 64

minecraft:を省略しても通ることはありますが、記事やメモとして残すなら、minecraft:付きで書いておく方が安全です。
あとから見返した時に、どの名前空間のアイテムなのか分かりやすいからです。

筆者メモ
コマンドは「今打てるか」だけでなく、「あとで自分が見て分かるか」も大事です。
その意味でも、最初のうちはminecraft:を省略しない方がおすすめです。


4. ターゲット指定の使い分け

giveコマンドでは、誰にアイテムを渡すかをターゲットで指定します。
よく使うのは、次の4つです。

指定 意味 使う場面
@s 自分自身 チャット欄から自分に渡す時
@p 一番近いプレイヤー コマンドブロックから近くの人に渡す時
@a 全プレイヤー サーバー内の全員に配布する時
@r ランダムなプレイヤー 抽選やミニゲームで使う時


初心者さんが最初に覚えるなら、まずは@sだけで大丈夫です。

/give @s minecraft:diamond 64

これで、自分にアイテムを渡せます。

コマンドブロックでは@sに注意

チャット欄で@sを使うと、自分自身を指します。

ですが、コマンドブロックの中で@sを使うと、実行者がプレイヤーではないため、思った通りに渡せないことがあります。
コマンドブロックで近くのプレイヤーに渡したい場合は、次のように@pを使う方が分かりやすいです。

give @p minecraft:cooked_beef 16

また、全員に配りたい場合は@aです。

give @a minecraft:bread 8

サーバーイベントで参加賞を配る時などは、@aが便利ですね。
ただし、意図せず全員に配ってしまう事故もあるので、実行前に対象だけは必ず確認しましょう。


5. 基本アイテムを入手するコマンド例

ここからは、実際によく使うgiveコマンド例を紹介します。
まずは、素材・ブロック・装備など、普通のアイテムを出す例です。

ダイヤモンドを64個出す

/give @s minecraft:diamond 64

検証ワールドで一番よく使うタイプですね。
ダイヤ装備を作ったり、交易検証をしたりする時に便利です。

鉄インゴットを64個出す

/give @s minecraft:iron_ingot 64

ホッパー・金床・バケツなど、鉄を使う検証をする時に便利です。
アイアンゴーレムトラップの効率検証をする時も、比較用に鉄インゴットを出して確認できます。

原木を64個出す

/give @s minecraft:oak_log 64

オークの原木です。
木材系は種類が多いので、よく使うIDをいくつか覚えておくと楽です。

/give @s minecraft:spruce_log 64
/give @s minecraft:birch_log 64
/give @s minecraft:jungle_log 64
/give @s minecraft:acacia_log 64
/give @s minecraft:dark_oak_log 64
/give @s minecraft:mangrove_log 64
/give @s minecraft:cherry_log 64

松明を64本出す

/give @s minecraft:torch 64

湧き潰し検証には松明が必須です。
暗いところにモンスターが湧くかどうかを検証する時にもよく使います。

ホッパーを32個出す

/give @s minecraft:hopper 32

トラップや自動仕分け機の検証では、ホッパーを大量に使います。
サバイバルでは鉄コストが重いので、検証ワールドではgiveで出してしまうと楽です。

ネザライト装備を出す

/give @s minecraft:netherite_helmet 1
/give @s minecraft:netherite_chestplate 1
/give @s minecraft:netherite_leggings 1
/give @s minecraft:netherite_boots 1

ネザライト装備は1つの枠に1個ずつしかスタックできません。
そのため、個数は基本的に1でOKです。

食料を出す

/give @s minecraft:cooked_beef 64
/give @s minecraft:bread 64
/give @s minecraft:golden_carrot 64

装置検証で長時間ワールドにいる時、意外と食料を忘れます。
ピースフル以外で検証するなら、食料も一緒に出しておくと安心です。


6. 個数指定と100スタック制限

giveコマンドの最後には、渡す個数を書けます。

/give @s minecraft:diamond 64

この64が個数です。
省略すると1個になります。

64個スタックのアイテム

石・土・ダイヤモンド・鉄インゴットなど、多くのアイテムは最大64個までスタックできます。

/give @s minecraft:stone 64

このようなアイテムは、Java版では一度に100スタック分までが目安です。
64個スタックのアイテムなら、最大で6400個までです。

/give @s minecraft:stone 6400

ただし、実用上は64個や128個くらいで十分なことが多いです。
大量に出しすぎるとインベントリが埋まるので、必要分だけにしておきましょう。

16個スタックのアイテム

エンダーパールなど、最大16個までしかスタックできないアイテムもあります。

/give @s minecraft:ender_pearl 16

この場合、100スタック分は1600個です。
64スタック基準で考えるとズレるので注意してくださいね。

スタックできないアイテム

剣・ツルハシ・防具などは、基本的に1つの枠に1個ずつしかスタックできません。

/give @s minecraft:diamond_sword 1

このようなアイテムを大量に出すと、インベントリがすぐ埋まります。
装備や道具は、基本的に1個指定で十分です。

注意ポイント
giveコマンドは便利ですが、個数を大きくしすぎると足元にアイテムが散らばることがあります。
特にサーバーでは負荷の原因にもなるので、必要以上に大量配布しない方が安全です。


7. 名前付きアイテムを作る方法

ここから少しだけ応用です。

Java版1.20.5以降では、名前付きアイテムを作る時に、custom_nameというアイテムコンポーネントを使います。

たとえば、名前付きのダイヤの剣を作るなら、次のように書きます。

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

このコマンドを実行すると、「ゆずかきの剣」という名前のダイヤの剣が手に入ります。

custom_nameの見方

分解すると、こんな感じです。

minecraft:diamond_sword[custom_name='{"text":"ゆずかきの剣","color":"aqua","italic":false}']
  • minecraft:diamond_sword:ダイヤの剣
  • custom_name:アイテム名を変更する指定
  • text:表示する文字
  • color:文字色
  • italic:false:斜体をオフにする指定

italic:falseを入れないと、アイテム名が斜体表示になることがあります。
普通のアイテム名っぽく見せたいなら、入れておくと見やすいです。

色付きの名前にする例

赤色の剣にするなら、こうです。

/give @s minecraft:diamond_sword[custom_name='{"text":"炎の剣","color":"red","italic":false}'] 1

金色っぽくしたい場合は、goldが使えます。

/give @s minecraft:golden_sword[custom_name='{"text":"黄金の剣","color":"gold","italic":false}'] 1

説明文付きアイテムにする

アイテム説明文、いわゆるLoreを付けたい場合は、loreを使います。

/give @s minecraft:diamond_sword[custom_name='{"text":"拠点防衛用の剣","color":"gold","italic":false}',lore=['{"text":"ゾンビ対策に作った剣","color":"gray","italic":false}']] 1

これで、名前と説明文が付いたダイヤの剣を入手できます。
配布ワールドやミニゲーム用アイテムを作る時に便利ですね。

体験談
名前付きアイテムのコマンドで一番ミスりやすいのは、クォーテーションの数です。
赤文字エラーになった時は、まず'"の閉じ忘れを確認しましょう。


8. エンチャント付きアイテムを作る方法

エンチャント付きアイテムをgiveで作る場合は、enchantmentsコンポーネントを使います。

たとえば、ダメージ増加Ⅴのダイヤの剣を出すなら、次のように書きます。

/give @s minecraft:diamond_sword[enchantments={levels:{"minecraft:sharpness":5}}] 1

ダメージ増加Ⅴ+耐久力Ⅲの剣

複数のエンチャントを付ける場合は、カンマで区切ります。

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

効率強化Ⅴ+耐久力Ⅲ+修繕のツルハシ

検証用のツルハシなら、これがかなり使いやすいです。

/give @s minecraft:diamond_pickaxe[enchantments={levels:{"minecraft:efficiency":5,"minecraft:unbreaking":3,"minecraft:mending":1}}] 1

ブロック破壊検証をする時に便利ですね。
ただし、サバイバル本番で使うとゲームバランスが変わるので、使いどころは考えましょう。

壊れないツルハシを作る

耐久値を減らしたくない場合は、unbreakableを使います。

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

エンチャントも一緒に付けるなら、こうです。

/give @s minecraft:netherite_pickaxe[unbreakable={},enchantments={levels:{"minecraft:efficiency":5,"minecraft:fortune":3,"minecraft:unbreaking":3}}] 1

検証ワールドで整地する時は、これがかなり便利です。
ただし、通常サバイバルで使うと強すぎるので、配布ワールドや検証ワールド向けですね。

エンチャント表示を隠す

エンチャントは付けたいけれど、説明欄には表示したくない場合は、show_in_tooltip:falseを使います。

/give @s minecraft:diamond_sword[enchantments={levels:{"minecraft:sharpness":5},show_in_tooltip:false}] 1

ミニゲーム用のアイテムなどで、見た目をスッキリさせたい時に使えます。


9. ポーション・スポーンエッグ・特殊アイテムのgive例

ここでは、普通のブロックや装備以外のgive例をまとめます。
覚える必要はありませんが、必要な時にコピペできるようにしておくと便利です。

暗視のポーションを出す

/give @s minecraft:potion[potion_contents={potion:'minecraft:night_vision'}] 1

洞窟検証や湧き層の確認をする時に便利です。
暗い場所のスクリーンショットを撮る時にも使いやすいですね。

透明化のポーションを出す

/give @s minecraft:potion[potion_contents={potion:'minecraft:invisibility'}] 1

モブの挙動確認や、スクリーンショット撮影の補助に使えます。

プレイヤーの頭を出す

プレイヤーヘッドは、profileを使って指定できます。

/give @s minecraft:player_head[profile='MHF_Sheep'] 1

建築装飾や検証用に便利です。
ただし、プレイヤー名を使う場合は、名前の解決に時間がかかることがあります。

名前付きのゾンビスポーンエッグを出す

スポーンエッグに出現するエンティティ情報を持たせたい場合は、entity_dataを使います。

/give @s minecraft:zombie_spawn_egg[entity_data={id:'minecraft:zombie',CustomName:'{"text":"検証用ゾンビ"}'}] 1

このスポーンエッグを使うと、名前付きのゾンビを出せます。
ゾンビトラップや村人関連の検証をする時に便利です。

※スポーンエッグの指定は、通常アイテムよりミスが出やすいです。
※まずは普通のスポーンエッグを出してから、必要に応じてentity_dataを足すのがおすすめです。

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

アドベンチャーモード用の配布ワールドでは、特定のブロックだけ壊せる道具を作ることがあります。
Java版1.20.5以降では、can_breakを使います。

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

このツルハシは、アドベンチャーモードで石を壊せる指定付きです。

アドベンチャーモードで草ブロックにだけ置ける板材

特定のブロックの上にだけ置けるアイテムを作る場合は、can_place_onを使います。

/give @s minecraft:oak_planks[can_place_on={blocks:'minecraft:grass_block'}] 64

ミニゲームやアスレチック制作では、こういう制限付きアイテムが役立ちます。


10. Java版1.20.5以降で変わった重要ポイント

ここはかなり大事です。

giveコマンドの記事を検索すると、古い書き方の例がたくさん出てきます。
そのため、Java版1.20.5以降で使う場合は、旧NBT形式の記事をそのままコピペしないよう注意してください。

旧式の書き方

以前は、次のような書き方がよく使われていました。

/give @s minecraft:diamond_sword{Enchantments:[{id:"minecraft:sharpness",lvl:5}]} 1

このように、アイテムIDの後ろに{}でNBTを書く形式です。
昔のコマンド解説では、この形式がよく出てきます。

現在の書き方

Java版1.20.5以降では、次のようなアイテムコンポーネント形式で書きます。

/give @s minecraft:diamond_sword[enchantments={levels:{"minecraft:sharpness":5}}] 1

違いは、アイテムIDの後ろです。

形式 書き方 主な対象
旧NBT形式 {...} Java版1.20.4以前の古い記事で多い
現在の形式 [...] Java版1.20.5以降


今から覚えるなら、基本的には[...]の形式だけで大丈夫です。

代表的な置き換え例

よく使うものだけ整理すると、こんな感じです。

やりたいこと Java版1.20.5以降の指定
名前を付ける custom_name
説明文を付ける lore
エンチャントを付ける enchantments
壊れない道具にする unbreakable
ポーション内容を指定する potion_contents
スポーンエッグの中身を指定する entity_data
アドベンチャーモードで壊せるブロックを指定 can_break
アドベンチャーモードで置けるブロックを指定 can_place_on


Java版26.1以降の表記でも見るべきポイント

Java版は、2026年以降にバージョン番号の付け方が変わり、26.1のような表記も使われています。
ただし、giveコマンドを使ううえで初心者さんがまず見るべきポイントは変わりません。

  • 基本構文はgive <ターゲット> <アイテム> [個数]
  • チャット欄で実行する場合は、先頭に/を付けて/giveで書く
  • Java版1.20.5以降は、アイテムの細かい指定に[...]のコンポーネント形式を使う
  • 古い{Enchantments:...}形式の記事は、そのまま使えない場合がある
  • 1回のgiveで出せる量には、アイテムごとの100スタック分という制限がある

この5つだけ押さえておけば、かなり事故を減らせます。

重要
「昔のコマンドが動かない=自分の入力ミス」とは限りません。
バージョン変更で書き方そのものが変わっていることがあります。
特にJava版1.20.5以降は、ここが本当にハマりやすいです。


11. よくあるエラーと直し方

giveコマンドで失敗する時は、だいたい原因が決まっています。
ここでは、初心者さんが引っかかりやすいものをまとめます。

1. アイテムIDが間違っている

たとえば、ダイヤモンドはminecraft:diamondです。

/give @s minecraft:diamond 64

minecraft:diamondsのように複数形にすると、存在しないIDなので失敗します。
英語名は似ているものが多いので、最初はクリエイティブ検索や補完候補を使うのがおすすめです。

2. ターゲットが間違っている

自分に渡したいなら、基本は@sです。

/give @s minecraft:diamond 64

コマンドブロックで近くのプレイヤーに渡したいなら、@pにします。

give @p minecraft:diamond 64

@aを使うと全員に配られるので、サーバーでは特に注意してください。

3. カンマを忘れている

複数のコンポーネントを書く時は、カンマが必要です。

/give @s minecraft:diamond_sword[unbreakable={},enchantments={levels:{"minecraft:sharpness":5}}] 1

unbreakable={}enchantments=...の間に,があります。
このカンマを忘れると、赤文字エラーになります。

4. 括弧の閉じ忘れ

アイテムコンポーネントでは、[]{}'"が混ざります。
そのため、閉じ忘れがかなり起きやすいです。

/give @s minecraft:diamond_sword[custom_name='{"text":"テストの剣","color":"aqua","italic":false}'] 1

うまくいかない時は、次の順番で確認しましょう。

  • [を開いたら、最後に]で閉じているか
  • {を開いたら、対応する}があるか
  • custom_name='...''が閉じているか
  • 複数指定の間に,が入っているか

5. 古いNBT形式を使っている

古い記事を見て、次のようなコマンドをコピペすると失敗することがあります。

/give @s diamond_sword{Enchantments:[{id:"sharpness",lvl:5}]} 1

Java版1.20.5以降では、次のように書き換えましょう。

/give @s minecraft:diamond_sword[enchantments={levels:{"minecraft:sharpness":5}}] 1

ここは本当によくあるミスです。
検索で出てきた記事が古い場合、内容自体は正しくても、今のバージョンではそのまま動かないことがあります。

6. 個数が多すぎる

Java版のgiveコマンドでは、指定できる数値自体は大きく見えても、実際にはアイテムごとの100スタック分を超えると失敗します。

たとえば、石は64個スタックなので、100スタック分は6400個です。

/give @s minecraft:stone 6400

これ以上を一度に出したい場合は、複数回に分ける方が安全です。
ただ、普通の検証なら6400個もあれば十分だと思います。

7. コマンドブロックで先頭のスラッシュを入れている

チャット欄では/giveで書きます。
コマンドブロックでは、先頭の/を入れずに書くのが基本です。

give @p minecraft:diamond 64

チャット欄と同じ感覚で/まで入れてしまうと、思った通りに実行できないことがあります。
コマンドブロック内では、先頭の/を省略する書き方に慣れておくと分かりやすいです。


12. まとめ

以上、マイクラJava版のgiveコマンドの使い方・構文・アイテム取得例を解説しました。

giveコマンドは、最初は難しそうに見えますが、基本はかなりシンプルです。

/give @s minecraft:diamond 64

まずは、この形だけ覚えれば大丈夫です。

要点を整理すると、

  • Java版の基本構文はgive <ターゲット> <アイテム> [個数]
  • チャット欄で実行する場合は、先頭に/を付けて/giveで書く
  • 自分に渡すなら@sを使う
  • コマンドブロックで近くのプレイヤーに渡すなら@pが便利
  • 個数を省略すると1個になる
  • 一度に出せる量はアイテムごとの100スタック分まで
  • Java版1.20.5以降は、細かいアイテム指定に[...]のコンポーネント形式を使う
  • 古い{Enchantments:...}形式の記事は、そのまま動かない場合がある

このあたりを押さえておけば、通常の素材出しから、名前付き装備・エンチャント付き道具まで作れるようになります。

特に、現在のJava版で大事なのは、旧NBT形式ではなくアイテムコンポーネント形式で書くことです。
ここだけ分かっていれば、検索で古い記事を見ても「あ、これは昔の書き方だな」と判断できるようになります。

検証ワールドでは、giveコマンドを覚えておくと本当に作業が楽になります。
装置を試したい時、建築素材を揃えたい時、ポーションや特殊アイテムを確認したい時など、かなり使いどころが多いです。

よかったら皆さんも、まずはダイヤ64個を出すところから試してみてください。

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


13. 参考文献

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