setblock为比较常用的指令之一,这个指令可以用来放置方块,基本格式为
setblockxyz方块名称损伤值模式
和自己手动放置方块不同的是,比如刷怪笼、蘑菇方块(不算用精准采集的),原版中无法再创造背包界面得到的物品,用setblock都能得到。比如
setblock~~1~minecraft:red_mushroom_block
即可在上面1格处放置一个红色巨型蘑菇方块。用setblock弄出的方块方块会被强制放置,即使有实体会强制放置(如果是手动放置有生物在你想放置的地方的话是放置不了的)。老样子方块名称可以用F3+h进行查看。在这里这个数据值我需要强调一下。这个代表方块的状态,比如方向,或者像按钮在按进去这样的状态。数据值填写0-15,如果不填即为默认一种数据值。比如按钮不同的朝向(默认为你放置方块的正面)就会有不同的状态,按下去也会有不同的数据值,这个也可用在testforblock。甚至召唤出各种神奇的东西,比如
setblock~~1~vine15
这个指令则会召唤出一种正常途径弄不出来的藤蔓方块,四面都是藤蔓而中间是空心的。而setblock的模式则有三种,一种是destroy,在替换方块的时候会把方块破坏,而不是替换。破坏和替换的区别是,破坏会有特效声音并且会有掉落物(不开gamerule的情况下),而替换不会有特效声并且不会有任何掉落物。比如
setblock~~1~minecraft:redstone_block0destroy
这个就是利用destroy做的脉冲。它可以起到非常快速频率的效果。(使用最好用/gamerule把掉落物关了,不然还得kill@e[type=Item])另一种是replace,这个是默认的,一般不输入任何模式都会默认为这个数据标签。意为把原来的方块替换。在数据标签处输入replace或者不填即可做到这个效果。最后一种是keep,用来保存原有的方块。只要不是空气,如果有方块则不会放置方块。意为保留除了空气外所有的方块,在数据标签处输入keep即可。或者地形探索等。另外使用setblock一定要算好坐标,否则替换错误可能会造成一些影响。setblock给予玩家的方块也可以加上自身的数据标签,和give性质相同。
来自:http://www.mcbbs.net/thread-440268-1-1.html