minecraft:behavior.avoid_block за тебя одним переключателем.Get GodCraftОбзор
minecraft:behavior.avoid_block - компонент сущности: он пишется в объект components своего моба или в одну из его групп компонентов. Задача ИИ, при которой моб отходит от определённых блоков, как хоглины избегают искажённых грибов.
Поля
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
walk_speed_modifier | number | 1 | Множитель скорости при отходе шагом. 1.0 оставляет обычную скорость. |
sprint_speed_modifier | number | 1 | Множитель скорости при отходе бегом. 1.0 оставляет обычную скорость. |
search_range | integer | 0 | На сколько блоков в стороны моб ищет блоки, которых нужно избегать. |
search_height | integer | 0 | На сколько блоков вверх и вниз моб ищет блоки, которых нужно избегать. |
tick_interval | integer | 1 | Как часто, в тиках, задача проверяет, пора ли ей начаться. |
target_selection_method | string | "nearest" | Как выбирается блок, которого нужно избегать, например ближайший. |
on_escape | ActorDefinitionTrigger[] | нет | События, которые срабатывают, когда моб ушёл от блока. |
target_blocks | Item Descriptor[] | нет | Блоки, от которых этот моб держится подальше. |
avoid_block_sound | LevelSoundEvent | "undefined" | Звуковое событие, которое играет, пока моб избегает блока. |
sound_interval | FloatRange | {"max":8,"min":3} | Диапазон случайного ожидания в секундах между звуками избегания. |
priority | integer | 0 | Чем меньше число, тем раньше выполняется задача: из двух конкурирующих задач побеждает та, у которой priority меньше.Диапазон: от 0 до … |
control_flags | Goal's control flags[] | нет | Какие части тела занимает эта задача (движение, взгляд, прыжок), чтобы задачи с теми же частями не выполнялись одновременно. |
Пример
Внутри объекта components в BP/entities/<name>.json (значения - по умолчанию или примерные):
BP/entities/<name>.json
{
"minecraft:behavior.avoid_block": {
"walk_speed_modifier": 1,
"sprint_speed_modifier": 1,
"search_range": 0,
"search_height": 0,
"tick_interval": 1,
"target_selection_method": "nearest",
"on_escape": [],
"target_blocks": []
}
}