Pulsar Lighting Engine

Bringing a Starlight-based lighting engine to CleanroomLoader
Back to Files

pulsar-0.5.0.jar

File namepulsar-0.5.0.jar
Uploader
pepe_yupepe_yu
Uploaded
Oct 12, 2026
Downloads
195
Size
232.9 KB
Mod Loaders
Forge
File ID
9148784
Type
B
Beta
Supported game versions
  • 1.12.2

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:pulsar-lighting-engine-1641056:9148784")

Learn more about Curse Maven

What's new

### Changed

- Resolve sky source-face exclusions once per queue entry, retaining the encoded
  direction order and all sided/contextual/fluid behavior.
- Specialize block propagation through verified plain air, avoiding generic
  absorption, emission and sided-flag work after the existing level guards.
- Keep a just-active shared worker available for a bounded 5 microseconds for
  rapid follow-up work, without holding dispatcher or queue monitors.
- Claim paired same-chunk light work after the first lane finishes, so later
  notifications can join the queued partner batch while the existing 5x5
  reservation remains held.
- Introduce managed Pulsar Config Version 2. Missing or mismatched versions
  regenerate the whole config with current defaults before settings are loaded;
  matching versions retain custom settings.
- Default server lighting configs to automatic shared-pool sizing (-1),
  including migration from older configs, and document restart requirements.
- Expose dedicated-worker batch time, unload lighting wait time, idle engine
  cache size and statistics log interval with bounded values and config comments.

- Optimize light propagation, source scanning, skylight updates and chunk-map
  lookups to reduce allocation and redundant work.
- Track contextual TileEntity light changes each tick, keeping Mod callbacks on
  the world thread.
- Coalesce client render updates (`features.coalesceClientRenderUpdates`) and
  alternate sky/block tasks within a shared soft budget
  (`features.clientLightBudgetMs`, default 2 ms).
- Add a configurable shared server lighting pool
  (`features.experimentalServerLightThreads`, default `-1` selects
  CPU/3 workers), with nearby-task exclusion and paired sky/block scheduling.
- Add opt-in shared-pool range relighting (`experimentalRangeRelight`, default
  off), with world-wide job exclusion and generation-safe publication.
- Update lighting statistics once per world tick, with dimension IDs and more
  detailed task, client and contextual-sampling timings.
- Share a 10 ms lighting wait allowance across chunk unloads per world tick;
  unfinished lighting is invalidated for the next load.

### Fixed

- Fix stale or incorrect skylight after dense edits and changes to opaque or
  shaped blocks, including across chunk boundaries.
- Preserve block light in absent sections when sending full or partial chunks.
- Recheck light-relevant block changes and include the center chunk's Fluidlogged
  capability during initial lighting.
- Prevent light-array publication after chunk unload and exclude unfinished
  lighting from cache saves. Lighting cache version is now 12; older caches
  are relit when their chunks next load.

### Removed

- Remove the Pulsar Colored Lighting Addon backend API and integration hooks.
  Pulsar now uses its built-in scalar engines.

 


**Full Changelog**: https://github.com/Sumire-Labs/Pulsar/compare/0.4.0...0.5.0