minecraft:behavior.nearest_attackable_target за тебя одним переключателем.Get GodCraftОбзор
minecraft:behavior.nearest_attackable_target - компонент сущности: он пишется в объект components своего моба или в одну из его групп компонентов. Выбирает ближайшую подходящую цель из указанных типов сущностей и отправляет моба за ней. Обычная цель для враждебных мобов, охотящихся на игроков или других мобов.
Поля
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
reselect_targets | boolean | false | Если true, моб переключается на более близкую цель, как только она появится, а не ждёт следующего поиска. |
attack_interval | FloatRange | {"max":0,"min":0} | Случайный промежуток в секундах между поисками цели. Оставьте 0, чтобы использовать scan_interval. |
scan_interval | integer | 10 | Тики между поисками цели, когда attack_interval не используется. Очень маленькие значения могут замедлить игру.Диапазон: от 1 до … |
target_search_height | number | -1 | Как далеко вверх и вниз искать цели. Отрицательное значение берёт самый большой max_dist из entity_types.Диапазон: от -1 до … |
target_invisible_multiplier | number | 0.7 | Уменьшает дальность обнаружения невидимых целей в зависимости от того, сколько на них брони. |
target_sneak_visibility_multiplier | number | 0.8 | Умножает дальность обнаружения, когда цель крадётся. Используйте значение меньше 1, чтобы крадущихся игроков было труднее заметить. |
set_persistent | boolean | false | Если true, моб не исчезнет после того, как выбрал целью игрока. |
target_acquisition_probability | number | 1 | Шанс (от 0 до 1), что моб действительно выберет найденную цель. Уменьшите его, чтобы моб был менее агрессивным. |
attack_owner | boolean | false | Если true, приручённый моб может напасть на своего хозяина. |
must_reach | boolean | false | Если true, моб выбирает только те цели, до которых может дойти. |
must_see | boolean | false | Если true, моб должен видеть цель, а не просто находиться рядом. |
within_radius | number | 0 | Как далеко может уйти цель, прежде чем моб сдастся. Используется, только если у моба нет minecraft:follow_range.Диапазон: от 0 до … |
must_see_forget_duration | number | 3 | Сколько секунд цель может оставаться вне поля зрения, прежде чем моб о ней забудет. Используется, только когда must_see равно true.Диапазон: от 0 до … |
persist_time | number | 0 | Сколько секунд моб продолжает атаковать после того, как цель перестала подходить.Диапазон: от 0 до … |
entity_types | EntityTypes | нет | Какие сущности моб может выбрать целью, каждая со своими фильтрами и необязательной максимальной дистанцией. |
priority | integer | 0 | Решает, какая цель победит, если запуститься хотят несколько: меньшие числа выполняются первыми.Диапазон: от 0 до … |
control_flags | Goal's control flags[] | нет | Перечисляет части тела, которыми управляет эта цель (например, движение, взгляд или прыжок), чтобы цели, которым нужна одна и та же часть, не работали одновременно. |
Пример
Внутри объекта components в BP/entities/<name>.json (значения - по умолчанию или примерные):
BP/entities/<name>.json
{
"minecraft:behavior.nearest_attackable_target": {
"reselect_targets": false,
"attack_interval": {
"max": 0,
"min": 0
},
"scan_interval": 10,
"target_search_height": -1,
"target_invisible_multiplier": 0.7,
"target_sneak_visibility_multiplier": 0.8,
"set_persistent": false,
"target_acquisition_probability": 1
}
}