Firework Rocket

Firework rockets are items which, when activated, create vibrant firework displays. The color, fade, shape and effect of the explosion are determined by what ingredients are used to create the firework star - one of the ingredients used to create a rocket. However, a firework rocket can be crafted without a firework star. When this happens, it will only have a rocket trail, with no colorful explosion. The height of a rocket can be altered by adding up to 3 gunpowder to the rocket recipe. This increases the flight duration by 1 per gunpowder. Multiple firework stars can also be used, in which case each one will go off simultaneously when the rocket detonates. Firework rockets can be activated by right-clicking any block with them, or they can be fired out of dispensers. The fireworks are customizable in colors, shapes, and height. Their flight path is random and sometimes are offset up to 5 blocks to the side, they also tend to spiral up. Fireworks are also affected by gravity, which means their distance and speed can be increased with a TNT cannon.

There are no sounds included for fireworks yet, however the code is in place to support them. There is a delay between detonation and the player hearing the sound, emulating real fireworks, but this sound travels much more slowly than in the real world.

Duration
When the item is hovered over in the inventory it displays the flight duration (e.g. "Flight Duration: 1").

Rough distance (in blocks) that the rocket travels depending on the flight duration.
 * 1 gunpowder: 12-20 blocks
 * 2 gunpowder: 23-38 blocks
 * 3 gunpowder: 40-57 blocks with a few exploding at 35 and 36 blocks.

Results obtained by 576 fireworks per type being set off. Using small balled and red firework stars.

Effects
Here is a video containing most of the effects:

Shape effects
A firework can only have one shape effect for each firework star used in the recipe.

Additional effects
In addition to the shape effects, you may add either or both of these additional affects.