Fabric API

Fabric API

106M Downloads

Crash at the world creation screen with datapack content added through the Biome API

Hugman76 opened this issue · 10 comments

commented

The game crashes when trying to create a world, if a mod with datapack content that is added through the Biome API is installed.
As a clear example, Promenade features Nether and End biomes and features that are now added by the mod's datapack (see commit DawnTeamMC/Promenade@0e14663 and this crash log) and then added to vanilla generation through the Biome API, which is part of the Fabric API.

In vanilla Minecraft, when you try to create a world, the vanilla builtin worldgen gets loaded, and then opens the screen with the loaded generic content. However the Biome API lets us add to the vanilla generation by adding RegistryKeys, but actually requires these keys to represent built-in content so that it gets loaded on this specific screen. This constraint should not exist, and as a fix the Fabric API must tell the game to load the mod datapacks at the same time as builtin Minecraft worldgen content on this screen.

commented

yet another duplicate of #2225

commented

This is not the same issue at all? You can load existing worlds, and the mod datapacks will work just fine. The issue is the create world screen.
Also, this is an issue I encountered on 1.18.2.

commented

@Hugman76 This is the exact issue #2225 is describing. (Yes, it exists in 1.18.2 too, it should be renamed.)

If you could provide a minimum reproduction code, that'd be appreciated.

commented

It seems that the PR only fixed it for 1.19, but not 1.18.

Can someone confirm this?

commented

Yeah, I have to backport the fix. There were quite a lot of changes there, which makes it not easy to do.

commented

#2321 backports the fix.

commented

This issue was not fixed.

commented

It seems that the PR only fixed it for 1.19, but not 1.18.

commented

The issue is still present in 1.19 too

commented

Loading an existing world does not work either now, and sends to the "World is using experimental worldgen settings" screen when it tries to load, and still because it cannot find the values for the keys provided by the mod's datapack.
This still applies only if you use the Biome API.