Particle Effect (Data Type)
A String naming a particle type, or an Object naming it together with that type's own parameters.
A String naming a particle type, or an Object naming it together with that type’s own parameters.
String form
Any particle that takes no parameters can be written as a bare identifier:
"particle": "minecraft:happy_villager" Object form
The object form is the particle’s own JSON: a type field plus whatever fields that particle type declares. The field names are the vanilla ones, the same as in /particle.
| Field | Type | Default | Description |
|---|---|---|---|
type | Identifier | — | The particle type to spawn. |
| … | Every other field belongs to the named particle type. |
"particle": {
"type": "minecraft:dust",
"color": [0.92, 0.31, 0.31],
"scale": 2.0
} A red dust particle at double size.
"particle": {
"type": "minecraft:block",
"block_state": {
"Name": "minecraft:ice"
}
} A block particle that uses the Ice texture.
A
paramsstring ({"type": "minecraft:dust", "params": "0.92 0.31 0.31 2"}) is parsed as a/particlecommand argument, and the argument syntax is not the same on both versions. On 1.20.1 it is the space-separated form shown here; on 1.21.1 the game reads it as SNBT using the same field names as the object form, so a space-separated string cannot be read there and no particle is spawned. Write the fields out instead — the object form above is read identically on every version.
A particle Apoli cannot build is named in the log the first time it is used, and nothing is spawned where it is used. If a power that should emit particles is silent, that line is the first place to look.
Apoli’s own particle
apoli:custom is a particle type Apoli registers, built from a texture you ship in a resource pack — colour, size, lifetime, gravity, rotation and frame animation all come from the JSON. It is written like any other object-form particle:
"particle": {
"type": "apoli:custom",
"texture": "example:textures/particle/spark.png",
"lifetime": 20,
"color": "#FFB13B",
"end_color": "#FF3B3B",
"end_size": 0.0,
"blend": "additive"
} See Custom Particle for the full field list.