Biomes O' Plenty

Biomes O' Plenty

151M Downloads

Vanilla structure biomes aren't properly checked for

Opened this issue ยท 5 comments

commented

Issue Description:

Something changed in the config logic, previously you could set an ID of a Biome to -1, in order to disable it from spawning. That's not working anymore, you can't even start the game, it gets interrupted by an error.

`Description: There was a severe problem during mod loading that has caused the game to fail

net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Biomes O' Plenty (biomesoplenty)
Caused by: java.lang.IllegalStateException: Optional.get() cannot be called on an absent value
at com.google.common.base.Absent.get(Absent.java:47)
at biomesoplenty.common.init.ModVanillaCompat.init(ModVanillaCompat.java:23)
at biomesoplenty.core.BiomesOPlenty.preInit(BiomesOPlenty.java:92)
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:483)
at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:641)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:252)
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:230)
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:483)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:147)
at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:647)
at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:276)
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:440)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:352)
at net.minecraft.client.main.Main.main(SourceFile:124)
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:483)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
`

Steps to reproduce:

  1. open biome_ids.json
  2. set one biome to -1
  3. start minecraft

Additional Information:

  • fml-client-latest.log or fml-server-latest.log:
  • Screenshots:

Affected Versions (Exact numbers, do not use "latest"):

  • Biomes O' Plenty: BiomesOPlenty-1.11.2-6.1.0.2238-universal.jar
  • Minecraft: 1.11.2
  • Forge: 13.20.0.22994
commented

I just tested the versions you specified (I'm assuming you meant Forge 13.20.0.2294) and set highland, coral_reef, and bamboo_forest to -1, and I experienced no issue. The game loaded just fine.

Please provide the actual crash report and not just the stacktrace.

commented

You are right, it looks like the issue had to do with some biome ID's not correctly changing after the recent update changes, they were different but deleting the biome_id config and letting it regenerate fixed the issue.

commented

This issue shouldn't be closed, as it is [most likely] due to me not properly checking if biomes are present when adding them to the list for where Woodland Mansions can generate.

I'm assuming you had one of the following biomes disabled: Coniferous Forest, Dead Forest, Ominous Woods, Snowy Coniferous Forest, or Woodland.

commented

@Forstride Sorry for not tracing this back through the BoP source from the stacktrace info and spending a bit more time looking into this. I was indeed able to replicate this issue by disabling woodland.

commented

That's true, tried to deactivate it again and got a start up crash as well. Well i am glad you have found the issue.