FAQ
Organised as symptom → cause → fix. First step for any of them: set debug: true and restart once — the log usually answers it.
Behaviour
The creeper exploded but the terrain is intact
That is the design. When the roll hits, the plugin calls event.setCancelled(true) on EntityExplodeEvent, the event that controls block destruction — the ground stays untouched while the sound and the firework play.
To let the explosion affect blocks again, see Control which blocks break. Lowering confetti_chance also lets some creepers behave normally again.
I lit a creeper but no firework appeared
- Check that
confetti_chanceis not 0; - check that the build matches the server (Folia → folia build, everything else → bukkit build);
- check the console for errors other than
[Alias]and confirmplugin enabled successfullyappeared; - turn on
debug: true: the log prints the loaded styles and chances — an empty list means the config is broken.
The firework is tiny, or it bursts at ground level
Flight time (power) is fixed at 0, so the firework bursts immediately one block above the creeper instead of climbing. That is deliberate: a rising rocket does not fit combat pacing and gets blocked by terrain.
To make it more visible, switch type to BALL_LARGE and enable flicker or trail.
Can it apply to only some worlds
There is no built-in world filter. The world name is available in the listener, so it is a one-line change — see Restrict to specific worlds.
Commands
/cc says unknown command
Three possibilities, in order:
- The alias is taken by another plugin. The console shows
[Alias] /cc is already registered by another plugin - skipped.Use/creeperconfetti help, or setcommand-aliases.cctofalseto silence it. - The alias is disabled in the config. Check
command-aliases.enabledand the per-alias flags, then run/creeperconfetti reload(the alias form is what you are trying to fix). - Missing permission. That produces "You do not have permission", not an unknown command. Grant
creeperconfetti.command.
Subcommands are listed but denied when run
Permissions are checked twice: first creeperconfetti.command, then the sub-permission. With only the base node the help list is populated but execution is refused. Add creeperconfetti.command.effect and friends.
/cc gui from the console fails
The GUI, effect add, effect set and effect preview need a player context (held item, open inventory), so the console gets "Only players can use this command". Expected behaviour.
/cc reload did not apply my change
Reload re-reads the config, styles, language and aliases, but it does not re-register the root command and does not run migration. A full restart is required when:
- you replaced the jar;
- you edited
config-version; - you added a language file (new files are copied at startup).
Configuration
The chances do not add up to 100
firework_chances holds weights, not percentages, and they are normalised on load. What /cc effect chance shows is the effective value, and it always totals 100 (rounding drift of ±0.01 is pushed onto the largest entry).
If the total looks wrong, the usual cause is a style that was skipped because all its colours were invalid — its weight line still exists but the style does not, and such lines are ignored.
A style in the config is missing from the list
A style is dropped for exactly one reason: every effect inside it failed to parse. Typically a misspelled colour name (for example GOLD instead of ORANGE/YELLOW) or an RGB map with a missing channel. Turn on debug: true, restart, and compare the logged style names against the config.
The config changed after upgrading
That is the migration running. The old file is in plugins/CreeperConfettiPro/backups/config-backup-<timestamp>.yml, untouched. Migration only adds new keys and never overwrites existing values — but a very old config (version 0) has its confetti_effect converted into a style named default.
To roll back: stop the server, copy the backup over config.yml, start again. Note the version number is old too, so the next start migrates once more.
My styles turned into weird == maps
Normal. After any command or GUI edit the plugin rewrites that section using Bukkit's serialised format. It still loads correctly, it is just not pleasant to hand-edit. To go back to the readable form, stop the server and replace the block with the hand-written example — see Configuration.
Language
The plugin stays in English
language: auto relies on a GeoIP lookup of the server's public IP. These environments fail and fall back to English:
- LAN-only or offline servers;
- hosts that block outbound HTTP to foreign endpoints;
- all six endpoints timing out (6 s total budget).
Fix: set language to zh_cn (or whatever you need) and restart, or run /cc language set zh_cn. If the log contains [GeoIP] All region APIs failed, falling back to English. that was the cause.
Console output is garbled
The language files are UTF-8. Garbled text almost always means the Windows console code page is not UTF-8. Add a line to the start script:
chcp 65001
java -Dfile.encoding=UTF-8 -jar server.jar nogui
On Linux make sure LANG is a *.UTF-8 locale. In-game chat is unaffected.
I want to translate or reword things
Edit plugins/CreeperConfettiPro/languages/<code>.yml and run /cc language reload. Missing keys fall back to English, so you can translate only what matters. Details in Languages.
Other
Does it hurt performance with many creepers
Barely. Each trigger spawns one firework entity and sets its FireworkMeta; there is no polling task, no repeating scheduler, no always-on listener cost. The style table is a LinkedHashMap and the draw is an O(n) scan with n typically single digits.
What actually costs performance is the fireworks themselves: a hundred simultaneous explosions is a client rendering problem far more than a server logic problem. Lowering confetti_chance is the effective lever.
Does the plugin phone home
It uses bStats (pluginId 29666), which collects anonymous data: server version, player count bracket, plugin version. No player names, IPs or chat. It can be disabled globally in plugins/bStats/config.yml.
Folia fails at startup
Check two things:
- you are using
CreeperConfettiPro-4.2.0-folia.jar, not the bukkit one; - Java is 17 or newer — the Folia build targets 17 and throws
UnsupportedClassVersionErrorbelow that.
What happens if I install both jars
They share a plugin name, so the server loads one and ignores or overwrites the other — unpredictable either way. Install one. If you already mixed them up, delete the extra jar and remove plugins/CreeperConfettiPro/ before starting again.
Still stuck? Post the full startup log with debug enabled, your config.yml, and the server type and version — that is usually enough to pin it down.