Minecraft Wiki
Advertisement
execute
必要権限レベル

2‌[JE限定]
1‌[BE限定]

実行制限

チート限定‌[BE限定]

/executeは、実行者、実行する位置や方角、前提条件、実行結果の格納先を指定して他のコマンドを実行するコマンドである。

用途[]

/executeには14種類/11種類‌[Bedrock Edition限定]のサブコマンドがあり、/executeの後に続けて1つ以上のサブコマンドを記述する。サブコマンドには、文脈指定、ガード、格納先指定‌[Java Edition限定]runの4カテゴリ‌[Java Edition限定]/3カテゴリ‌[Bedrock Edition限定]に大別される。

  • 文脈指定サブコマンドでは、後続のサブコマンドにおける実行文脈を変更する。設定可能な文脈には実行者、位置、ディメンション、方角、座標の基準がある。
  • ガードサブコマンドでは、後続のサブコマンドを実行するための条件を指定する。
  • 格納先指定サブコマンドでは、コマンドの実行結果をスコアボード、エンティティやブロックエンティティのデータ、ストレージに格納したり、ボスバーの最大値や現在値を変更することができる。‌[Java Edition限定]
  • runサブコマンドでは、他のコマンドを指定する。

サブコマンドは互いに連接でき、run以外のサブコマンドは順序不問かつ複数記述できる。runサブコマンドはサブコマンド列の最後に1つのみ指定できる。サブコマンド列の最後にはrunかガードサブコマンドが指定可能である。サブコマンドは前から後ろに順次実行され、以下のようにサブコマンドの順序を変えると、一般には異なる実行結果となる。

  • /execute as @e at @s run tp ^ ^ ^1 全てのエンティティを1ブロック前方に移動させる。
  • /execute at @s as @e run tp ^ ^ ^1 全てのエンティティを実行者の1ブロック前にテレポートさせる。

run以外のサブコマンドはrunより前に実行されるので、runサブコマンドは他のサブコマンドに何も影響しない。また、条件次第ではコマンドの実行は中断され、何も起こらないこともある。

Java Editionでは、コマンドが最後まで実行されると、success値とresult値が返る(詳細は#格納先指定サブコマンドを参照)。この2つの値は最後のサブコマンド(ガードかrun)から返ってくるものである。返り値は常に整数値であり、整数値でない場合は負の方向に丸められる。success値は常に0(失敗)か1(成功)のどちらかを取る。コマンドが失敗した場合は双方ともに0である。返り値は格納先指定サブコマンドを使うことで保存できる。最後のサブコマンドが複数回実行されると、各実行ごとに返り値が保存される。

success値やresult値とは別に、/executeには(コマンドが中断されたか否かにかかわらず)成功回数が存在する。これは通常01のどちらかであるが、最後のサブコマンドが個別に複数回実行されると、成功回数は1より大きい値となる‌[Java Edition限定]。コマンドブロックから実行された場合、成功回数はコマンドブロックに返り、条件付きモードのコマンドブロックの実行条件に用いたり、レッドストーンコンパレーターで出力したりできる。

/executeには14種類/11種類‌[Bedrock Edition限定]のサブコマンドがあり、それぞれ独自の構文を持っているため、構文の記述は大型の木構造になる。

完全な構文は以下のようになる。

Java Edition
/execute . . .
  • align <axes> -> execute
  • anchored <anchor> -> execute
  • as <targets> -> execute
  • at <targets> -> execute
  • facing (<pos>|entity <targets> <anchor>) -> execute
  • in <dimension> -> execute
  • on <relation> -> execute
  • positioned (<pos>|as <targets>|over <heightmap>) -> execute
  • rotated (<rot>|as <targets>) -> execute
  • summon <entity> -> execute
  • store (result|success) . . .
    • … block <targetPos> <path> <type> <scale> -> execute
    • … bossbar <id> (max|value) -> execute
    • … entity <target> <path> <type> <scale> -> execute
    • … score <targets> <objective> -> execute
    • … storage <target> <path> <type> <scale> -> execute
  • … (if|unless) . . .
    • … biome <pos> <biome> -> [execute]
    • … block <pos> <block> -> [execute]
    • … blocks <start> <end> <destination> (all|masked) -> [execute]
    • … data . . .
      • … block <sourcePos> <path> -> [execute]
      • … entity <source> <path> -> [execute]
      • … storage <source> <path> -> [execute]
    • … dimension <dimension> -> [execute]
    • … entity <entities> -> [execute]
    • … function <function> -> [execute]
    • … loaded <pos> -> [execute]
    • … predicate <predicate> -> [execute]
    • … score <target> <targetObjective> . . .
      • … (<|<=|=|>|>=) <source> <sourceObjective> -> [execute]
      • … matches <range> -> [execute]
  • run <command>
ここで-> executeは他のサブコマンドの開始を表す。
Bedrock Edition
/execute . . .
  • align <axes: string> <chainedCommand: ExecuteChainedOption_0>
  • anchored <eyes|feet> <chainedCommand: ExecuteChainedOption_0>
  • as <origin: target> <chainedCommand: ExecuteChainedOption_0>
  • at <origin: target> <chainedCommand: ExecuteChainedOption_0>
  • facing (<position: x y z>|entity <origin: target> <eyes|feet>) <chainedCommand: ExecuteChainedOption_0>
  • in <dimension: Dimension> <chainedCommand: ExecuteChainedOption_0>
  • positioned (<position: x y z>|as <origin: target>) <chainedCommand: ExecuteChainedOption_0>
  • rotated (<yaw: value> <pitch: value>|as <origin: target>) <chainedCommand: ExecuteChainedOption_0>
  • <subcommand: Option_If_Unless> . . .
    • … block <position: x y z> <block: Block> [<blockStates: block states>|<data: int>] [chainedCommand: ExecuteChainedOption_0]
    • … blocks <begin: x y z> <end: x y z> <destination: x y z> <scan mode: BlocksScanMode> [chainedCommand: ExecuteChainedOption_0]
    • … entity <target: target> [chainedCommand: ExecuteChainedOption_0]
    • … score <target: target> <objective: string> . . .
      • … <operation: compare operator> <source: target> <objective: string> [chainedCommand: ExecuteChainedOption_0]
      • … matches <range: integer range> [chainedCommand: ExecuteChainedOption_0]
  • run <command: command>
ここでchainedCommand: ExecuteChainedOption_0は他のサブコマンドの開始を表す。

文脈指定サブコマンド[]

文脈指定サブコマンドでは、実行位置・実行時の向き・実行者を変更することができる。@eなどを用いると実行文脈を増やすこともでき、一連のコマンドの実行における実行文脈の分岐数はゲームルールmaxCommandForkCountで制限される。

align[]

指定した座標軸に沿って、コマンドの実行位置を、そこにあるブロックの位置(整数値)に揃える。
これは座標に床関数を適用した(負の無限大方向に丸めた)ものと考えられる。
構文
Java Edition
align <axes> -> execute
Bedrock Edition
align <axes: string> <chainedCommand: ExecuteChainedOption_0>
引数
JE<axes>座標軸
BEaxes: string
x、y、zの文字の組み合わせで指定する。順番は問わないが重複は不可能である(例:xxzzyxyzなど)。
結果
指定した座標軸に沿った実行位置の値が丸められる。差分は1ブロック未満となる。
引数が正しく指定されていない場合、解析不能となる。
  • 実行位置が (-1.8, 2.3, 5.9) の時、/execute align xzにより (-2, 2.3, 5) となる。
  • 実行位置が (2.4, -1.1, 3.8) の時、/execute align yxz run spawnpoint @p ~ ~ ~を実行すると、プレイヤーのスポーン地点が (2, -2, 3)‌[JE限定]/(2, -1, 3)‌[BE限定] に設定される。

anchored[]

座標の基準を目線か足元に設定する。デフォルトでは足元である。
positioned <pos> -> executeを実行すると、足元に再設定される。
ローカル座標の原点が目線と足元のどちらかになり、facingサブコマンドの角度にも影響する。
構文
Java Edition
anchored <anchor> -> execute
Bedrock Edition
anchored <eyes|feet> <chainedCommand: ExecuteChainedOption_0>
引数
JE<anchor>エンティティの位置基準eyesfeet
BEeyes|feet
目線と足元のどちらに基準を合わせるか。
結果
座標の基準が目線か足元のどちらかに設定される。
引数が正しく指定されていない場合、解析不能となる。
/tpコマンドは、足元が指定した位置になるように対象を移動させる。
/execute anchored eyes run tp ^ ^ ^を実行すると、座標の基準が目線になるので、移動先の足元が元々の目線の位置になるように実行者を移動させる。
/execute anchored eyes run tp ^5 5 5は、目線の5ブロック左側に実行者の足元が来るように移動させる。

as[]

実行者ターゲットセレクター@s)を指定したエンティティに設定する。実行位置、方角、ディメンション座標の基準は変わらない。
構文
Java Edition
as <targets> -> execute
Bedrock Edition
as <origin: target> <chainedCommand: ExecuteChainedOption_0>
引数
JE<targets>エンティティ
BEorigin: target
実行者として設定したい対象エンティティ。
プレイヤー名、ターゲットセレクターまたはUUIDで指定する。‌[Java Edition限定]
結果
指定したエンティティが実行者@sに設定される。
引数が正しく指定されていない場合、解析不能となる。
<targets>origin: targetに適合するエンティティが1体も存在しない場合(名前付きのプレイヤーはオンラインである必要がある)は、そこで実行が終了する。
複数のエンティティが見つかった場合は、次のサブコマンドは各実行者ごとに1度ずつ実行される。
全てのヒツジのデータを取得:/execute as @e[type=sheep] run data get entity @s[Java Edition限定]
読み込みチャンク内の村人全員を不死身にする:/execute as @e[type=villager] run data merge entity @s {Invulnerable:1b}[Java Edition限定]

at[]

実行位置、方角、ディメンションを指定したエンティティと同じになるように設定する。実行者は変わらない。
構文
Java Edition
at <targets> -> execute
Bedrock Edition
at <origin: target> <chainedCommand: ExecuteChainedOption_0>
引数
JE<targets>エンティティ
BEorigin: target
実行位置、方角、ディメンションの基準にしたいエンティティ。
プレイヤー名、ターゲットセレクターまたはUUIDで指定する。‌[Java Edition限定]
結果
実行位置、方角、ディメンションが対象エンティティのものに設定される。
引数が正しく指定されていない場合、解析不能となる。
<targets>origin: targetに適合するエンティティが1体も存在しない場合(名前付きのプレイヤーはオンラインである必要がある)は、そこで実行が終了する。
複数のエンティティが見つかった場合は、次のサブコマンドは各エンティティごとにその実行位置、方角、ディメンションが与えられたものとして1度ずつ実行される。
全てのヒツジを1ブロック上に移動:/execute as @e[type=sheep] at @s run tp ~ ~1 ~
atでは実行者は変わらないので、この場合死亡するのは実際にコマンドを実行したプレイヤーである:/execute at @e[type=sheep] run kill @s

facing[]

実行方角を、基準(目線か足元)から指定した地点を向いているものとして設定する。
構文
Java Edition
facing <pos> -> execute
facing entity <targets> <anchor> -> execute
Bedrock Edition
facing <position: x y z> <chainedCommand: ExecuteChainedOption_0>
facing entity <origin: target> <eyes|feet> <chainedCommand: ExecuteChainedOption_0>
引数
オプション:facing <pos>
JE<pos>3次元座標・ベクトル
BEposition: x y z
向き先の座標。
浮動小数点数で構成される3次元座標でなければならない。チルダ・キャレット表記法を使用できる。
オプション:facing entity <targets> <anchor>
JE<targets>エンティティ
BEorigin: target
向き先の対象エンティティ。
プレイヤー名、ターゲットセレクターまたはUUIDで指定する。
JE<anchor>エンティティの位置基準eyesfeet
BEeyes|feet
目線と足元のどちらに基準を合わせるか。
結果
指定した位置や対象を向くように実行方角が設定される。
引数が正しく指定されていない場合、解析不能となる。
<targets>origin: targetに適合するエンティティが1体も存在しない場合(名前付きのプレイヤーはオンラインである必要がある)は、そこで実行が終了する。
複数のエンティティが見つかった場合は、次のサブコマンドは各エンティティごとにそちらを向いているものとして1度ずつ実行される。
実行者を左に向かせる:/execute facing ^1 ^ ^ run tp ~ ~ ~[Java Edition限定]
全てのエンティティを (0, 64, 0) に向かって1ブロック移動させる(姿勢は変わらない):/execute as @e at @s facing 0 64 0 run tp @s ^ ^ ^1
全てのエンティティを (0, 64, 0) に向かって1ブロック移動させる(姿勢も変わる):/execute as @e at @s facing 0 64 0 run tp @s ^ ^ ^1 ~ ~
プレイヤーでないエンティティを、最寄りのプレイヤーに向かって1ブロック移動させる(姿勢は変わらない):/execute as @e[type=!player] at @s facing entity @p feet run tp @s ^ ^ ^1

in[]

実行ディメンションを設定する。
相対およびローカル座標にはディメンションの縮尺が適用される。オーバーワールドからネザーに変更する時には実行位置の値のX、Z成分が8分の1され、その逆ならば8倍される。カスタムディメンションにも同様に適用される。
構文
Java Edition
in <dimension> -> execute
Bedrock Edition
in <dimension: Dimension> <chainedCommand: ExecuteChainedOption_0>
引数
JE<dimension>ディメンション
BEdimension: Dimension
変更先のディメンション名
ディメンション名前空間IDで指定する。 minecraft名前空間には標準でoverworldthe_nether[JE限定]nether[BE限定]the_endが用意されている。
結果
実行ディメンションが変更される。
引数が正しく指定されていない場合、解析不能となる。
オーバーワールドにいながら、エンドシティを見つける:/execute in the_end run locate structure minecraft:end_city
プレイヤーがオーバーワールドの (16, 64, 16) にいる時、/execute in minecraft:the_nether positioned as @s run tp ~ ~ ~を実行すると、ネザーの (16, 64, 16) に移動する。
プレイヤーがオーバーワールドの (16, 64, 16) にいる時、/execute in minecraft:the_nether run tp ~ ~ ~を実行すると、ネザーの (2, 64, 2) に移動する。
プレイヤーがオーバーワールドの (80, 64, 80) にいる時、/execute in minecraft:the_nether run tp ~ ~ ~5を実行すると、ネザーの (10, 64, 15) に移動する。

on[]

実行エンティティの関係性を、現在実行者となっているエンティティとの関係に基づいて指定する。
構文
Java Edition
on <relation> -> execute
引数
JE<relation>
現在実行者となっているエンティティとの関係。
  • attacker:実行者を直近5秒以内に攻撃したエンティティ。
  • controller:実行者を操縦しているエンティティ。
  • leasher:実行者をリードで引き連れているエンティティ。
  • origin:実行者の発生元であるエンティティ。
    • 飛翔体なら発射したエンティティ、アイテムなら投げたエンティティ、エリアエフェクトクラウドなら効果元、着火されたTNTなら着火したエンティティ、エヴォーカーの牙やヴェックスなら召喚者がこれに該当する。
  • owner:実行者が飼い慣らせる動物であるとき、その飼い主であるエンティティ。
  • passengers:実行者に直接騎乗しているエンティティ。騎乗者のさらなる騎乗者は含まれない。
  • target:実行者が攻撃対象としているエンティティ。
  • vehicle:実行者が騎乗しているエンティティ。
結果
指定された関係性が実行者に適合しないか、エンティティが1体も該当しない場合は、0個の要素が返る。
引数が正しく指定されていない場合、解析不能となる。
引数で指定されたエンティティが1体も存在しない場合(名前付きのプレイヤーはオンラインである必要がある)は、そこで実行が終了する。
ヒツジを攻撃したエンティティを全員死亡させる:/execute as @e[type=sheep] on attacker run kill @s

positioned[]

実行位置を指定した座標、エンティティ、あるいはハイトマップの表面と同じになるように設定する。実行方角ディメンションは変わらない。
構文
Java Edition
positioned <pos> -> execute
positioned as <targets> -> execute
positioned over <heightmap> -> execute
Bedrock Edition
positioned <position: x y z> <chainedCommand: ExecuteChainedOption_0>
positioned as <origin: target> <chainedCommand: ExecuteChainedOption_0>
引数
オプション:positioned <pos>
JE<pos>3次元座標・ベクトル
BEposition: x y z
変更先の位置。
浮動小数点数で構成される3次元座標でなければならない。チルダ・キャレット表記法を使用できる。
オプション: positioned as <targets>
JE<targets>エンティティ
BEorigin: target
実行位置の基準にしたいエンティティ。
プレイヤー名、ターゲットセレクターまたはUUIDで指定する。
オプション:positioned over <heightmap>
JE<heightmap>名前空間付ID
ハイトマップの種類。ブロックの縦の並びのうち条件を満たす最上段のブロックの上面が、新たな実行位置のy座標となる。
  • world_surface:空気以外。
  • motion_blocking:衝突判定のあるブロックのみ。
  • motion_blocking_no_leaves以外で衝突判定のあるブロックのみ。
  • ocean_floor:流体以外で衝突判定のあるブロックのみ。
名前空間IDで指定する。
結果
実行位置が変更される。また座標の基準が足元に設定される。
引数が正しく指定されていない場合、解析不能となる。
<targets>origin: targetに適合するエンティティが1体も存在しない場合(名前付きのプレイヤーはオンラインである必要がある)は、そこで実行が終了する。
複数のエンティティが見つかった場合は、次のサブコマンドは各エンティティごとにその位置にいるものとして1度ずつ実行される。
(0, 64, 0) から近くの村を探す
/execute positioned 0 64 0 run locate structure #village[Java Edition限定]
/execute positioned 0 64 0 run locate structure village[Bedrock Edition限定]

rotated[]

実行方角を指定した角度あるいはエンティティと同じになるように設定する。
構文
Java Edition
rotated <rot> -> execute
rotated as <targets> -> execute
Bedrock Edition
rotated <yaw: value> <pitch: value> <chainedCommand: ExecuteChainedOption_0>
rotated as <origin: target> <chainedCommand: ExecuteChainedOption_0>
引数
JE<rot>行俯角・水平角<yaw> <pitch>
BEyaw: value and pitch: value
ヨー角(y方向を軸とした回転角)およびピッチ角(水平方向を軸とした回転角。仰角・俯角のこと)を、倍精度浮動小数点数を用いて度単位で指定する。
  • 水平方向の回転角(ヨー角)は、-180.0が真北、-90.0が真東、0.0が真南、90.0が真西であり、179.9は真北からほんの少し西側となる。
  • 垂直方向の回転角(ピッチ角)は、-90.0が真上、90.0が、真下となる。
チルダ表記法を使用することができ、コマンドの実行者のヨー角を基準とする相対値を指定できる。
JE<targets>エンティティ
BEorigin: target
実行方角の基準にしたいエンティティ。
プレイヤー名、ターゲットセレクターまたはUUIDで指定する。‌[Java Edition限定]
結果
引数が正しく指定されていない場合、解析不能となる。
<targets>origin: targetに適合するエンティティが1体も存在しない場合(名前付きのプレイヤーはオンラインである必要がある)は、そこで実行が終了する。
複数のエンティティが見つかった場合は、次のサブコマンドは各エンティティごとにそれと同じ方角を向いているものとして1度ずつ実行される。
全てのヒツジを、最寄りのプレイヤーが向いている方向に1ブロック移動させる:/execute as @e[type=sheep] at @s rotated as @p run tp @s ^ ^ ^1

summon[]

新たな実行者となるエンティティを召喚し、そのエンティティを実行者@sに設定する。
構文
Java Edition
summon <entity> -> execute
引数
JE<entity>名前空間付ID
召喚して後続のサブコマンドの実行者になるエンティティ。
名前空間IDで指定する。
結果
引数が正しく指定されていない場合、解析不能となる。
ヒツジを召喚し、タグ「Test」を追加する:execute summon sheep run tag @s add Test

ガードサブコマンド[]

ifあるいはunlessサブコマンドの主な用途は、指定した条件下でのみコマンドが実行されるように制約を加えることである。多くの場合、unlessifの否定、すなわち「…でなければ」に相当する。受け取れる引数はどちらも同じである。

ガードサブコマンドの結果:
引数が正しく指定されていない場合、解析不能となる。
一部の状況では、例えばワールド外のブロックを判定しようとすると、ifunlessともに失敗し、そこで処理が中断する。
サブコマンド列の終端でなければ、条件を満たした場合のみ後続のサブコマンドが実行され、さもなくば終了する。複数の変数(実行者、実行位置、実行方角など)に対して複数回実行された場合、それは変数のフィルタリング、すなわち条件を満たした変数のみが次のサブコマンドを実行するように動作する。
サブコマンド列の終端にある時、条件を満たしているかどうかを出力する。
条件の形式には10種類‌[Java Edition限定]/4種類‌[Bedrock Edition限定]存在する。
  1. (if|unless) biome – バイオームを判定する。‌[Java Edition限定]
  2. (if|unless) block – 単体のブロックを判定する。
  3. (if|unless) blocks – 直方体の領域同士を比較する。
  4. (if|unless) data – ブロック、エンティティ、ストレージのデータを判定する。‌[Java Edition限定]
  5. (if|unless) dimension - 指定したディメンション内での実行になるかどうかを判定する。
  6. (if|unless) entity – 指定したエンティティが存在するかどうか判定する。
  7. (if|unless) function - 関数を実行し、その戻り値を判定する。
  8. (if|unless) loaded - 指定した座標が読み込まれているかどうかを判定する。
  9. (if|unless) predicate – 指定したプレディケートを判定する。‌[Java Edition限定]
  10. (if|unless) score - 対象のスコアを判定する。

(if|unless) biome[]

Information icon
この項目はJava Edition限定の要素です。 
構文
(if|unless) biome <pos> <biome> -> [execute]
引数
<pos>biome_pos
バイオームを判定したい位置の座標
<biome>biome_predicate
判定に使う有効なバイオームID
結果
引数が正しく指定されていない場合、解析不能となる。
以下の場合、サブコマンド列の終端であれば失敗し、さもなくば実行を中断する。
  • <pos>がワールドの読み込み範囲外にある時。
  • 指定した条件を満たさない場合。
サブコマンド列の終端である場合、コマンドが成功した時にはsuccess値とresult値は1になる。

(if|unless) block[]

指定した位置のブロックと、指定したブロックIDやブロックタグを比較する。
構文
Java Edition
(if|unless) block <pos> <block> -> [execute]
Bedrock Edition
<subcommand: Option_If_Unless> block <position: x y z> <block: Block> [chainedCommand: ExecuteChainedOption_0]
<subcommand: Option_If_Unless> block <position: x y z> <block: Block> <blockStates: block states> [chainedCommand: ExecuteChainedOption_0]
引数
JE<pos>ブロック座標
BEposition: x y z
比較したいブロックがある座標
整数またはチルダ・キャレット表記法で表記された<x>、<y>、<z>でブロック座標を指定する。
JE<block>ブロック条件
比較したいブロックIDかブロックタグ
ブロック引数(ブロックタグは使用可能)を指定する。
BEblock: Block
比較したい有効なブロックID[情報提供依頼]
BEblockStates: block states
有効なブロック状態[情報提供依頼]
結果
引数が正しく指定されていない場合、解析不能となる。
以下の場合、サブコマンド列の終端であれば失敗し、さもなくば実行を中断する。
  • <pos>position: x y zがワールドの読み込み範囲外にある時。
  • 指定した条件を満たさない場合。
サブコマンド列の終端である場合、コマンドが成功した時にはsuccess値とresult値は1になる。

(if|unless) blocks[]

同じ寸法の領域同士でブロックを比較する。
構文
Java Edition
(if|unless) blocks <start> <end> <destination> (all|masked) -> [execute]
Bedrock Edition
<subcommand: Option_If_Unless> blocks <begin: x y z> <end: x y z> <destination: x y z> <scan mode: BlocksScanMode> [chainedCommand: ExecuteChainedOption_0]
引数
JE<start>ブロック座標
BEbegin: x y z
JE<end>ブロック座標
BEend: x y z
比較元の領域の対角同士の角の座標。
整数またはチルダ・キャレット表記法で表記された<x>、<y>、<z>でブロック座標を指定する。
JE<destination>ブロック座標
BEdestination: x y z
比較対象の領域の北西下の角の座標。
比較対象の寸法は、比較元と同じとして扱われる。
整数またはチルダ・キャレット表記法で表記された<x>、<y>、<z>でブロック座標を指定する。
JE(all|masked)
BEscan mode: BlocksScanMode (allmasked)
比較元の領域の全てのブロックに対して比較する場合にはall、空気ブロックを外す場合にはmaskedを指定する。
結果
引数が正しく指定されていない場合、解析不能となる。
以下の場合、サブコマンド列の終端であれば失敗し、さもなくば実行を中断する。
  • <start>begin: x y z<end>end: x y z<destination>destination: x y zのいずれかがワールドの読み込み範囲外にある時。
  • 比較元の領域の体積が32768(8チャンク区画分に相当)を超えるとき。
  • 指定した条件を満たさない場合。
サブコマンド列の終端である場合、コマンドが成功した時にはsuccess値は1になる。
ifモードの時、result値は一致したブロックの数(allモードでは総数、maskedモードでは空気でないブロックの数)となる。
unlessモードの時、result値は1となる。

(if|unless) data[]

Information icon
この項目はJava Edition限定の要素です。 
対象ブロック、エンティティ、ストレージが指定したパスのデータタグを持っているかどうか判定する。
構文
ブロック:(if|unless) data block <pos> <path> -> [execute]
エンティティ:(if|unless) data entity <target> <path> -> [execute]
ストレージ:(if|unless) data storage <source> <path> -> [execute]
引数
オプション:(if|unless data block <pos> <path>}}
<pos>ブロック座標
判定したいブロックがある座標。
整数またはチルダ・キャレット表記法で表記された<x>、<y>、<z>でブロック座標を指定する。
<path>NBTパス
ブロックが持っているかどうか判定したいデータパス。
NBTパスで指定する。
オプション:(if|unless data entity <target> <path>}}
<target>エンティティ
データを判定したい単体のエンティティ。
プレイヤー名、ターゲットセレクターまたはUUIDで指定する。
<path>NBTパス
エンティティが持っているかどうか判定したいデータパス。
NBTパスで指定する。
オプション:(if|unless data storage <source> <path>}}
<source>名前空間付ID
データを判定したいストレージの名前空間ID
名前空間IDで指定する。
<path>NBTパス
ストレージが持っているかどうか判定したいデータパス。
NBTパスで指定する。
結果
引数が正しく指定されていない場合、解析不能となる。
以下の場合、サブコマンド列の終端であれば失敗し、さもなくば実行を中断する。
  • <pos>がワールドの読み込み範囲外にある時。
  • <pos>のブロックがブロックエンティティでない時。
  • <target>に適合するエンティティが1体でない時(名前付きのプレイヤーはオンラインである必要がある)。
  • 指定した条件を満たさない場合。
サブコマンド列の終端である場合、コマンドが成功した時にはsuccess値は1になる。
ifモードの時、result値は一致したデータタグの数となる。
unlessモードの時、result値は1となる。

(if|unless) dimension[]

指定したディメンション内での実行になるかどうかを判定する。
構文
(if unless) dimension <dimension> -> [execute]
引数
<dimension>ディメンション
ディメンション名前空間IDで指定する。
結果
引数が正しく指定されていない場合、解析不能となる。
指定した条件を満たさない場合、サブコマンド列の終端であれば失敗し、さもなくば実行を中断する。
サブコマンド列の終端である場合、コマンドが成功した時にはsuccess値は1になる。
ifモードの時、result値は検出したエンティティの数となる。
unlessモードの時、result値は1となる。

(if|unless) entity[]

指定したエンティティが1体以上存在するか判定する。
構文
Java Edition
(if|unless) entity <entities> -> [execute]
Bedrock Edition
<subcommand: Option_If_Unless> entity <target: target> [chainedCommand: ExecuteChainedOption_0]
引数
JE<entities>エンティティ
BEtarget: target
判定したいエンティティ
プレイヤー名、ターゲットセレクターまたはUUIDで指定する。‌[Java Edition限定]
結果
引数が正しく指定されていない場合、解析不能となる。
指定した条件を満たさない場合、サブコマンド列の終端であれば失敗し、さもなくば実行を中断する。
サブコマンド列の終端である場合、コマンドが成功した時にはsuccess値は1になる。
ifモードの時、result値は検出したエンティティの数となる。
unlessモードの時、result値は1となる。

(if|unless) function[]

関数または関数タグを実行し、その戻り値が以下に示す条件を満した場合に続きを実行する。
構文
(if|unless) function <function> -> [execute]
引数
<function>関数
実行する関数および関数タグ。関数タグを指定した場合は、該当する関数が他の関数の実行結果に拘わらずすべて実行される。
名前空間IDで特定の関数を指定するか、#から始まる関数のタグを指定する。
結果
引数が正しく指定されていない場合、解析不能になる。
実行された関数のうち少なくとも一つが次の条件を満たす場合はifは通過、unlessは失敗する。
  • /returnコマンドによって戻り値が与えられている。
  • この戻り値が0でない。
0以外の戻り値が与えられた場合はifは失敗、unlessは成功する。
/returnコマンドによって戻り値が当たられたコマンドが一つもない場合はif構文は失敗、unless構文は通過する。

(if|unless) loaded[]

指定された位置が、ブロックとエンティティの両方について完全に読み込まれているかどうかを判定する。
構文
(if unless) loaded <pos> -> [execute]
引数
<pos>ブロック座標
判定したい座標
整数またはチルダ・キャレット表記法で表記された<x>、<y>、<z>でブロック座標を指定する。
結果
引数が正しく指定されていない場合、解析不能となる。
指定した条件を満たさない場合、サブコマンド列の終端であれば失敗し、さもなくば実行を中断する。
サブコマンド列の終端である場合、コマンドが成功した時にはsuccess値は1になる。
ifモードの時、result値は検出したエンティティの数となる。
unlessモードの時、result値は1となる。

(if|unless) predicate[]

Information icon
この項目はJava Edition限定の要素です。 
述語が正の値に評価されるかどうか判定する。詳細はプレディケートを参照。
構文
(if|unless) predicate <predicate> -> [execute]
引数
<predicate>名前空間付ID
正の値に評価されるかどうか判定したい述語。
名前空間IDで指定する。
結果
引数が正しく指定されていない場合、解析不能となる。
以下の場合、サブコマンド列の終端であれば失敗し、さもなくば実行を中断する。
  • 指定した述語が存在しない。
  • 指定した条件を満たさない場合。
サブコマンド列の終端である場合、コマンドが成功した時にはsuccess値とresult値は1になる。

(if|unless) score[]

スコアと他のスコアを比較、あるいは所定の範囲内にあるかどうかを判定する。
構文
Java Edition
2つのスコアを比較:(if|unless) score <target> <targetObjective> (<|<=|=|>=|>) <source> <sourceObjective> -> [execute]
スコアと範囲を比較:(if|unless) score <target> <targetObjective> matches <range> -> [execute]
Bedrock Edition
2つのスコアを比較:<subcommand: Option_If_Unless> score <target: target> <objective: string> <operation: compare operator> <source: target> <objective: string> [chainedCommand: ExecuteChainedOption_0]
スコアと範囲を比較:<subcommand: Option_If_Unless> score <target: target> <objective: string> matches <range: integer range> [chainedCommand: ExecuteChainedOption_0]
引数
JE<target>スコアホルダー
BEtarget: target
スコアの所有者。
スコアホルダーを選択する。ターゲットセレクター、プレイヤー名、UUID またはすべてのスコアホルダーを指定する*の値をとる。
JE<targetObjective>オブジェクト
BEobjective: string
比較に使用したいオブジェクト。<target>の<targetObjective>のスコアが判定に使われる。
スコアボードのオブジェクト名で指定する。
オプション:(<|<=|=|>=|>) <source> <sourceObjective>
JE<source>スコアホルダー
BEsource: target
比較対象にしたいスコアの所有者。
スコアホルダーを選択する。ターゲットセレクター、プレイヤー名、UUID またはすべてのスコアホルダーを指定する*の値をとる。
JE<sourceObjective>オブジェクト
BEobjective: string
オブジェクト。<source>の<sourceObjective>のスコアが判定に使われる。
スコアボードのオブジェクト名で指定する。
オプション:matches <range>
JE<range>範囲(整数)
BErange: integer range
数値の範囲。
値域内の整数で指定する(例:0―ちょうど0、..0―0以下、0..―0以上、0..1―0以上1以下)。
結果
引数が正しく指定されていない場合、解析不能となる。
以下の場合、サブコマンド列の終端であれば失敗し、さもなくば実行を中断する。
  • <target>target: targetsourcesource: target*であるとき。
  • 指定した条件を満たさない場合。
サブコマンド列の終端である場合、コマンドが成功した時にはsuccess値とresult値は1になる。

[]

羊毛に乗っているプレイヤーを全員死亡させる/execute as @a at @s if block ~ ~-1 ~ #wool run kill @s
実行者のスコアAとスコアBが等しいかどうか判定する/execute if score @s A = @s B

格納先指定サブコマンド[]

Information icon
この項目はJava Edition限定の要素です。 

最後のコマンドのresult値とsuccess値を保存する場所を指定する。他のサブコマンドとともに最初に実行され、格納先を記録しておき、最後のサブコマンドが実行された後でそこに値を保存する。コマンドの返り値は整数でなければならず、非整数は負の方向に丸められる。

ストレージにより5つのモードが存在する。

  1. store (result|success) block – ブロックのNBTに保存する。
  2. store (result|success) bossbar – ボスバーに保存する。
  3. store (result|success) entity – エンティティのNBTに保存する。
  4. store (result|success) score – 対象のスコアに保存する。
  5. store (result|success) storage – ストレージのNBTに保存する。

store (result|success) block[]

コマンドの返り値をブロックエンティティのタグデータに保存する。byte、short、int、long、float、double型の値として保存される。返り値が小数の時は、丸められてから<scale>の値が乗算される。
構文
store (result|success) block <targetPos> <path> <type> <scale> -> execute
引数
<targetPos>ブロック座標
対象となるブロックの位置。
<path>NBTパス
値を格納したいタグのパス。
<type>
格納先のデータ型。
byteshortintlongfloatdoubleのいずれかでなければならない。
<scale>倍精度浮動小数点数
格納前に値に乗算される数値。負数でも良い。
結果
引数が正しく指定されていない場合、解析不能となる。
パスが存在しない場合は何も保存しない。

store (result|success) bossbar[]

コマンドの返り値をボスバーの現在値か最大値として保存する。

構文
store (result|success) bossbar <id> (value|max) -> execute
引数
<id>名前空間付ID
格納先としたいボスバーのID。
value|max
ボスバーの現在値(value)と最大値(max)のどちらに上書きしたいか。
結果
引数が正しく指定されていない場合、解析不能となる。

store (result|success) entity[]

コマンドの返り値をエンティティのデータタグに保存する。byte、short、int、long、float、double型の値として保存される。返り値が小数の時は、丸められてから<scale>の値が乗算される。/dataコマンドと同様、/execute storeプレイヤーのNBTを上書きすることはできない。
構文
store (result|success) entity <target> <path> <type> <scale> -> execute
引数
<target>エンティティ
対象となる単一のエンティティ。
<path>NBTパス
値を格納したいタグのパス。
<type>
格納先のデータ型。
byteshortintlongfloatdoubleのいずれかでなければならない。
<scale>倍精度浮動小数点数
格納前に値に乗算される数値。負数でも良い。
結果
引数が正しく指定されていない場合、解析不能となる。
パスが存在しない場合は何も保存しない。

store (result|success) score[]

コマンドの返り値で<targets><objective>のスコアを上書きする。
構文
store (result|success) score <targets> <objective> -> execute
引数
<targets>スコアホルダー
上書きしたいスコアの所有者。
<objective>オブジェクト
スコアボードのオブジェクト。
結果
引数が正しく指定されていない場合、解析不能となる。

store (result|success) storage[]

コマンドの返り値を<target>ストレージ<path>に保存する。byte、short、int、long、float、double型の値として保存される。返り値が小数の時は、丸められてから<scale>の値が乗算される。存在しないストレージを指定した場合は新たに作成される、
構文
store (result|success) storage <target> <path> <type> <scale> -> execute
引数
<target>名前空間付ID (Single word)
名前空間IDで指定した対象ストレージ。
<path>NBTパス
値を格納したいタグのパス。
<type>
格納先のデータ型。
byteshortintlongfloatdoubleのいずれかでなければならない。
<scale>倍精度浮動小数点数
格納前に値に乗算される数値。負数でも良い。
結果
引数が正しく指定されていない場合、解析不能となる。

runサブコマンド[]

runコマンドは引数として実行されるコマンドを取り、サブコマンドで変更した変数が利用できる。

構文
Java Edition
run --><command>
Bedrock Edition
run <command: command>
引数
JE<command>
BEcommand: command
任意のコマンドを指定できる。
技術的情報
コマンドノードをコマンドディスパッチャーのルートとして再設定する。
チャットテキストとしてのコマンド構築に関する情報:
  • コマンドディスパッチャーは、プレイヤーがスラッシュ(/)でメッセージを入力し始めた時に立ち上がるものである。
  • コマンドノードは、今カーソルで編集中の特定のワード部分のことで、コマンドか引数のどちらかである。
  • ルートノードは現在のコマンドの最初のワードより前に存在する。
結果
コマンドを実行する。<command>command: commandの失敗は/execute全体の失敗として扱われる。

他の例[]

  • 効率強化のエンチャントが付与されたアイテムをホットバーの1番目に入れているプレイヤー全員を、(0, 64, 0) の位置に移動させる:
    /execute as @a if data entity @s Inventory[{Slot:0b}].tag.Enchantments[{id:"minecraft:efficiency"}] run tp @s 0 64 0[Java Edition限定]
  • プレイヤー全員の目の前3ブロックのところに煙のパーティクルを発生させる:
    /execute as @a at @s anchored eyes run particle smoke ^ ^ ^3[Java Edition限定]
  • 実行者から5ブロック以内にいるブタに鞍を装着し、5ブロックより離れたところにいるブタから鞍を取り外す:
    /execute as @e[type=pig] at @s store success entity @s Saddle byte 1 if entity @p[distance=..5][Java Edition限定]
  • 中にいるプレイヤーにチャットで「足がずぶ濡れだよ!!!」と発言させる:
    /execute as @a at @s if block ~ ~ ~ water run say "足がずぶ濡れだよ!!!"
  • /scoreboard players reset @s testを実行したなどでスコア「test」がセットされていないプレイヤーに「スコアをリセットしました」と発言させる:
    /execute as @a unless score @s test = @s test run say "スコアをリセットしました"
  • 最寄りのプレイヤーから3ブロック以内にいるブタを全て空に放り投げる:
    /execute at @p as @e[type=pig,distance=..3] run data merge entity @s {Motion:[0.0,2.0,0.0]}[Java Edition限定]
  • 頭部に何も装備していないゾンビ全員を死亡させる:
    /execute as @e[type=zombie] unless data entity @s ArmorItems[3].id run kill @s[Java Edition限定]

歴史[]

Java Edition
1.814w07a/executeが追加された。
14w08aコマンドが実行成功時の返り値をコマンドブロックに渡すようになった。
1.1116w32aブロック状態のサポートが追加された。
1.1317w45a構文が分割された。
17w45b/execute storeが再び動作するようになった。
18w02aコマンドをより柔軟に操作するための新しいサブコマンドが追加された。
18w05a/execute store bossbarサブコマンドが追加された。
1.1418w43a/execute (if|unless) dataサブコマンドが追加された。
1.1519w38a/execute if predicate <predicate>サブコマンドが追加された。
/execute store storageサブコマンドが追加された。
1.19.322w46a/execute (if|unless) biomeサブコマンドが追加された。
1.19.423w03a/execute onサブコマンドが追加された。
/execute (if|unless) dimension/execute (if|unless) loadedサブコマンドが追加された。
23w04a/execute onサブコマンドの引数に指定できる値originが追加された。
23w06a/execute summonサブコマンドが追加された。
Pre-release 1/execute positionedサブコマンドに引数over <heightmap>が指定できるようになった。
1.20.223w31a/execute (if|unless) functionサブコマンドが追加された。
Pre-release 1バグの修正のために根本的な変更を要することが発覚したため/execute (if|unless) functionサブコマンドの開発が延期され、一時的に削除された。
1.20.323w41a/execute (if|unless) functionサブコマンドが再追加された。
23w44a実行されたコマンドにreturnが存在しない場合は、if構文は失敗、unless構文は通過するようになった。従来はどちらの構文も失敗していた。
各実行文脈において、呼び出された関数内の最初の/returnが戻り値を与えるようになった。
Pocket Edition Alpha
v0.16.0build 1/executeが追加された。
Java Edition 1.10と同様に動作するが、エンティティの指定は省略可能である。
Bedrock Edition
今後のクリエイター機能
(実験)
beta 1.19.10.20/executeの構文がJava Editionのものに近くなった。
beta 1.19.40.20/execute rotatedコマンドが実装された。
beta 1.19.40.21/execute facing/execute alignコマンドが実装された。
beta 1.19.40.23/execute anchored/execute inコマンドが実装された。
1.19.50beta 1.19.50.23/executeの新構文が、「今後のクリエイター機能」実験トグルを有効にしなくても利用可能になった。
1.19.70beta 1.19.70.21/execute <if|unless> blockから引数data: intが削除された。
Advertisement