/setblock
原文:Commands/setblock;源修订:3826035。
权限等级:Java 版为 2,基岩版为 1;基岩版需要开启作弊。将一个方块更改为另一个方块。
语法
Java 版:
setblock <pos> <block> [destroy|keep|replace|strict]
基岩版:
setblock <position: x y z> <tileName: Block> <blockStates: block states> [destroy|keep|replace]
setblock <position: x y z> <tileName: Block> [destroy|keep|replace]
参数
pos(block_pos)或 position: x y z(CommandPosition):指定要更改的方块位置。
block(block_state)或 tileName: Block(枚举):指定新方块。
基岩版的 blockStates: block states(BlockStateCommandParam):指定该方块要使用的方块状态。
destroy|keep|replace 或 destroy|keep|replace|strict 指定如何处理方块更改,必须为以下值之一:
| 值 | 行为 |
|---|---|
destroy |
原方块掉落自身及其内容物,如同被玩家破坏,并播放相应的方块破坏声音。 |
keep |
只更改空气方块,非空气方块保持不变。 |
replace |
原方块既不掉落自身,也不掉落内容物;不播放声音。 |
strict |
按原样放置方块,不触发方块更新和形状更新。 |
省略处理方式时默认为 replace。详细参数类型规则见参数类型。
结果
命令不完整或任意参数指定不正确时无法解析。
指定位置未加载或位于世界外时失败。在 Java 版的调试模式中放置方块会失败。使用 keep 更改非空气方块会失败。使用 keep、replace 或 strict 把方块替换为完全相同的副本(忽略方块实体)会失败。
将某些红石元件替换为不稳定方块时,Java 版会失败而基岩版会成功,例如把两个相邻直立红石火把中的一个替换为 TNT 方块;见 MC-255198。其他情况成功。
输出
| 版本与情况 | 成功次数 | success |
result |
|---|---|---|---|
| Java 版,失败 | 0 | 0 | 0 |
| Java 版,成功 | 1 | 1 | 1 |
| 基岩版,失败 | 0 | 不适用 | 不适用 |
| 基岩版,成功 | 1 | 不适用 | 不适用 |
示例
在脚边放置朝东的箱子:
setblock ~ ~ ~ chest[facing=east]
以上为 Java 版。基岩版为:
setblock ~ ~ ~ chest ["minecraft:cardinal_direction"="east"]
Java 版中,在旁边放置告示牌(注意文字周围的两组引号,二者都必需):
setblock ~ ~ ~-1 birch_sign{Text1:'"My chest"',Text2:'"Do not open!"'}
在头顶放置上半石英台阶:
setblock ~ ~2 ~ quartz_slab[type=top]
以上为 Java 版。基岩版为:
setblock ~ ~2 ~ quartz_slab ["minecraft:vertical_half"="top"]
另见
参考资料与外部链接
MC-255198。Microsoft Learn:/setblock 命令(2024 年 6 月 17 日)。
来源为 Minecraft Wiki;本中文翻译/改编按 CC BY-NC-SA 3.0 共享。