/particle: o que delta e speed realmente significam, e o truque do count=0
Os quatro números depois da posição não são uma direção. Veja o que delta e speed fazem, por que count=0 se comporta de forma totalmente diferente e como direcionar uma partícula.
/particle flame ~ ~1 ~ 0.5 0.5 0.5 0.01 20
└─ delta ─┘ spd count
Esses quatro números são a parte mais mal interpretada do comando.
delta é dispersão, não direção
dx dy dz descrevem uma dispersão gaussiana ao redor da posição — o quanto as partículas se espalham em cada eixo. 0.5 0.5 0.5 gera uma bola difusa; 2 0 0 gera uma linha ao longo de X.
Eles não são um vetor de velocidade. Positivo e negativo não fazem diferença; -2 0 0 e 2 0 0 produzem a mesma linha.
A menos que count seja 0
Defina count como 0 e o significado de todos os números anteriores muda:
| count | delta significa | speed significa |
|---|---|---|
| ≥ 1 | dispersão aleatória | magnitude da velocidade aleatória |
| 0 | um vetor de direção | a velocidade ao longo dele |
/particle flame ~ ~1 ~ 0 1 0 0.5 0 → one particle shot straight up at 0.5
Essa é a única forma de direcionar uma partícula. Toda resposta para "como faço um feixe" acaba chegando aqui. O custo é uma partícula por comando, então um feixe é um loop ou uma cadeia.
speed nem sempre é velocidade
Para a maioria das partículas, speed é um multiplicador de velocidade. Para algumas, ele tem outra função completamente:
dust— o tamanho é um parâmetro, e speed não faz nadanote— a velocidade em x define a cor: comcount 0, ela é o delta de x multiplicado porspeed, e de0a1dá uma volta completa na roda de matiz (um Bloco Musical envia o tom ÷ 24). Com um count maior, a cor é aleatóriaentity_effect— a cor vem do argumento alfa-RGB
Então /particle note ~ ~1 ~ 0.5 0 0 1 0 não é uma partícula rápida — o 0.5 e o speed 1 juntos fazem dela uma cor diferente.
Partículas com argumentos próprios
/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
O bloco de argumentos vai imediatamente depois do nome da partícula, antes das coordenadas. Colocá-lo no final é o erro de sintaxe mais comum.
force e o espectador
O comando termina com um modo e um jogador opcionais:
/particle flame ~ ~ ~ 0 0 0 0 1 force @a
normal respeita a configuração de partículas de cada cliente e um limite de visibilidade de 32 blocos. force exibe a partícula independentemente disso e até 512 blocos. Para qualquer coisa que o jogador precise ver — um aviso de chefe, um marcador de missão — force é obrigatório, e é por isso que suas partículas funcionam para você e não para alguém com partículas reduzidas.
Desempenho
Partículas são renderização do lado do cliente, então o custo recai sobre os jogadores, não sobre o servidor. Um count de 200 por tick por jogador vai derrubar a taxa de quadros em hardware modesto, mesmo com o TPS do servidor intacto. Distribua as emissões ao longo dos ticks em vez de emitir um count enorme de uma vez.
Explore todos os tipos de partícula e mais de 1.900 ids de som com comandos prontos na Galeria de Partículas e Sons.