Minecraft1.20-/execute 实体执行的基本用法-1
该教程仅限MinecraftJava版
使用版本-Minecraft1.20.1 参考资料-命令/execute - Minecraft Wiki_BWIKI_哔哩哔哩 (biligame.com)
适应版本MinecraftJava1.13+ execute没设定执行者默认为执行命令的人,所以请仔细分辨“执行者”
如有错误,可在评论区反馈

1.基本的用法
(1) 我们玩指令时,常常会出现以下情况:

这时,很多人可能会用"/attribute @p ..."或"/attribute @a[limit=1]"来解决。
但是,这样就明显与原命令不同了。
这时,就可以用处下列指令了
"/execute as @a run attribute @s ..."
这条指令可以让所有玩家执行"/attribute @s ..."从而达到"/attribute @a"的效果了
(2)当你想用命令方块把村民改造成火箭时,会发现

这时,就可以运用我们的/execute指令了
/execute as @e[type=minecraft:villager] at @s run tp ~ ~1 ~
这样,就可以让村民起飞了。
这就是execute的修饰子命令-as和at了
不同的是,as只会将特定实体设为执行者
at只会记录特点实体的坐标,朝向和维度作为执行者的坐标,朝向和维度,而不会设置执行者 例如,在命令方块内输入
/execute as @a run summon pig ~ ~ ~ 会让每个玩家执行在命令方块的位置生成一只猪
/executr at @a run summon pig ~ ~ ~ 会让命令方块执行在所有玩家的位置生成一只猪

接着,我们看其他的修饰子命令:
align:将执行位置转换为方块坐标(向下取整)。
positioned:将执行位置设置为指定坐标或指定实体位置。
如: /execute positioned as @s align xyz run tp ~ ~ ~ 把自己tp到自己xyz向下取整的坐标
/execute align x run tp ~ ~ ~ 把自己的x向下取整后tp到取整x后的位置
/execute positioned 11.4 5.14 19.19 align yxz run spawnpoint @p ~ ~ ~ 将执行位置为 11.4,5.14,19.19,并将离执行者最近玩家的出生点设置为11,5,19
Positioned as/over
例如
As
... as @s 将执行者的坐标设置为自己的坐标
Over
... over world_surface/motion_blocking/motion_blocking_no_leaves/ocean_floor
world_surface:任意非空气方块 将执行者坐标改为最高的有方块且方块上方是空气的位置
motion_blocking:任意能阻挡移动的方块(如忽略花草)。 将执行者坐标改为最低的有方块 (方块需要能阻挡移动)且方块上方是空气(或是不能阻挡移动的方块)的位置
motion_blocking_no_leaves:任意不包括树叶的能阻挡移动的方块。 同上,但树叶也看作不能 阻挡移动
ocean_floor:任意能阻挡移动的非流体方块。同motion_blocking,但流体也看作不能阻挡移动
anchored:将执行基准点设置为实体的脚部或眼部,默认为脚部。
如:
/execute anchored eyes run tp ^ ^ ^ 将命令执行者的腿部移动到原眼部位置。
facing:将命令的执行朝向设置为面向指定坐标或指定实体,不改变命令执行者和执行位置。
如:
/execute as @e[type=minecraft:villager] facing 0 0 0 run tp @s ~ ~ ~ 将所有村民tp到执行者的位置并让他们看向0,0,0
Facing entity
面向实体而不是方块 ,如:
/execute as @e[type=!player] at @s facing entity @p feet run tp ^ ^ ^1 所有非玩家实体朝着各自距离最近的玩家的方向移动一格(不改变自身的朝向)。
in:将命令执行维度设置为特定维度。命令将在指定的维度中执行。
如:
/execute in minecraft:the_nether run tp ~ ~ ~ 将执行者传送到下界的对应的地方,在其他维度则传送到下界的该位置的X÷8, Y, Z÷8+5处。
/execute in the_end run locate structure end_city 从任意维度中定位末地中的末地城。
on:将执行者设置为与当前执行者有指定类型的关系的实体。
如:
attacker
:最近5秒内对当前执行者造成伤害的最后实体。
controller
:控制当前执行者的实体。
leasher
:用拴绳牵引当前执行者的实体。
origin
:当前执行者的来源。
若当前执行者为弹射物,则为其发射者。
若当前执行者为物品,则为其掷出者。
若当前执行者为区域效果云,则为其来源者。
若当前执行者为被激活的TNT,则为其点燃者。
若当前执行者为唤魔者尖牙或恼鬼,则为其召唤者。
owner
:当前执行者为可驯服生物时,此实体的主人。
passengers
:直接骑乘于当前执行者的实体。
target
:当前执行者的攻击目标。若当前执行者为交互实体,则为最后与其交互的玩家。
vehicle
:正在被当前执行者骑乘的实体。来自 Minecraft Wiki
rotated:将执行朝向设为特定方向,或设为指定实体的朝向,但不改变执行者和执行位置。
如:
/execute as @e[type=sheep] at @s rotated as @p run tp @s ^ ^ ^1 让所有的羊以各自距离最近玩家的朝向作为自己的朝向移动1格。
summon:立即生成一个实体,并将执行者设置为此实体。
如:
/execute summon villager run damage @e[type=iron_golem,sort=nearest,limit=1] 1 generic by @s 在执行者位置上生成一名村民,并让它对距其最近的铁傀儡造成1点普通伤害。
这期专栏就到这里了,本期共介绍了/execute的所有的修饰子命令。下期介绍条件子命令与存储子命令。
部分素材来自Minecraft Wiki