(没错作者在套娃)
使用execute,就可以干一些特别的事了。比如:
/execute @a ~~~ setblock ~~-1 ~ diamond_block
这条指令将所有在线玩家作为执行者,他们的位置作为执行地点,分别执行『setblck ~~-1 ~ diamond_block』指令,在他们的脚下放置一个钻石块。这样子,所有玩家的脚下就会生成一个钻石块。
使用execute甚至可以毁灭世界。这样子写:
/execute @e [type =item]~~~ fill ~-1 ~-1 ~-1 ~1 ~1 ~1 air destroy
这个是什么意思呢?
这样子写,如果有一个掉落物,那么这个掉落物就会破坏掉其周围的3x3的空间,并且其破坏掉的方块都会掉落成掉落物。然后这些掉落物又会破坏掉周围3x3的空间,然后掉落,扩大,再破坏、掉落、扩大.......。如果在重复、无条件的命令方块里运行,你的电脑(或手机)会在1游戏刻内到1秒内卡死。因为这个比2的次方还要恐怖。
然后是detect。
前文说到,一个网易我的世界租贷服搞了一个回城雪球。后来,另一个服务器的腐竹由此受到启发,开发了一个“回城红石块”。
这个回城红石块很简单,只需要一个命令方块:
A→
A:重复执行,无条件,始终活动
/execute @a ~~~ detect ~~-1 ~ redstone_block 0 tp @s 30 64 24
这条指令的意思是:将所有玩家作为指令执行者,当其脚底下是数据值为0的红石块时,传送他们自己到(30,64,24)。
其中,参数『方块数据值』可以填写-1来代指不判断数据值。在Java1.11及以上版本,这个参数还可以填写方块状态,并用星号『*』来代指所有方块状态(也就是不判断方块状态)。