將指定位置的方塊變更為另一個方塊。
語法
- Java版
setblock <pos> <block> [destroy|keep|replace]
- 基岩版
setblock <position: x y z> <tileName: Block> [tileData: int] [destroy|keep|replace]setblock <position: x y z> <tileName: Block> [blockStates: block states] [destroy|keep|replace]
參數
JE:<pos>:block_pos
BE:position: x y z:CommandPosition
- 指定要被變更方塊的位置。
- 必須為方塊座標,包括<X>、<Y>和<Z>,每個值都必須是整數或者含有波浪號與脫字號標記。在基岩版中,必須為三維的座標,包括<X>、<Y>和<Z>,每個值都必須是浮點數或者含有波浪號與脫字號標記。
JE:<block>:block_state
BE:tileName: Block:Block
- 指定新方塊的方塊資料。如果指定的資料無效,或未指定,預設為0。
- 必須為32位元整型數值。必須在0到65535之間(含)。
BE:blockStates: block states:BlockStateCommandParam
- 指定新方塊的方塊狀態。
- 必須為格式為
["<键1>"=<值1>,"<键2>"=<值2>,...]的方塊狀態,例如:["old_leaf_type"="birch","persistent_bit"=true]。
destroy|keep|replace
- 指定方塊變更的處理方式,必須為以下其中之一:
destroy— 原方塊正常掉落物品(類似於被一個玩家破壞),並播放方塊被破壞的音效。keep— 僅當原方塊是空氣方塊時才進行變更。replace— 原方塊不掉落物品,且不播放方塊被破壞的音效。
- 如果未指定,預設為
replace。
效果
| 指令 | 觸發條件 | Java版 | 基岩版 |
|---|---|---|---|
| 任意 | 參數不正確 | 無法解析 | 執行失敗 |
| 指定位置未被載入或在世界之外 | 執行失敗 | ||
| 嘗試在除錯模式中變更方塊 | N/A | ||
/setblock ... keep | 嘗試變更非空氣的方塊 | 執行失敗 | |
/setblock ... keep | 原方塊與新方塊完全相同 | ||
| 任意 | 執行成功時 | 將指定位置的方塊變更為另一個方塊。 | |
輸出
| 指令 | 版本 | 條件 | 成功次數 | /execute store success ... | /execute store result ... |
|---|---|---|---|---|---|
| 任意 | Java版 | 執行失敗 | 0 | 0 | 0 |
| 執行成功 | 1 | 1 | 1 | ||
| 基岩版 | 執行失敗 | 0 | N/A | N/A | |
| 執行成功 | 1 | N/A | N/A |
示例
- 在你腳的位置上放置一個朝北的儲物箱。
- 放置一個寫有提示的告示牌在上述儲物箱的旁邊。
[僅Java版] setblock ~ ~ ~-1 birch_sign{Text1:'"My chest"',Text2:'"Do not open!"'}(注意文字兩邊有兩組引號,它們都是需要的)
- 放置一個位於頂端石英半磚在你的頭上。
參見
歷史
| Java版 | |||||
|---|---|---|---|---|---|
| 1.7.2 | 13w37a | 加入了/setblock。 | |||
| 1.11 | 16w32a | 加入了/setblock中對方塊狀態的支持。 | |||
| 攜帶版Alpha | |||||
| 0.16.0 | build 1 | 加入了/setblock。 | |||
| 基岩版 | |||||
| 1.16.210 | beta 1.16.210.53 | 加入了/setblock中對方塊狀態的支持。 | |||