
ProxyParticles
ProxyParticle is a complete particle-effect creator for your server. Design effects in a chest-GUI editor while a live preview plays in front of you, so every click shows up instantly. No YAML, no code, no restarts. Every effect is saved as a small JSON
Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details

Build particle systems in-game. Share them as JSON.
Spigot, Paper and Purpur · Minecraft 1.21.0 to 26.x · Java 21 · optional PlaceholderAPI support
What is ProxyParticle?
ProxyParticle is a particle-effect creator for your server. You design effects in a chest-GUI editor while a live preview plays in front of you, so every click shows up instantly. No YAML, no code, no restarts.
Every effect is saved as a small JSON file. Export it, send it to a friend or post it online, and any server running ProxyParticle can import it with one command.

Features
- In-game GUI editor with a live preview. Left/right click changes a value, Q types an exact value, Ctrl+Q resets it.
- Layered effects: stack as many emitters as you like into one effect, each with its own particle, shape, timing and motion.
- 19 shapes: point, line, circle, disc, sphere, ball, torus, cube, box, cylinder, cone, helix, spiral, vortex, polygon, star, heart, wave and grid.
- Every vanilla particle on your server version, including dust, colored effects, and block and item particles.
- Colors: color lists with static, random, gradient-over-life, gradient-along-shape and rainbow modes. Dust can grow or shrink over its life.
- Animation: tilt, spin on any axis, pulse, follow the player's facing, and sequential drawing that traces a shape point by point.
- Physics: speed, gravity, drag, turbulence, orbit, attraction, and world-space trails that stay where they were emitted.
- Timing: emission rate, bursts, delays, per-layer durations, looping or one-shot effects, and optional sounds.
- Permanent placed effects that survive restarts. Move them, nudge them by 0.25 blocks, give them your own ids, and find them with Tab or a clickable list.
- JSON sharing: export, import from a folder, or import straight from a pastebin, GitHub or gist link.
- Forward-compatible files: missing settings use defaults and unknown ones are skipped, so files keep working across plugin and Minecraft versions.
- PlaceholderAPI expansion built in.
- Developer API to play effects from your own plugins.
- Lag-safe: render distance, a server-wide particle cap and an effect cap, all in config.yml.
- 9 sample effects: flame ring, rainbow helix, heart halo, magic vortex, firework burst, snow cloud, atom, star crown and laser beam.


Sharing effects
- Run
/pp export <effect>. The file is written toplugins/ProxyParticle/exports/. - Send the file, or post it on pastebin or GitHub.
- On the other server, put it in
plugins/ProxyParticle/imports/and run/pp import all, or run/pp import <link>.

Commands
The main command is /pp (aliases /proxyparticle, /pparticle). Everything tab-completes.
| Command | What it does |
|---|---|
/pp or /pp editor [effect] |
Open the editor |
/pp list, /pp info <effect> |
Browse effects |
/pp play <effect> [player|here] [loop] |
Play an effect |
/pp stop [player|all] |
Stop effects |
/pp create <name> |
Create an effect |
/pp clone <from> <to> |
Copy an effect |
/pp rename <old> <new> |
Rename an effect |
/pp delete <name> |
Delete an effect (a backup is kept) |
/pp layer <effect> add|remove <n>|list |
Manage layers |
/pp set <effect> <layer#|effect> <key> <value> |
Change any setting |
/pp get <effect> [layer#] |
Show all settings |
/pp keys, /pp particles |
List setting keys and particles |
/pp export <effect|all> |
Write JSON to exports/ |
/pp import <file|all|link> [name] |
Import JSON |
/pp place <effect> [id] |
Place a permanent effect |
/pp unplace [id] |
Remove a placed effect |
/pp placed [name] |
Clickable list of placed effects, nearest first |
/pp movehere [id] |
Move a placed effect to you |
/pp moveto <player> [id] |
Move a placed effect to a player |
/pp adjust <x|y|z|yaw> <+0.25|-0.25> [id] |
Nudge a placed effect |
/pp select [id|nearest] |
Choose which placed effect to edit |
/pp setid <placed> <id|none> |
Give a placed effect your own id |
/pp tp <id> |
Teleport to a placed effect |
/pp reload, /pp stats |
Admin |
Permissions
All permissions default to OP.
| Permission | Allows |
|---|---|
proxyparticle.use |
List effects, play them on yourself, stop your own |
proxyparticle.play.others |
Play and stop effects on other players |
proxyparticle.edit |
Editor, create, edit, clone, rename, export |
proxyparticle.import |
Import from files and links |
proxyparticle.admin |
Everything above, plus delete, place, stop all and reload |
Placeholders
Requires PlaceholderAPI 2.11 or newer. The expansion registers itself.
| Placeholder | Value |
|---|---|
%proxyparticle_effects_total% |
Effects on the server |
%proxyparticle_placed_total% |
Placed effects |
%proxyparticle_running_total% |
Effects playing right now |
%proxyparticle_particles_live% |
Simulated particles alive |
%proxyparticle_active% |
Effects playing on the player |
%proxyparticle_active_ids% |
Their ids (none if empty) |
%proxyparticle_active_names% |
Their display names |
%proxyparticle_is_active% |
true or false |
%proxyparticle_is_active_<effect>% |
Whether that effect is playing on the player |
%proxyparticle_previewing% |
Effect the player is previewing in the editor |
%proxyparticle_selected% |
The player's selected placed effect |
%proxyparticle_selected_effect% |
Which effect the selected placed effect plays |
%proxyparticle_effect_<effect>_<field>% |
name, name_plain, author, description, layers, duration or exists |
%proxyparticle_placed_<id>_<field>% |
effect, world, x, y, z or exists |

Requirements
- Spigot, Paper or Purpur, Minecraft 1.21.0 or newer (including 26.x)
- Java 21
- Optional: PlaceholderAPI 2.11 or newer
- Folia is not supported
Installation
- Put
ProxyParticle.jarin yourpluginsfolder and restart the server. - Run
/ppto open the editor. The 9 sample effects are ready to play. - Right-click an effect to play it on yourself, left-click to edit it.
Support
SUPPORT_LINE

