-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Thanos' chunk trimming can be destructive to trees #20
Comments
Here is a minimal reproduction map, generated on Minecraft 1.20.4 (vanilla), that hasn't been Thanos'd. The map has been generated by waiting for the generation to finish after spawning, running from spawn in a straight line for approx. 40 chunks, wait for generation to settle, and then save the world. To make the reproduction smaller I removed unnecessary region files; the reproduction chunks aren't near the boundaries anyway. It happens to be a surprisingly good reproduction as it has both problems happening very closely to one another 😅
|
I've definitely noticed this before and can look into it some more, but it is very much possible that this is not a fixable issue. I'll take a look at your example map tomorrow or Monday. What view distance setting do you use in your Minecraft client? |
I used 12 chunks for the render distance. And yeah I think the unfortunate truth is that it's something that can't be fixed without either tanking the performance of the tool, or being overly conservative and not delete enough chunks for the tool to have a meaningful impact 😔 The cases I've pointed out both occur with fully generated chunks (both the chunk from where the tree is, and the chunk being removed by Thanos) |
That's a very understandable, albeit sad, outcome. A mention in the help center is still a good thing, so at least there's an explanation for those quirks. I guess the only "proper" fix would be to perform this at the game logic level rather than externally, to collect/use extra metadata allowing to handle this seamlessly; but given how flexible Aternos is with server software that runs I doubt that's any easier... Thanks for looking into it anyway! |
I added a note to the README and our help center articles. |
I doubt it's something that can be fixed easily, but I felt like I should at least report it considering I've seen it mentioned nowhere.
I've seen a lot of trees disfigured on Aternos while playing on a server with friends (especially when playing with biome mods which adds very large trees with organic shapes), which wasn't something I experienced on solo maps or on other servers. I made the hypothesis the optimization feature was the culprit, and after a bit of testing I confirmed this hypothesis.
Due to how Minecraft's generation works, blindly deleting a chunk can mess with certain parts of the generation, most notably trees. When they span across chunks, it doesn't actually matter for the game because neighboring chunks are already being generated, so it can just write to them and call it a day. However, if a chunk containing a tree was to be deleted, it would not be generated at the exact same spot again and the leaves that grew in the neighbor chunk would remain floating. Similarly, if a chunk containing leaves from another chunk's tree is removed, the tree will permanently lose those leaves.
One approach I imagine could help prevent this is making sure neighboring chunks aren't in a state where they may have generated things in the current chunk; but I'm pretty sure this would have quite a big impact on the effectiveness of the optimization.
The text was updated successfully, but these errors were encountered: