Omni

Omni

94k Downloads

[1.16.4] Omni flower and rocks ConfiguredFeatures not registered

TelepathicGrunt opened this issue ยท 1 comments

commented

Hello! Someone was running my mod called Blame with Omni one and it seemed to have found that Omni's ConfiguredFeature forms of its flowers and ores/rocks 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.8.1 ******************

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:

omni:black_lotus_flower
omni:blue_lotus_flower
omni:exposed_ore
omni:geode
omni:orange_lotus_flower
omni:pink_lotus_flower
omni:purple_lotus_flower
omni:red_lotus_flower
omni:red_rock
omni:speleothem
omni:white_lotus_flower
omni:yellow_lotus_flower

commented

Seems to be happening for these 3 things
omni:golden_oak_leaves
omni:saguaro_cactus
omni:speleothem