/execute
是各不同功能的子命令的集合,用於改變命令執行上下文(修飾子命令),執行邏輯判斷(條件子命令)和管理並儲存命令回傳值(儲存子命令)
概述[]
子命令分類[]
子命令按功能可分為以下幾類:
- 修飾子命令:修改命令變數並改變命令執行時的狀態,從而以特定的執行位置、執行基準點、執行者、執行朝向、執行維度執行後續子命令。
- 條件子命令:檢測特定條件是否成立並輸出結果,或限制子命令執行的條件。
- 儲存子命令
[僅Java版]:將命令回傳值儲存至方塊實體、實體或儲存容器的NBT數據中,計分板的計分項中,或Boss狀態條的目前值或最大值中。 run
子命令:執行目標命令。
使用子命令[]
子命令可以在/execute
後串連在一起使用,可出現在命令的任意位置及重複任意次數(run
子命令除外,其只能位於末尾且只能使用一次)。
條件子命令或run
子命令必須作為命令結尾,否則不產生實際效果。
子命令處理順序[]
各子命令按其在命令中的順序被依次處理,下列命令中子命令雖然一致,但由於順序不同,會產生不同效果:
/execute as @e at @s run tp ^ ^ ^1
:所有實體向各自所朝方向移動一格。/execute at @s as @e run tp ^ ^ ^1
:所有實體移動到執行者前方一格。
run
子命令會在其他子命令被處理後再處理,因此它不影響其他子命令。
回傳值[]
若有語法錯誤或指定的命名空間ID不存在,命令就中途終止並提示錯誤,此時無回傳值。
在Java版中,若命令未中途終止,命令執行後,會回傳其success
(成功次數)和result
(結果)兩個回傳值,其:
- 值均來自結尾的條件子命令或
run
子命令。若被執行多次,回傳值為最後一次執行的; - 均為整數,
result
遇小數時向下取整; success
總為0或1。- 無命令執行成功時兩值均為0;
- 均可由儲存子命令儲存。
/execute
命令本身也有成功次數(無論是否中途終止),通常為0或1,但若被分開執行多次(如/execute as @a -> execute
)則可大於1
語法樹[]
下面列出了各子命令及其語法的語法樹。其中的所有-> execute
chainedCommand: ExecuteChainedOption_0
execute ...
... align <axes> -> execute
... anchored <anchor> -> execute
... as <targets> -> execute
... at <targets> -> execute
... facing ...
... <pos> -> execute
... entity <targets> <anchor> -> execute
... in <dimension> -> execute
... on (attacker|controller|leasher|origin|owner|passengers|target|vehicle) -> execute
... positioned ...
... <pos> -> execute
... as <targets> -> execute
... over <heightmap> -> execute
... rotated ...
... <rot> -> execute
... as <targets> -> 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
... loaded <pos> -> execute
... predicate <predicate> -> execute
... score <target> <targetObjective>
... (=|<|<=|>|>=) <source> <sourceObjective> -> execute
... matches <range> -> execute
... store (result|success) ...
... block <targetPos> <path> (int|float|short|long|double|byte) <scale> -> execute
... bossbar <id> (value|max) -> execute
... entity <target> <path> (int|float|short|long|double|byte) <scale> -> execute
... score <targets> <objective> -> execute
... storage <target> <path> (int|float|short|long|double|byte) <scale> -> execute
... run ...
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> <chainedCommand: ExecuteChainedOption_0>
... entity <origin: target> <eyes|feet> <chainedCommand: ExecuteChainedOption_0>
... in <dimension: Dimension> <chainedCommand: ExecuteChainedOption_0>
... positioned ...
... <position: x y z> <chainedCommand: ExecuteChainedOption_0>
... as <origin: target> <chainedCommand: ExecuteChainedOption_0>
... rotated ...
... <yaw: value> <pitch: value> <chainedCommand: ExecuteChainedOption_0>
... as <origin: target> <chainedCommand: ExecuteChainedOption_0>
... <subcommand: Option_If_Unless> ...
... block <position: x y z> <block: Block> ...
... <blockStates: block states> [chainedCommand: ExecuteChainedOption_0]
... [chainedCommand: ExecuteChainedOption_0]
... blocks <begin: x y z> <end: x y z> <destination: x y z> <scan mode: BlockScanMode> [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>
修飾子命令[]
可用子命令:
align
:將執行位置轉換為方塊座標。anchored
:將執行基準點設定為實體的腳部或眼部。as
:將執行者設定為特定實體。at
:將執行位置、執行朝向和執行維度設定為指定實體的座標、朝向和維度。facing
:將命令的執行朝向設定為面向指定座標或指定實體。in
:將命令執行維度設定為特定維度。on
:將執行者設定為與目前執行者有指定類型的關係的實體。positioned
:將執行位置設定為指定座標或指定實體位置。rotated
:將執行朝向設為特定方向或設為指定實體的朝向。summon
[僅Java版]:立即建立一個實體,並將此實體設定為執行者。
align[]
- 將執行位置轉換為方塊座標(向下取整)。
- 效果
- 改變執行座標,指定軸上的座標向下取整。
- 參數未正確指定時視為語法錯誤。
- 示例
/execute positioned -1.8 2.3 5.9 align xz run tp ~ ~ ~
:把自己從(-1.8, 2.3, 5.9)傳送至(-2, 2.3, 5)。/execute positioned 2.4 -1.1 3.8 align yxz run spawnpoint @p ~ ~ ~
:目前執行位置為(2.4, -1.1, 3.8),將最近玩家的重生點設定為(2, -2, 3)。/execute align y run tp ~ ~ ~
:把自己的Y座標微調,向下取整。
anchored[]
- 將執行基準點設定為實體的腳部或眼部,預設為腳部。
- 參數
- JE:
<anchor>
:entity_anchor - BE:
eyes|feet
- 需要設定的基準點位置。
- 必須為
eyes
或feet
。eyes
為眼部,feet
為腳部。
- 效果
- 將局部座標的執行基準點設為眼睛或腳,並改變
facing
子命令所指向的位置。 - 參數不正確時,視為語法錯誤。
- 示例
/tp
的效果是透過將腳部移動到指定的位置來移動實體。/execute anchored eyes run tp ^ ^ ^
:將命令執行者的腿部移動到原眼部位置。/execute anchored eyes run tp ^5 ^ ^
:將命令執行者的腿部移動到原眼部位置左邊5格的位置上。
as[]
- 將執行者設定為特定實體,但不改變其他命令變數。
[需要測試基岩版]
- 效果
- 將執行者改為目標實體(改變
@s
的含義)。 - 參數不正確時,視為語法錯誤。
- 若
<targets>
或origin: target
無法解析為一個或多個有效實體(指定玩家必須線上)時,命令終止執行。 - 當選擇到多個實體時,以各個實體為執行者分別執行一次後續子命令。
- 示例
at[]
- 將執行位置、執行朝向和執行維度
[需要測試基岩版]設定為指定實體的座標、朝向和維度,不改變命令執行者。
- 示例
/execute at @r run setblock ~ ~-1 ~ stone
:在一名隨機玩家腳下放置一塊石頭。/execute as @e[type=sheep] at @s run tp ~ ~1 ~
:將所有綿羊向上移動1格。/execute at @e[type=sheep] run kill @s
:殺死執行者而非所有綿羊(at
子命令不修改執行者)。
facing[]
- 將命令的執行朝向設定為面向指定座標或指定實體,不改變命令執行者和執行位置。
- 效果
- 將執行朝向設定為面向指定的座標或目標實體。
- 參數不正確時,視為語法錯誤。
- 若
<targets>
或origin: target
無法解析為一個或多個有效實體(指定玩家必須線上)時,命令終止執行。 - 當選擇到多個實體時,以各個實體的朝向分別執行一次後續子命令。
- 示例
/execute facing ^1 ^ ^ run tp ~ ~ ~
[僅Java版]:將執行者的視角左轉90度。 /execute as @e at @s facing 0 64 0 run tp ^ ^ ^1
:將所有實體都朝(0, 64, 0)的方向移動一格(不改變自身朝向)。/execute as @e at @s facing 0 64 0 run tp ^ ^ ^1 ~ ~
:將所有實體都朝(0, 64, 0)的方向移動一格(改變自身朝向)。/execute as @e[type=!player] at @s facing entity @p feet run tp ^ ^ ^1
:所有非玩家實體朝着各自距離最近的玩家的方向移動一格(不改變自身的朝向)。
in[]
- 將命令執行維度設定為特定維度。命令將在指定的維度中執行。
- 效果
- 更新執行維度。並依據原維度與現維度間關係,按比例縮放相對座標和局部座標(不包括Y軸)。
- 參數不正確時,視為語法錯誤。
- 示例
/execute in the_end run locate structure end_city
:從任意維度中定位終界中的終界城。/execute in the_nether positioned as @s run tp ~ ~ ~
:將玩家傳送到地獄中的對應位置。/execute in the_nether run tp ~ ~ ~
:將玩家傳送到地獄中的對應位置。若玩家原先位於其他維度的(X, Y, Z)處,則傳送到地獄的(X÷8, Y, Z÷8)處。/execute in the_nether run tp ~ ~ ~5
:將玩家傳送到地獄中的對應位置。若玩家原先位於其他維度的(X, Y, Z)處,則傳送到地獄的(X÷8, Y, Z÷8+5)處。
on[]
- 將執行者設定為與目前執行者有指定類型的關係的實體。
- 語法
- JE:
on (attacker|controller|leasher|owner|passengers|target|vehicle) -> execute
- 效果
- 若指定的關係不適用於目前執行實體,或此關係下沒有匹配實體,則回傳0個元素。
- 參數不正確時,視為語法錯誤。
- 若此參數無法解析為一個或多個有效實體(指定玩家必須線上)時,命令終止執行。
- 示例
/execute as @e[type=sheep] on attacker run kill @s
:殺死5秒內對附近可檢測到的所有綿羊發起攻擊動作的所有最後一個實體。/execute as @e[type=cat] on leasher run damage @s 2 generic
:給拴着貓的實體施加2()點普通傷害。
positioned[]
- 將執行位置設定為指定座標或指定實體位置,但不改變執行執行者、執行朝向和執行維度。
- 語法
- JE:
positioned <pos> -> execute
- BE:
positioned <position: x y z> <chainedCommand: ExecuteChainedOption_0>
- 將執行位置設定為指定座標。
- JE:
positioned as <targets> -> execute
- BE:
positioned as <origin: target> <chainedCommand: ExecuteChainedOption_0>
- 將執行位置設定為指定實體位置。
- JE:
positioned over <heightmap> -> execute
- 將執行位置設定為符合特定高度圖的一縱列方塊的最高的位置。
- 參數
- JE:
<pos>
:vec3 - BE:
position: x y z
- 指定命令執行的座標。
- 必須為三維座標,元素為浮點數。允許波浪號與脱字號標記。
- JE:
<targets>
:entity - BE:
origin: target
- 指定命令執行的位置為此處指定的實體所處的座標。
- 必須為玩家名、目標選擇器或UUID。
- JE:
<heightmap>
:heightmap- 指定高度圖。須為下列選項之一:
world_surface
:任意非空氣方塊。motion_blocking
:任意能阻擋移動嘅方塊(如忽略花草)。motion_blocking_no_leaves
:任意不包括樹葉的能阻擋移動嘅方塊。ocean_floor
:任意能阻擋移動嘅非流體方塊。
- 指定高度圖。須為下列選項之一:
- 效果
- 改變命令的執行位置。
positioned <pos>
會將執行基準點設定為腳部。 - 參數不正確時,視為語法錯誤。
- 若
<targets>
或origin: target
無法解析為一個或多個有效實體(指定玩家必須線上)時,命令終止執行。 - 當選擇到多個實體時,以各個實體的位置分別執行一次後續子命令。
- 示例
rotated[]
- 將執行朝向設為特定方向,或設為指定實體的朝向,但不改變執行者和執行位置。
- 效果
- 參數不正確時,視為語法錯誤。
- 當
<targets>
實體不存在時命令終止執行。 - 若
<targets>
或origin: target
無法解析為一個或多個有效實體(指定玩家必須線上)時,命令終止執行。 - 當選擇到多個實體時,以各個實體的朝向分別執行一次後續子命令。
- 示例
/execute as @e[type=sheep] at @s rotated as @p run tp @s ^ ^ ^1
:讓所有的綿羊以各自距離最近玩家的朝向作為方向移動1格。
summon[]
- 立即生成一個實體,並將執行者設定為此實體。
- 語法
- JE:
summon <entity> -> execute
- 參數
- JE:
<entity>
:entity_summon- 需要生成的實體類型。
- 必須為可召喚實體類型的命名空間ID。
- 效果
- 參數不正確時,視為語法錯誤。
- 示例
/execute summon villager run damage @e[type=iron_golem,sort=nearest,limit=1] 1 generic by @s
:在玩家位置上生成一名村民,並讓它對距其最近的鐵人造成1()點普通傷害。
條件子命令[]
條件子命令包括if
和unless
兩種,用於測試特定類型的條件。兩者的語義相反但參數結構一致,if
表示「如果……就」,unless
表示「除非……否則」。
條件子命令可以單獨使用,也可以與其他子命令一起使用,根據其處於整條命令中的位置,其行為也有區別:
- 位於整條命令的末尾時,條件子命令會直接輸出測試結果。
- 不位於整條命令的末尾時,條件子命令會根據自身語義與測試結果,決定後續子命令是否執行。
- 若由多個變數(如執行者、執行位置、執行朝向)執行多次時,可作為變數過濾器使用。
可用條件類型:
biome
[僅Java版]:檢測給定位置上的生物羣落是否為特定生物羣落。 block
:檢測給定位置上的方塊是否是特定的方塊或方塊狀態及。blocks
:檢測給定區域內的方塊是否匹配另一個同等大小區域內的方塊。data
[僅Java版]:檢測方塊、實體或儲存容器是否擁有給定的NBT標籤。 dimension
:檢測命令執行時所處的維度是否為特定維度。entity
:檢測一個或多個特定實體是否存在。loaded
:檢測給定位置是否已被載入。predicate
[僅Java版]:檢測述詞計算結果是否為正。 score
:檢測指定目標的計分板中的計分項的分數是否與另一個(或同一個)目標的計分板的計分項的分數是否符合指定的關係,或者是否在給定的範圍之內。
(if|unless) biome[]
- 檢測給定位置上的生物羣落是否為特定生物羣落。
- 語法
- JE:
(if|unless) biome <pos> <biome> -> execute
- 效果
- 參數未正確指定時視為語法錯誤。
- 若未透過測試或出現下列情形,終止執行後續子命令(不位於末尾)或執行失敗(位於末尾):
<pos>
所指定的位置未載入或位於世界外。
- 若位於末尾且執行成功,
success
和result
均回傳1。
(if|unless) block[]
- 檢測給定位置上的方塊是否是特定的方塊或方塊狀態。
- 參數
- JE:
<pos>
:block_pos - BE:
position: x y z
- JE:
<block>
:block_predicate - BE:
block: Block
- BE:
blockStates: block states
:BlockStateCommandParam- 需要檢測的方塊的方塊狀態。
- 必須為格式為
["<键1>"=<值1>,"<键2>"=<值2>,...]
的方塊狀態,例如:["old_leaf_type"="birch","persistent_bit"=true]
。
- 效果
- 參數未正確指定時視為語法錯誤。
- 若未透過測試或出現下列情形,終止執行後續子命令(不位於末尾)或執行失敗(位於末尾):
<pos>
或position: x y z
所指定的位置未載入或位於世界外。
- 若位於末尾且執行成功,
success
和result
均回傳1。
- 示例
/execute as @a at @s if block ~ ~-1 ~ stone run kill @s
:擊殺所有踩在石頭上的玩家。
(if|unless) blocks[]
- 檢測給定區域內的方塊是否匹配另一個同等大小區域內的方塊。
- 效果
- 參數未正確指定時視為語法錯誤。
- 若未透過測試或出現下列情形之一,終止執行後續子命令(不位於末尾)或執行失敗(位於末尾):
<start>
或begin: x y z
、<end>
或<end: x y z>
、<destination>
或destination: x y z
所指定的位置未載入或位於世界外。- 要檢測的源區域方塊數大於32768。
- 若位於末尾且執行成功,
success
回傳1。result
回傳:- 匹配上的方塊數(
if
)。 - 1(
unless
)。
- 匹配上的方塊數(
(if|unless) data[]
- 檢測方塊、實體或儲存容器是否擁有給定的NBT標籤。
- 效果
- 參數未正確指定時視為語法錯誤。
- 若未透過測試或出現下列情形之一,終止執行後續子命令(不位於末尾)或執行失敗(位於末尾):
<pos>
所指定的位置未載入或位於世界外。<pos>
所指定的位置上不是方塊實體。<target>
(data entity
)無法解析為一個或多個有效實體(指定玩家必須線上)。
- 若位於末尾且執行成功,
success
回傳1。result
回傳:- 匹配上的NBT標籤數(
if
)。 - 1(
unless
)。
- 匹配上的NBT標籤數(
- 示例
/execute as @a if data entity @s Inventory[{}].tag.Enchantments run give @s stone
:給予所有擁有附魔物品的玩家一塊石頭。
(if|unless) dimension[]
- 檢測命令執行時所處的維度是否為特定維度。
- 語法
- JE:
(if|unless) dimension <dimension> -> execute
- 效果
- 參數未正確指定時視為語法錯誤。
- 若未透過測試,終止執行後續子命令(不位於末尾)或執行失敗(位於末尾)。
- 若位於末尾且執行成功,
success
回傳1。result
回傳:- 匹配上的維度數(
if
)。 - 1(
unless
)。
- 匹配上的維度數(
(if|unless) entity[]
- 檢測一個或多個特定實體是否存在。
- 效果
- 參數未正確指定時視為語法錯誤。
- 若未透過測試或出現下列情形,終止執行後續子命令(不位於末尾)或執行失敗(位於末尾):
<entities>
或target: target
無法解析為一個或多個有效實體(指定玩家必須線上)。
- 若位於末尾且執行成功,
success
回傳1。result
回傳:- 匹配上的實體數(
if
)。 - 1(
unless
)。
- 匹配上的實體數(
- 示例
/execute if entity @e[type=sheep] run function foo:bar
:若世界中有綿羊就執行函數foo:bar
。/execute as @e[type=creeper] at @s unless entity @e[type=ocelot,distance=..3] run kill @s
:擊殺所有在3格範圍內沒有豹貓的Creeper。
(if|unless) loaded[]
- 檢測給定位置是否已被載入。
- 語法
- JE:
(if|unless) loaded <pos> -> execute
- 效果
- 參數未正確指定時視為語法錯誤。
- 若未透過測試或出現下列情形,終止執行後續子命令(不位於末尾)或執行失敗(位於末尾):
<pos>
所指定的位置位於世界外。
- 若位於末尾且執行成功,
success
和result
均回傳1。
(if|unless) predicate[]
- 檢測述詞(Predicate)是否透過(結果是否為正),用法詳見述詞。
- 語法
- JE:
(if|unless) predicate <predicate> -> execute
- 參數
- JE:
<predicate>
:resource_location- 需要用於測試條件的述詞,其應當回傳一個正值。
- 必須為命名空間ID。
- 效果
- 參數未正確指定時視為語法錯誤。
- 若未透過測試或出現下列情形,終止執行後續子命令(不位於末尾)或執行失敗(位於末尾):
- 指定的述詞不存在。
- 若位於末尾且執行成功,
success
和result
均回傳1。
(if|unless) score[]
- 檢測指定目標的計分板中的計分項的分數是否與另一個(或同一個)目標的計分板的計分項的分數是否符合指定的關係,或者是否在給定的範圍之內。
- 語法
- JE:
(if|unless) score <target> <targetObjective> (=|<|<=|>|>=) <source> <sourceObjective> -> execute
- BE:
<subcommand: Option_If_Unless> score <target: target> <objective: string> <operation: compare operator> <source: target> <objective: string> [chainedCommand: ExecuteChainedOption_0]
- 檢測
<target>
的<targetObjective>
的分數與<source>
的<sourceObjective>
的分數是否符合特定運算符表示的關係。
- 檢測
- JE:
(if|unless) score <target> <targetObjective> matches <range> -> execute
- BE:
<subcommand: Option_If_Unless> score <target: target> <objective: string> matches <range: integer range> [chainedCommand: ExecuteChainedOption_0]
- 檢測
<target>
的<targetObjective>
的分數是否在指定<range>
內。
- 檢測
- 參數
- JE:
<target>
:score_holder - BE:
target: target
- JE:
<targetObjective>
:objective - BE:
objective: string
- 需要檢測的計分項。
- 必須為計分項的名稱。
- JE:
(=|<|<=|>|>=)
- BE:
operation: compare operator
- 指定運算符,檢查左操作數(目的計分項)與右操作數(源計分項)之間的關係是否符合此處定義的關係。
- JE:
<source>
:score_holder - BE:
source: target
- JE:
<sourceObjective>
:objective - BE:
objective: string
- 需要被比較的計分項。
- 必須為計分項的名稱。
- JE:
<range>
:int_range - BE:
range: integer range
- 被檢查分數需要符合的範圍。
- 必須為整數範圍。(例如
0
- 精準匹配0,..0
- 匹配小於等於0的值,0..
- 匹配大於等於0的值,0..1
- 匹配0~1的值,含)
- 效果
- 參數未正確指定時視為語法錯誤。
- 若未透過測試或出現下列情形,終止執行後續子命令(不位於末尾)或執行失敗(位於末尾):
<target>
或target: target
、<source>
或source: target
為*
。
- 若位於末尾且執行成功,
success
和result
均回傳1。
- 示例
/execute if score @s a = @s b
:檢測自己的a分數與b分數是否相等。
儲存子命令[]
儲存子命令可以將最後一個命令的result
或success
值儲存到指定位置。
它與其他子命令一起處理,先行記錄儲存位置,不影響其他子命令。當最後一個子命令執行後,將其回傳值存入指定位置,可以是計分板、NBT數據或Boss狀態條。
可用存入位置:
block
:將result
或success
存入指定方塊實體的指定NBT標籤內。bossbar
:將result
或success
存為Boss狀態條的目前值或最大值。entity
:將result
或success
存入指定實體的指定NBT標籤內。score
:將result
或success
存入指定分數持有者的指定計分項上。storage
:將result
或success
存入指定儲存容器的指定NBT標籤內。
store (result|success) block[]
- 將
result
或success
存入指定方塊實體的指定NBT標籤內。
- 語法
- JE:
store (result|success block <targetPos> <path> (int|float|short|long|double|byte) <scale> -> execute
- 結果
- 參數不正確時,視為語法錯誤。
- 路徑不存在時不進行操作。
- 執行成功時,將回傳值向下取整並乘以
<scale>
後儲存在<targetPos>
處方塊實體的<path>
NBT標籤處,並儲存為指定的NBT格式。
store (result|success) bossbar[]
- 將
result
或success
存為Boss狀態條的目前值或最大值。
- 語法
- JE:
store (result|success bossbar <id> (value|max) -> execute
- 參數
- JE:
<id>
:resource_location- 回傳值需要存入的目標Boss狀態條的命名空間ID。
- 必須為命名空間ID。
- JE:
(value|max)
- 回傳值需要存入的是Boss狀態條的目前值(
value
)或是最大值(max
)。
- 回傳值需要存入的是Boss狀態條的目前值(
- 結果
- 參數不正確時,視為語法錯誤。
- 執行成功時,將回傳值向下取整,存為命名空間ID為
<id>
的Boss狀態條的目前值或最大值。
store (result|success) entity[]
- 語法
- JE:
store (result|success) entity <target> <path> (int|float|short|long|double|byte) <scale> -> execute
- 結果
- 參數不正確時,視為語法錯誤。
- 路徑不存在時不進行操作。
- 執行成功時,將回傳值向下取整並乘以
<scale>
後儲存在<target>
實體的<path>
NBT標籤處,並儲存為指定的NBT格式。
store (result|success) score[]
- 將
result
或success
存入指定分數持有者的指定計分項上。
- 語法
- JE:
store (result|success) score <targets> <objective> -> execute
- 結果
- 參數不正確時,視為語法錯誤。
- 執行成功時,將回傳值向下取整並乘以
<scale>
後儲存在<target>
持有的<objective>
分數中。
store (result|success) storage[]
- 將
result
或success
存入指定儲存容器的指定NBT標籤內。
- 語法
- JE:
store (result|success) storage <target> <path> (int|float|short|long|double|byte) <scale> -> execute
- 結果
- 參數不正確時,視為語法錯誤。
- 若目標儲存容器不存在,則建立。
- 執行成功時,將回傳值向下取整並乘以
<scale>
後儲存在<target>
儲存容器的<path>
NBT標籤處,並儲存為指定的NBT格式。
run子命令[]
- 要被執行的目標命令。
- 結果
- 執行此命令。指定的命令執行成功時成功,失敗時失敗。
更多示例[]
- 將所有快捷欄第一欄位物品帶有效率附魔的玩家傳送到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版]
- 在所有玩家眼睛前方三格召喚煙霧粒子效果:
/execute as @a at @s anchored eyes run particle smoke ^ ^ ^3
[僅Java版]
- 將所有在5米以內有玩家的豬上鞍:
/execute as @e[type=pig] at @s store success entity @s Saddle byte 1 if entity @p[distance=..5]
[僅Java版]
- 讓所有在水中的玩家在聊天框裏説:「我的腳濕了!」:
/execute as @a at @s if block ~ ~ ~ water run say "我的腳濕了!"
- 讓所有「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版]
- 殺死所有沒有頭盔的喪屍:
/execute as @e[type=zombie] unless data entity @s ArmorItems[3].id run kill @s
[僅Java版]
歷史[]
Java版 | |||||
---|---|---|---|---|---|
1.8 | 14w07a | 加入了/execute 命令。 | |||
14w08a | 在命令方塊中執行的run 子命令現在會把成功值傳回命令方塊了。 | ||||
1.11 | 16w32a | 加入了方塊狀態支援。 | |||
1.13 | 17w45a | 語法被拆分。 | |||
17w45b | 重製了/execute store (result|success) 。 | ||||
18w02a | 加入了新的子命令以允許透過命令進行更多的控制。 | ||||
18w05a | 加入了/execute store (result|success) bossbar 。 | ||||
1.14 | 18w43a | 加入了/execute (if|unless) data 。 | |||
1.15 | 19w38a | 加入了/execute (if|unless) predicate 。
| |||
加入了/execute store (result|success) storage 。 | |||||
1.19.3 | 22w46a | 加入了/execute (if|unless) biome 。 | |||
1.19.4 | 23w03a | 加入了/execute on 、/execute (if|unless) dimension 和/execute (if|unless) loaded 。 | |||
23w04a | 為/execute on 加入了origin 關係。 | ||||
23w06a | 加入了/execute summon 。 | ||||
pre1 | 加入了/execute positioned over 。 | ||||
1.20.2 | 23w31a | 加入了/execute (if|unless) function 。 | |||
pre1 | 暫時移除了/execute (if|unless) function 。 | ||||
攜帶版Alpha | |||||
0.16.0 | build 1 | 加入了/execute 。
| |||
此命令的功能相當於其在Java版1.10的功能,但在/execute 中實體目標是可選的。 | |||||
基岩版 | |||||
1.19.10 | 1.19.10.20 | 更新了語法以近似匹配Java版,屬於實驗性玩法。 | |||
1.19.40 | 1.19.40.20 | 加入了/execute rotated 和/execute rotated as 子命令,屬於實驗性玩法。 | |||
1.19.40.21 | 加入了/execute facing 、/execute facing entity 和/execute align 子命令,屬於實驗性玩法。 | ||||
1.19.40.23 | 加入了/execute in 和/execute anchored <eyes|feet> 子命令,屬於實驗性玩法。 | ||||
1.19.50 | 1.19.50.23 | 1.19.10.20起的所有實驗性玩法均不再屬於實驗性玩法。 | |||
1.19.70 | 1.19.70.21 | 移除了data: int 參數。 |
影片[]
語言