Dynamic Trees

Dynamic Trees

25M Downloads

[1.16.5] DynamicTree's configuredfeatures are not registered

TelepathicGrunt opened this issue ยท 1 comments

commented

Hello! I tested DynamicTrees with my mod called Blame and it seemed to have found that
the dynamic tree ConfiguredFeature is 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/084cea914c015ab745ce2807fee0f15f2b88f7d8/src/main/java/com/telepathicgrunt/repurposedstructures/modinit/RSConfiguredStructures.java#L95-L102

I hope this helps!

From the log with Blame where it tried to figure out what unnamed configuredfeature is unregistered by parsing its json: https://paste.ee/p/fq6GH

commented

Thanks for the information. About to commit now and will be included in next patch.

Honestly I wish these were a Forge registry so that every mod is required to register them. Would certainly also make it a lot easier for us cancelling default tree features.