Links
Tags
Creators
Details
0.5.0
Compatibility
Changes
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-1selects 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
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:gs7RbryI:bDwARYIV"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:gs7RbryI:bDwARYIV"
}

