Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EvilCraft's configuredfeatures and configuredstructures are not registered #842

Closed
TelepathicGrunt opened this issue Jan 26, 2021 · 2 comments

Comments

@TelepathicGrunt
Copy link

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

@rubensworks
Copy link
Member

Thanks for the report!

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

@rubensworks rubensworks added this to To Do in Maintenance via automation Jan 26, 2021
@TelepathicGrunt
Copy link
Author

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

Maintenance automation moved this from To Do to Done Jan 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Maintenance
  
Done
Development

No branches or pull requests

2 participants