牢史人Q 发表于 2024-8-14 11:08:38

一文读懂execute指令

注意,本文所指execute是指MC 1.19.10以上版本中的指令,在1.8以上的execute指令不适用本文,且本文以基岩版为主。

/execute <子命令>
子命令分为4类:

[*]修饰:修改命令执行时的状态,从而指定执行位置、朝向、执行者、基准点
[*]条件:检测特定条件是否成立(并输出结果),或限制其它子命令执行的条件
[*]存储:将命令返回值存储进方块、实体(、NBT)、计分板等


Execute的应用场景

[*]例如你希望在主世界找到末地城的位置,你可能会使用/locate structure end_city,但是在主世界怎么会有末地城呢?所以你可以通过execute来帮助你,执行/execute in the_end positioned 0 0 0 run locate structure end_city
[*]同理,在主世界找到堡垒遗迹:/execute in nether positioned 0 0 0 run locate structure bastion_remnant
[*]让所有僵尸自杀:/execute as @e run kill @s

他们的原理是:


[*]让指令在末地执行
[*]让指令在下界执行
[*]让指令由僵尸执行(整个execute指令还是玩家执行)




有一些修饰子命令:

[*]align <轴> <子命令> 将执行位置转化为方块坐标,轴处可以填x y z xy yz zx zyx
[*]anchored <eyes|feet> <子命令>在MC中我们所使用的指令~ ~ ~的Y轴的基准点是我们脚所在的坐标,在此处我们可以指定是头还是脚
[*]as <实体选择器> <子命令> 将执行者改为目标实体
[*]at <实体选择器> <子命令> 将命令的执行位置、朝向改为目标实体的 注意与其它子命令进行时的顺序at... / in ... + positioned... + facing
[*]facing <x y z ~ ~ ~> <子命令>将命令的执行朝向设置为执行基准点(anchored)到指定坐标(x y z或~ ~ ~)的方向,例如你执行基准点为0 0 0,你朝向是10 0 -10,则就按照0 0 0至10 0 -10的这个方向作为执行的方向
[*]in <维度> ... 设置执行的维度位置,可填overworld(主世界),nether(下界),the_end(末地),在网易中还有其它,以dm+数字为准
[*]positioned <x y z ~~~> ... 设置执行位置为指定坐标
[*]rotated <ry> <rx> ... 设置绕y轴或者绕z轴的旋转角度,y轴旋转时,-180.0表示北、-90.0表示东、0.0表示南,x轴旋转时,向天上看是-90.0
[*]summon <实体> 生成一个实体,并设置为此实体,只有在Java版可以使用

NiceMC 发表于 2024-8-14 11:10:48

本人在我的世界基岩杯赛事项目建设中使用过execute指令
页: [1]
查看完整版本: 一文读懂execute指令