PaperMC / PaperMC/Paper

Default particle speed (extra) should be set to 0 instead of 1

Open
#12,859 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

for: future version: 1.21.8
Dominant language
Java
Stars
12.7k
Forks
3.5k
Avg merge
3d 13h
Merged PRs (30d)
11

Description

Expected behavior

Particle speed should default to 0, NMS code for the particle command, with only a name and position argument, is:

Commands.argument("pos", Vec3Argument.vec3())
    .executes(
        context1 -> sendParticles(
            context1.getSource(),
            ParticleArgument.getParticle(context1, "name"),
            Vec3Argument.getVec3(context1, "pos"),
            Vec3.ZERO,
            0.0F,
            0,
            false,
            context1.getSource().getServer().getPlayerList().getPlayers()
        )
    )
Observed/Actual behavior

Spawning a particle with the API defaults the extra (speed) field to 1. paper-server code:
https://github.com/PaperMC/Paper/blob/6fb36e34b6bfc8442b8dbeb61cb82ad9ed39013b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java#L2166-L2169
and
https://github.com/PaperMC/Paper/blob/6fb36e34b6bfc8442b8dbeb61cb82ad9ed39013b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java#L3003-L3006

This results in some of the particles to appear "aggressive" shooting off into the distance.

Steps/models to reproduce

Spawn a particle affected by speed like FLAME or CLOUD

Plugin and Datapack List

/

Paper version

[21:10:34 INFO]: This server is running Paper version 1.21.8-3-main@6fb36e3 (2025-07-17T16:11:32Z) (Implementing API version 1.21.8-R0.1-SNAPSHOT)

Other

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java and paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java at the linked particle methods. Compare their default extra value with the NMS particle command shown in the issue, then reproduce with FLAME or CLOUD. Done means API particle spawning defaults the extra speed value to 0 rather than 1.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.