defeatedcrow / HeatAndClimateLib

Mod necessary for defeatedcrow's mod in 1.9.4+
16 stars 6 forks source link

[Mod Compability] Crash in climate calculation with Immersive Engineering #29

Closed delta-nos closed 2 years ago

delta-nos commented 2 years ago

Environment HeatAndClimateLib_1.12.2-3.8.7 HeatAndClimateMod_1.12.2-3.8.14 ImmersiveEngineering-0.12-98 (immersiveintelligence-0.2.1)

Description When player is under IE blocks, minecraft crashed. The trigger is probably if the block is extending "BlockIEBase.java".

Crash-Report

---- Minecraft Crash Report ----
// Would you like a cupcake?

Time: 2022-03-25 00:07:12 JST
Description: Ticking entity

java.lang.ArrayIndexOutOfBoundsException: 5
    at blusunrize.immersiveengineering.common.blocks.BlockIEBase.func_149656_h(BlockIEBase.java:317)
    at net.minecraft.block.state.BlockStateContainer$StateImplementation.func_185905_o(BlockStateContainer.java:418)
    at defeatedcrow.hac.core.climate.ClimateCalculator.hasRoof2(ClimateCalculator.java:570)
    at defeatedcrow.hac.core.climate.ClimateCalculator.getAirflow(ClimateCalculator.java:449)
    at defeatedcrow.hac.core.climate.ClimateCalculator.getClimate(ClimateCalculator.java:61)
    at defeatedcrow.hac.core.climate.ClimateCalculator.getClimate(ClimateCalculator.java:37)
    at defeatedcrow.hac.core.client.ClientClimateData.updatePlayerClimate(ClientClimateData.java:54)
    at defeatedcrow.hac.core.client.ClientProxyD.updatePlayerClimate(ClientProxyD.java:205)
    at defeatedcrow.hac.core.event.LivingEventDC.onPlayerKeyUpdate(LivingEventDC.java:376)
    at defeatedcrow.hac.core.event.LivingEventDC.onEvent(LivingEventDC.java:77)
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_1709_LivingEventDC_onEvent_LivingUpdateEvent.invoke(.dynamic)
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
    at net.minecraftforge.common.ForgeHooks.onLivingUpdate(ForgeHooks.java:581)
    at net.minecraft.entity.EntityLivingBase.func_70071_h_(EntityLivingBase.java:2095)
    at net.minecraft.entity.player.EntityPlayer.func_70071_h_(EntityPlayer.java:234)
    at net.minecraft.client.entity.EntityPlayerSP.func_70071_h_(EntityPlayerSP.java:181)
    at net.minecraft.world.World.func_72866_a(World.java:1996)
    at net.minecraft.world.World.func_72870_g(World.java:1958)
    at net.minecraft.world.World.redirect$zcg000$updateEntity(World.java:4123)
    at net.minecraft.world.World.func_72939_s(World.java:1762)
    at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1847)
    at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1098)
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:3942)
    at net.minecraft.client.main.Main.main(SourceFile:123)
    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.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

I know you may not support about compability, but I hope you read this, sorry.

delta-nos commented 2 years ago

Additional info. This crash is caused when climate calculator works, and the roof block is block extending "BlockIEBase.java" and ticking. For example, rubber tree leaves added by immersive inteligence.

Sorry for being late to tell detailed info.

defeatedcrow commented 2 years ago

This is not a compatibility issue. It is a single phenomenon of IE.

at blusunrize.immersiveengineering.common.blocks.BlockIEBase.func_149656_h(BlockIEBase.java:317) at net.minecraft.block.state.BlockStateContainer$StateImplementation.func_185905_o(BlockStateContainer.java:418)

This issue is crashing when a vanilla method called via a HaC calls a block property in BlockIEBase. Therefore, it can also be triggered by other mods or vanillas that call similar vanilla methods. I suspect an internal problem in IE, or a version mismatch with Forge or other libraries, but I'm not the author of it so I can't guess the problem. I recommend contacting the creator of IE.