minecraft:behavior.defend_trusted_target за тебя одним переключателем.Get GodCraftОбзор
minecraft:behavior.defend_trusted_target - компонент сущности: он пишется в объект components своего моба или в одну из его групп компонентов. Задача ИИ, при которой моб атакует любого, кто ранит доверенную ему сущность, как лиса защищает игрока.
Поля
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
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[] | нет | Какие части тела занимает эта задача (движение, взгляд, прыжок), чтобы задачи с теми же частями не выполнялись одновременно. |
Пример
Внутри объекта components в BP/entities/<name>.json (значения - по умолчанию или примерные):
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
}
}