minecraft:behavior.circle_around_anchor за тебя одним переключателем.Get GodCraftОбзор
minecraft:behavior.circle_around_anchor - компонент сущности: он пишется в объект components своего моба или в одну из его групп компонентов. Задача ИИ, при которой моб летает кругами вокруг точки рядом с собой или с целью, как фантом.
Поля
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
radius_change | number | 1 | Сколько блоков добавляется к размеру круга при его изменении. |
radius_adjustment_chance | number | 0.004 | Шанс при каждой проверке изменить размер круга. 1 означает 100%. |
height_adjustment_chance | number | 0.002857 | Шанс при каждой проверке поднять или опустить высоту круга. 1 означает 100%. |
goal_radius | number | 0.5 | Насколько близко моб должен подойти к точке, чтобы считать, что он на месте. Это убирает дёрганье. |
speed_multiplier | number | 1 | Множитель скорости при полёте по кругу. |
angle_change | number | 15 | На сколько градусов моб поворачивает каждый раз, выбирая следующую точку. |
radius_range | FloatRange | {"max":15,"min":5} | Минимальный и максимальный допустимый размер круга. |
height_offset_range | FloatRange | {"max":0,"min":0} | Минимальная и максимальная допустимая высота над точкой или под ней. |
height_above_target_range | FloatRange | {"max":0,"min":0} | На сколько блоков выше цели может быть следующая точка. Используется только при погоне за целью. |
priority | integer | 0 | Чем меньше число, тем раньше выполняется задача: из двух конкурирующих задач побеждает та, у которой priority меньше.Диапазон: от 0 до … |
control_flags | Goal's control flags[] | нет | Какие части тела занимает эта задача (движение, взгляд, прыжок), чтобы задачи с теми же частями не выполнялись одновременно. |
Пример
Внутри объекта components в BP/entities/<name>.json (значения - по умолчанию или примерные):
BP/entities/<name>.json
{
"minecraft:behavior.circle_around_anchor": {
"radius_change": 1,
"radius_adjustment_chance": 0.004,
"height_adjustment_chance": 0.002857,
"goal_radius": 0.5,
"speed_multiplier": 1,
"angle_change": 15,
"radius_range": {
"max": 15,
"min": 5
},
"height_offset_range": {
"max": 0,
"min": 0
}
}
}