Fabric mod for rewriting the light engine to fix lighting performance and lighting errors.
Minecraft 1.20 Light engine changes
Please see: https://gist.github.com/Spottedleaf/6cc1acdd03a9b7ac34699bf5e8f1b85c TL;DR Mojang improved upon their own light engine using the same performance critical designs from Starlight. As a result, they have closed the performance gap, obsoleting Starlight on the client side.
Starlight can be installed either on the dedicated server or client. It is not required to be installed on both sides. If you have Starlight on the server, clients can use Vanilla/Phosphor/Starlight to connect. Likewise, if you have Starlight on the client, you can connect to Vanilla/Phosphor/Starlight servers.
Starlight cannot be installed with Phosphor, they are completely incompatible. Browsing through Starlight's Issue Tracker will show further mod incompatibilities. Starlight is a rather destructive light engine rewrite, so it should be expected to break mods more often.
Starlight was developed for higher scale dedicated servers, as they suffered performance problems due to how ungodly slow the light engine was. The only solution was to create an extremely invasive mod which rewrote the entire light engine. I ported the mod to fabric so that I can update it during snapshots, and decided that publishing it for all users, especially client users, would be beneficial. However, it does have the downside of being an invasive mod: Being invasive didn't affect higher scale servers because they run on Bukkit.
Further reading on the technical details of how Starlight achieves its performance can be read here: TECHNICAL_DETAILS.md
Performance for 1.20:
Here are a few graphs showing performance in 2 areas on: Block editing at high y-levels, and normal block light updates:
Light engine time chunk generation Graph has been removed as a benchmark as it is invalid for 1.20. Starlight and Vanilla are close enough on 1.20 that
this test is also useless.
Performance for 1.19.4 and below:
Here are a few graphs showing performance in 3 critical areas: Chunk generation, Block editing at high y-levels, and normal block light updates: