minecraft:behavior.nearest_prioritized_attackable_target。Get GodCraft概览
minecraft:behavior.nearest_prioritized_attackable_target 是一个实体组件:写在自定义生物的 components 对象中,或其中某个组件组里。 类似 nearest_attackable_target,但每种实体类型都可以有自己的优先级,让生物更偏好某些目标。适合让生物优先猎杀玩家,附近没有玩家时才去找动物。
字段
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
attack_interval | integer | 0 | 选择目标前等待的秒数。 |
entity_types | EntityTypes | 无 | 生物可以锁定哪些实体,每项都可设置过滤器和优先级。 |
within_radius | number | 0 | 目标要离多近,生物才会去追它。 |
must_see | boolean | false | 设为 true 时,只选择生物能看见的目标。 |
must_see_forget_duration | number | 3 | 目标离开视线后,生物继续寻找它多少秒才会选择新目标。 |
must_reach | boolean | false | 设为 true 时,只选择生物能走到的目标。 |
reselect_targets | boolean | false | 设为 true 时,一旦出现更近的目标,生物就会切换过去。 |
scan_interval | integer | 10 | 两次寻找目标之间的刻数。 |
target_search_height | number | -1 | 在上下方向上寻找目标的范围。设为 -1 则忽略高度。 |
persist_time | number | 0 | 目标失效后生物继续保持锁定的秒数。 |
hurt_owner | boolean | false | 设为 true 时,生物也会攻击伤害它主人的生物。 |
set_persistent | boolean | false | 设为 true 时,生物锁定玩家后就不会消失。 |
priority | integer | 0 | 多个目标同时想运行时决定谁优先:数字越小越先运行。范围:0 到 … |
control_flags | Goal's control flags[] | 无 | 列出这个目标要控制的身体部分(比如移动、看向或跳跃),这样需要同一部分的目标就不会同时运行。 |
示例
写在 BP/entities/<name>.json 的 components 对象中(值为默认值或占位值):
BP/entities/<name>.json
{
"minecraft:behavior.nearest_prioritized_attackable_target": {
"attack_interval": 0,
"entity_types": {},
"within_radius": 0,
"must_see": false,
"must_see_forget_duration": 3,
"must_reach": false,
"reselect_targets": false,
"scan_interval": 10
}
}