Firework Rocket

Firework rockets are items and entities used to create decorative explosions and to boost players flying with elytra.

Obtaining
In Java Edition, fireworks can only be obtained by crafting and commands.

Creative inventory
Five pre-made firework rockets are listed in the Creative inventory.

They are equivalent to the following rockets:

Launching fireworks
To launch a firework rocket, its item on a block. They can also be launched from dispensers.

Elytra
When you hold a firework rocket in your hand and are gliding with elytra, the firework rocket will boost the flying speed. If the rocket is equipped with a firework star of any kind, damage will be dealt to the player. The duration or strength of the speed boost depends on the flight duration of the firework rocket.

Behavior
Once launched, fireworks will fly out vertically, with random horizontal offset up to 5 blocks. After some time, the firework will explode into a colorful explosion based on the effects of the firework stars added upon crafting, or no explosion if no firework star was used. If multiple firework stars were added to the rocket upon crafting, they will all explode simultaneously.

The explosion of firework rockets deals 2.5 hearts of damage, per firework star. There is also 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. The explosion of a firework can be seen 64 blocks away, regardless of its height.

Care should be taken during firework assembly so as not to exceed the (unmodded) particle limit of 4k with fireworks. If the limit is exceeded, the oldest particles are removed before displaying new ones, resulting in severely diminished firework quality / duration. At most a firework should have 3 trail stars, more than that could waste diamonds, firework stars, and other fireworks. Particle counts per star are:

Twinkle effect adds 2 particles to the count.

Like most other entities, they can be moved by water and explosions, and teleported via portals. They also cannot move through solid surfaced blocks, upon hitting one they will either move to a side or explode based on the duration. If a firework explodes under a block, its explosion will be flattened.

Duration and direction
Fireworks travel different heights based on the amount of gunpowder added. The number will be displayed as a tag on the item's tooltip with the description of "Flight Duration"

The height it rises is between 12 to 22 blocks with 1 gunpowder, 23 to 39 blocks with 2 gunpowder, and 40 to 60 blocks with 3 gunpowder. (Note: Using command blocks, firework rockets with higher durations will go much higher and keep accelerating with virtually no terminal velocity. If the duration is long enough, the firework rocket could reach heights of over 1000000 blocks and speeds of over 10000 m/s in a matter of minutes. Such fireworks with significant X and Z motions will speed up sideways exponentially and reach outside the world boundary in a matter of seconds.)

Fireworks can be made to travel different directions by being dispensed or launched under flowing water. The firework's direction then rapidly arcs to the horizontal and the travel distance increases to a point further than the height.

Data values
As an item, firework rockets have an ID name of  and an ID number of 401. As an entity, firework rockets have an entity ID of  and a network ID of 22.

Trivia

 * Launching a rocket by hand on a wooden pressure plate will activate it. The same doesn't hold for stone pressure plates, or for a dispenser placing a rocket onto a wooden pressure plate.
 * 2012 New Years is what inspired Jeb to add fireworks.
 * If you shoot a firework into a Nether portal, it will explode in the Nether.