Biomes O' Plenty

Biomes O' Plenty

152M Downloads

1.16.3 added new mod to a previous created world and biomes mod crashes the save as far as i can tell

SDUBZ opened this issue ยท 10 comments

commented

Bug Report

[biomesoplenty
Render thread
Failed to load save.
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at biomesoplenty.common.world.BOPWorldTypeUtil.isUsingBopWorldType(BOPWorldTypeUtil.java:46)
at biomesoplenty.client.handler.GuiEventHandler.isBopWorldType(GuiEventHandler.java:142)
at biomesoplenty.client.handler.GuiEventHandler.onGuiDraw(GuiEventHandler.java:95)
at net.minecraftforge.eventbus.ASMEventHandler_208_GuiEventHandler_onGuiDraw_DrawScreenEvent.invoke(.dynamic)
at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85)
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:297)
at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:278)
at net.minecraft.client.renderer.GameRenderer.func_195458_a(GameRenderer.java:491)
at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:953)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:584)
at net.minecraft.client.main.Main.main(Main.java:184)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51)
at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$478/1013364696.call(Unknown Source)
at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37)
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54)
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72)
at cpw.mods.modlauncher.Launcher.run(Launcher.java:81)
at cpw.mods.modlauncher.Launcher.main(Launcher.java:65)]

What's the issue you encountered?

mentioned as in title
just tried adding mekanism pluss addons to a world prevously made and then got the outcome

How can the issue be reproduced?

maybe create a world without some of the mods and then enable them and try loading same world

[ Include a detailed step by step process for recreating your issue with only Biomes O' Plenty installed. ]

Logs

latest.log

Mod Version

BiomesOPlenty-1.16.3-12.0.0.409-universal
other mods:

mods.txt

commented

You're probably gonna need to report this to Mekanism. This is the second report we've received mentioning the mod, and seeing as you're only getting the crash when you add the mod, they're doing something that interferes with it. But their mod is far larger in scope than ours is, so there's no telling what could be affecting it just by looking at this log.

commented

okay will do can you leave this open so i can refer the devs back here :D

commented

@Forstride the dev at mekanism is saying " The error is in their code. From the quick look I had at their github, its trying to read something from their config." mekanism/Mekanism#6624

commented

The only way this error could happen is if the dimension entries for the Nether and the End stopped existing. There's no way for this to happen under normal circumstances, and I don't think adding a workaround is sensible given that this implies things are severely broken

commented
commented

I'm getting the same issue with my mod or well, a very similar with with a different trigger. My mod is The Bumblezone and when it is put on with Biomes O Plenty: https://pastebin.com/31j2LUhp

Bumblezone works perfectly with BoP off and even with any other mod. But once BoP is on, it gets that error shown above if I make a fresh world, exit, and attempt to re-enter it. My mod uses Json to make the dimension and dimensiontype.

Notice the
[22Oct2020 10:42:01.061] [Render thread/ERROR] [net.minecraft.world.storage.SaveFormat/]: WorldGenSettings: Failed to parse the_bumblezone:dimension_type/the_bumblezone.json file: the_bumblezone:dimension_type/the_bumblezone.json missed input: {"the_bumblezone:the_bumblezone":{generator:{structures:{structures:{}},biome_source:{type:"the_bumblezone:biome_source"},type:"the_bumblezone:chunk_generator"},type:"the_bumblezone:the_bumblezone"}}
which should not happen as the json is parsed perfectly fine when BoP is off. My suspicion is that BoP might be accessing dimensions or something too early before the DynamicRegistry could finish parsing the dimensiontype json files.

This should be reproducible with a datapack. I'll try and make one to see.
Otherwise, there's nothing I can do on my end as this seems to be an issue with how BoP detects/uses dimensions.

commented

Yep. I was able to reproduce my above issue with a datapack that makes a new json dimension that uses just a custom dimensiontype. Although the logs does not show the following this time:

[22Oct2020 10:42:01.423] [Render thread/WARN] [biomesoplenty/]: Failed to load save.
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1

which makes me believe the original mekanism issue is a separate issue than this json dimensiontype issue.

Here's the datapack:
overworld2.zip

Let me know if you want me to make this it's own issue report instead. Hope this helps!

commented

The only way this error could happen is if the dimension entries for the Nether and the End stopped existing. There's no way for this to happen under normal circumstances, and I don't think adding a workaround is sensible given that this implies things are severely broken

Sounds like this mojang bug: https://bugs.mojang.com/browse/MC-197860
Basically removing any dimension mod breaks the other dimensions for the saved world unless the user goes into the level.dat file and remove all the dimension entries from WorldGenSettings/dimension section

commented

I am having a similar issue. I had a 1.16.1 BOP world. Upgraded everything to 1.16.3. The world opens once. I can save and exit. But if I load in again I hang up at the "Reading World Data" screen. It doesn't even crash, so I can't give you a log. It's odd that it loads once but never the second time. When I remove BOP the world loads.

commented

Same issue as Bumblezone here with Mahou Tsukai. It works without BOP, and with other worldgen mods, but if you put the two mods in, then:

  1. create a new BOP world
  2. save and quit
  3. rejoin the world

it freezes with the same JSON parsing error in the logs. My JSON works fine without BOP, and doesn't spawn in the overworld either.

https://pastebin.com/JkmXaZaM

Edit: I also use a datapack for my dimension/biome.