execute講座

Last-modified: 2024-02-11 (日) 00:39:03

凝ったダンジョンを作ろうとすると必ず必要になる技術、execute
バニラマイクラのコマンドであるが故にここのwikiに情報がないのでまとめておく。

executeって、そもそも何?

executeコマンドとは、通常はコマンドを発動した際その発動地点がコマブロ、もしくはコマンドを打ち込んだプレーヤーなのに対し、その発動地点を好きなモブの座標に出来るというものである。
簡単な例を示す。
普通

spawnmob 強い敵

のコマンドをコマンドブロックに入れて実行すると、そのコマブロの座標にモブがスポーンする。しかし、実際にダンジョンでやりたいのは「プレーヤーの座標にモブをわかせる」ということである。では、これはどうやって実現するのか。こういう時に役立つのがexecuteである。
例えばある範囲内(120 36 250を中心とした半径50の球の中)にいるプレーヤーのところにモブをわかせたいとする。この時、半径50の球の中にいるプレーヤー全部を以下のように指定する。

@a[x=120,y=36,z=250,r=50]

そして、executeの構文に代入する

execute @a[x=120,y=36,z=250,r=50] ~ ~ ~ spawnmob 強い敵

こうすることで、条件を満たしたプレーヤーの座標を基準にspawnmobコマンドが発動し、プレーヤーの座標にモブをわかせることが出来る。

executeの構文

executeは以下の構文をとる

execute <セレクター> ~x ~y ~z [実行するコマンド]

ここでセレクターは基準とするモブ、x y zはその基準の座標からの相対座標である。

executeの活用法

上の説明を読んでも、じゃあ一体executeはどういう場面で使うんだと疑問に思うかもしれない。そのため、以下にギミックとそれを実現するコマンドの例を示す

ボスの周りにいるプレーヤーにだけ盲目を付与する

execute @e[boss=ボスについてるalias] ~ ~ ~ effect @a[r=5] minecraft:blindness 10 1

全部のプレーヤーの上からメテオを落とす

execute @a[x=10000,y=100,z=10000,r=40] ~ ~ ~ gi meteoSmall dungeon:~,~10,~ dungeon,~,~,~ 10 1 闇 5

モブがプレーヤーの近くにいるならプレーヤーにデバフを与える

execute @e[type=Zombie,mob=mboalias] ~ ~ ~ effect @a[r=3] minecraft:poison 10 2