SuperMartijn642 / ChunkLoaders

15 stars 15 forks source link

Loading chunks in other dimensions 1.12.2 modpack #133

Closed Loppan45 closed 3 days ago

Loppan45 commented 4 days ago

Version: Minecraft 1.12.2 Chunk Loaders 1.2.8a EnderStorage 2.4.6.137

Issue: When the player leaves the dimension the chunk loader is in it stops loading ender storage chests and enderIO dimensional transciever after some time passes.

Steps to reproduce:

  1. Make a new world with the above stated mods and leave spawn chunks
  2. Build the structure shown in the image image
  3. Enter the nether
  4. place down an ender storage chest and put items in it The items will stop draining after about 35 items but the command block will continue outputting to chat

Something similar can be built using enderIO dimensional transciever

Edit because image isn't working: The structure to build: An Ender Storage chest with a hopper pulling items into a normal chest and a command block constantly saying something using an observer clock. All is in the same chunk loaded by a simple chunk loader.

SuperMartijn642 commented 4 days ago

It seems the image you attached is not working.

The items will stop draining after about 35 items but the command block will continue outputting to chat

A chunk is either loaded or it is not. If a command block in the chunk is being ticked, that would be mean the chunk is loaded. If just EnderIO's blocks are not being ticked, that seems like something that is up to EnderIO.

Loppan45 commented 4 days ago

It seems the image you attached is not working.

Weird. I updated the main comment to describe it in text instead.

I also just now did another test with normal chests and hoppers. Simply put a filled chest over a hopper pointing to an empty chest in both a chunk loaded by a chunk loader and one without and go into the nether for a while. When returning I saw that both chests only had drained about a stack despite being away for way longer than that (checked by making another one in the nether while I waited). This was tested while having an ender storage chest in the same chunk.

SuperMartijn642 commented 4 days ago

Hmm with that description it sounds like it is the hopper that isn't working. Are you using some kind of mod that 'optimizes' hoppers like Lithium or something similar?

Also, could you check what happens when you load the chunks using the vanilla /forceload command instead of a chunk loader? If it works with the vanilla command, but not with Chunk Loaders, it is likely a bug with Chunk Loaders. If it also does not work with the vanilla command, then it would not be something to do with Chunk Loaders.

Loppan45 commented 4 days ago

Are you using some kind of mod that 'optimizes' hoppers like Lithium or something similar?

The only mod i have is Chunk Loaders version 1.2.8a and EnderStorage version 2.4.6.137. I'm running it on forge version 14.23.5.2859.

Also, could you check what happens when you load the chunks using the vanilla /forceload command instead of a chunk loader?

I don't think /forceload is a command in 1.12.2 but I redid the same test with nothing but the chunk loaders mod enabled. I waited in the nether for 5 stacks to drain and when I returned there was 49 items in the loaded chunk and 13 items in the unloaded.

SuperMartijn642 commented 4 days ago

I don't think /forceload is a command in 1.12.2

Oh whoops, yeah that was added in 1.13

I redid the same test with nothing but the chunk loaders mod enabled. I waited in the nether for 5 stacks to drain and when I returned there was 49 items in the loaded chunk and 13 items in the unloaded.

Ah thanks, that would be a bug with Chunk Loaders then. I will look into it tomorrow.

SuperMartijn642 commented 3 days ago

I was able to reproduce the issue. It seems command blocks don't use block entity ticking like I had assumed, but rather they repeatedly schedule block updates. Not completely sure why the block updates were still happening, but it seems chunk loaders would not work if there were no working chunk loaders whenever the last save occurred. This was due to a difference in behaviour from Forge's chunk loading API compared to 1.14 which I did not notice.

Anyways, I now know not to use command blocks for testing 🙃 The issue should be fixed in Chunk Loaders version 1.2.8b for Minecraft 1.12. Thank you for reporting the issue and helping me investigate, I appreciate it!