COWMODSКаталог модов

Pulsar Lighting Engine

Bringing a Starlight-based lighting engine to CleanroomLoader

Автор: pepe_yu9004обновлён 16 окт. 2026 г.
Оптимизация

Описание

Pulsar Lighting Engine

This is a mod exclusively for Cleanroom. It requires Java 25 and Cleanroom 0.6.10 or later.

Pulsar is an asynchronous lighting engine built for Cleanroom. It reimplements Starlight-style algorithms for Cleanroom and runs lighting calculations on separate threads.

Requirements

Features

  • Runs server-side light propagation on separate threads.
  • Batches large groups of block changes instead of processing lighting separately for every edit.
  • Caches light data in each chunk's NBT to avoid unnecessary full relights.
  • Keeps Vanilla's block-light and sky-light data synchronized, so removing Pulsar does not corrupt your world.
  • Includes various lighting bug fixes and quality-of-life improvements.
  • Adds natural lighting to Thaumcraft crystals.
  • Fully compatible with rendering mods such as Celeritas, Actinium, and Nothirium.

Fixed Bugs

Supported Mods

Incompatible

  • Alfheim
  • Phosphor for Forge
  • Hesperus
  • Other Starlight backports or mods that replace or rewrite the lighting engine
  • The standard edition of The Aether II, which bundles Phosphor. Use The Aether II: Phosphor Not Included instead.

Unsupported or Untested

  • CubicChunks
  • OptiFine

Performance

Pulsar 0.5.0 Benchmarks

Block Placement and Removal

Block update completion time

Sky Opening and Closing

Sky opening and closing completion time

Server Load During Continuous Editing

These values measure main-thread MSPT. Async worker CPU time is not included.

Main-thread MSPT during continuous editing

Flat Terrain Generation

Equal-output flat terrain generation

Travel in a Flat World

Server chunk readiness at travel destinations

Credits

  • Starlight by Spottedleaf: the algorithms on which Pulsar is based.
  • SuperNova by GTNewHorizons: an RGB lighting engine inspired by Starlight.
  • Alfheim by Red Studio: a reference for directional neighbor brightness, liquid and emissive-block rendering, and light-only chunk packet handling.
  • CleanroomModTemplate, TokenEnvoy, and CleanroomVersioning by CleanroomMC.

AI Disclosure

Pulsar uses LLM assistance in the following areas:

  • Some code: primarily understanding and implementing algorithms.
  • Translation and writing: translating into other languages and generating documentation.

License

Pulsar is licensed under the LGPL-3.0.

Последние версии

Все версии →
beta

Pulsar Lighting Engine 0.5.2

0.5.2
16 окт. 2026 г.204Minecraft: 1.12.2forge
Скачать
Что нового
## [0.5.2] ### Fixed - Prevent initial chunk packets from waiting indefinitely with Fluidlogged API. Skip vanilla's redundant random player lighting repair request, which otherwise creates new pending samples before every send attempt. Block/fluid updates and the contextual-light gate used by Thaumcraft crystals remain active.
beta

Pulsar Lighting Engine 0.5.1

0.5.1
15 окт. 2026 г.65Minecraft: 1.12.2forge
Скачать
Что нового
## [0.5.1] ### Fixed - Wait for pending contextual samples and nearby lighting before initial chunk transmission, including players joining an already-sent chunk. Preserve initial-packet, entity-tracking and Forge chunk-watch event ordering, and cancel deferred sends when players leave. - Rebuild Pulsar lighting after Chocolate Quest Repoured bulk dungeon writes, including the affected neighboring chunks. Delay relight refresh packets until neighboring work has finished. - Include requested absent sections in partial light refreshes even when their light is now default, so stale client light arrays are reset. - Invalidate older lighting caches (version 13); previously saved incorrect CQR lighting is recalculated when its chunks next load. ### Changed - Collect pending contextual light positions in primitive, atomically detached batches, avoiding boxed requests and per-tick set copying/removal. Iterate those batches without boxing and keep callbacks outside the producer monitor. **Full Changelog**: https://github.com/Sumire-Labs/Pulsar/compare/0.5.0...0.5.1
beta

Pulsar Lighting Engine 0.5.0

0.5.0
12 окт. 2026 г.66Minecraft: 1.12.2forge
Скачать
Что нового
### 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
beta

Pulsar Lighting Engine 0.4.0

0.4.0
5 окт. 2026 г.125Minecraft: 1.12.2forge
Скачать
beta

Pulsar Lighting Engine 0.3.2

0.3.2
24 сент. 2026 г.121Minecraft: 1.12.2forge
Скачать
Что нового
## Fixed - Fixed a bug where multi-blocks were duplicated within the world **Full Changelog**: https://github.com/Sumire-Labs/Pulsar/compare/0.3.1...0.3.2
beta

Pulsar Lighting Engine 0.3.1

0.3.1
11 сент. 2026 г.91Minecraft: 1.12.2forge
Скачать
Что нового
## [0.3.1] ### Changed - Added Natural Lighting for Thaumcraft 6 Crystal ### Known Issues - Immersive Engineering multiblocks multiply #14 This will be fixed in version 0.3.2 or 0.4.0 (the next release). ### Note I'll be busy for a while, so updates may be on hold for about 1 to 2 weeks. **Full Changelog**: https://github.com/Sumire-Labs/Pulsar/compare/0.3.0...0.3.1
beta

Pulsar Lighting Engine 0.3.0

0.3.0
7 сент. 2026 г.39Minecraft: 1.12.2forge
Скачать
Что нового
## [0.3.0] ### Changed - Reduced unnecessary lighting work by queuing light checks only for the requested light type (sky light or block light). - Kept batches of updates within a single vertical block column on the incremental skylight update path, avoiding unnecessary full skylight rebuilds. ### Fixed - Fixed water and other liquids losing their configured light attenuation through automatic face-transparency handling. Water now uses its vanilla attenuation of 3 instead of 1. - Fixed weakened skylight propagating downward without further attenuation, including through empty sections. - Fixed swapped block-light and sky-light channels in smooth painting rendering, which could make paintings appear dark near torches at night. The correction applies to both vanilla paintings and JSON Paintings ([#12](https://github.com/Sumire-Labs/Pulsar/issues/12)).
beta

Pulsar Lighting Engine 0.2.9

0.2.9
31 авг. 2026 г.12Minecraft: 1.12.2forge
Скачать
Что нового
## Fixed * fix(light): sync live section data before chunk packets by @Sosea1 in https://github.com/Sumire-Labs/Pulsar/pull/11 ## New Contributors * @Sosea1 made their first contribution in https://github.com/Sumire-Labs/Pulsar/pull/11 **Full Changelog**: https://github.com/Sumire-Labs/Pulsar/compare/0.2.8...0.2.9
beta

Pulsar Lighting Engine 0.2.8

0.2.8
29 авг. 2026 г.22Minecraft: 1.12.2forge
Скачать
Что нового
### Fixed - #10 **Full Changelog**: https://github.com/Sumire-Labs/Pulsar/compare/0.2.7...0.2.8
beta

Pulsar Lighting Engine 0.2.7

0.2.7
28 авг. 2026 г.30Minecraft: 1.12.2forge
Скачать
Что нового
### Changed - The minimum system requirements have been updated to CleanroomLoader 0.6.10 Alpha. - Migrated from Mixinbooter to CleanMix (Mixinbooter 11.x). **Full Changelog**: https://github.com/Sumire-Labs/Pulsar/compare/0.2.6...0.2.7