概览
minecraft:behavior.defend_village_target 是一个实体组件:写在自定义生物的 components 对象中,或其中某个组件组里。 让生物攻击村庄敌人的 AI 目标,比如铁傀儡。即使过滤器不允许,村庄讨厌的玩家也会被攻击。
字段
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
attack_chance | number | 0.05 | 攻击村庄敌人的几率。1.0 表示 100%。范围:0 到 1 |
attack_owner | boolean | false | 为 true 时,生物可能攻击自己的主人。 |
must_reach | boolean | false | 为 true 时,生物需要有一条能走到目标的路径。 |
must_see | boolean | false | 为 true 时,目标必须既在范围内又在视线内。 |
within_radius | number | 0 | 未设置跟随范围时,目标离开多远后会被放弃。范围:0 到 … |
must_see_forget_duration | number | 3 | 目标可以离开视线多少秒后才被放弃。仅在使用 must_see 时生效。范围:0 到 … |
persist_time | number | 0 | 目标不再有效后生物继续攻击的秒数。范围:0 到 … |
entity_types | EntityTypes | 无 | 哪些实体可以被选为目标。 |
priority | integer | 0 | 数字越小越先执行:两个目标冲突时,priority 更小的那个胜出。范围:0 到 … |
control_flags | Goal's control flags[] | 无 | 此目标接管哪些身体部分(移动、看向、跳跃),占用相同部分的目标不能同时运行。 |
示例
写在 BP/entities/<name>.json 的 components 对象中(值为默认值或占位值):
BP/entities/<name>.json
{
"minecraft:behavior.defend_village_target": {
"attack_chance": 0.05,
"attack_owner": false,
"must_reach": false,
"must_see": false,
"within_radius": 0,
"must_see_forget_duration": 3,
"persist_time": 0,
"entity_types": {}
}
}