Новый тип сущности в Майнкрафте — облака

Пользователи Reddit выяснили, что облака формируемые из частиц введенные в Майнкрафт в последних обновлениях — это ни что иное, как новый тип сущности.


Внешний вид и прочие характеристики описываются отдельными атрибутом AreaEffectCloud:

  • [STRING] Particle — Тип частиц, которые будут отображаться. По умолчанию это «mobspell».
  • [INTEGER] ReapplicationDelay — Количество тиков, после которых игрок, находящийся в радиусе будет получать эффект от зелья. 20 по умолчанию.
  • [FLOAT] Radius — Задает радиус действия эффекта. Изменяется со временем.
  • [FLOAT] RadiusPerTick — На сколько радиус будет увеличиваться или уменьшать по истечении каждого тика. Значение по умолчанию (отрицательное) -0.005f.
  • [FLOAT] RadiusOnUse — Насколько возрастает/уменьшается радиус когда эффект зелья применяется к сущности (игроку или мобу)
  • [INTEGER] Duration — Время жизни сущности-эффекта. Как только оно истекает — данная сущность уничтожается.
  • [FLOAT] DurationOnUse — На скольку изменяется время жизни сущности при воздейстиви на другую сущность (игрока или моба). По умолчанию — 0.
  • [LIST] Effects — Перечень эффектов зелий, которые содержит «облако».
  • [INTEGER] Color — Цвет эффекта частиц. Это кстати, косвенно, указывает на то, что в 1.9 частицы можно будет нормально раскрашивать (а не через одно место)
  • [INTEGER] Age — Время жизни облака (при создании, по умолчанию — 0).
  • INTEGER] WaitTime — Время ожидания. Пока возраст облака меньше этог значения оно маленькое и не оказывает воздействия на окружающих. По умолчанию — 10 (пол секунды)
  • [LONG] OwnerUUIDLeast и [LONG] OwnerUUIDMost — Описание UUID владельца (того кто бросил зелье)

Вот пример вызова сущности-облака, которое представляет смертельное облако, которое растет с каждой жертвой:

/summon AreaEffectCloud ~ ~ ~ {Particle:"largesmoke", ReapplicationDelay:20,Radius:2f, RadiusPerTick:-0.002f, RadiusOnUse:0.5f, Duration:600 000,DurationOnUse:0.0f, Effects:[{Id:7b, Duration:2400,Amplifier:10b}]}

Интересный момент. У облака есть зона поражения (hitbox). Если её изменять, то в размере будут изменяться сами частицы

hitbox

Кстати, теперь понятно почему на прошлой неделе моджангстеры занимались оптимизацией частиц. Просто иначе, у них в этом апдейте все остановилось бы намертво.

В общем, на мой взгляд это одно из самых важных нововведений в грядущем 1.9. Лично мне в голову уже пришла целая куча применения этих облаков. Посмотрим, может что-то я потом сделаю в виде плагинов.