Chunk Loaders

Chunk Loaders

7M Downloads

[Bug] Loading chunks in other dimensions

lavroovich opened this issue ยท 9 comments

commented

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

commented

What version of Chunk Loaders are you using?

commented

1.2.8a (server and client)

commented

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.

commented

Good luck โ˜˜๏ธ

commented

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

commented

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?

commented

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.

commented

@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.

commented

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!