/particle
/particle| Permission level required |
|
|---|---|
| Restrictions |
Cheat only |
{
"title": "<code>/particle</code>",
"rows": [
{
"field": "\n* 2 <sup class=\"noprint nowrap Inline-Template \" title=\"\">[<i><span title=\"This statement only applies to Java Edition\">(link to Java Edition article, displayed as JE) only</span></i>]</sup>\n* 1 <sup class=\"noprint nowrap Inline-Template \" title=\"\">[<i><span title=\"This statement only applies to Bedrock Edition\">(link to Bedrock Edition article, displayed as BE) only</span></i>]</sup>",
"label": "(link to Permission level article, displayed as Permission level<br>required)"
},
{
"field": "(link to Options article, displayed as Cheat) only<sup class=\"noprint nowrap Inline-Template \" title=\"\">[<i><span title=\"This statement only applies to Bedrock Edition\">(link to Bedrock Edition article, displayed as BE) only</span></i>]</sup>",
"label": "(link to Commands#Restrictions article, displayed as Restrictions)"
}
],
"invimages": [],
"images": []
}
Creates particles.
Syntax
- Java Edition
particle <name> [<pos>]particle <name> <pos> <delta> <speed> <count> [force|normal] [<viewers>]
- Bedrock Edition
particle <effect: string> [position: x y z]
Arguments
JE: <name>: particle
BE: effect: string: basic_string
- Specifies the particle type to create.
- In Java Edition, it must be in the format of
particle_type_id{configuration tags}for particle types with configurations, or the format ofparticle_type_idfor particle types without configurations.
In Bedrock Edition it must be a single word that has no space or a double-quoted string (When quoted,\can be used to escape characters). And it should be the namespaced identifier of a particle (the namespace cannot be omitted).
JE: <pos>: vec3
BE: position: x y z: CommandPositionFloat
- Specifies the position at which to create particle. If not specified, defaults to the position of the commmand execution.
- Must be three-dimensional coordinates with double-precision floating-point number or single-precision floating-point number elements. Accepts tilde and caret notations.
- Specifies the number of particle effects to create. If 0, see bellow for what it results in.
- Must be a [Int]32-bit integer number (from -2147483648 (-231) to 2147483647 (231-1) ). And it must be between 0 and 2147483647 (inclusive).
JE: <delta>: vec3 — Must be three-dimensional coordinates with double-precision floating-point number elements. Accepts tilde and caret notations.
JE: <speed>: float — Must be a [Float]Single-precision floating-point number (from -(2-2-23)×2127 (≈-3.4×1038) to (2-2-23)2×127 (≈3.4×1038) ). And it must be greater than or equal to 0.0.
<delta>and<speed>parameters determine where the particles are created and the parameters to pass into the particles (see the table Extra parameters of particle types below). Based on whether<count>is 0 or not, the two parameters have different meanings.- if
<count>is 0, creates a single particle at the<pos>. Multiplies each of the three values in<delta>by<speed>value, then passes them into the particles as three parameters.- This means that for most particles that receive parameters, if
<count>is 0, the<delta>acts as motion values for the particle, with<speed>acting as a multiplier, so the particle move in the direction of<delta>.
- This means that for most particles that receive parameters, if
- If
<count>is not 0, the specified count of particles are created at random positions. The positions obey normal distributions in each of the X, Y, and Z directions. Each normal distribution has a mean value of each value in<pos>, meaning that particles are more likely to be created closer to the<pos>. Each normal distribution has a standard deviation of each value in<delta>(e.g.1 1 1means that the coordinates on X, Y, and Z axes obey three standard normal distributions, meaning that there is a 99.7% probability that the particle is created in a 6×6×6 cuboid region centered at the<pos>;2 2 2means that the particle has a 99.7% probability of being created in a 12×12×12 cuboid region centered at the<pos>). Negative values are accepted in<delta>, but have the same effect as their positive counterparts (e.g.-1 -1 -1has the same effect as1 1 1). Each of the extra parameters to be passed into the particles also follows a normal distribution, with a mean of 0 and a standard deviation of each value in<speed>.
- if
<delta>accepts relative coordinates and local coordinates, which are converted to absolute coordinates, so relative coordinates and local coordinates are generally useless here.- If not specified,
<delta>defaults to0 0 0;<speed>defaults to0.
JE: force|normal
- Specifies the display mode:
normalorforce.normal: The particle(s) are sent to players within 32.0 blocks (exclusive), may not be shown if the "Particles" option in Video Settings is "Minimal" (depending on the particle type, some particle types still displays when it is "Minimal")force: Allows the particle(s) to be sent to players within 512.0 blocks (exclusive). Always shown even if the "Particles" option in Video Settings is "Minimal".- Defaults to the
normalmode.
- Allows control of which player should view this particle instead of everyone in the viewing range of the particle.
- Must be a player name, a target selector or a UUID. And the target selector must be of player type.
Extra parameters of particle types
Reason: The particle command does not take extra parameters anymore, it uses particle formats now.
Most particle types that have extra parameters use them to change their initial velocity, which is measured in block/tick.
Note that although the initial velocity can be specified with extra parameters, since different particle types have different drags, gravities, and some particle types have collision detection, so the trajectories of different particle types with the same initial velocity may not be the same.
| Particle type ID | Notes | Parameters |
|---|---|---|
bubble_pop
|
— | Receives three parameters, directly used as the initial velocity. |
dragon_breath
| ||
end_rod
| ||
firework
| ||
fishing
| ||
glow_squid_ink
| ||
sculk_charge
|
Requires configurations. | |
squid_ink
|
— | |
totem_of_undying
| ||
electric_spark
|
Receives three parameters. Multiplies all three parameters by 0.25, and then uses them as the initial velocity. | |
scrape
|
Receives three parameters. Multiplies all three parameters by 0.01, and then uses them as the initial velocity. | |
bubble
|
Its lifetime is a random number from 8 to 40 game ticks. Particles that are not located in a water block disappear immediately. | Receives three parameters. Adds random deviations to each of the three parameters, multiplies each of them by 0.2, and then uses them as the initial velocity. |
bubble_column_up
|
— | |
crit
|
Receives three parameters. Multiplies all three parameters by 0.4, adds random deviations to them, and then uses them as the initial velocity. | |
damage_indicator
| ||
enchanted_hit
| ||
cloud
|
Quickly falls when a player is nearby.[1] | Receives three parameters, adds random deviations to them, then uses them as the initial velocity. |
flame
|
— | |
item
|
Requires configurations. | |
large_smoke
|
— | |
poof
| ||
sculk_soul
| ||
small_flame
| ||
smoke
| ||
sneeze
|
Quickly falls when a player is nearby. [1] | |
snowflake
|
— | |
soul
| ||
soul_fire_flame
| ||
spit
| ||
white_smoke
| ||
campfire_cosy_smoke
|
During the movement, it slightly swings in the horizontal direction. | Receives three parameters. The first parameter and the third parameter are directly used as the initial velocity on the X and Z axes; The second parameter is added with a positive random deviation value and then used as the initial velocity on the Y axis. |
campfire_signal_smoke
| ||
trial_spawner_detection
|
— | |
trial_spawner_detection_ominous
| ||
block
|
Requires configurations. | Receives three parameters, used to specify the direction of the initial velocity. Smaller absolute values of the parameters result in a more random direction. Higher absolute values of the parameters result in a more stable direction. The magnitude of the initial velocity is a random value and is not affected by the parameters. |
composter
|
— | |
dolphin
| ||
dust
|
Requires configurations. | |
dust_color_transition
|
Requires configurations. | |
egg_crack
|
— | |
happy_villager
| ||
mycelium
| ||
sculk_charge_pop
| ||
effect
|
Receives three parameters. The second parameter mainly affects the initial velocity in the horizontal direction. Generally, the larger the absolute value of the second parameter, the smaller the initial horizontal velocity. The first and the third parameters only have an effect when both are 0. When both are 0, the initial horizontal velocity is multiplied by 0.1. | |
entity_effect
|
Requires configurations. | |
glow
|
— | |
infested
| ||
instant_effect
| ||
raid_omen
| ||
trial_omen
| ||
witch
| ||
vault_connection
|
The particle appears at a relative position relative to the particle's spawn position. Does not move. Its lifetime is a random number from 30 to 40 game ticks. Gradually becomes translucent after a quarter of its lifetime. | Receives three parameters, used as the relative position where the particle appears. |
enchant
|
The particle appears at a relative position relative to the particle's spawn position, and moves to the position that is 1.2 blocks below the spawn position. No collision detection. | |
nautilus
| ||
ominous_spawning
|
The particle appears at a relative position relative to the particle's spawn position, and moves to the spawn position. No collision detection. | |
portal
|
Particles appear one block above a relative position relative to the particle's spawn position, and moves to the spawn position. No collision detection. | |
splash
|
Its lifetime is a random number from 8 to 40 game ticks. It disappears immediately when it falls on the ground or when it falls into any liquid. | Receives three parameters. If the second parameter is 0, and the first parameter is non-0 or the third parameter is non-0, the horizontal initial velocity is 0 and the vertical initial velocity is 0.1. Otherwise, the initial velocity is a random velocity. |
dust_pillar
|
Requires configurations. | Receives one parameter: the second parameter. Adds a random deviation to it, and then uses it as the initial velocity on the Y axis. The first and third parameters have no effect at all. The horizontal initial velocity is a random small velocity that is not affected by the parameters. |
dust_plume
|
— | Receives three parameters. Adds them to the initial velocity. The default initial velocity is diagonally upward, with a larger vertical initial velocity and a smaller horizontal initial velocity. The three parameters are added to the default initial velocity as the actual initial velocity. |
note
|
Receives one parameter: the first parameter. Its decimal part () multiplied by 24 corresponds to the use count of note block, and the corresponding note color is used. | |
reverse_portal
|
The initial velocity is 0, and the velocity increases over time, eventually reaching the specified velocity at the end of its lifetime. | Receives three parameters, used as the final velocity. |
wax_off
|
— | Receives three parameters to calculate the initial velocity. Multiplies the three parameters by 0.01 and then multiplies the X and Z values by 0.5, then uses them as the initial velocity. |
wax_on
| ||
explosion
|
Does not move. | Receives one parameter: the first parameter. It affects the scale size of the particle. The scale size is , where x is this parameter. If the parameter is 2, the particle is the smallest and not visible. Texture is flipped if greater than 2. For example, with the parameter is 4, the particles are scaled in the same size with a parameter of 0, but the texture is flipped. |
sweep_attack
|
Does not move. | Receives one parameter: the first parameter. It affects the scale size of the particle. The scale size is , where x is the parameter. If the parameter is 2, the particle is the smallest and not visible. Texture is flipped if greater than 2. For example, with the parameter is 4, the particles are scaled in the same size with a parameter of 0, but the texture is flipped. |
block_marker
|
Does not move. Requires configurations. | No parameter. |
falling_dust
|
Requires configurations. | No parameter. |
shriek
|
Appears after the delay. Moves upward vertically. Requires configurations. | No parameter. |
vibration
|
Moves from the spawn location to the target location during its lifetime. Requires configurations.
Parameters are not accepted. | |
current_down
|
Its lifetime is a random value from 30 to 90 game ticks. If in a block that is not water or is not waterlogged, it disappears immediately. | No parameter. |
| Any other particle types | — | No parameter. |
Result
| Command | Trigger | Java Edition | Bedrock Edition |
|---|---|---|---|
| Any | The command is incomplete, or any argument is not specified correctly. | Unparseable | Unparseable |
<targets> fails to resolve to one or more online players. | Failed | N/A | |
All the targeted players are not less than 32.0 (in normal mode) / 512.0 (in force mode) blocks away from the particle(s). | Successful | ||
| Otherwise | Successful | ||
Output
| Command | Edition | Situation | Success Count | /execute store success ... | /execute store result ... |
|---|---|---|---|---|---|
| Any | Java Edition | On fail | 0 | 0 | 0 |
| On success | 1 | 1 | the number of players who can see the particle(s) | ||
| Bedrock Edition | On fail | 0 | N/A | N/A | |
| On success | 1 | N/A | N/A |
Examples
To create a stationary huge explosion particle 10 blocks to the east:
- Java Edition:
/particle minecraft:explosion_emitter ~10 ~ ~ - Bedrock Edition:
/particle minecraft:huge_explosion_emitter ~10 ~ ~
Using the particle format arguments in Java Edition to create purple dust with large particles:
/particle minecraft:dust{color:[1, 0, 1], scale:4} ~ ~ ~ 1 1 1 1 10
Using the <delta> and <speed> arguments to pass parameters to the command and make a single particle move downward (note that count must be zero):
/particle minecraft:white_smoke ^ ^1 ^2 0 -1 0 0.1 0
The same command with <count> nonzero instead uses <delta> to determine particle distribution, producing a vertical cloud of particles:
/particle minecraft:white_smoke ^ ^1 ^2 0 -1 0 0.1 10
History
| Java Edition | |||||||
|---|---|---|---|---|---|---|---|
| 1.8 | 14w04a | Added /particle. | |||||
| 14w25a | /particle now accepts blockdust, blockcrack and iconcrack, which it could not before despite these particles indeed existing.
| ||||||
| The block/item data is specified as part of the ID: for example, blockcrack_1_1 represents granite. | |||||||
| 14w28a | Due to a bug, /particle commands using blockdust, blockcrack and iconcrack no longer work.[2] | ||||||
| 14w28b | blockdust, blockcrack and iconcrack are no longer listed as supported by /particle due to the aforementioned bug. Commands can still attempt to use them (they do not reject them in the same way non-existent particles are rejected); however, they just result in errors. | ||||||
| 14w29a | Added force argument to /particle.
| ||||||
| iconcrack now works again, supporting an item ID and a value for damage. | |||||||
| blockdust and blockcrack now work, but only if an ID alone is provided; specifying block metadata will produce an error. | |||||||
| 1.9 | 15w32c | the range limit increased to 32 blocks (when the command /particle is used along with the force mode, the limit is 512 blocks). | |||||
| 15w49a | Added player and params arguments to /particle.
| ||||||
| iconcrack, blockdust and blockcrack now use the new params field rather than specifying block/item ID and block metadata/item damage in the particle ID. The latter two particle types can now have block metadata specified again. | |||||||
| 1.13 | 17w45a | The <params> argument has been removed, instead the parameters for particles like block can be specified right after the <name> argument using the new block argument. | |||||
| 17w47a | Particle names have been changed for /particle.
| ||||||
/particle can no longer access take, a particle used for handing the pickup animation of dropped items. | |||||||
| 18w03a | Added the /particle <name> <pos> shortcut. | ||||||
| 1.19 | 22w12a | Added the shriek particle.
| |||||
Removed the origin parameter from the vibration particle. | |||||||
| 1.20.5 | Pre-Release 1 | Particle options in the /particle command, and in fields like Particles in Area Effect clouds, now use the same representation (SNBT format) as in worldgen files (eg. the ash particle in the basalt_delta biome file of the vanilla data pack). | |||||
| Pocket Edition | |||||||
| 1.0.5 | alpha 1.0.5.0 | Added /particle. | |||||
| alpha 1.0.5.3 | Removed /particle. | ||||||
| Bedrock Edition | |||||||
| 1.8.0 | beta 1.8.0.8 | Re-added /particle. | |||||
| 1.17.20 | beta 1.17.20.23 | The /particle command no longer outputs 0 when run successfully.
| |||||
The /particle command's position argument is now optional. | |||||||