EvilCraft

EvilCraft

19M Downloads

EvilCraft's configuredfeatures and configuredstructures are not registered

TelepathicGrunt opened this issue ยท 2 comments

commented

Hello! Someone was running my mod called Blame with EvilCraft and it seemed to have found that EvilCraft's ConfiguredFeatures and ConfiguredStructures are not registered. This can be an issue for mod compatibility as under certain conditions, unregistered ConfiguredFeatures/Structures can basically prevent other mod's registered ConfiguredFeatures/Structures 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/2b23538a37a474eaf560dd39baff705bfe22dab3/src/main/java/com/telepathicgrunt/repurposedstructures/modinit/RSConfiguredFeatures.java#L184-L185

I hope this helps!

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


****************** Blame Report 1.9.2 ******************

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:

evilcraft:dark_ore
evilcraft:dark_temple
evilcraft:evil_dungeon
evilcraft:infested_nether_nether_bricks
evilcraft:infested_nether_netherrack
evilcraft:infested_nether_soul_sand

commented

Thanks for the report!

Probably the same problem as has been reported here: CyclopsMC/IntegratedDynamics#975

commented

ah yeah I actually got that Blame report myself (due to crashing world blender with the configuredfeature that cannot be turned into json) but I couldn't figure out what mod was using cyclop. Thank you! One less mystery for me to solve lol