minecraft:behavior.random_search_and_dig за тебя одним переключателем.Get GodCraftОбзор
minecraft:behavior.random_search_and_dig - компонент сущности: он пишется в объект components своего моба или в одну из его групп компонентов. Заставляет моба выбрать доступный блок, дойти до него и выкопать предмет из таблицы добычи, как нюхач находит семена. По умолчанию он копает в земле, дёрне, подзоле, мхе и блоках вроде грязи.
Поля
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
cooldown_range | FloatRange | {"max":0,"min":0} | Случайная пауза в секундах, прежде чем цель сможет запуститься снова. |
speed_multiplier | number | 1 | Ускоряет или замедляет моба, пока работает эта цель: 1 - обычная скорость.Диапазон: от 0 до … |
find_valid_position_retries | integer | 5 | Сколько попыток есть у моба, чтобы найти хорошее место для раскопок. |
target_dig_position_offset | number | 2.25 | Насколько впереди от ног моба находится место раскопок. |
search_range_xz | integer | 10 | Ширина и длина области, где ищется место для раскопок. |
search_range_y | integer | 7 | Высота области, где ищется место для раскопок. |
goal_radius | number | 1.5 | Насколько близко к месту раскопок должен подойти моб, чтобы считалось, что он на месте. |
target_blocks | Block Descriptor[] | нет | Блоки, в которых моб может копать. Заменяет список по умолчанию. |
digging_duration_range | FloatRange | {"max":10,"min":8} | Сколько секунд длятся раскопки. |
item_table | string | "" | Путь к таблице добычи, которая решает, какой предмет будет выкопан. |
spawn_item_after_seconds | number | 0 | Сколько секунд копать, прежде чем появится предмет.Диапазон: от 0 до … |
spawn_item_pos_offset | number | 0 | Насколько впереди моба появляется предмет.Диапазон: от 0 до … |
on_searching_start | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | Событие, которое запускается, когда моб начинает поиск. |
on_fail_during_searching | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | Событие, которое запускается, если поиск не удался. |
on_digging_start | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | Событие, которое запускается, когда моб заканчивает поиск и начинает копать. |
on_item_found | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | Событие, которое запускается, когда предмет выкопан. |
on_fail_during_digging | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | Событие, которое запускается, если раскопки не удались. |
on_success | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | Событие, которое запускается, когда и поиск, и раскопки завершены. |
priority | integer | 0 | Решает, какая цель победит, если запуститься хотят несколько: меньшие числа выполняются первыми.Диапазон: от 0 до … |
control_flags | Goal's control flags[] | нет | Перечисляет части тела, которыми управляет эта цель (например, движение, взгляд или прыжок), чтобы цели, которым нужна одна и та же часть, не работали одновременно. |
Пример
Внутри объекта components в BP/entities/<name>.json (значения - по умолчанию или примерные):
BP/entities/<name>.json
{
"minecraft:behavior.random_search_and_dig": {
"cooldown_range": {
"max": 0,
"min": 0
},
"speed_multiplier": 1,
"find_valid_position_retries": 5,
"target_dig_position_offset": 2.25,
"search_range_xz": 10,
"search_range_y": 7,
"goal_radius": 1.5,
"target_blocks": []
}
}