概览
minecraft:behavior.use_kinetic_weapon 是一个实体组件:写在自定义生物的 components 对象中,或其中某个组件组里。 让生物使用长矛这类冲锋武器战斗:冲向目标,然后后退再次冲锋。武器物品需要 minecraft:kinetic_weapon。
字段
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
approach_distance | number | 8 | 目标靠近到这个距离时,生物开始使用武器。范围:0 到 … |
reposition_distance | FloatRange | {"max":2,"min":2} | 目标离得太近后,生物在再次冲锋前后退的距离。会加到武器攻击距离的中间值上。 |
reposition_speed_multiplier | number | 1 | 后退准备再次冲锋时的速度倍率。范围:0 到 … |
cooldown_distance | FloatRange | {"max":8,"min":8} | 武器冲锋时间用完后生物后退的距离。会加到武器攻击距离的中间值上。 |
cooldown_speed_multiplier | number | 1 | 冷却期间后退时的速度倍率。范围:0 到 … |
weapon_reach_multiplier | number | 1 | 为这个生物缩放武器的攻击距离。范围:0 到 … |
weapon_min_speed_multiplier | number | 1 | 缩放武器造成伤害所需的最低速度。范围:0 到 … |
hijack_mount_navigation | boolean | false | 设为 true 时,生物用这个目标操控坐骑。坐骑必须拥有 mount_pathing 目标。 |
on_kill | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | 这个生物杀死目标时触发的事件。 |
cooldown_time | number | 1 | 两次攻击之间的秒数。范围:0 到 … |
melee_fov | number | 90 | 用于发现攻击目标的视野角度(度)。范围:0 到 … |
x_max_rotation | number | 30 | 生物看向目标时最多能上下仰俯的角度(度)。范围:0 到 … |
y_max_head_rotation | number | 30 | 生物看向目标时头部最多能左右转动的角度(度)。范围:0 到 … |
random_stop_interval | integer | 0 | 有 1/N 的几率停止当前攻击,N 就是这个值。设为 0 则永远不会随机停止。范围:0 到 … |
attack_once | boolean | false | 设为 true 时,生物一生只会发动一次这种攻击。 |
can_spread_on_fire | boolean | false | 设为 true 时,空手且正在燃烧的生物击中目标时会把目标点燃。 |
min_path_time | number | 0.2 | 生物重新规划前往目标路径前的最短基础时间(秒)。范围:0 到 … |
max_path_time | number | 0.55 | 生物重新规划前往目标路径前的最长基础时间(秒)。范围:0 到 … |
path_fail_time_increase | number | 0.75 | 生物无法沿当前路径前进时,在重新规划路径前额外增加的秒数。范围:0 到 … |
inner_boundary_time_increase | number | 0.25 | 目标距离超过 path_inner_boundary 时,在重新规划路径前额外增加的秒数。范围:0 到 … |
outer_boundary_time_increase | number | 0.5 | 目标距离超过 path_outer_boundary 时,在重新规划路径前额外增加的秒数。范围:0 到 … |
path_inner_boundary | number | 16 | 超过这个距离时会加上 inner_boundary_time_increase。范围:0 到 … |
path_outer_boundary | number | 32 | 超过这个距离时会加上 outer_boundary_time_increase。范围:0 到 … |
speed_multiplier | number | 1 | 朝目标移动时的速度倍率。范围:0 到 … |
require_complete_path | boolean | false | 设为 true 时,生物只追击有完整路径可达的目标。 |
track_target | boolean | false | 设为 true 时,即使没有内置的感知方式,生物也会持续追踪目标。 |
attack_types | string | "" | 这个生物会攻击哪些实体类型。 |
on_attack | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | 生物每次命中时触发的事件。 |
priority | integer | 0 | 多个目标同时想运行时决定谁优先:数字越小越先运行。范围:0 到 … |
control_flags | Goal's control flags[] | 无 | 列出这个目标要控制的身体部分(比如移动、看向或跳跃),这样需要同一部分的目标就不会同时运行。 |
示例
写在 BP/entities/<name>.json 的 components 对象中(值为默认值或占位值):
BP/entities/<name>.json
{
"minecraft:behavior.use_kinetic_weapon": {
"approach_distance": 8,
"reposition_distance": {
"max": 2,
"min": 2
},
"reposition_speed_multiplier": 1,
"cooldown_distance": {
"max": 8,
"min": 8
},
"cooldown_speed_multiplier": 1,
"weapon_reach_multiplier": 1,
"weapon_min_speed_multiplier": 1,
"hijack_mount_navigation": false
}
}