Fixed #269 by creating a new ore-remover implementation #604
No reviewers
Labels
No labels
bug
can't replicate
enhancement
help wanted
inter-mod
invalid
invasive
investigating
optimization
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
oitsjustjose/Geolosys!604
Loading…
Reference in a new issue
No description provided.
Delete branch "github/fork/EwyBoy/fix-too-many-features"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I saw your tweet and was intrigued by the issue and I figured out where the issue was in 2 minutes from looking at you're source code. I also have a ore mod named Ore-Tweaker (Source) that also allows users to remove ores.
By the looks of it, Geolosys ends up adding way to many features back into the
BiomeGenerationSettingsBuilderthat results in essentially creating something I would call an "amplified biome feature world". It is not only the lakes that are plentiful. Pretty much all world gen features picked up by Geolosys is amplified by a lot. It is just that lakes are easy to spot. The world will also contain much more Lava lakes etc.I implemented something close to the system I am using for Ore-Tweaker to remove ores. It subtracts from the
BiomeGenerationSettingsBuilderrather then adds inn and I can assure you that it is not removing to many features 😉I kept your original code so that if you want to implement it in you're own way. The debugging has changed and moved a bit into
featureRemover()and I tried to stay true to how the mod originally worked.Also added World-Stripper (Source) using CurseMaven to easy debug that I did not mess anything up.
Before:

After:

All ores are still gone with my ore removing implementation:

Also in nether (although you might wanna add

Magma Block&Blackstoneto remove list):changed title from Fixed #269 {-and C-}reat{-ed-} a new ore-remover implementation to Fixed #269 {+by c+}reat{+ing+} a new ore-remover implementation
mentioned in issue #269
That makes perfect sense. I had disabled the ore removing code for debug almost immediately but didn't see any affect. I guess it was just by chance I was seeing an extra lake or two and thought "nope that didn't do it".
Thank you so much for taking the time to make this fix, I was up late last night doing so much needed refactoring which was helpful, but didn't solve the problem so I was pulling my hair out.
You are incredible ❤️
No problem!
I hope everything works out perfectly in the end now. Bugs like this can truly be hard to figure out.
Just reading through this, it's a very interesting bug with an interesting fix. Good job!
Yes, I think the problem was due to the amount of loops in the original code:
A while loop inside a foreach loop inside a for loop causing the features to be added way to many times.
So I think each feature where being added back in as many times as there are features left in the parent loop.