Vanilla structure biomes aren't properly checked for
Opened this issue ยท 5 comments
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:
- open biome_ids.json
- set one biome to -1
- 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
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.
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.
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.
@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
.