This repository was archived by the owner on Mar 8, 2024. It is now read-only.
Tags: PaperMC/Starlight
Tags
Use correct getChunk call for possibly unloaded chunk Would've thrown rather than returning null. This also disables the gradle daemon. I think this thing causes me more trouble than it solves honestly. This commit is included in forge's 1.0.0-RC1, do not ask me to port this.
Move to edge checks for loading and generating light While it might appear at first glance that the vanilla chunk system makes a guarantee that 1 radius chunks are loaded for lighting, this isn't actually the case. In fact, no chunks could be loaded! And yet, the light function is actually required to be completed still! The only way we can do this is with edge checks. In the 1.17 snapshots, it looks like chunk loading doesn't load 1 radius chunks - which means our logic to require 1 radius just has to go. In order to ensure that this new behavior doesn't cause lighting problems on chunk edges, chunk loading now does edge checks. At this point, the entire codebase is 1.17 ready and likely ready to be published on curseforge.
Starlight 0.0.2-RC3 1. Fix chunk relighting In order to make relighting more reliable, move the emptiness map lookups to their own cache. This allows us to not clobber/use emptiness map values for chunks that were not relight during the call. More importantly, fix a typo where we supplied the wrong chunk argument to the emptiness change function for chunk neighbours - this caused the nibbles for the target chunk to be clobbered. 2. Fix broken edge checks While edge checks are not currently used, it doesn't mean they should be broken. Edge checks should be able to happen on null nibbles for block lighting (sky lighting will not have nibbles marked null during edge checks). 3. Make handleEmptySectionChanges non-relaxed serverside For the server, it should be that the chunks in 1 radius are loaded during this call. 4. Fix incorrect neighbour nibble init logic We need to be copying the whole array, not just the first 9 values. 5. Fix potential missed updateVisible calls rewriteNibbleCacheForSkylight could set a value in the cache to null and not update the nibble. Now the call will call updateVisible when removing nibbles from the cache. 6. Fix skylight propagation on the -1 chunk section Allow sources to be set up on y=-16, and fix light retrieval for y < -16
Starlight 0.0.2-RC2 1. Finish mixin cleanup No longer screw around with serverside scheduling, should improve compatibility with mods that like to do that. Add at-reason to at-Overwrites Move client mixins to own package 2. Re-schedule block changes to the main thread Fixes #6 3. Fix typo for serialized data (versiom -> version) 4. Clean up skylight propagation code Delaying the block sets is now a parameter in the general propagate method, and move the delay logic to no longer use a flag but to rather call a method later. So far 0.0.2 looks good, will probably go on CF in the coming weeks.