Pulsar Lighting Engine
Pulsar is an experimental asynchronous lighting engine for Minecraft 1.12.2 on Cleanroom. It replaces vanilla block and sky lighting with a Starlight-inspired implementation that moves most light propagation away from the server thread.
To make Pulsar easier to include in modpacks, it is now available on CurseForge in addition to GitHub Releases.
What Pulsar improves
- Runs server-side block-light and skylight propagation on dedicated worker threads.
- Batches large groups of block changes instead of lighting each edit separately.
- Saves completed light data with chunks, avoiding a complete relight every time they load.
- Writes normal Minecraft light data, so removing Pulsar does not lock a world to a custom save format.
- Fixes several vanilla rendering problems around slabs, stairs, and light-emitting blocks, including
- Supports dimensions extending below Y=0 or above Y=255 through its Depths Update integration.
Issues fixed in Pulsar
- MC-92
- MC-1531 — painting portion only; item frames are not covered
- MC-3329
- MC-80966
- MC-104532
- MC-116690
- MC-117067
- MC-117094
- MC-249343
Requirements
- Cleanroom 0.5.15 or newer
Compatibility
Pulsar should work with most biome, cave, world-generation, and dimension mods that use Minecraft's normal chunk and world APIs. Unlisted combinations are not guaranteed, so please report any reproducible lighting problems.
Supported integrations
- Fluidlogged API
- Depths Update, including dimensions below Y=0 or above Y=255
Incompatible or unsupported
- Alfheim
- Phosphor for Forge
- Hesperus
- Any other mod that replaces or rewrites the lighting engine
- The standard edition of The Aether II, which bundles Phosphor; use The Aether II: Phosphor Not Included instead
- CubicChunks, which uses a different world-storage model
OptiFine is untested and is not recommended with Pulsar.
Performance
In controlled Lightbench tests, Pulsar recorded the lowest server-side light-completion latency in all four measured block-edit workloads. In a separate fresh-generation test, it completed the workload 13.5% sooner than vanilla and performed broadly similarly to Alfheim.
These results are specific to the tested machine and workloads. They do not represent equivalent improvements to FPS, TPS, or overall game performance.
Light-update benchmark
Each edit was measured until server-side lighting completed.
Circles represent vanilla, diamonds represent Alfheim, and squares represent Pulsar. The horizontal lines show the fastest-to-slowest result across three independent Minecraft restarts.
Open the light-update graph at full size.
Fresh chunk generation benchmark
Pulsar completed the 10,404-chunk workload in a median of 48.831 seconds, compared with 56.461 seconds for vanilla: 13.5% less elapsed time on the test system.
Alfheim completed it in 49.615 seconds, and its measured range overlapped with Pulsar's, so the two should be considered broadly similar in this workload.
The colored bars show the median total time. The horizontal lines show the fastest-to-slowest result across three independent Minecraft launches.
This test includes terrain generation and lighting. It is not a pure light-propagation benchmark.
Open the chunk-generation graph at full size.
See the complete methodology, individual runs, limitations, and raw data on GitHub.
Credits
- Starlight by Spottedleaf, for the architecture and core algorithms on which Pulsar is based
- SuperNova by GTNewHorizons, a Minecraft 1.7.10 port of Starlight that served as the basis for early versions of Pulsar
- Alfheim by Red Studio, as a reference for fixing MC-92
- CleanroomModTemplate by CleanroomMC

