ReikaKalseki / Reika_Mods_Issues

The issue tracker for all of my mods - RotaryCraft, its addons, ChromatiCraft, and everything else.
46 stars 13 forks source link

[DAPI/ChromatiCraft 28a] DragonAPI is not properly detecting biome ID conflicts with ChromatiCraft's "dimension biome ids" #2724

Open Juha686 opened 3 years ago

Juha686 commented 3 years ago

Having biome ID's that conflict with other mods (tested with BOP) under the ChromatiCraft dimension section "dimension biome ids" will cause those biomes to appear in the nether when Biomes O' Plenty is using those biome id's.

Fix for the issue is to change the ID's to not be conflicting. There is no warning that there are any conflicts, and this might get detected only after a few weeks (or maybe you wont realise it ever as it does succesfully generate)

I dont really have a good image of this as I already fixed the issue for myself, but this is a Sparkling Sands biome in the nether: https://i.imgur.com/DkbAVah.png

Expected behaviour: DragonAPI would raise a Biome ID conflict exception during launch

What happens: Biomes can silently override Biomes O' Plenty biomes in the Nether, causing weird generation.

Info for anyone having this issue: It can manifest as Grass Blocks spawning in the nether as a "surface" block, and a large amount of Thermal Expansions Blitz come along with it. It's safe to just change the Biome ID's listed in ChromatiCraft.cfg under section"dimension biome ids" to non-conflicting ones, and the Blitz will stop spawning. The nether likely wont change, except for the Grass being a "gloomier" colour. There will not be any Blitz spawning after you kill the ones already spawned.

ReikaKalseki commented 3 years ago

Looking at this, it does not make sense. All of those biomes are registered to my ID conflict checker, and that checker works normally. Whether the IDs were already occupied at time of registration or later overwritten, the checker would notice the inconsistency either way.

ghost commented 3 years ago

So, I looked into this, and it seem more nuanced - any biomes Chromaticraft (and possibly other mods - only tested Chromaticraft/BoP) adds can override Biomes O' Plenty biomes (again, possibly other mods - I only tested Chromaticraft/BoP). Also, Chromaticraft's Dimensional biomes can override its own Luminous Cliffs Edge biome. For all tests, using MC 1.7.10 with Forge 'forge-1.7.10-10.13.4.1614-1.7.10-universal' Using Chromaticraft and DragonAPI, v29g. Biomes O' Plenty testing used BoP 2.1.0.2027 universal First test: Chromaticraft + Dragon API: No config changes: Loads successfully (expected) Luminous Cliffs Edge Biome == Monument Field Biome (ID:50): Loads successfully (not expected) Added MineTweaker, ran 'mt biomes', output showed Luminous Cliffs Edge biome was missing. Chromaticraft + Dragon API + Minetweaker: Several tests, each one setting Monument Field Biome to the same as a non-Dim biome (Luminous Cliffs, Ender Forest, Rainbow Forest, Radiant Fissures): Does not load successfully (expected) Added Biomes O' Plenty, default configs (multiple conflicts): Canyon (47), Cherry Blossom (49), and others overridden by Chromaticraft Biomes (Dim and non-Dim): Loads successfully (not expected) I'm sorry, but I'm short on time, so I can't upload the logs right now, but if you need them, I can.

ghost commented 3 years ago

In fact, it seems you can set all biomes in Biomes O' Plenty to have the same id, and they won't spawn/cause an error (world type set to BIOMESOP): ids.cfg.txt minetweaker.log fml-server-latest.log

ReikaKalseki commented 3 years ago

In fact, it seems you can set all biomes in Biomes O' Plenty to have the same id, and they won't spawn/cause an error (world type set to BIOMESOP):

Because my checker does not check any biomes except those I add.

Also, Chromaticraft's Dimensional biomes can override its own Luminous Cliffs Edge biome.

That makes even less sense, since the checker confirms that a slot is free when registering a biome in the first place.

Shibva commented 2 years ago

you know, this might be the same issue with #2962 as for what might be happening, the thing that might be having properly implement the biome check might not be applying its ID for some reason

it could also do with specific actions; like happening on existing worlds or worlds that have mods added to them often (if that one warning that pops up is a warning in regards to that)

it could also have something to do with another mod not seeing the id that auto-assigns itself as taken. TBH when I'm in this version I use Anti-ID conflict as it won't let the game load unless all id adjustments are made by hand,