Minecraft Java版1165指令生成一个卫道士这个卫道士会追杀在他的范围16格以内的没有蹲下的玩家和4格以内蹲下了的玩家
要生成一个卫道士,并让他追杀在他范围内的玩家,可以使用以下指令:
- 首先,生成一个卫道士:
/summon minecraft:pillager ~ ~ ~ {PatrollingGrounds:[[-16,-1,-16],[16,1,16]]}
这会在当前位置生成一个卫道士,并将他的巡逻范围设置为一个16x16的区域。
- 接下来,我们需要为卫道士添加一个循环执行的指令:
/execute as @e[type=pillager,tag=!hunt] run function hunt:main
这会在每个游戏刻(每20个游戏刻为1秒)执行一次名为"main"的函数。
- 创建一个函数文件(hunt.mcfunction),并将以下指令添加到该文件中:
# 定义主函数
main
# 检查玩家是否在卫道士的追逐范围内
execute as @e[type=pillager,tag=!hunt] at @s run execute as @a[distance=..16] run function hunt:chase
execute as @e[type=pillager,tag=!hunt] at @s run execute as @a[distance=..4,nbt={Pose:{Crouching:1b}}] run function hunt:crouch
- 创建另一个函数文件(chase.mcfunction),并将以下指令添加到该文件中:
# 定义追逐函数
chase
# 获取最近的玩家
execute as @s at @s run data modify storage hunt:target UUID set from entity @a[distance=..16,limit=1,sort=nearest] UUID
# 设置卫道士的目标为最近的玩家
execute as @s at @s run data modify entity @s Brain.memories.minecraft:nearest_visible_target_uuid set from storage hunt:target UUID
# 设置卫道士的状态为追逐
execute as @s at @s run data modify entity @s Brain.memories.minecraft:has_visible_target_time_left set value 200
- 创建另一个函数文件(crouch.mcfunction),并将以下指令添加到该文件中:
# 定义蹲下函数
crouch
# 获取最近的蹲下玩家
execute as @s at @s run data modify storage hunt:target UUID set from entity @a[distance=..4,nbt={Pose:{Crouching:1b}},limit=1,sort=nearest] UUID
# 设置卫道士的目标为最近的蹲下玩家
execute as @s at @s run data modify entity @s Brain.memories.minecraft:nearest_visible_target_uuid set from storage hunt:target UUID
# 设置卫道士的状态为追逐
execute as @s at @s run data modify entity @s Brain.memories.minecraft:has_visible_target_time_left set value 200
这样,你就创建了一个卫道士,他会追杀在他的范围内的没有蹲下的玩家,并且也会追杀在4格内蹲下了的玩家。请确保在运行这些指令之前,已经安装了命令方块或者启用了管理员权限。
原文地址: http://www.cveoy.top/t/topic/iOdK 著作权归作者所有。请勿转载和采集!