/particle: qué significan realmente delta y speed, y el truco de count=0
Los cuatro números después de la posición no son una dirección. Esto es lo que hacen delta y speed, por qué count=0 se comporta de forma completamente distinta, y cómo dirigir una partícula.
/particle flame ~ ~1 ~ 0.5 0.5 0.5 0.01 20
└─ delta ─┘ spd count
Esos cuatro números son la parte del comando que más se malinterpreta.
delta es dispersión, no dirección
dx dy dz describen una dispersión gaussiana alrededor de la posición: cuánto se esparcen las partículas en cada eje. 0.5 0.5 0.5 da una bola difusa; 2 0 0 da una línea a lo largo del eje X.
No son un vector de velocidad. Da igual que sean positivos o negativos; -2 0 0 y 2 0 0 producen la misma línea.
Salvo que count sea 0
Pon count en 0 y el significado de todos los números anteriores cambia:
| count | delta significa | speed significa |
|---|---|---|
| ≥ 1 | dispersión aleatoria | magnitud de velocidad aleatoria |
| 0 | un vector de dirección | la velocidad a lo largo de él |
/particle flame ~ ~1 ~ 0 1 0 0.5 0 → one particle shot straight up at 0.5
Esta es la única forma de dirigir una partícula. Toda respuesta a "cómo hago un rayo" acaba llegando aquí. El coste es una partícula por comando, así que un rayo es un bucle o una cadena.
speed no siempre es velocidad
Para la mayoría de partículas speed es un multiplicador de velocidad. Para unas pocas se reutiliza por completo:
dust— el tamaño es un parámetro, y speed no hace nadanote— la velocidad en x elige el color: concount 0es el delta en x multiplicado porspeed, y de0a1recorre una vuelta completa a la rueda de tonos (un bloque musical envía el tono ÷ 24). Con un count mayor el color es aleatorioentity_effect— el color se toma del argumento alfa-RGB
Así que /particle note ~ ~1 ~ 0.5 0 0 1 0 no es una partícula rápida: el 0.5 y el speed 1 juntos hacen que sea de otro color.
Partículas con sus propios argumentos
/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
El bloque de argumentos va inmediatamente después del nombre de la partícula, antes de las coordenadas. Ponerlo al final es el error de sintaxis habitual.
force y el espectador
El comando termina con un modo y un jugador opcionales:
/particle flame ~ ~ ~ 0 0 0 0 1 force @a
normal respeta la configuración de partículas de cada cliente y un límite de visibilidad de 32 bloques. force muestra la partícula igualmente y hasta 512 bloques. Para cualquier cosa que un jugador deba ver —un aviso de jefe, un marcador de misión— se requiere force, y es la razón de que tus partículas funcionen para ti y no para alguien con las partículas reducidas.
Rendimiento
Las partículas son renderizado del lado del cliente, así que el coste recae sobre los jugadores, no sobre el servidor. Un count de 200 por tick por jugador bajará la tasa de fotogramas en hardware modesto aunque los TPS del servidor no se vean afectados. Reparte las emisiones entre varios ticks en lugar de emitir un único count enorme.
Explora todos los tipos de partículas y más de 1.900 ids de sonido con comandos listos para usar en la Galería de partículas y sonidos.