Default particle speed (extra) should be set to 0 instead of 1
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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