More misc fixes - #95
Open
RecursivePineapple wants to merge 7 commits into
Open
Conversation
Contributor
Co-authored-by: GitHub GTNH Actions <>
DarkShadow44
reviewed
Aug 6, 2026
DarkShadow44
approved these changes
Aug 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This fixes a crash, a minor typo, and some lighting bugs when travelling at high speeds.
This crash is caused by BC robotics polling a chunk within the unload event, causing the chunk to reload. This periodically causes fastutils to fail when it rehashes a set in EFR. The fix is to post the event, then remove the chunk from the world, which better matches vanilla's behaviour.
https://discord.com/channels/181078474394566657/1415607665375313961/1529114252680626196
There was a minor typo in the getCubesToGenerate method, whose name is a misnomer. It was renamed to getRelevantCubes and the Requirement parameter was removed from cacheCubes since it was unused.
There were also two lighting bugs.
The first was sporadic unlit caves along chunk borders. Sometimes a cave near the surface would be half lit - the start was lit, but beyond a chunk border the light didn't propagate. Also, when the player moved very quickly (faster than the chunkgen could keep up) the chunks that generated under their feet would have black borders due to improper skylight propagation. These were both caused by pending lighting updates not running after the first skylight propagation ran. Draining the queue after doing the first skylight propagation caused the whole cube sync packet to send the proper light values to the client.
There was also unnecessary lighting checks along chunk borders even when the blocks are fully exposed to the sky. I added a condition to skip these lighting updates.
Checklist