Extended Mushrooms

Extended Mushrooms

4M Downloads

Unregistered ConfiguredFeatures in Extended Mushrooms

TelepathicGrunt opened this issue ยท 2 comments

commented

Hello! I was running my mod called Blame with a bunch of mods and it seemed to have found that Extended Mushrooms has a few ConfiguredFeatures that are not registered. This can be an issue for mod compatibility as under certain conditions, unregistered ConfiguredFeatures can basically prevent other mod's registered ConfiguredFeatures from spawning if in the same generation stage.

By that I mean, if mod A adds an unregistered CF to the ore generation stage and the biome's codec reaches it first, it will choke and basically nuke mob B's registered CFs afterwards. Here's a case where BetterCaves forgot to register their CF and caused several CFs from Oh The Biomes You'll Go to stop spawning in the world: YUNG-GANG/YUNGs-Better-Caves#75

Here's a more detailed explanation of why this happens in the biome's codec:
image

Specifically, when you call .withConfiguration on a Feature, you create a ConfiguredFeature. This is what should be registered to the WorldgenRegisties at mod init (you can do it in FMLCommonSetupEvent so you have your config ready too if it is needed).

Anyway here's an example from my mod RepurposedStructures of me registering all my ConfiguredFeatures.
https://github.com/TelepathicGrunt/RepurposedStructures/blob/584433a0745338802c84e9f498dc063c1f5505f8/src/main/java/com/telepathicgrunt/repurposedstructures/modinit/RSConfiguredStructures.java#L72-L74

I hope this helps!

From the log with Blame where it tried to figure out what unnamed configuredfeature is unregistered by parsing its json.


****************** Blame Report 1.7.4 ******************

This is an experimental report. It is suppose to automatically read
the JSON of all the unregistered ConfiguredFeatures, ConfiguredStructures,
and ConfiguredCarvers. Then does its best to collect the terms that seem to
state whose mod the unregistered stuff belongs to.

Possible mods responsible for unregistered stuff:
extendedmushrooms:big_glowshroom
extendedmushrooms:big_poisonous_mushroom
extendedmushrooms:glowshroom
extendedmushrooms:glowshroom_cap
extendedmushrooms:glowshroom_stem
extendedmushrooms:infested_flower
extendedmushrooms:infested_grass
extendedmushrooms:mega_brown_mushroom
extendedmushrooms:mega_glowshroom
extendedmushrooms:mega_poisonous_mushroom
extendedmushrooms:mega_red_mushroom
extendedmushrooms:poisonous_mushroom
extendedmushrooms:poisonous_mushroom_cap
extendedmushrooms:poisonous_mushroom_stem

commented

Thanks for that, I will look into this :)

commented

will be released in next version