基本蒙版

蒙版决定了哪些块将受到命令、笔刷等的影响。

合并蒙版

为了得到一个匹配多个蒙版交集的蒙版,使用空格将它们分隔开。交集将在所有给定的蒙版都匹配时生效。

示例:合并蒙版

替换表面石头为泥土,使用蒙版交集:

//replace "stone <air" dirt

设置一个蒙版,限制当前笔刷只能修改选择区域内的空气方块:

/mask "air #sel"

可用蒙版

方块蒙版

最简单的蒙版之一,方块蒙版匹配一个或多个方块或方块状态。就像:doc:单方块模式 <patterns>一样,你可以仅指定方块类型,或指定带有任意数量状态的方块类型。与模式不同,蒙版会对未指定的方块状态使用默认值-它们将“模糊”匹配未指定状态的任何值。

为了匹配多个方块,用逗号隔开每个方块。

示例:使用方块蒙版

从选择区域中移除所有橡木栅栏:

//replace oak_fence air

从选择区域中移除所有连接在东侧的橡木栅栏和橡木栅栏门:

//replace oak_fence[east=true],oak_fence_gate air

蒙版反选

符号!可用于反选其后的所有内容。也就是说,它匹配任何由另一个蒙版匹配的内容。可以跟随任何其他蒙版。

示例:反选蒙版

替换任何不是泥土、石头或草的方块为石头:

//replace !dirt,stone,grass_block stone

存在方块蒙版

蒙版#existing将匹配任何非空气的方块。请注意,这不同于!air,因为游戏实际上在某些情况下使用多种类型的空气。

实体方块蒙版

蒙版#solid将匹配任何被认为是“实体”的方块。也就是,阻止实体(如玩家)通过的方块。

偏移蒙版

在另一个蒙版之前加上>(覆盖)或<(底层),将匹配位于另一个蒙版上方或下方的方块。

示例:偏移蒙版

在选择区域的木板上方创建一层台阶:

//replace >##planks smooth_stone_slab

区域蒙版

虽然对于像替换这样的命令来说没有意义,但设置区域蒙版对于在有限区域内使用笔刷非常有用。例如,如果你想在墙的底部刷一些泥土,你可以选择墙,然后反选一个区域蒙版,以使泥土不影响墙(但仍影响周围的地面)。

第一种区域蒙版是#region(别名:#sel#selection),它将在运行命令时复制你的区域并将其用作蒙版。

第二种区域蒙版是#dregion(d代表动态,也称为#dsel#dselection),它将始终与你当前的选择保持更新。

方块类别蒙版

方块类别或 标签 也可以用作蒙版。类别蒙版将匹配属于该类别的任何方块。就像模式一样,语法是##<tag>

示例:方块类别蒙版

用一层雪替换所有地毯:

//replace ##carpets snow

随机噪声蒙版

噪声蒙版可以创建随机噪声。指定%<percent>将匹配给定百分比的方块。与加权模式不同,%50实际上是50%的方块。

方块状态蒙版

与方块蒙版一样,此蒙版匹配方块状态。与方块蒙版不同,你不需要指定方块类型。这意味着你可以匹配具有给定值的任何具有属性的方块。

状态蒙版有两种模式,宽松和严格。在宽松模式(^[state=value,...])中,它将匹配具有给定方块状态等于给定值的任何方块,或者甚至没有这些属性的任何方块。在严格模式(^=[state=value,...])中,它将匹配具有方块状态等于该值的方块。

示例:使用方块状态蒙版

移除所有关闭的门、门和活板门:

//replace ^=[open=false] air

表达式蒙版

此蒙版可以对每个方块进行数学表达式评估。蒙版以=开始,

然后必须有一个表达式,其中可以使用变量xyz。如果表达式返回正值,蒙版将匹配。

示例:表达式蒙版

仅编辑特定y坐标以下的方块:

//gmask =y<64

仅编辑离空气两个方块的方块:

//gmask =queryRel(0,-2,0,0,0)

生物群系蒙版

生物群系蒙版匹配具有给定生物群系的方块。其语法是$<biome id>。生物群系ID必须是 命名空间id,对于原生生物群系,可选的是minecraft:,对于mod添加的生物群系,需要mod id

表面蒙版

表面蒙版匹配至少有一个面暴露在空气中的方块。这意味着它只匹配对象的表面,而不是完全被其他方块遮挡的方块。

蒙版是#surface(别名#exposed)。