minecraft:behavior.jump_around_target за тебя одним переключателем.Get GodCraftОбзор
minecraft:behavior.jump_around_target - компонент сущности: он пишется в объект components своего моба или в одну из его групп компонентов. Задача ИИ, при которой моб перепрыгивает через цель или обходит её прыжком, чтобы приземлиться позади, как вихрь.
Поля
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
filters | Filter Group | {"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null} | Условия, которые должны выполняться, чтобы моб прыгнул. |
jump_cooldown_duration | number | 0.5 | Сколько секунд ждать перед следующим прыжком. |
jump_cooldown_when_hurt_duration | number | 0.1 | Сколько секунд ждать перед следующим прыжком, если моба недавно ранили. |
last_hurt_duration | number | 2 | Если моба ранили в течение этого числа секунд, вместо обычной перезарядки используется перезарядка после ранения. |
prepare_jump_duration | number | 0.5 | Сколько секунд моб приседает перед прыжком. |
max_jump_velocity | number | 1.4 | Максимальная начальная скорость прыжка. |
check_collision | boolean | false | Если true, проверяются блоки на траектории прыжка. Это сильнее нагружает игру, используйте осторожно. |
entity_bounding_box_scale | number | 0.7 | Уменьшает или увеличивает хитбокс моба во время прыжка. Меньшие значения помогают не задевать блоки. |
line_of_sight_obstruction_height_ignore | integer | 4 | Препятствия ниже этого числа блоков не учитываются при проверке, видит ли моб цель. |
valid_distance_to_target | FloatRange | {"max":20,"min":4} | Минимальное и максимальное расстояние до цели для прыжка. |
landing_position_spread_degrees | integer | 90 | Разброс точки приземления позади цели в градусах. 0 означает приземление точно позади неё. |
landing_distance_from_target | FloatRange | {"max":8,"min":4} | Минимальное и максимальное расстояние от точки приземления до цели. |
required_vertical_space | integer | 4 | Сколько блоков воздуха нужно над головой моба, чтобы прыгнуть. |
snap_to_surface_block_range | integer | 10 | Сколько блоков выше и ниже точки приземления проверяется в поисках земли. |
jump_angles | number[] | [40,55,60,75,80] | Углы прыжка в градусах, которые может использовать моб, в случайном порядке. |
priority | integer | 0 | Чем меньше число, тем раньше выполняется задача: из двух конкурирующих задач побеждает та, у которой priority меньше.Диапазон: от 0 до … |
control_flags | Goal's control flags[] | нет | Какие части тела занимает эта задача (движение, взгляд, прыжок), чтобы задачи с теми же частями не выполнялись одновременно. |
Пример
Внутри объекта components в BP/entities/<name>.json (значения - по умолчанию или примерные):
BP/entities/<name>.json
{
"minecraft:behavior.jump_around_target": {
"filters": {
"AND": null,
"NOT": null,
"OR": null,
"all": null,
"all_of": null,
"any": null,
"any_of": null,
"none_of": null
},
"jump_cooldown_duration": 0.5,
"jump_cooldown_when_hurt_duration": 0.1,
"last_hurt_duration": 2,
"prepare_jump_duration": 0.5,
"max_jump_velocity": 1.4,
"check_collision": false,
"entity_bounding_box_scale": 0.7
}
}