Biome source mixin conflict with Biolith (potentially Terrablender as well)
Su5eD opened this issue · 3 comments
An issue has been reported to me on Sinytra/Connector#396 regarding Alex's Caves biomes not generating when Biolith is installed. I've tracked this down to a mixin conflict targetting the MultiNoiseBiomeSource
class.
The isssue
- Biolith is deliberately configured to always inject last to ensure compatibility with terrablender.
- Terrablender's mixin uses default priority, which means "lottery" decides who comes out on top.
- Citadel's mixin also uses default priority, but only cancels conditionally.
Terrablender always cancels, just like Biolith, so it's enough that this race condition ends in terrablender injecting last, and alex's caves will never be able to run its replacements.
I don't know how the backing SortedSet
decides the order of equal elements, it could be the hashcode, name, anything.
But right now, terrablender goes first, and so Citadel has a change to run its replacements where needed. Biolith, on the other hand, will always break as explained above.
The solution
Since citadel only cancels where neded, it's enough that the mixin priority be lowered below biolith's one, and it should be guaranteed to work.