Closed unweeked closed 1 year ago
Yeah this must be because they route their TileEntity retrieval to the Vanilla method, which will return null
server-side due to the light engine being run off-main. So their methods to retrieve the correct light source value will not work serverside, and so when you log in again you will see the server's computed light value.
After looking at the code again, it's become clear to me that I can't fix this. The TileEntity data is not actually available until the chunk has completely loaded into the world, and so as long as Starlight does edge checks this may happen. I'm pretty sure if you were to wipe the light data without Starlight installed it would also happen, as the Vanilla light engine doesn't do anything different when calculating values - just that Starlight performs checks on loading that Vanilla doesn't.
It's generally not safe for mods to be accessing this data off-main anyways, which is why Vanilla returns null
.
I can tell from the general design of the mod that it's not really their fault either, making this work while being thread-safe is a not really easy since there's no way that Forge provides to facilitate this behavior and that this is a general architecture issue with how TEs and BlockStates work.
You will have to use Vanilla. In 1.20, it's not really bad anyways.
Having both FramedBlocks and Starlight installed, glowing blocks from FramedBlocks won't emit light anymore after a relog into the world. I hope you're still active because I love both mods and it would be awesome to be able to use both together. (: