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

GreekFantasy's ConfiguredFeatures need to be registered #7

Closed
TelepathicGrunt opened this issue Dec 9, 2020 · 1 comment
Closed

Comments

@TelepathicGrunt
Copy link

TelepathicGrunt commented Dec 9, 2020

Hello! I was test running my mod called Blame with a bunch of mods and it seemed to have found that greeFantasy has several 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:


****************** Blame Report 1.7.3 ******************

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:

greekfantasy:ara_camp
greekfantasy:harpy_nest
greekfantasy:limestone
greekfantasy:marble
greekfantasy:olive_leaves
greekfantasy:olive_log
greekfantasy:olive_tree
greekfantasy:reeds
greekfantasy:satyr_camp
greekfantasy:small_nether_shrine
greekfantasy:small_shrine

@skyjay1
Copy link
Owner

skyjay1 commented Dec 10, 2020

Fixed in commit 67e5b91

@skyjay1 skyjay1 closed this as completed Dec 10, 2020
@skyjay1 skyjay1 mentioned this issue Dec 10, 2020
skyjay1 added a commit that referenced this issue Jan 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants