在Minecraft有一个很有意思且功能强大的指令。
没错,它就是:/execute。
这是一个很牛逼的指令。使用它,你可以使一个或多个实体作为执行源像命令方块一样执行指令。
所以它真的很有意思,且功能强大。
由于Java版和基岩版有很大的区别,所以今天我们只讨论两个版本通用的格式,这样子讲起来比较简单。
/execute
作用:使一个或多个实体作为执行源执行指令
使用权限下限:管理员(OP)
是否可使用命令方块执行:是
格式(基岩版):
/execute <目标选择器><坐标><执行的指令>
/execute <目标选择器><坐标> detect <探测的坐标><执行探测的方块id><方块数据值><执行的指令>
坐标指的是探测中心的坐标。所以/execute可以分为:
第一份:执行的指令或者是detect之前的部分。
第二份:执行的指令或者是detect开始到执行的指令之前。
第三份(仅第二条):执行的指令
这样看还是很简单的。比如我们要让猪说话,那么可以这样:
/execute @e [type =pig ]~~~ say 你好!
这样子,主世界内的所有猪都会说:“你好!”了。(这年头,猪都会说话了)。
当然,你无聊时,还可以像这样子:
/execute @e ~~~ execute @e ~~~ execute @e ~~~ execute @e ~~~ execute @e ~~~...............
(没错作者在套娃)
这是很有趣的,但是无聊归无聊,还是得继续研究的。
使用execute,就可以干一些特别的事了。比如:
/execute @a ~~~ fill ~~~~~~ diamond_block
这样子,所有玩家的脚下就会生成一个钻石块。
但是,我相信熊孩子都会喜欢这个指令的:
/execute @e ~~~ summon TNT ~~~
这样子,所有实体所在的地方都会生成一个TNT(毁图神器)。
还有,使用execute可以毁灭世界。这样子写:
/execute @e [type =item]~~~ fill ~-1 ~-1 ~-1 ~1 ~1 ~1 air destroy
(这个是我从B站上看到的,这里放一下:av80197786)
这个是什么意思呢?
这样子写,如果有一个掉落物,那么这个掉落物就会破坏掉其周围的3x3的空间,并且其破坏掉的方块都会掉落成掉落物。然后这些掉落物又会破坏掉周围3x3的空间,然后掉落,扩大,再破坏、掉落、扩大.......。如果在重复、无条件的命令方块里运行,你的电脑(或手机)会在1游戏刻内到1秒内卡死。因为这个比2的次方还要恐怖。
(视频内使用的是Java版,作者我把它基岩版化了,所以视频内指令跟书内指令有一些不一样)
然后是detect。
相信很多服务器都会用到“回城”把。其中,可以使用execute来实现:站在特定的方块上来回城。
这里拿红石块(redstone_block)为例:
/execute @a ~~~ detect ~~1 ~ redstone_block 0 tp @s 30 64 24
(其中坐标是作者随便编的,具体按照主城的真实坐标来)
所以,这条是什么意思呢?
这条指令的意思是:寻找所有在主世界内的所有红石块上面一格的玩家,并作为执行源,传送ta自己到X=30、Y=64、Z=24的地方。
仔细研究研究,你就会懂了。
所以,套娃更高深些还可以这样套:
/execute @e ~~~ execute @a ~~~ detect ~~1 ~ diamond_block 0 execute @r ~~~ execute @s ~~~ detect ~~-1 ~ redstone_block 0 execute @e ~~~ execute @e ~~~ detect................
(MOJANG:你是嫌命令方块的字符上限不够多吗???)
使用execute指令可以实现普通指令无法达到的效果。这里再补充一点:execute的中文意思是“执行”(好像说到这也没用了哎)。
但是,这还只是execute的冰山一脚。我们将会在以后抽出更多时间,来讨论它。到时候,你将会懂得,什么叫做指令,什么叫做代码。
最后提醒一下,使用execute执行指令,除了开头要加斜杠,其他的都不用加。