第三十三章 execute-这年头,猪都会说话了

在minecraft有一个很有意思且功能强大的指令。

没错,它就是:\/execute。

这是一个相当有用的指令,我们会在以后经常碰见它。为何?因为通过它,你可以使一个或多个实体作为执行源像命令方块一样执行指令,甚至可以添加一些条件来判断是否要执行指令。

由于以上版本和以下版本、基岩版有很大的区别,所以今天我们只讨论以下和基岩版的格式,这样子讲起来比较简单。

\/execute

作用:使一个或多个实体分别作为执行者执行指令

需要权限等级:java-2,基岩-1

需要作弊:是

格式(基岩版、更新前):

\/execute <执行者:目标选择器><基准点:坐标><执行的指令>

\/execute <执行者:目标选择器><基准点:坐标> detect <探测的坐标><方块id><方块数据值><执行的指令>

execute有什么用呢?它可以更改执行指令者和执行指令的基准点,如果有多个执行者则会每一个执行者都执行一遍指令。更进一步可以检测某个坐标的方块是否符合条件,符合条件就会执行指令。比如我们要让猪说话,就可以:

\/execute [type =pig ]~~~ say 你好!zuqi.org 葡萄小说网

这条指令可以将所有猪作为执行者,它们的位置作为执行地点,分别执行『say 你好!』这条指令。这样子,主世界内的所有猪都会说:“你好!”了。

你无聊的时候,还可以像这样子:

\/execute ~~~ execute ~~~ execute ~~~ execute ~~~ execute ~~~...............

(没错作者在套娃)

使用execute,就可以干一些特别的事了。比如:

\/execute ~~~ setblock ~~-1 ~ diamond_block

这条指令将所有在线玩家作为执行者,他们的位置作为执行地点,分别执行『setblck ~~-1 ~ diamond_block』指令,在他们的脚下放置一个钻石块。这样子,所有玩家的脚下就会生成一个钻石块。

使用execute甚至可以毁灭世界。这样子写:

\/execute [type =item]~~~ fill ~-1 ~-1 ~-1 ~1 ~1 ~1 air destroy

这个是什么意思呢?

这样子写,如果有一个掉落物,那么这个掉落物就会破坏掉其周围的3x3的空间,并且其破坏掉的方块都会掉落成掉落物。然后这些掉落物又会破坏掉周围3x3的空间,然后掉落,扩大,再破坏、掉落、扩大.......。如果在重复、无条件的命令方块里运行,你的电脑(或手机)会在1游戏刻内到1秒内卡死。因为这个比2的次方还要恐怖。

然后是detect。

前文说到,一个网易我的世界租贷服搞了一个回城雪球。后来,另一个服务器的腐竹由此受到启发,开发了一个“回城红石块”。

这个回城红石块很简单,只需要一个命令方块:

a→

a:重复执行,无条件,始终活动

\/execute ~~~ detect ~~-1 ~ redstone_block 0 tp 30 64 24

这条指令的意思是:将所有玩家作为指令执行者,当其脚底下是数据值为0的红石块时,传送他们自己到(30,64,24)。

其中,参数『方块数据值』可以填写-1来代指不判断数据值。在及以上版本,这个参数还可以填写方块状态,并用星号『*』来代指所有方块状态(也就是不判断方块状态)。

比如:

\/execute ~~~ detect ~~-1 ~ minecraft:magenta_zed_terracotta facing=south tellraw [{“text“:“该箭头朝向“,“color“:“yellow“},{“text“:“北方“,“color“:“light_purple“}]

这条指令的意思是:将所有玩家作为指令执行者,他们的位置作为指令执行地点,如果他们脚下的方块是朝向南方的品红色带釉陶瓦(也就是上面有箭头的那一个粉色方块),就告诉他们『该箭头朝向(黄色)北方(浅紫色)』。

现在,你应该能看得懂那个回城雪球的第一条指令吧?尝试理解一下:

\/execute [type=snowball]~~~ execute [r=1.5,rx=90,rxm=60]~~~ execute [type=snowball,c=1]~~~ tag add back_home

(实际上这条指令还有一个更好的替代方案:

\/execute [rx=90,rxm=60]~~~ execute [r=1.5,type=snowball,c=1]~~~ tag add back_home

历史

java

1.8——加入了\/execute命令。

1.11——\/execute支持方块状态

1.13——\/execute的语法被拆分

携带版alpha

0.16.0——加入了\/execute

上一章目录+书架下一章