第二十三章 setblock-放置方块
前面说过可以使用/fill填充一个区域内的方块。但是如果只需要填充一个方块呢?那岂不是要把坐标输入两遍?Minecraft给了我们一个简单的指令,可以放置一个方块,它就是:/setblock。
/setblock指令,是由set和block组成的。set前面讲过,是“设置”的意思,block就是方块的意思。
所以setblock的意思就是:设置方块,也就是放置方块。
/setblock
作用:使用指定的方块替换一个方块
需要权限等级:Java-2,基岩-1
需要作弊:是
格式:
/setblock <坐标><方块名>[方块数据值:Int整数][被覆盖方块处理方式:destroy|keebr /|rebr /lace]——Java1.13以下和基岩版
/setblock <坐标><方块名>[方块状态][被覆盖方块处理方式:destroy|keebr /|rebr /lace]——Java1.11至Java1.12.2
/setblock <坐标><方块名>[被覆盖方块处理方式:destroy|keebr /|rebr /lace]——Java1.12.2以上
举个非常简单的例子。假设你需要在你自己脚下放置一个下界传送门方块,那么你只需要执行:
/setblock ~~-1 ~ nether_br /ortal(Java版)
/setblock ~~-1 ~ br /ortal(基岩版)
然后你就进入了下界(我们需要再深入些)。
但如果我们在放置的时候同时也要让原本方块产生掉落物该怎么办?
很简单。举个例子,假设我们需要在脚底放置钻石块同时破坏掉原本的方块,就可以:
/setblock ~~-1 ~ diamond_block 0 destroy(Java1.13版本以下和基岩版)
/setblock ~~-1 ~ diamond_block destroy(Java1.12.2版本以上)
看,你脚底下的草方块变成了钻石块,还多出了个泥土!
/setblock的destroy处理方式和/fill的destroy一样,都是会对原方块进行破坏并产生掉落物。
另外两个处理方式:keebr /和rebr /lace,我们都已经在/fill指令见过了,那么它们是否也是和/fill一样呢?
rebr /lace肯定一样。但实际上又不完全一样——虽然/setblock默认使用的处理方式也是rebr /lace,但是/setblock的rebr /lace并没有“原方块是特定的方块才进行替换”的功能。
keebr /的作用和/fill的keebr /不能说基本一样,只能说完全一样,只是因为/setblock只替换一个方块,导致说法要改一下:
如果原方块是空气,即替换,否则不替换。
历史
Java
1.7.2——加入了/setblock。方块名参数支持数字和名称ID。
1.8——方块名参数不再接受数字ID。
1.11——加入了方块状态的支持。
携带版Albr /ha
0.16.0——加入/setblock