Discordサーバー「マイクラ脱出マップ大全【仮運営】」を開設しました!

コマンドを使ってディスペンサーの中身を検知しよう!【マイクラ】

コマンドを使ってディスペンサーの中身を検知しよう!【マイクラ】

1. ディスペンサーの中身を検知してコマンドを実行する

ディスペンサーの中身を検知するには、executeコマンドを使用する必要があります。

具体的にはif blockを指示することによって、指定した座標に指定したブロックがあるかどうかでコマンドを実行できますので、ディスペンサーを指示すればOKです。
加えて、この時に中身の情報を指示することで、○○が入れられているディスペンサーがあるかどうかといった判別が可能になります。

というわけで、実際にコマンドを見てみましょう。

/execute if block 10 -60 19 minecraft:dispenser{Items:[{Slot:4b,id:"minecraft:diamond",Count:1b}]} run give @a diamond 1

X=10、Y=-60、Z=19の地点にディスペンサーがあり、そのディスペンサーの中央のスロットにダイヤモンドが1つ入っているとコマンドが起動されるよう条件を指示しています。

アイテムIDに続く{}内に中身の情報が書かれており、Slotは仕舞われている位置、idは仕舞われているアイテムのID、Countは数を示しています。
Slotは0から数えるので、中央を指示する場合は4bとなります。
それ以外に難しいことはないですね。

また、Slotを書かなければ位置を不問にできます。
要するにどこへ入れてもアイテムIDと個数があっていれば反応するようになるわけです。
idを書かなければ入れるアイテムの種類を問わないこともできますので、工夫次第で様々な謎解きに対応できますね。

run以降は実行したいコマンドを入力すればOKなので、割愛します。
上記のコマンドではダイヤモンドが1つ付与されるコマンドを実行した例になります。

ディスペンサーに似ているアイテムとして、ドロッパーが存在します。
本来の用途としても利用する場合ははっきりと区別するべきですが、コマンドで検知する上では差別化する必要はまずありません。

好きな方を使いましょう。
ただし、アイテムIDを間違えないよう気を付けて入力する点には要注意です。

というわけで、ディスペンサーの中身を検知するにはexecuteコマンドを使いましょう!

まとめ

というわけで、今回のまとめです。

  1. ディスペンサーの中身を検知するには、executeコマンドのif blockを使う必要がある。
  2. 中身の情報を検知するために、Slotやid、Countなどの情報を書き込む必要がある。

この記事は以上になります。