Minecraft Firework & Light Show Generator

A custom Kotlin automation tool and beatmap-to-Skript pipeline built to generate music-synchronized laser and firework shows on the 8-Bit Community server.

Open SourceMinecraftKotlin
Minecraft Firework & Light Show Generator screenshot

Overview

Built for the 8-Bit Community Pride 2024 celebration, minecraft-firework-gen is an open-source Kotlin code-generation tool and multi-plugin choreography pipeline. It solves the challenge of synchronizing hundreds of in-game fireworks, particle emitters, and moving lasers to an external musical soundtrack on a live multiplayer Minecraft server.

Tools & Technologies: Kotlin, Skript, Nightclub Plugin, ChroMapper, PaperMC


Technical Contributions & Pipeline Breakdown

1. Custom Timesheet-to-Skript Compiler (minecraft-firework-gen)

Writing thousands of tick-delay statements by hand for a full-length song is error-prone and difficult to iterate. To automate this workflow, I wrote minecraft-firework-gen in Kotlin:

  • Automated Code Generation: Parses a structured timing sheet of timestamps, coordinates, and firework payload definitions, and compiles them directly into executable Skript functions with exact tick offsets.
  • Rapid Show Iteration: Allowed entire show sequences to be regenerated in seconds whenever choreography timings or spawn coordinates were adjusted.

2. Beatmap-Driven Laser Synchronization

  • ChroMapper Beatmapping: Authored beat-accurate lighting and laser timelines using the ChroMapper 3D beatmap editor.
  • Nightclub Laser Execution: Fed the exported beatmap data into the Nightclub server plugin to drive beat-synced laser arrays alongside the compiled Skript firework functions.

Direct Impact

  • Cut Choreography Time from Days to Hours: Automating the conversion of timing sheets into Skript functions eliminated manual syntax errors and enabled complex, multi-layered pyrotechnic sequences.
  • Foundation for Standalone Plugin: The lessons learned from coordinating Skript and Nightclub directly informed the architecture of my standalone Kotlin plugin, MCFireworkshow.
  • ChroMapper - Map editor for beat saber which is used to creat and edit beatmaps for Nightclub plugin