Skip to content

Releases: CaffeineMC/phosphor-fabric

Phosphor 0.8.1 for Minecraft 1.19.x

14 Jun 15:11
63da49e
Compare
Choose a tag to compare

This release contains the compatibility update to 1.19.

Phosphor 0.8.1 for Minecraft 1.18.x

19 Dec 19:29
3752e1f
Compare
Choose a tag to compare

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.

Phosphor 0.8.0 for Minecraft 1.17.x

26 Nov 14:59
e4161f3
Compare
Choose a tag to compare

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.

Phosphor 0.8.0 for Minecraft 1.16.2 - 1.16.5

26 Nov 14:58
663c526
Compare
Choose a tag to compare

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.

Phosphor 0.7.2 for Minecraft 1.16.2+

30 Apr 21:17
052125c
Compare
Choose a tag to compare

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.

Phosphor 0.7.1 for Minecraft 1.16.2+

12 Feb 05:23
db27bf9
Compare
Choose a tag to compare

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.

Phosphor 0.7.0 for Minecraft 1.16.2+

18 Dec 05:54
a38b1bd
Compare
Choose a tag to compare

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

Phosphor 0.6.0 for Minecraft 1.16.1

24 Jun 15:40
0749029
Compare
Choose a tag to compare

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.

Phosphor 0.5.2 for Minecraft 1.15.2

01 Apr 21:48
5897fa3
Compare
Choose a tag to compare

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

Phosphor 0.5.1 for Minecraft 1.15.2

01 Apr 09:24
a4937f7
Compare
Choose a tag to compare

This is a maintenance and bug-fix update for Phosphor 0.5.x, and fixes a number of issues and soft-crashes/freezes that would occur when using Phosphor 0.5.0. Additionally, Fabric-ASM is now used to eliminate some code complexity and code duplication at the expense of needing to ship a library within the mod, creating larger releases.