Sasai-Kudasai-BM / Water-Physics-Overhaul

48 stars 17 forks source link

[compatibility] Game crashed with mod "repurposed structures" in nether #6

Open CHanzyLazer opened 3 years ago

CHanzyLazer commented 3 years ago

I have tested that when with mod "repurposed structures" (curse forge), it can successfully started but it crashed when I go into the nether.

crash report(just water physics overhaul and repurposed structures): minecraft-exported-logs-2021-05-21T00-14-42.log

TelepathicGrunt commented 3 years ago

Linking the report from my github to here: https://github.com/TelepathicGrunt/RepurposedStructures/issues/97

@Sasai_Kudasai_BM , the issue is you are using mixins to directly add new properties to the block's StateContainer. However, this is extremely dangerous because worldgen json files introduced by mojang in 1.16.2+, requires people to specify every single property of a block in those files. Especially for surfacebuilders and processor files. When a block is specified in those json file but is missing a property, the json file explodes and wrecks worldgen and can cause crashes.

By adding a new waterloggable property to block, it now breaks all mods and datapacks that uses those blocks in their json files including my mod too. My mod makes heavy use of processor json files for my structures.

However, there is some good news! Another mod called Statement by Virtuoel found a way to add new properties to blocks without break vanilla's blockstate parsing json system. You should contact him or check out his Fabric mod for how it works and make use of it. Although, Virtuoel just ported it to Forge but still needs time to make a release. Once it is released, you could depend on that lib and remove your mixins to make your mod compatible again with everyone.

Hope this helps! For now, I'll mark your mod as incompatible on my Curseforge page so people know my mod won't work with your's so we don't get slammed with more bug reports lol.

TelepathicGrunt commented 3 years ago

Statement just got released for Forge now! Water-Physics-Overhaul can now use this lib and remove the mixins that directly adds the waterlogging properties to blocks. https://www.curseforge.com/minecraft/mc-mods/statement