hlysine / create_power_loader

A Create mod add-on adding immersive andesite and brass chunk loaders to Minecraft.
Other
9 stars 7 forks source link

Drills generate lots of entities #11

Closed Banalian closed 7 months ago

Banalian commented 7 months ago

Hi! I'm opening this issue but I fear that the mod isn't that responsible, but I want to make sure

First of all, thanks a lot for the mod, it's a really cool way of having an immersive way to do chunk loading, I really like it!

My trouble comes with the way chunks are kept loaded. I tried setting up an andesite farm, with the source being drills breaking up cobblestones. When I'm near them, everything works correctly, but when I get that, the chunk loading takes place, and when I get back, I see a lot ( and I mean, a LOT) of stacks of cobble spread everywhere around the farm. This even breaks the server I'm by crashing it if there's too much of it.

I suspect this is because the entities aren't exactly processed ( maybe because of the concept of lazy chunks ?) Which lead to the amount created being loaded back in when I come back, which causes an explosion of entities because there was so much of it in one place.

I was wondering if there's anything doable on the mods parts ( prevent lazy chunks if possible ?) Or if I need to get another way of breaking blocks without creating entities.

Thanks again for everything, and have a good day!

hlysine commented 7 months ago

That's a completely vanilla behavior unfortunately. The item spam has long been an issue even in vanilla Minecraft where people use nether portal loaders. The issue is that item despawn timers are only ticked if the item entity is inside a ticking chunk, so items that fall outside ticking chunks get suspended indefinitely, causing a huge pile-up and eventually a server crash.

Fixing this is outside of the scope of this mod since it is a vanilla bug. It is also not feasible to unload lazy chunks because they are there to ensure that blocks at the edge of loaded chunks can still access adjacent spaces and not cause access errors.

The best way to prevent this on your side is to ensure that generated entities stay away from lazy chunks, which means extending your chunk-loading range. This applies to farms that generate items, XP, and mobs (e.g. silverfish).

Banalian commented 7 months ago

Ah, so the trouble is on me I guess, I was sure I was still in range, f

Thanks a lot for the quick answer! Nice to learn more about chunks!