この記事では、Minecraft Java Edition(バージョン1.18.1)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。
アイテムを地面の上に出現させたいマインクラフター
「アイテムをアイテムとしてドロップさせるにはどういうコマンドを使えばいいの? 特定の場所に行くとドロップするようにさせることとかってできるのかな?」
こんな疑問を解決します!
- summonコマンドでアイテムを出現させる
- 特定の場所に行くことでアイテムを出現させるには
こんにちは! マインクラフターのなつめ(@natsume_717b)です。
マイクラ歴は5年程で、最近は脱出マップを配布・制作しています!
→配布マップ・ダウンロードページ
この記事ではアイテムを直接出現させる方法を解説していきます。
手元に用意する場合にはgiveコマンドを使えばOKですが、ドロップしている状態のアイテムを出現させたい場合には別のコマンドを使う必要があります。
そんなコマンドを紹介、解説するほか名前や説明文が指定されているアイテムを出現させる場合についても具体的なコマンドを記載しつつ触れています。
特定の場所に行くことでアイテムを出現するようにするギミックも紹介しているので、参考になれば幸いです。
それでは、さっそく見ていきましょう!
summonコマンドでアイテムを出現させる
ドロップしている状態のアイテムを出現させるには、summonコマンドを使います。
通常、アイテムが欲しい場合はgiveコマンドで手元に用意しますが、地面などに直接出現させたい場合にはsummonコマンドを使って、ゾンビなどのmobを呼び出すのと同様にアイテムを出現させます。
これはドロップしているアイテムがエンティティ扱いのためですね。
なので、summonコマンドを使うことになります。
肝心のコマンドはこちら。
コマンドの実行場所にダイヤモンドを1つ出現させるものです。
/summon minecraft:item ~ ~ ~ {Item:{id:"minecraft:diamond",Count:1b}}
コマンドの実行場所に出現させるので、チャットに打ち込んで使った場合にはすぐに手元に移動してしまいます。
実際に出現している場面を見たい場合は、summonコマンドの「~ ~ ~」の部分を変更しましょう。
summonコマンド自体に○○のアイテムをドロップさせるという指示が備わっていないため、召喚するものをアイテムだと大雑把に指示して、さらに後半の{}内でどのアイテムなのか、幾つ出現させるのかを指定しています。
今回の場合はダイヤモンド1つなので、idの部分にminecraft:diamond。
Countの箇所に1bと入力して1個出現するように指示しています。
なので、別のアイテムを出現させたい場合にはidの箇所に出現させたいアイテムのIDを、出現する数を変更したければCountの部分の数字を変えればOKです。
{}内を入力する際は候補が一切出ないので、アイテムIDなども各々自分で入力しなければなりません。
そうなるとアイテムIDが分からないという人も多いはずですので、調べ方に関する記事を貼っておきます。
どうやって調べるのか分からない方はぜひ活用してくださいね。
出現させるアイテムに名前や説明文を付けたい場合
先ほど紹介したやり方の場合、よく見るアイテムが出現します。
しかし、マップ制作やミニゲーム制作などをする場合、アイテムに対して特別な名前や説明文を記したい場合もあるはずです。
そういった場合には、{}内に書き込む情報をさらに増やせばOKです。
実際に名前や説明文を変更したアイテムを出現させるコマンドはこちら。
/summon minecraft:item ~ ~ ~ {Item:{id:"minecraft:diamond",Count:1b,tag:{display:{Name:'[{"text":"水の宝玉"}]',Lore:['[{"text":"水の力を持つ宝玉"}]']}}}}
このコマンドを実行すると、「水の宝玉」という名前で「水の力を持つ宝玉」という説明文が付いたダイヤモンドが1つ出現します。
はじめに紹介したコマンドと比べてみると、tagに名前や説明文に関する設定を書き加えただけですが、ややこしいので上記のコマンドをコピペして随所を変更して使うのをおすすめします。
また説明文を改行させたい場合には、上記のコマンドに新たに,(カンマ)など記号を差し込む必要があります。
/summon minecraft:item ~ ~ ~ {Item:{id:"minecraft:diamond",Count:1b,tag:{display:{Name:'[{"text":"水の宝玉"}]',Lore:['[{"text":"水の力を持つ宝玉"}]','[{"text":"2行目の説明文"}]']}}}}
赤字部分が付け加えた部分になります。
なので、赤字部分を増やしていくと、それだけ行数を増やすことが可能です。
下の記事はgiveコマンドで出す場合ですが、説明文を5行目まで増やせるテンプレートがあるほかに、追加する文章をどこに差し込めばいいのかなど解説しているので、参考にしてもらえると幸いです。
特定の場所に行くことでアイテムを出現させるには
さて、アイテムを出現させることはできましたが、特定の条件を満たすことでアイテムを出現させたいという場合についてお話していきます。
今回は特定の場所に踏み入ることで、アイテムを出現させるようにします。
というわけで使うコマンドはexecuteコマンドです。
executeコマンドを使ってXYZの座標を指定をすることで、その範囲にプレイヤーがいる場合にコマンドを実行させることができるようになります。
具体的にはこんな感じです。
(XYZが10の地点にプレイヤーがいる場合に実行されるようにしています。また、リピートコマンドブロックで無条件、常時実行に設定しておく必要があります)
execute if entity @a[x=10,y=10,z=10,dx=0,dy=0,dz=0] run summon minecraft:item ~ ~ ~ {Item:{id:"minecraft:diamond",Count:1b}}
if entity @a[x=10,y=10,z=10,dx=0,dy=0,dz=0] の部分で、XYZが10の座標にプレイヤーがいる場合にコマンド実行されるように指示しています。
なので、都合の良い座標をxyzの箇所に入力すれば、このコマンドは使い回すことができますよ。
dx,dy,dzはxyzの値から、それぞれどこまで広げるかを指示するものです。
なので、一定の範囲を指定したい場合には0以外の数字を入れて、ぴったりの場所ではなく範囲を指示するようにしましょう。
そして、run以降はこの記事で紹介しているダイヤモンドを1つ出現させているものと変わりません。
これで特定の座標に居る場合にダイヤモンドが出現し続けます。
1回だけ起動させたい場合には、1回で停止!常時実行を繰り返さないコマンドの組み方【マイクラJava版】をどうぞ。
また、executeコマンドについての基本的なことは以下の記事で解説しています。
まとめ
というわけで、今回のまとめです。
今回使ったコマンドはこちら。
/summon minecraft:item ~ ~ ~ {Item:{id:"minecraft:diamond",Count:1b}}
/summon minecraft:item ~ ~ ~ {Item:{id:"minecraft:diamond",Count:1b,tag:{display:{Name:'[{"text":"水の宝玉"}]',Lore:['[{"text":"水の力を持つ宝玉"}]']}}}}
execute if entity @a[x=10,y=10,z=10,dx=0,dy=0,dz=0] run summon minecraft:item ~ ~ ~ {Item:{id:"minecraft:diamond",Count:1b}}
この記事は以上になります。