/particle

/particle
Permission level
required
  • 2 ‌
  • 1 ‌
Restrictions

Cheat only‌

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 of particle_type_id for 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.

JE: <count>: integer

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>.
  • 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 1 means 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 2 means 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 -1 has the same effect as 1 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>.
<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 to 0 0 0; <speed> defaults to 0.

JE: force|normal

Specifies the display mode: normal or force.
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 normal mode.

JE: <viewers>: entity

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

This feature is exclusive to Java Edition.
 
This section needs to be updated.
 
Please update this section to reflect recent updates or newly available information.
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 (xfloor(x)) 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 2x, 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 1x/2, 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

CommandTriggerJava EditionBedrock Edition
AnyThe 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
OtherwiseSuccessful

Output

CommandEditionSituationSuccess Count/execute store success .../execute store result ...
AnyJava EditionOn fail000
On success11the number of players who can see the particle(s)
Bedrock EditionOn fail0N/AN/A
On success1N/AN/A

Examples

To create a stationary huge explosion particle 10 blocks to the east:


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.814w04aAdded /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.
14w28aDue to a bug, /particle commands using blockdust, blockcrack and iconcrack no longer work.[2]
14w28bblockdust, 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.
14w29aAdded 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.915w32cthe range limit increased to 32 blocks (when the command /particle is used along with the force mode, the limit is 512 blocks).
15w49aAdded 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.1317w45aThe <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.
17w47aParticle names have been changed for /particle.
/particle can no longer access take, a particle used for handing the pickup animation of dropped items.
18w03aAdded the /particle <name> <pos> shortcut.
1.1922w12aAdded the shriek particle.
Removed the origin parameter from the vibration particle.
1.20.5Pre-Release 1Particle 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.5alpha 1.0.5.0Added /particle.
alpha 1.0.5.3Removed /particle.
Bedrock Edition
1.8.0beta 1.8.0.8Re-added /particle.
1.17.20beta 1.17.20.23The /particle command no longer outputs 0 when run successfully.
The /particle command's position argument is now optional.

Navigation