我的世界clone指令

clone
需要的权限等级 Java版:2
基岩版:1
限制条件 启用作弊[仅基岩版]

在指定区域之间复制方块结构。


语法

  • 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][新增:脚本错误:函数“wrapper”不存在。]
clone [from <sourceDimension>] <begin> <end> [to <targetDimension>] <destination> filtered <filter> [force|move|normal][新增:脚本错误:函数“wrapper”不存在。]
  • 基岩版
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>
clone <begin: x y z> <end: x y z> <destination: x y z> filtered <cloneMode: CloneMode> <tileName: Block> <tileData: int>[失效:脚本错误:函数“wrapper”不存在。]

参数

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 11 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

指定在filtered模式下时要复制的方块ID
必须为方块参数(接受方块的标签)。在基岩版中,必须为方块ID。

JE:<sourceDimension>[新增:脚本错误:函数“wrapper”不存在。]

指定复制区域的来源维度。

JE:<targetDimension>[新增:脚本错误:函数“wrapper”不存在。]

指定复制区域的目的维度。

BE: tileData: int:int[失效:脚本错误:函数“wrapper”不存在。]

指定复制时需要符合的方块数据值。

BE: blockStates: block states:BlockStateCommandParam

指定复制时需要符合的方块状态。

效果

 

命令 触发条件 Java版 基岩版
任意 参数未正确指定 无法解析 无法解析
指定的维度不存在[新增:脚本错误:函数“wrapper”不存在。] 执行失败 N/A
指定的区域处于已卸载的或在世界外的区块中 执行失败
源区域被选中的方块数量超过32768[仅基岩版]或524288[仅Java版][失效:脚本错误:函数“wrapper”不存在。]或游戏规则commandModificationBlockLimit的设定值[新增:脚本错误:函数“wrapper”不存在。]
/clone ... normal ... 源区域和目标区域重叠
/clone ... move ... 源区域和目标区域重叠 执行成功
/clone ... filtered ... 源区域内无指定方块 执行失败
/clone ... filtered ... tileData: int小于-1或大于6553[失效:脚本错误:函数“wrapper”不存在。] N/A
/clone ... replace ... 源区域内所有方块为屏障[1] 执行失败 N/A
/clone ... filtered ... 指定方块为屏障[1]
/clone ... masked ... 源区域内无非空气或非屏障方块[仅Java版][1] 执行失败
/clone ... force ...
/clone ... normal ...
目标区域中没有方块被更改
任意 执行成功时 复制或移动方块

输出

 

命令 版本 条件 成功次数 /execute store success ... /execute store result ...
任意 Java版 失败时 0 0 0
成功时 1 1 目标区域中被更改的方块数
基岩版 失败时 0 N/A N/A
成功时 1 N/A N/A
已有 0 条评论