/fill 和 /clone:32,768 方块限制及规避模式
这两个命令每次调用的方块数量上限均为 32,768,超出后会静默失败。本文将介绍 hollow、outline 和 replace 模式,以及 clone 掩码,并讲解如何移动超出上限的建筑。
/fill 和 /clone 共享一个硬性限制,但错误消息中并未明确指出: 每个命令最多 32,768 个方块。这相当于 32×32×32。超出此限制,命令将拒绝执行, 在命令方块链中表现为完全没有任何反应。
如何判断是否超出限制
方块数量是包含两端的,因此从 0 0 0 到 31 31 31 的区域正好是 32,768 个方块——恰好达到上限。而从 0 0 0 到 32 32 32 则是 35,937 个方块,会失败。
blocks = (|x2-x1|+1) × (|y2-y1|+1) × (|z2-z1|+1)
对于任何更大的区域,请将其分割成若干“板”,并运行多个命令。通常,按 Y 轴分割最容易理解。
fill 模式
| 模式 | 作用 |
|---|---|
replace | 默认模式;可选择只填充一种方块类型 |
hollow | 填充外壳,将内部清空为空气 |
outline | 填充外壳,保留内部不变 |
destroy | 先将现有方块作为物品掉落 |
keep | 只填充空气,从不覆盖现有方块 |
hollow 和 outline 是人们容易混淆的一对。在现有结构周围建造一个玻璃盒子需要 outline 模式;hollow 会删除内部的东西。
keep 是地形操作的安全选择——它不会破坏任何已放置的方块。
过滤形式的命令将要替换的方块放在最后:
/fill ~ ~ ~ ~10 ~5 ~10 stone replace dirt
这只会将泥土替换为石头,而其他所有方块保持不变。
clone 模式和掩码
/clone 有两个独立的设置,并且顺序很重要:
掩码 (Mask) — replace (所有方块) 或 filtered <block> (仅该方块) 或 masked (跳过源区域中的空气方块)。
模式 (Mode) — normal、force (允许区域重叠) 或 move (复制后清除源区域)。
/clone <begin> <end> <destination> masked normal
masked 是你将建筑“印”到现有地形上时所需要的——源区域中的空气不会在目标区域打孔。
move 是令人惊讶的一个:它会删除原始建筑。没有撤销选项。
重叠需要强制执行
如果源区域和目标区域有任何重叠,normal 会拒绝执行。force 允许重叠,但结果取决于复制顺序,并且很少是你想要的效果。克隆到一个临时区域再复制回来会更可预测。
区块必须已加载
这两个命令都只对已加载的区块有效。一个延伸到未加载地形的 /fill 会静默地在那里什么也不做。对于脚本化建筑,请先 /forceload add 该区域,然后再移除它——否则,当你站在附近时命令会成功,而从出生点运行时则会失败。
在 World & Blocks Command Builder 中,按照正确的参数顺序构建这些命令,并检查方块数量是否符合上限。