※本サイトはPRリンクを含みます

【マイクラ統合版】executeコマンド新構文の変更点とサブコマンド一覧【コマンドの使い方】

コマンドの使い方

1.19.50アップデートで大幅に変更となった”execute”コマンドの構文に関して解説します。

なおexecuteコマンドの使い方を知りたい場合は「旧構文との違い」はすっ飛ばして「新構文」から読み進めてください。

executeの旧構文と新構文の違い

executeはコマンドの実行者、実行場所、実行条件などを指定して実行するコマンドです。
旧構文と新構文の違いは以下のようになります。

executeの旧構文

/execute <ターゲット> <座標> <実行コマンド>

→<ターゲット>を実行者、<座標>を実行場所として<実行コマンド>を実行する。

補足1)
ターゲットセレクターで指定する条件によって成功失敗の分岐として使用できる。
・ターゲットに適合するエンティティが存在する場合にコマンド実行を成功
・ターゲットに適合するエンティティが存在しない場合にコマンド実行を失敗

補足2)
<座標>の後に”detect <座標> <ブロック> <データ値>”を指定することでブロックの有無を成功失敗の条件分岐に使用できる。
・指定座標に指定するブロックが存在する場合にコマンド実行を成功
・指定座標に指定するブロックが存在しない場合にコマンド実行を失敗

executeの新構文

/execute <サブコマンド> <サブコマンドに係るセレクターや座標など> run <実行コマンド>

→実行者、実行場所、その他条件をサブコマンドで指定したうえで<実行コマンド>を実行する。

サブコマンドは複数書き入れることが出来る。
またサブコマンドで指定が無い場合は以下がデフォルトの実行条件となる。
実行者…コマンドを発行するプレイヤーもしくはコマンドブロック。
実行場所…コマンドを発行するプレイヤーもしくはコマンドブロックの座標。
その他条件…無条件。

このデフォルト条件をサブコマンドで書き換えていくイメージをすると覚えやすいと思います。

サブコマンドの種類

サブコマンド意味
as <ターゲット><ターゲット>を実行者とする。
※実行場所は変更されない。
at <ターゲット><ターゲット>を実行場所とする。
※実行者は変更されない。
positioned as <ターゲット><ターゲット>を実行場所とする。
※実行者は変更されない。
positioned <座標><座標>を実行場所とする。
※実行者は変更されない。
facing <座標><座標>を向いたこととして。
※実際に向くわけではない。
facing entity <ターゲット> <eyes/feet><ターゲット>の<頭/足>を向いたこととして。
※実際に向くわけではない。
rotated <水平角> <垂直角><水平角><垂直角>を向いたこととして。
※実際に向くわけではない。
rotated as <ターゲット ><ターゲット>と同じ方向を向いたこととして。
※実際に向くわけではない。
anchored eyes判定基準を実行者の頭の高さとする。
anchored feet判定基準を実行者の足の高さとする。
if entity <ターゲット><ターゲット>がいたら。
unless entity <ターゲット><ターゲット>がいなかったら。
if block <座標> <ブロック> <データ値/ステータス><座標>に<データ値/ステータス>が一致する<ブロック>があったら。
unless block <座標> <ブロック> <データ値/ステータス><座標>に<データ値/ステータス>が一致する<ブロック>がなかったら。
if blocks <座標始点> <座標終点> <チェック座標始点> <scanmode:all/masked><座標始点>から<座標終点>の範囲のブロックが<チェック座標始点>から始まる同範囲のブロックと一致したら。
unless blocks <座標始点> <座標終点> <チェック座標始点> <scanmode:all/masked><座標始点>から<座標終点>の範囲のブロックが<チェック座標始点>から始まる同範囲のブロックと一致しなかったら。
if score <ターゲット> <スコア> matches <数値><ターゲット>の<スコア>の値が<数値>と一致したら
unless score <ターゲット> <スコア> matches <数値><ターゲット>の<スコア>の値が<数値>と一致しなかったら
if score <ターゲット> <スコア> <符号(>,>=,=,<=,<)> <参照ターゲット> <参照スコア><ターゲット>の<スコア>の値が<参照ターゲット>の<参照スコア>の値と比較して<符号>だったら。
unless score <ターゲット> <スコア> <符号(>,>=,=,<=,<)> <参照ターゲット> <参照スコア><ターゲット>の<スコア>の値が<参照ターゲット>の<参照スコア>の値と比較して<符号>じゃなかったら。
align <指定軸(x/y/z/xy/xz/yz/xyz)>実行座標の<指定軸>をブロック座標に揃える。
in <ディメンション(overworld/nether/the_end)>実行するディメンションを指定する。
run <実行コマンド>executeサブコマンドと実行コマンドの間を区切る。

具体的な使い方や使用例は以下の記事を参照してください。

動画で解説

動画でもexecuteコマンドの使い方をザックリ解説しています。