minecraft:behavior.ranged_attack за тебя одним переключателем.Get GodCraftОбзор
minecraft:behavior.ranged_attack - компонент сущности: он пишется в объект components своего моба или в одну из его групп компонентов. Позволяет мобу атаковать издалека, стреляя снарядами, как скелет или ифрит. Сам снаряд задаётся в minecraft:shooter. Укажите charge_shoot_trigger больше 0 для заряженных очередей.
Поля
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
burst_shots | integer | 1 | Сколько выстрелов делается за одну заряженную очередь. |
target_in_sight_time | number | 1 | Сколько секунд моб должен видеть цель, прежде чем пойти к ней. |
burst_interval | number | 0 | Секунды между выстрелами в очереди. |
charge_charged_trigger | number | 0 | Дополнительные секунды к charge_shoot_trigger до полного заряда. Заряд падает, пока цель вне поля зрения. |
charge_shoot_trigger | number | 0 | Сколько моб заряжается перед очередью (в игре это значение удваивается). Укажите больше 0, чтобы включить заряженные очереди. |
attack_interval | FloatRange | {"max":-1,"min":-1} | Случайное время перезарядки в секундах между обычными выстрелами. Растёт с расстоянием до цели. |
attack_range | FloatRange | {"max":0,"min":0} | Моб стреляет, только когда цель находится в этом диапазоне расстояний. |
x_max_rotation | number | 30 | На сколько градусов моб может наклонять голову вверх или вниз при прицеливании.Диапазон: от 0 до … |
y_max_head_rotation | number | 30 | На сколько градусов моб может поворачивать голову в стороны при прицеливании.Диапазон: от 0 до … |
ranged_fov | number | 90 | Угол обзора в градусах, в котором моб замечает цель для стрельбы.Диапазон: от 0 до … |
speed_multiplier | number | 1 | Множитель скорости при движении к цели во время атаки. |
set_persistent | boolean | false | Если true, моб не исчезнет после того, как выбрал целью игрока. |
swing | boolean | false | Если true и у моба есть анимация взмаха, он взмахивает рукой при каждом выстреле. |
in_range_movement_mode | RangedAttackGoalDefinition::InRangeMovementMode | "hold_position" | Как моб двигается, пока цель в радиусе: "hold_position" - стоит на месте и стреляет, "follow_target" - продолжает подходить ближе до минимальной дистанции. |
priority | integer | 0 | Решает, какая цель победит, если запуститься хотят несколько: меньшие числа выполняются первыми.Диапазон: от 0 до … |
control_flags | Goal's control flags[] | нет | Перечисляет части тела, которыми управляет эта цель (например, движение, взгляд или прыжок), чтобы цели, которым нужна одна и та же часть, не работали одновременно. |
Пример
Внутри объекта components в BP/entities/<name>.json (значения - по умолчанию или примерные):
BP/entities/<name>.json
{
"minecraft:behavior.ranged_attack": {
"burst_shots": 1,
"target_in_sight_time": 1,
"burst_interval": 0,
"charge_charged_trigger": 0,
"charge_shoot_trigger": 0,
"attack_interval": {
"max": -1,
"min": -1
},
"attack_range": {
"max": 0,
"min": 0
},
"x_max_rotation": 30
}
}