[Bug] Loading chunks in other dimensions
lavroovich opened this issue ยท 9 comments
Version Info
- Minecraft, 1.20.1, fabric
- Chunk Loaders, basic and single
Are you using OptiFine?:
No
Description of the Bug
I installed a chunk loader in another dimension, but it doesn't load anything without my presence. Can this be fixed somehow?
Screenshots
I am in the midst of exams and don't have time to work on mods. Investigating and potentially fixing an issue like this takes time.
Just be patient rather than responding inappropriately.
I am in the midst of exams and don't have time to work on mods. Investigating and potentially fixing an issue like this takes time. Just be patient rather than responding inappropriately.
Congrats on your exams bro thank you for updating the chunk loader appreciate it. You're the goat
I cannot reproduce the issue. Even after exiting and reloading the save, chunks in other dimensions still get loaded:
Video.mp4
Are there any other mods needed to reproduce the issue?
It's possible this should be it's own issue since I am on 1.12.2, but I am experiencing the same issue.
I have tried using both enderIO's dimensional transciever and ender storage, both tested separately and neither of them are loaded when I leave the overworld despite having an active chunk loader. It did on the other hand load a simple observer clock connected to a command block both with and without enderIO.
@Loppan45 could you indeed create a separate issue? Anything 1.12.2 is likely a separate issue, and also likely has to do with some other mod which is often version specific anyways.
Whenever a world is ticked, it checks if there are any players in the world or if there any (vanilla) force loaded chunks. If so, the world will tick entities and block entities in it.
Chunk Loaders uses a mixin to overwrite the check to also be true if there are any loaded chunks from Chunk Loaders in the world. The mixin used by Chunk Loaders simply targets the first check within the world tick function.
It seems from Minecraft 1.20.2 to 1.20.3, the world tick function changed such that there is another check done before the players/forced chunks check. This meant Chunk Loader's mixin was overwriting the wrong check and chunks loaded by Chunk Loaders would not receive ticks when there is no player is the same dimension.
As learned in #133, it seems command blocks repeatedly schedule block updates rather than using block entity ticking like I assumed. Command blocks are thus not a good indication of whether a chunk is receiving ticks. (Not sure why block updates do still happen, but that's besides the point.)
All that was needed was a one line fix in ea97825.
The issue should now be fixed in Chunk Loaders version 1.2.8b for Fabric 1.20.3 - 1.21.1.
Thank you for reporting the issue!