在指定區域之間複製方塊結構。
語法[]
- Java版
clone <begin> <end> <destination> [replace|masked] [force|move|normal]
clone <begin> <end> <destination> filtered <filter> [force|move|normal]
clone [from <sourceDimension>] <begin> <end> [to <targetDimension>] <destination> [replace|masked] [force|move|normal]
clone [from <sourceDimension>] <begin> <end> [to <targetDimension>] <destination> filtered <filter> [force|move|normal]
- 基岩版
clone <begin: x y z> <end: x y z> <destination: x y z> [maskMode: MaskMode] [cloneMode: CloneMode]
clone <begin: x y z> <end: x y z> <destination: x y z> filtered <cloneMode: CloneMode> <tileName: Block> <blockStates: block states>
參數[]
JE: <begin>
:block_pos 和 <end>
:block_pos
BE: begin: x y z
:CommandPosition 和 end: x y z
:CommandPosition
- 定義源區域的兩組對角方塊座標。可以使用相對座標和局部座標來指定命令執行地的相對距離。
- 構成邊角的方塊在此方塊的座標正方向上延伸。因此,各軸上較小的座標將會正好貼合區域邊界,但較大的座標將會超過邊界1方塊,源區域的體積則為(x大 - x小 + 1) × (y大 - y小 + 1) × (z大 - z小 + 1)。例如:
0 0 0 0 0 0
的體積為1方塊,0 0 0 1 1 1
與1 1 1 0 0 0
都指定同一塊8方塊大小的區域。
JE:<destination>
:block_pos
BE:destination: x y z
:CommandPosition
- 定義目標區域的西北方向較低(即在各軸上座標值最小)的點的座標,遊戲會根據
开始
與结束
的座標算出目標區域的範圍。可以使用相對座標和局部座標來指定命令執行地的相對距離。
JE: replace|masked
BE: maskMode: MaskMode
- 指定是否過濾被複製方塊。必須為下列之一:
masked
— 僅複製非空氣方塊。會保持目的區域中原本會被替換為空氣的方塊不變。replace
— 複製所有方塊,用源區域的方塊覆蓋目標區域中的所有方塊。
- 若未定義,預設為
replace
。
filtered
- 使命令只複製指定方塊,需要額外指定一個方塊。
JE: force|move|normal
BE: cloneMode: CloneMode
- 指定對源區域的操作。必須為下列之一:
force
— 強制複製,即使源區域與目標區域有重疊。move
— 將源區域複製到目標區域,並將源區域替換為空氣。在filtered遮罩模式下,只有被複製的方塊才會被替換為空氣。normal
— 不執行force與move。
- 若未指定,預設為
normal
。
JE:<filter>
:block_predicate
BE:tileName: Block
:Block
JE:<sourceDimension>
- 指定複製區域的來源維度。
JE:<targetDimension>
- 指定複製區域的目的維度。
BE: blockStates: block states
:BlockStateCommandParam
- 指定複製時需要符合的方塊狀態。
效果[]
命令 | 觸發條件 | Java版 | 基岩版 |
---|---|---|---|
任意 | 參數未正確指定 | 無法解析 | 無法解析 |
指定的維度不存在 | 執行失敗 | N/A | |
指定的區域處於已卸載的或在世界外的區塊中 | 執行失敗 | ||
源區域被選中的方塊數量超過32768commandModificationBlockLimit 的設定值 | |||
/clone ... normal ... | 源區域和目標區域重疊 | ||
/clone ... move ... | 源區域和目標區域重疊 | 執行成功 | |
/clone ... filtered ... | 源區域內無指定方塊 | 執行失敗 | |
/clone ... replace ... | 源區域內所有方塊為障幕[1] | 執行失敗 | N/A |
/clone ... filtered ... | 指定方塊為障幕[1] | ||
/clone ... masked ... | 源區域內無非空氣或非障幕方塊 | 執行失敗 | |
/clone ... force ... | 目標區域中沒有方塊被變更 | ||
任意 | 執行成功時 | 複製或移動方塊 |
輸出[]
命令 | 版本 | 條件 | 成功次數 | /execute store success ... | /execute store result ... |
---|---|---|---|---|---|
任意 | Java版 | 失敗時 | 0 | 0 | 0 |
成功時 | 1 | 1 | 目標區域中被變更的方塊數 | ||
基岩版 | 失敗時 | 0 | N/A | N/A | |
成功時 | 1 | N/A | N/A |
歷史[]
Java版 | |||||
---|---|---|---|---|---|
1.8 | 14w03a | 加入了/clone 命令。 | |||
14w10a | 加入了force 選項。 | ||||
14w20a | 加入了move 選項。 | ||||
1.13 | 17w45a | 修改了/clone 的語法。 | |||
1.19.4 | 23w03a | 現在支援指定來源維度和目的維度。 | |||
現在可以透過commandModificationBlockLimit 遊戲規則控制單次執行可變更的最大方塊數。 | |||||
攜帶版Alpha | |||||
0.16.0 | build 1 | 加入了/clone 命令。
| |||
/clone 命令不能使用force 克隆模式。 | |||||
基岩版 | |||||
1.19.70 | 1.19.70.21 | 移除了tileData: int 參數。 |
參見[]
/fill
— 用一類方塊填充整個區域
參考[]
語言