Местоположение, где необходимо создать частицу. Допустимые значения (в том числе y) — числа от −30 000 000 до 30 000 000. Могут быть указаны относительные координаты.
xd yd zd
Умноженные примерно на 8 размеры прямоугольного параллелепипеда, центр которого на координатах x y z. (например, используя 1 1 1, получится куб с приблизительным размером 8×8×8). В случайном месте этого параллелепипеда будут создана указанная частица.
Исключение: Если названием является reddust, mobSpell или mobSpellAmbient, а скорость не равна 0, но количество равно 0 или не указано, то значения xd yd zd представляются в виде RGB-модели, а аргумент скорость становится их множителем.
Например с mobSpell или mobSpellAmbient0 0 0 отобразит чёрные частицы, 0 1 0 — зелёные, 0 0 0.5 — тёмно-синие.
Цвета частицы с типом reddust ведут себя по-особенному:
reddust
Значение 0 у xd воспринимается как 1.
xd yd zd могут принимать значения вне диапазона 0—1; в этом случае значение в нужном диапазоне будет получено путём взятия остатка.
Каждое значение умножается отдельно на случайное значение от 0.8 до 1.0, затем все на случайное от 0.6 до 1.0.
После чего значение преобразовывается в целое число от 0 до 255 (включительно), округляя данное в сторону нуля.
Особое поведение красного цвета (xd) можно проигнорировать, установив его значение на 0.001:
ввод
значение
цвет
0 0 0 или 1 0 0
1 0 0
красный
0 1 0 или 1 1 0
1 1 0
жёлтый
0 0.5 0 или 1 0.5 0
1 0.5 0
оранжевый
0 0 1 или 1 0 1
1 0 1
фиолетовый
0 1 1 или 1 1 1
1 1 1
белый
0.001 0 0
0.001 0 0
чёрный
0.001 1 0
0.001 1 0
зелёный
0.001 0 1
0.001 0 1
синий
Другие особенности объясняются этим псевдокодом:
Псевдокод
Установить Красный = xd, Зелёный = yd, Синий = zd
Умножить каждое (Красный, Зелёный, Синий) на скорость
Если Красный = 0 тогда установить Красный = 1
Установить МножительДляВсех = СлучайноеМежду(0.6, 1.0)
Для каждого цвета (Красный, Зелёный, Синий):
#Умножение
Умножить значение на 256
#Случайное
Умножить значение на СлучайноеМежду(0.8, 1.0)
Умножить значение на МножительДляВсех
#Преобразование (к целому числу от 0 до 255 (включительно))
Округлить значение до ближайшего целого в направлении нуля
Установить значение = остаток от значения при делении на 256
Чтобы лучше понять работу процесса, рассмотрим ситуации с различными значениями для xd yd zd.
Ввод
#Умножение
#Случайное
#Преобразование
Комментарий
0
0
0
0
Умножение не изменит значение, поэтому оно останется таким же (0). Неприменимо к красному цвету.
0.001
0.256
от 0.12288 до 0.256
0
Такой же результат будет у всех значений менее 1 / 256 (0,00390625).
1
256
от 122.88 до 256
от 122 до 256
-0.01
-2.56
от -2.56 до -1.2288
от 254 до 255
Цвет с одним из двух ярких значений.
-0.006
-1.536
от -1.536 до -0.73728
255 или 0
Обратите внимание, что происходит, когда отрицательное случайное значение больше нуля. Результат: либо цвет яркий, либо чёрный.
2
512
от 245.76 до 512
от 245 до 255 и
от 0 до 255
Эти значения позволяют получить любую возможную комбинацию битов. При этом некоторые комбинации более вероятны, что вызвано как наложением (например, 245.76 и 501.76 = (245.76 + 256) дают тот же результат ввиду деления с остатком), так и треугольным распределением, возникающим за счёт двух случайных множителей.
1.921
491.776
от 236.05248 до 491.776
от 236 до 255 и
от 0 до 235
Эти значения покрывают весь диапазон значений байтов без наложения, так что распределение значений близко к треугольному. Наиболее вероятное значение — 363.91424, что соответствует битовому значению 107. Заметьте, что 1.921 ~ 1 / (1 - 0.48).
скорость
Скорость создаваемой частицы. Допустимое значение — число не менее 0.
количество (необязательно)
Количество создаваемых частиц. Допустимое значение — число не менее 0 (создаст одну частицу).
режим (необязательно)
Режим отображения создаваемой частицы. Допускаются любые значения, но только force влияет на отображение: частицу можно увидеть с расстояния более 256 блоков, а также позволяет игрокам с минимальным отображением частиц увидеть её.
игрок (необязательно)
Имя игрока, его UUID или селектор, который увидит частицу. По умолчанию частицу видят все.
параметры (необязательно)
Параметры частицы, позволяющие blockdust, iconcrack, blockcrack и fallingdust отображать частицы определённого блока/предмета. Для iconcrack можно указать два параметра.
Для blockdust, blockcrack и fallingdustпараметры — это числовой идентификатор со значением данных в виде одного числа: идентификатор+(значениеДанных×4096).