A ready firework rocket in one command: explosion shape, colours, trail, twinkle and flight height. Java, with legacy NBT support.
A firework rocket holds a list of charges, each with its own shape, colours, trail and twinkle. They detonate one after another, so a multi-colour rocket reads as a sequence of flashes.
Colours in the command are written as dye numbers — 0 is white, 15 is black. The tool converts the colours you pick into those numbers.
From 1.20.5 the rocket's data is stored as a component; older versions use the legacy format. The tool emits whichever syntax matches the version you have selected.
Set the flight height — the higher it is, the further the rocket climbs before exploding.
Add as many charges as you want: each one detonates in turn.
For each charge pick a shape and select colours, trail and twinkle.
Copy the command, give yourself the rocket, and launch it.
There's no hard limit on the list, but every charge adds render cost. In practice three or four already makes a spectacular firework.
The explosion gets a flicker: a second, dimmer flash follows the main one. On a dark background it looks considerably better.
With a flight height above zero the rocket climbs first and explodes at the top. Set 0 for an immediate burst.
Charges
You can launch the rocket with a command, for example from a button or a command block.