minecraft:behavior.drop_item_for за тебя одним переключателем.Get GodCraftОбзор
minecraft:behavior.drop_item_for - компонент сущности: он пишется в объект components своего моба или в одну из его групп компонентов. Задача ИИ, при которой моб подходит к цели и роняет рядом с ней предмет, как кошка оставляет подарок спящему игроку. Нужен компонент навигации.
Поля
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
seconds_before_pickup | number | 0 | Через сколько секунд выброшенный предмет можно подобрать.Диапазон: от 0 до … |
cooldown | number | 0.25 | Сколько секунд ждать, прежде чем задача сможет выполниться снова.Диапазон: от 0 до … |
drop_item_chance | number | 1 | Шанс, что моб действительно уронит предмет. 1.0 означает 100%.Диапазон: от 0 до 1 |
offering_distance | number | 1 | На каком расстоянии от цели моб предпочитает стоять, когда роняет предмет.Диапазон: от 0 до … |
minimum_teleport_distance | number | 2 | Если нужная точка дальше этого расстояния, моб телепортируется туда.Диапазон: от 0 до … |
max_head_look_at_height | number | 10 | Самая высокая точка, на которую моб смотрит, роняя предмет.Диапазон: от 0 до … |
target_range | vec3 | [1,1,1] | Размер области в блоках, в которой ищется цель. |
teleport_offset | vec3 | [0,1,0] | Смещение по X, Y и Z, добавляемое к точке при телепортации моба. |
time_of_day_range | FloatRange | {"max":1,"min":0} | Время суток, когда задача может выполняться. 0.0 это полдень, 0.25 закат, 0.5 полночь, 0.75 рассвет. |
loot_table | string | "" | Таблица добычи, из которой выбирается выброшенный предмет. |
on_drop_attempt | ActorDefinitionTrigger | {"event":"","filters":{"AND":null,"NOT":null,"OR":null,"all":null,"all_of":null,"any":null,"any_of":null,"none_of":null},"target":"self"} | Событие, которое срабатывает, когда моб пытается уронить предмет. |
entity_types | EntityTypes | нет | Какие сущности могут получить предмет. |
search_range | integer | 0 | На сколько блоков в стороны моб ищет точку, куда пойти. |
search_height | integer | 1 | На сколько блоков вверх и вниз моб ищет точку, куда пойти. |
goal_radius | number | 0.5 | Насколько близко моб должен подойти, чтобы считать, что он пришёл. Это не даёт ему дёргаться вокруг точки. |
search_count | integer | 0 | Сколько случайных блоков проверяется каждый тик. 0 проверяет все блоки в радиусе.Диапазон: от 0 до … |
speed_multiplier | number | 1 | Множитель скорости при движении к цели.Диапазон: от 0 до … |
priority | integer | 0 | Чем меньше число, тем раньше выполняется задача: из двух конкурирующих задач побеждает та, у которой priority меньше.Диапазон: от 0 до … |
control_flags | Goal's control flags[] | нет | Какие части тела занимает эта задача (движение, взгляд, прыжок), чтобы задачи с теми же частями не выполнялись одновременно. |
Пример
Внутри объекта components в BP/entities/<name>.json (значения - по умолчанию или примерные):
BP/entities/<name>.json
{
"minecraft:behavior.drop_item_for": {
"seconds_before_pickup": 0,
"cooldown": 0.25,
"drop_item_chance": 1,
"offering_distance": 1,
"minimum_teleport_distance": 2,
"max_head_look_at_height": 10,
"target_range": [
1,
1,
1
],
"teleport_offset": [
0,
1,
0
]
}
}