cc-tweaked / CC-Tweaked

Just another ComputerCraft fork
https://tweaked.cc
882 stars 206 forks source link

Turtle stops working after disconnecting from the server even while using chunk loaders #1827

Closed beyerleinf closed 1 month ago

beyerleinf commented 1 month ago

Minecraft Version

1.20.x

Version

1.110.2

Details

Minecraft Version: 1.20.4 Fabric Version: 0.15.9

Hey! First of all, thanks for this amazing mod! Glad that it lives on.

I've been trying to wrap my head around this issue for a while. I'm running the excavate program on some turtles, but of course, after closing the game the turtles stop working the next you load in.

So I moved my world onto a server. I'm using the Chunk Loaders Mod (also referenced in #1788) to keep the chunk loaded after I log off at night to keep the Turtle working. But, after some time the Turtle stops executing (I can restart it when I place it at the start, but doing that after it mined 100 blocks deep is very inconvenient :D).

I even tried to debug whether the Chunk Loaders Mod was just not keeping the chunk loaded by adding a Command Block and a Redstone clock but I can see in the server logs that the chunk is definitely loaded.

I can't really provide any logs since there are no errors or crashes. Let me know if you want a list of mods or if I should debug some stuff for you :)

Rikaisan commented 1 month ago

Are you sure they didn't just run out of fuel?

SquidDev commented 1 month ago

Thanks for the report, and apologies for taking a while to get to it.

After some experimentation, I believe this is an issue with the chunk loading mod, rather than CC:T. After a player leaves the server, block ticks appear to be processed in loaded chunks (which is why your redstone block continues to work), but not block entity ticks.

You can see this by using a hopper clock instead of a repeater clock (as hoppers are ticking block entities). After a couple of seconds, the clock will stop ticking, and you will no longer see messages from the command block in the server log.