Skip to content

/clone 克隆方块

将指定区域的方块复制到目标位置,支持遮罩、克隆模式与方块过滤

命令
官方•Dingding OvO · 2026-08-12

将一个长方体区域内的方块整体复制到另一个位置,用于批量复制建筑、搬运结构和地图制作。基岩版自 1.16.210 起支持 filtered 过滤模式与方块状态,旧版 tileData 数据值参数已于 1.19.70 移除。

原理

/clone 通过两个对角坐标确定一个长方体源区域,这两个角可以按任意顺序给出,命令会自动把它们归一化为区域的最小角与最大角。目标位置是目标区域的「西北下角」,也就是 x、y、z 三个坐标都取最小值的锚点;游戏把源区域的最小角作为基准,将其中每个方块按其相对基准的偏移量 (dx, dy, dz) 写入目标锚点对应的偏移位置,从而完成一次整体平移复制。复制不会旋转或镜像方块,朝向等信息保持原样。

命令复制的对象是「方块」而非「实体」。每个方块携带的方块状态(如朝向、是否含水、颜色变体)会一并复制;容器(箱子、漏斗、发射器等)的内容物、告示牌文字、命令方块的命令与设置、旗帜图案等方块实体数据也会随方块一起迁移。但玩家、生物、掉落物、经验球等实体不会被移动,克隆只会搬运它们脚下或身处的方块。因此复制一座带箱子和命令方块的建筑,会连内容物与命令一起带走,但站在建筑上的玩家仍留在原地。

当源区域与目标区域发生重叠时,读取和写入会相互干扰。normal 模式会检测到重叠并直接判定失败,避免把已经被覆盖的方块再当作源数据读出来;force 模式则先把整个源区域读入内存形成快照,再一次性写入目标,因此即使重叠也能得到正确结果;move 模式在写入完成后把源区域替换为空气,相当于剪切,且在 filtered 模式下只会清除实际被克隆的方块类型。

引擎对源区域体积设有上限,用于保护内存与性能:基岩版的上限为 655360 个方块(1.18.0 前后由 524288 调整而来),超出上限命令会失败。执行结果方面,基岩版只在成功时返回 1、失败时返回 0,不像 Java 版会返回实际克隆的方块数;这一点会影响连锁命令方块和 /execute if 的条件判断,因为它们只关心命令是否成功。

语法

/clone <起点> <终点> <目标位置> [遮罩模式] [克隆模式]

/clone <起点> <终点> <目标位置> filtered <克隆模式> <方块 ID> [方块状态]

使用 filtered 模式时,基岩版要求按「<克隆模式> 在前、<方块 ID> 在后」的顺序书写,与 Java 版的顺序相反。

参数

  • <起点>、<终点> — 源区域的两个对角坐标,均为三维坐标(x y z),可为整数、浮点数或 ~、^ 相对坐标。两个角可以任意顺序给出。
  • <目标位置> — 目标区域的锚点坐标,即目标区域的西北下角(x、y、z 均取最小值)。源区域以此为基准平移复制。
  • [遮罩模式] — 决定复制哪些方块,可选 replace(默认)、masked、filtered。
  • [克隆模式] — 决定源区域与目标区域重叠时的行为,可选 normal(默认)、force、move。
  • <方块 ID> — 仅当遮罩模式为 filtered 时使用,指定只复制的方块类型(如 stone、diamond_block)。
  • [方块状态] — 仅当使用 filtered 时可选,进一步限定方块状态,格式为方括号内的键值对,如 ["color"="orange"]、["growth"=0]。

遮罩模式

模式说明
replace默认。复制源区域的所有方块(含空气),覆盖目标区域对应位置的全部方块。
masked只复制非空气方块,目标区域本会被空气覆盖的位置保持原样,适合叠加结构。
filtered只复制指定的方块类型,可配合方块状态进一步筛选,用于选择性搬运某一种方块。

克隆模式

模式说明
normal默认。源区域与目标区域重叠时命令失败。
force强制克隆,即使源区域与目标区域重叠也执行。
move复制后将源区域替换为空气,相当于剪切;filtered 模式下只清除被克隆的方块类型。

示例

复制当前位置附近的小区域:

/clone ~ ~ ~ ~4 ~4 ~4 100 64 0

把以当前脚下方块为起点、延伸 4 格的 5×5×5 区域,复制到以 (100, 64, 0) 为西北下角的目标区域。

叠加结构而不覆盖目标已有方块:

/clone 0 60 0 10 70 10 50 64 50 masked

只复制源区域内的非空气方块,目标区域本会被空气覆盖的位置保持原样,实现叠加效果。

剪切并搬运一座建筑:

/clone 100 64 100 120 74 120 200 64 200 masked move

把源区域建筑复制到新位置,并把源区域内的非空气方块替换为空气,相当于整体剪切搬运。

只克隆橙色羊毛:

/clone 0 0 0 10 10 10 50 64 50 filtered normal wool ["color"="orange"]

只把源区域内颜色为橙色的羊毛复制到目标区域,其余方块一概不动。

重叠区域强制克隆:

/clone ~ ~ ~ ~5 ~5 ~5 ~3 ~ ~ force

即使源区域与目标区域重叠,也强制把源区域快照写入目标位置,结果不会因重叠而损坏。

基岩版注意

  • 需要 OP 等级 1,且需在世界设置中开启作弊(Allow Cheats)。
  • 与 Java 版的 filtered 参数顺序不同:Java 版为 filtered <方块> [force|move|normal],基岩版为 filtered <克隆模式> <方块 ID>,书写时不要把两者混用。
  • 基岩版支持 filtered 过滤模式与方块状态(1.16.210 起),旧文档中「基岩版不支持 filtered 方块过滤」的说法不准确。
  • 旧版 tileData 数据值参数已于 1.19.70 移除,请改用方块状态,例如橙色羊毛从 wool 1 改为 wool ["color"="orange"]。
  • 基岩版源区域体积上限为 655360 个方块(此前为 524288),并非 Java 版默认的 32768。
  • 基岩版成功时返回 1、失败时返回 0,不像 Java 版返回实际克隆的方块数,连锁命令方块会据此判断是否继续执行。
  • 基岩版坐标允许浮点数,源区域或目标区域未加载时命令会失败。

常见问题

为什么克隆大型区域会失败?

源区域体积超过 655360 个方块上限,或者源区域、目标区域尚未加载时会失败。可以把区域拆小,或先传送到目标附近让区块加载后再执行。

克隆会带走箱子里的物品吗?

会。容器内容物、告示牌文字、命令方块命令等方块实体数据会随方块一并复制。但玩家、生物、掉落物等实体不会被移动,它们会留在原地。

为什么 normal 模式执行时报错?

当源区域与目标区域重叠时,normal 模式会拒绝执行以保护数据。改用 force 模式,或把目标位置移到不重叠的地方。

怎么只复制某一种方块?

使用 filtered 模式,按「filtered <克隆模式> <方块 ID>」的顺序指定要复制的方块类型,还可以追加方块状态进一步筛选。

相关命令

  • /fill — 用方块填充矩形区域,常与 /clone 配合。
  • /setblock — 放置或替换单个方块。
  • /execute — 结合条件判断或改变执行位置来触发克隆。