Oh The Biomes You'll Go

Oh The Biomes You'll Go

50M Downloads

[Crash]: Game crashing to desktop when creating new SP World

Gamemassa opened this issue ยท 2 comments

commented

Minecraft Version

1.19.2

BYG Version

2.0.0.11

Terrablender Version

2.0.1.127

Mod Loader

Fabric

Mod Loader Version

Latest

What happened?

I tried to create a new singleplayer world in the latest version of Fabric, and I got a crash report that looks like it may be a conflict between BYG and Terrestria, though I'm not entirely sure. I tried running without Terrestria, and BYG loaded fine (I also did the reverse and Terrestria loaded fine).

crash-log

https://gist.github.com/Gamemassa/3d3852f59c64874cc6bc2b72c132c72c

latest.log

https://gist.github.com/Gamemassa/342f5e95d1bcc26fad81ae31cfb48582

Did you isolate BYG?

I tried BYG alone

commented

This crash occurs because BYG (and probably others, including William Wythers' Overhauld Overworld) has an incorrect feature order in its Firecracker Shrubland biome. There is a longer analysis in the following Terrestria bug: TerraformersMC/Terrestria#277 (comment)

The short version is when mods use Vanilla features, they must use them in the same order relative to other Vanilla features. BYG's Firecracker Shrubland has the following two features reversed relative to Vanilla:

        BiomeDefaultFeatures.addDesertVegetation(generationSettings);
        // ...
        BiomeDefaultFeatures.addDefaultMushrooms(generationSettings);
commented

Pulling together Discord discussion on this:

What mojmap calls addDesertVegetation yarn calls addDesertDeadBushes.
What mojmap calls addDesertExtraVegetation yarn calls addDesertVegetation.

Thus the feature cycle we had is much clearer and was between these features (mojmap names):

    BiomeDefaultFeatures.addDesertVegetation(generationSettings);
    BiomeDefaultFeatures.addSavannaExtraGrass(generationSettings);

This would definitely be resolved by the change I made to Terrestria to reverse the order of those two features, which as far as I can tell is undefined in vanilla.

As such rather than rocking the boat again, I suggest we consider this issue to be (now) invalid.