Structure generation issues
777eza opened this issue ยท 4 comments
There are two issues I've noticed from multiple structure generation mods (ruins, battle tower, ancient warfare 2, etc) The first is whenever a structured generates it deletes the trees that are in the area, however when dynamic tree's get deleted they drop a ton of sticks and saplings all around the area (vanilla trees get removed just fine). The second is a visual bug as seen in the pictures below it removes parts of the structure that dynamic trees spawned in before being delete looking like there's nothing there but in fact there is. luckily a simple restart fixes this issue.
To reproduce this issue simply install the latest dynamic trees and any structure mod and go to a structure that would have had a dynamic tree there before generation
Is it possible to check, when a block in the tree is broken/replaced, if this is occurring before world gen has completed? If so, then I think the simplest solution would be to perform vanilla breakBlock behavior without performing sloppyBreak. It is my understanding that DT normally delays the block replacement in order to perform drop calculations and such, which ought to be irrelevant during world gen. I think this delay is likely the cause of these issues.
(I am referencing this file: https://github.com/ferreusveritas/DynamicTrees/blob/1.12.2/src/main/java/com/ferreusveritas/dynamictrees/blocks/BlockBranch.java )
I'm unaware of any functionality for determining if a block is being broken or set during world gen versus any other time. I'd like there to be because without it makes issues like this very difficult to fix. Maybe there's an event for when world gen starts and finishes for a chunk that can be used to set a static flag.
I don't know much about generation order, but generating later would fix this. However, I don't know if that is possible, and if it is, it's hard if two mods fight for ordering.