用特定方塊填充一個區域的全部或部分。
語法[]
- 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 參數。 |
語言