首页 男生 游戏竞技 Minecraft指令手册

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

Minecraft指令手册 你好MC 2507 2024-07-09 15:29

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

  没错,它就是:/execute。

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

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

  /execute

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

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

  需要作弊:是

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

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

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

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

  /execute @e [tybr /e =br /ig ]~~~ say 你好!

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

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

  /execute @e ~~~ execute @e ~~~ execute @e ~~~ execute @e ~~~ execute @e ~~~...............

  (没错作者在套娃)

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

  /execute @a ~~~ setblock ~~-1 ~ diamond_block

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

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

  /execute @e [tybr /e =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 tbr / @s 30 64 24

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

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

  比如:

  /execute @a ~~~ detect ~~-1 ~ minecraft:magenta_glazed_terracotta facing=south tellraw @s [{“text“:“该箭头朝向“,“color“:“yellow“},{“text“:“北方“,“color“:“light_br /urbr /le“}]

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

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

  /execute @e[tybr /e=snowball]~~~ execute @br /[r=1.5,rx=90,rxm=60]~~~ execute @e[tybr /e=snowball,c=1]~~~ tag @s add back_home

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

  /execute @a[rx=90,rxm=60]~~~ execute @e[r=1.5,tybr /e=snowball,c=1]~~~ tag @s add back_home

  )

  历史

  Java

  1.8——加入了/execute命令。

  1.11——/execute支持方块状态

  1.13——/execute的语法被拆分

  携带版Albr /ha

  0.16.0——加入了/execute

目录
设置
手机
书架
书页
评论