用特定方块填充一个区域的全部或部分。
语法[]
- Java版
fill <from> <to> <block> [destroy|hollow|keep|outline|replace]
- 使用
replace
参数时的语法:
fill <from> <to> <block> replace [<filter>]
- 基岩版
fill <from: x y z> <to: x y z> <tileName: Block> [blockStates: block states] [oldBlockHandling: FillMode]
- 当
oldBlockHandling
使用replace
参数时的语法:
fill <from: x y z> <to: x y z> <tileName: Block> <blockStates: block states> replace [replaceTileName: Block] [replaceBlockStates: block states]
参数[]
JE:<from>
:block_pos和<to>
:block_pos
BE:from: x y z
:CommandPosition和to: x y z
:CommandPosition
- 定义填充区域的两组对角方块坐标。
- 必须为方块坐标,包括<X>、<Y>和<Z>,每个值都必须是整数或者含有波浪号与脱字号标记。在基岩版中,必须为三维的坐标,包括<X>、<Y>和<Z>,每个值都必须是浮点数或者含有波浪号与脱字号标记。
- 构成边角的方块在此方块的坐标正方向上延伸。因此,各轴上较小的坐标将会正好贴合区域边界,但较大的坐标将会超过边界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:<block>
:block_state
BE:tileName: Block
:Block
BE:blockStates: block states
:BlockStateCommandParam
- 指定方块要使用的方块状态。
- 必须为格式为
["<键1>"=<值1>,"<键2>"=<值2>,...]
的方块状态,例如:["old_leaf_type"="birch","persistent_bit"=true]
。
JE:destroy|hollow|keep|outline|replace
BE:oldBlockHandling: FillMode
destroy
- 用指定方块替换填充区域内所有方块(包括空气),原有方块视为被无附魔的下界合金锹或镐采掘而掉落对应的实体形式。(只能被剪刀采集的方块,如藤蔓,不会掉落;流体方块同理。)hollow
- 仅用指定方块替换填充区域外层的方块。内部方块被替换为空气。若被填充的区域没有内部(长、宽、高至少一个不足3方格)时,与replace
效果相似。keep
- 仅用指定方块替换填充区域内的空气方块。outline
- 仅用指定方块替换填充区域外层的方块。内部方块不受影响。若被填充的区域没有内部(长、宽、高至少一个不足3方格)时,与replace
效果相似。replace
- 用指定方块替换填充区域内所有方块(包括空气),而不以实体形式掉落被替换的方块和方块内容物。可选地,指定方块ID和数据值,用于限制被替换的方块类型(见下tileName: Block
和tileData: int
)
- 若未指定,默认为
replace
。
JE:<filter>
:block_predicate
BE:tileName: Block
:Block
BE:replaceBlockStates: block states
:block states
- 指定要替换的方块的方块状态。
- 指定当寻找需复制的方块时要匹配的方块数据。(与0xFFFF逐位与后)无效的值将回退为0。若为
-1
或未指定,所有匹配tileName: Block
的方块都将被复制。 - 必须为32位整型数值。 必须在-2147483648到2147483647间(含)。
效果[]
命令 | 触发条件 | Java版 | 基岩版 |
---|---|---|---|
任意 | 参数不正确 | 无法解析 | 无法解析 |
至少一个指定的坐标位于世界外或未被加载 | 执行失败 | 执行失败 | |
选择区域方块数大于游戏规则commandModificationBlockLimit 的设定值 | |||
/fill ... hollow | 没有方块被更改 | ||
/fill ... destroy | 在原区域均为空气的情况下尝试填充空气 | ||
任意 | 执行成功时 | 将指定区域更改为指定方块 |
输出[]
命令 | 版本 | 条件 | 成功次数 | /execute store success ... | /execute store result ... |
---|---|---|---|---|---|
任意 | Java版 | 执行失败 | 0 | 0 | 0 |
执行成功 | 1 | 1 | 填充区域内被更改的方块数 | ||
任意 | 基岩版 | 执行失败 | 0 | N/A | N/A |
执行成功 | 1 | N/A | N/A |
示例[]
/fill 52 63 -1516 33 73 -1536 minecraft:gold_block replace minecraft:white_concrete
[仅Java版] - 在指定坐标的区域内将白色混凝土替换为金块。
/fill ~-16 ~-14 ~-16 ~16 ~14 ~16 sandstone["sandstone_type"="heiroglyphs"] replace netherrack
[仅基岩版] - 以玩家为中心将33×33×29区域的下界岩替换为雕纹砂岩。
/fill ~-3 ~-3 ~-3 ~3 ~-1 ~3 water
- 将玩家脚下为顶面中心7×7×3的区域替换为水源方块。
/fill ~-3 ~ ~-4 ~3 ~4 ~4 minecraft:oak_planks hollow
- 在玩家四周生成由橡木木板组成的一个普通房间大小的盒子,并将内部替换为空气。
/fill ~-15 ~-15 ~-15 ~15 ~15 ~15 stone
- 以玩家为中心生成一个实心的石头立方体。
/fill ~-1 ~ ~ ~1 ~ ~ minecraft:prismarine_brick_stairs[facing=south,waterlogged=true]
[仅Java版] - 将玩家周围指定位置的方块替换为面向南方且含水的海晶石砖楼梯。
历史[]
Java版 | |||||
---|---|---|---|---|---|
1.8 | 14w03a | 加入了/fill 命令。 | |||
1.11 | 16w32a | 加入了方块状态的支持。 | |||
1.19.4 | 23w03a | 现在可以通过commandModificationBlockLimit 游戏规则控制单次执行可更改的最大方块数。 | |||
携带版Alpha | |||||
0.16.0 | build 1 | 加入了/fill 命令。 | |||
基岩版 | |||||
1.2.0 | ? | /fill 命令可更改的最大方块数现在为32768。 | |||
1.19.70 | 1.19.70.21 | 移除了tileData: int 参数。 |
语言