MC Toolkit

Руководства / Команды и данные

/particle: что на самом деле означают delta и speed, и трюк с count=0

Четыре числа после координат — это не направление. Разбираем, что делают delta и speed, почему count=0 ведёт себя совершенно иначе и как прицелить частицу.

/particle flame ~ ~1 ~ 0.5 0.5 0.5 0.01 20
                      └─ delta ─┘  spd  count

Эти четыре числа — самая неправильно понимаемая часть команды.

delta — это разброс, а не направление

dx dy dz задают гауссово рассеяние вокруг позиции — насколько частицы разлетаются по каждой оси. 0.5 0.5 0.5 даёт размытый шар; 2 0 0 даёт линию вдоль X.

Это не вектор скорости. Положительные и отрицательные значения не имеют разницы; -2 0 0 и 2 0 0 дают одну и ту же линию.

Если только count не равен 0

Установите count в 0 — и смысл каждого предыдущего числа меняется:

countdelta означаетspeed означает
≥ 1случайный разбросслучайная величина скорости
0вектор направленияскорость вдоль него
/particle flame ~ ~1 ~ 0 1 0 0.5 0    →  one particle shot straight up at 0.5

Это единственный способ прицелить частицу. Любой ответ на вопрос «как сделать луч» в итоге приходит сюда. Цена — одна частица на команду, так что луч — это цикл или цепочка.

speed — не всегда скорость

Для большинства частиц speed — множитель скорости. Для некоторых он переосмыслен полностью:

  • dust — размер задаётся параметром, а speed не делает ничего
  • note — скорость по x выбирает цвет: при count 0 это x delta, умноженная на speed, а 0–1 проходят один круг по цветовому колесу (нотный блок передаёт высоту тона ÷ 24). При большем count цвет случайный
  • entity_effect — цвет берётся из аргумента alpha-RGB

Так что /particle note ~ ~1 ~ 0.5 0 0 1 0 — это не быстрая частица: 0.5 и speed 1 вместе делают её другого цвета.

Частицы со своими аргументами

/particle dust{color:[1.0,0.0,0.0],scale:1} ~ ~ ~ 0 0 0 0 1
/particle block{block_state:"minecraft:stone"} ~ ~ ~ 0.3 0.3 0.3 0 10
/particle dust_color_transition{from_color:[1,0,0],to_color:[0,0,1],scale:1} ~ ~ ~ 0 0 0 0 1

Блок аргументов идёт сразу после имени частицы, до координат. Если поставить его в конце — это обычная синтаксическая ошибка.

force и зритель

Команда заканчивается необязательным режимом и игроком:

/particle flame ~ ~ ~ 0 0 0 0 1 force @a

normal учитывает настройку частиц каждого клиента и лимит видимости в 32 блока. force показывает частицу независимо от настроек и до 512 блоков. Для всего, что игрок обязан увидеть — телеграф босса, метка задания — нужен force, и именно поэтому ваши частицы работают у вас, но не у того, у кого частицы урезаны.

Производительность

Частицы — это клиентский рендеринг, так что нагрузка ложится на игроков, а не на сервер. count из 200 за тик на игрока уронит частоту кадров на скромном железе, хотя TPS сервера останется нетронутым. Распределяйте выбросы по тикам вместо одного огромного count.

Просмотрите все типы частиц и 1900+ id звуков с готовыми командами в Галерее частиц и звуков.

Галерея частиц и звуков →

Другие руководства

Смотреть все →