概览
minecraft:behavior.swim_with_entity 是一个实体组件:写在自定义生物的 components 对象中,或其中某个组件组里。 让生物跟着另一个实体一起游泳:落后时追上去,并与它保持同一方向。海豚用它和玩家一起游泳。
字段
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
success_rate | number | 0.1 | 生物开始跟随别人的几率,从 0 到 1。 |
chance_to_stop | number | 0.0333 | 被跟随的实体在骑乘或没有游泳时,停止跟随的几率,从 0 到 1。 |
state_check_interval | number | 0.5 | 两次检查是否需要追赶或对齐方向之间的秒数。范围:0 到 … |
catch_up_threshold | number | 12 | 被跟随的实体超过这个距离时,生物会加速追上。 |
match_direction_threshold | number | 2 | 在这个距离内,生物会尽量和被跟随的实体朝同一方向游。 |
catch_up_multiplier | number | 2.5 | 追赶时使用的速度倍率。 |
speed_multiplier | number | 1.5 | 对齐方向时使用的速度倍率。 |
search_range | number | 20 | 生物在周围多大范围内寻找一起游泳的对象。 |
stop_distance | number | 5 | 被跟随的实体离开这么远时,生物停止跟随。 |
entity_types | MobDescriptor[] | 无 | 生物可以和哪些实体一起游泳。 |
priority | integer | 0 | 多个目标同时想运行时决定谁优先:数字越小越先运行。范围:0 到 … |
control_flags | Goal's control flags[] | 无 | 列出这个目标要控制的身体部分(比如移动、看向或跳跃),这样需要同一部分的目标就不会同时运行。 |
示例
写在 BP/entities/<name>.json 的 components 对象中(值为默认值或占位值):
BP/entities/<name>.json
{
"minecraft:behavior.swim_with_entity": {
"success_rate": 0.1,
"chance_to_stop": 0.0333,
"state_check_interval": 0.5,
"catch_up_threshold": 12,
"match_direction_threshold": 2,
"catch_up_multiplier": 2.5,
"speed_multiplier": 1.5,
"search_range": 20
}
}