概览
minecraft:behavior.defend_trusted_target 是一个实体组件:写在自定义生物的 components 对象中,或其中某个组件组里。 让生物攻击伤害它所信任实体的对象的 AI 目标,比如狐狸保护玩家。
字段
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
attack_interval | integer | 0 | 两次攻击之间的秒数。 |
entity_types | EntityTypes | 无 | 哪些实体可以被选为目标。 |
within_radius | number | 0 | 目标需要在多少格以内。 |
must_see | boolean | false | 为 true 时,生物只会选择看得见的目标。 |
must_see_forget_duration | number | 3 | 生物放弃前持续寻找隐藏目标的秒数。 |
aggro_sound | LevelSoundEvent | "undefined" | 防御时不时播放的声音事件。 |
on_defend_start | 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 | 数字越小越先执行:两个目标冲突时,priority 更小的那个胜出。范围:0 到 … |
control_flags | Goal's control flags[] | 无 | 此目标接管哪些身体部分(移动、看向、跳跃),占用相同部分的目标不能同时运行。 |
示例
写在 BP/entities/<name>.json 的 components 对象中(值为默认值或占位值):
BP/entities/<name>.json
{
"minecraft:behavior.defend_trusted_target": {
"attack_interval": 0,
"entity_types": {},
"within_radius": 0,
"must_see": false,
"must_see_forget_duration": 3,
"aggro_sound": "undefined",
"on_defend_start": {
"event": "",
"filters": {
"AND": null,
"NOT": null,
"OR": null,
"all": null,
"all_of": null,
"any": null,
"any_of": null,
"none_of": null
},
"target": "self"
},
"priority": 0
}
}