更新日:
1. ダイヤを食べられるようにする
/give @s minecraft:diamond[consumable={consume_seconds:1.6},food={nutrition:4,saturation:2.4}]
consumable は「使うと消えるアイテム」にする設定で、consume_seconds は食べ終わるまでの秒数です。food の nutrition は回復する満腹度(2で肉1つ分)、saturation は隠し満腹度です。1.21.2以降は、consumable がないと食べられません。
2. 満腹でも食べられるようにする
/give @s minecraft:diamond[consumable={consume_seconds:1.6},food={nutrition:4,saturation:2.4,can_always_eat:true}]
can_always_eat:true を付けると、満腹度が満タンでも食べられます。エフェクトを付けるためのアイテムを作るときに使います。
3. 食べるとエフェクトが付くアイテム
/give @s minecraft:cookie[consumable={consume_seconds:0.8,on_consume_effects:[{type:"minecraft:apply_effects",effects:[{id:"minecraft:speed",duration:600,amplifier:1}]}]}]
食べると移動速度上昇IIが30秒付くクッキーです。duration はtick(20で1秒)、amplifier は0がレベルIです。effects の中に {...} を並べると、いくつものエフェクトを付けられます。エフェクトのIDは エフェクトID一覧 で確認できます。
4. 食べるとテレポートするアイテム
/give @s minecraft:apple[consumable={consume_seconds:1.6,on_consume_effects:[{type:"minecraft:teleport_randomly",diameter:32}]}]
コーラスフルーツのように、食べると近くのどこかへランダムにテレポートします。diameter を大きくするほど遠くへ飛びます。ほかにも、エフェクトを全部消す clear_all_effects などが使えます。
5. 飲み物にする
/give @s minecraft:honey_bottle[consumable={consume_seconds:1,animation:"drink",sound:"minecraft:entity.generic.drink"},food={nutrition:2,saturation:1,can_always_eat:true}]
animation:"drink" で飲むときの動きに、sound で飲む音に変わります。ポーションを渡したいときは ポーションを出すコマンド の方が簡単です。
6. 食べたあとに入れ物が残るようにする
/give @s minecraft:cookie[consumable={consume_seconds:1.6},food={nutrition:6,saturation:7},use_remainder={id:"minecraft:bowl",count:1}]
use_remainder を付けると、食べ終わったあとに指定したアイテムが手に残ります。シチューのようにボウルが返ってくる料理を作れます(1.21.2以降)。
7. 食べ物ではない「使うアイテム」を作る
/give @s minecraft:paper[consumable={consume_seconds:2,animation:"bow",on_consume_effects:[{type:"minecraft:apply_effects",effects:[{id:"minecraft:night_vision",duration:1200}]}]},custom_name="暗視の巻物"]
food を付けずに consumable だけにすると、おなかはふくれず、満腹でも使えるアイテムになります。この紙は2秒かまえると1分間の暗視が付く「巻物」です。アドベンチャーマップの魔法アイテムに向いています。名前の書き方は1.21.5以降の形です。
8. 版ごとの書き方
| 版 | 書き方 |
|---|---|
| 1.21.2以降 | consumable と food を両方付ける |
| 1.20.5〜1.21.1 | food だけで、食べる時間は eat_seconds で決める |
| 1.20.4以前・統合版 | コマンドだけでは作れない |
アイテムのデータの書き方は版によって大きく違います。くわしくは NBTとcomponentsの違い を見てください。
うまくいかないときの確認ポイント
- 右クリックしても食べられない:1.21.2以降は
consumableが必要です。満腹のときはcan_always_eat:trueも付けます。 - エフェクトが付かない:
typeの書き方と、durationがtickになっているか確認します。 - コマンドが赤くなる:かっこ
[ ] { }の数と、項目の間の,を確認します。
よくある質問
ブロックも食べられるようにできますか?
できます。ただし、置けるブロックは右クリックで置く動きが先に出ることがあります。空中に向けて右クリックすると食べやすくなります。
食べてもアイテムが減らないようにできますか?
consumableで食べたアイテムは1つ減ります。何度も使わせたいときは、多めに渡すか、ファンクションで配り直します。
統合版でもできますか?
統合版では、giveコマンドだけでアイテムを食べ物にすることはできません。アドオンなどを使う必要があります。