Biomes O' Plenty

Biomes O' Plenty

151M Downloads

java.lang.IllegalArgumentException

0Navis0 opened this issue ยท 15 comments

commented

I get this error randomly when I play to the last 1.9 and 1.94 version on Minecraft. The game crashes for no reasons and I get this error. http://pastebin.com/EtvYEEeY

commented

Looks like the same crash as I'm getting, now. And it was going so well. heh

Here's the log from the time unexpected things happen: http://pastebin.com/aGDDQBib

MC 1.9.4, Forge version 1922, and BiomesOPlenty-1.9.4-4.1.0.2023-universal.jar.

commented

Me too, as soon as the world loaded, it crashes, so I have no way of entering it.

https://gist.github.com/Imnuts7/45efe8ba8e88cc5367db614b12298aeb

MC 1.9.4, Forge 1940, BoP 4.1.0-2023.

commented

Same error here with
MC1.9, Forge 1934, BoP 1.9-4.0.2.2018 .

commented

This isn't a conflit with Forestry, this bug happened before Forestry updates it.

commented

You can trigger this crash by right-clicking a BoP grass block with a cactus in your hand, no other mods involved in the interaction.
https://gist.github.com/mezz/79c28cdabcd1ecdeed60ee8082ee330a

commented

So any way to fix the world gen crash temporarily till a new updates comes out?
Does disabling BoP grass fix it or something?

commented

Yes, you can disable the grasses in the worldgen configs.

commented

Would that fix it though?
Also which file do I edit? config/biomesoplenty/ folder doesn't have a config option for that.

commented

As a workaround, disable both BoP Grass and BoP Soils on page 3 of the "customize" world options. This menu is available when you create the world.

commented

You mean the sandy, loamy and origin dirt/grass ? Why should we disable them ? It won't solve the bug, it will just prevent that it happens.

commented

It's a workaround, not a solution. I am not the maintainer of this project.

commented

This is a bug in Forge. In BlockCactus lines 113-114 the following is present:

    IBlockState state = worldIn.getBlockState(pos.down());
    return state.getBlock().canSustainPlant(state, worldIn, pos, EnumFacing.UP, this) && !worldIn.getBlockState(pos.up()).getMaterial().isLiquid();

Which is inconsistent with every other usage of canSustainPlant. It should be:

    IBlockState state = worldIn.getBlockState(pos.down());
    return state.getBlock().canSustainPlant(state, worldIn, pos.down(), EnumFacing.UP, this) && !worldIn.getBlockState(pos.up()).getMaterial().isLiquid();

I don't have time to fix this myself at the moment (with a PR to Forge), but given that this exact same issue has popped up countless times with other mods making the exact same mistake I'm pretty confident that this is the problem.

commented

Confirmed. I can report it to Forge if you're short on time.

commented

Yeah, that'd be good thanks, unfortunately haven't had time to deal with much modding stuff lately

commented