Phosphor Fabric Versions Save

A Fabric mod designed to dramatically improve the performance of Minecraft's lighting engine while fixing many bugs

mc1.19.x-0.8.1

1 year ago

This release contains the compatibility update to 1.19.

mc1.18.x-0.8.1

2 years ago

This release contains the compatibility update to 1.18. Additionally, a small optimization is added to reduce the workload for the lightmap complexity initialization upon chunk loading added by Phosphor.

Installation on servers:

Fabric needs to be installed using fabric-installer >= 0.10.0 on servers in order to properly work with Mixins for Java 17. If the game crashes with error message The requested compatibility level JAVA_17 could not be set. Level is not supported by the active JRE or ASM version (Java 17.0, ASM 9.0 (ASM10_EXPERIMENTAL)), please reinstall Fabric.

mc1.17.x-0.8.0

2 years ago

This release contains mainly internal changes and the compatibility update to 1.17. The approach for initial lighting is changed, which should lead to a small speedup. Together with some other changes, this furthermore establishes compatibility with the 1.17 world height changes.

mc1.16.2-0.8.0

2 years ago

This release contains mainly internal changes. The approach for initial lighting is changed, which should lead to a small speedup. Together with some other changes, this furthermore establishes compatibility with the 1.17 world height changes.

mc1.16.2-v0.7.2

3 years ago

This release fixes a data loss bug present in 0.7.1 and 0.7.0.

Bug Fix

  • Fixed a concurrency issue that could lead to lightmaps being discarded upon reloading chunks (#49). The fix will only prevent new glitches but will not repair already existing ones. If upgrading an already corrupted world to 0.7.2, you need to erase the light cache once, see the note on MC-142134 for complete instructions.

Change

  • Mark Starlight as incompatible. Having both Phosphor and Starlight installed will now lead to a crash instead of loading the game normally and causing unexpected logic errors later on. Phosphor and Starlight were always incompatible and will always be, as they reimplement the lighting engine to a certain extent, hence modifying the same code in conflicting ways. With this change the game simply shuts down gracefully instead of causing undefined behavior.

mc1.16.2-v0.7.1

3 years ago

This release fixes two critical bugs introduced in 0.7.0.

Bug Fixes

  • Fixed a game hangup that occured in some situations where chunks were resent due to large numbers of block updates or specific servers (#36, #39)
  • Fixed that some chunks were missing skylight after worldgen, due to wrong order of operations caused by a missing update notification. The fix will only prevent new glitches in chunks generated with 0.7.1 but will not repair already existing glitches. If upgrading an already corrupted world to 0.7.1, you need to erase the light cache once, see the note on MC-142134 for complete instructions.

mc1.16.2-v0.7.0

3 years ago

This release fixes a few bugs in earlier versions of Phosphor and includes many new patches by @PhiPro95 which fix bugs and other performance sore spots in the vanilla lighting engine. Minecraft 1.16.2 or newer is required for this release as these new patches depend on recent changes in vanilla.

New Patches

  • Fixes for lag spikes that would occur when crossing certain chunk boundaries (MC-162253)
  • Fixed an issue where light propagation would become stuck due to light maps being removed (MC-169913)
  • Fixed a number of issues that would cause sky-light maps to not be properly initialized (MC-170010)
  • Fixed a bug where queued light maps would be ignored during skylight initialization and propagation (MC-196614)
  • Fixed a problem that would sometimes cause light maps to be incorrectly dropped when unloading chunks (MC-196725)
  • Fixed a problem where stripping uninitialized sky light maps would cause issues with downward skylight propagation (MC-198987)
  • Added some general clean ups for the lighting engine's handling of skylight propagation (MC-196542)

Improvements

  • Added additional optimizations for reading block states from the world when spreading light through the world
  • Added a fast-path for sky light propagation when traversing through air blocks only
  • Light propagation now avoids merging block shapes to figure out whether or not light can seep through a block in the world

Bug Fixes

  • Fixed an issue that would result in empty chunk sections being treated as unloaded, resulting in random darkened areas to appear on the ground in a grid-like pattern when placing blocks in the sky
  • Fixed a problem where cached lighting data in chunk (-1, -1) would not be initialized if it was the first chunk lit upon starting a world

Changes

  • Simplified the critical section of the double-buffered map types to help reduce lock contention
  • Replaced custom SeqLock with the standard library's (more correct) StampedLock

mc1.16.1-v0.6.0

3 years ago

This update brings Phosphor up-to-date with Minecraft 1.16.1 and introduces some new optimizations for light array copying that can greatly reduce the memory allocation rate and CPU overhead when light updates are being performed.

mc1.15.2-v0.5.2

4 years ago

This release fixes an issue in Phosphor 0.5.1 where full-block (opaque) light sources would not emit any light in the world.

mc20w13b-v0.5.2

4 years ago

This release fixes an issue in Phosphor 0.5.1 where full-block (opaque) light sources would not emit any light in the world.