概要
・executeコマンドで足元のブロックを検知する
・ドロッパーのアイテム検知
・ボタン押されたのを検知
動作確認済みマインクラフトのバージョンJAVA 1.21.4
execute if blockコマンド

execute(エクセキュート) コマンドのブロック検知機能「if(イフ) block(ブロック)」を使用すると任意の位置に置かれたブロックの状態を検知することができます。
簡単な使い方はこんなかんじ
/execute if block <X座標> <Y座標> <Z座標> <ブロックIDとブロックの状態> run <条件を満たしたときに実行するコマンド>
<X座標> <Y座標> <Z座標>:検知したいブロックが置かれている座標を指定します。
相対座標を指定することも可能です。
<ブロックIDとブロックの状態>:検知したいブロックのIDを指定します。ブロックの状態も一緒に指定することで高度な検知ができるようになります。ブロックのIDや状態はデバック画面やブロックをコピーするコマンドを生成することで調べることができます。
<条件を満たしたときに実行するコマンド>:検知に成功したときに実行させたいコマンドを書きます。
[execute if block]コマンドでは指定された座標に存在する一個のブロックしか検知することができません。複数個のブロックを一斉に検知したいときは[execute if blocks]コマンドのほうをつかいましょう。
以下に簡単な使用例を示します。
これらのコマンドをリピートコマブロで回すと各種検知の仕組みが作れます。
踏むとゲームオーバーになるワナ
これらの例ではプレイヤーの足元に特定のブロックが存在しているときにプレイヤーを殺すkill(キル)コマンドを実行します。
#水に入るとプレイヤー死亡
execute at @p if block ~ ~1 ~ minecraft:water run kill @p
#足元が橙色の羊毛だと死亡
execute at @p if block ~ ~-1 ~ minecraft:orange_wool run kill @p


このへんのコマンドは特定のブロックをふんだらゲームオーバーになったりスタート地点へ戻すような罠を作るときによく使っています。
「足元が土ブロックのとき死亡」などの条件にするとリスポーン時に足元の土ブロック検知して無限死亡ループに入ることがあります。
そうなるとセーブデータ削除するしかなくなるため、検知するブロックは自然生成されないものを選んでください。
ドロッパー内のアイテムの検知
#ドロッパー内アイテムを検知(この例ではアカシアのボートが座標(-15 -60 67)のドロッパーの一番最初のスロットに入っているか調べます)してメッセージ「はいってる!」を表示
/execute if block -15 -60 67 minecraft:dropper{Items:[{Slot:0b,count:1,id:"minecraft:acacia_boat"}]} run tellraw @p "はいってる!"



ブロックの状態(ボタンがおされたか)検知
#座標(810 19 72)にある石ボタン押されたのを検知してメッセージ「おされた」を表示
スペースの都合でレッドストーン回路を置けないときやボタンをおして回路などを遠隔操作したいみたいなときに使えます。
/execute if block 810 19 72 stone_button[powered=true] run tellraw @p "おされた"


レッツエンジョイマイクラライフ!
お子さんにプログラミングを学ばせるなら
キッズプログラミングスクールSwitch大阪四ツ橋校ではマインクラフトでコマンドを使ったゲームの作り方を学ぶことができます。
あなたもコマンドを学んでみませんか?
ホームページにて無料体験会申し込み受付中です。
ぜひともお問い合わせください。