Crash in DynamicChunkCache
OreCruncher opened this issue ยท 2 comments
Mod Version:
1.12.2-3.4.9.6
Forge Version:
14.23.2.2611
Link to crash log (if applicable):
https://pastebin.com/bnVheFZC
java.lang.ArrayIndexOutOfBoundsException: -1
at org.blockartistry.lib.chunk.DynamicChunkCache.getBlockState0(DynamicChunkCache.java:184)
at org.blockartistry.lib.chunk.DynamicChunkCache.getBlockState(DynamicChunkCache.java:279)
at org.blockartistry.DynSurround.client.fx.DustJetEffect.canTrigger(DustJetEffect.java:57)
at org.blockartistry.DynSurround.client.handlers.scanners.RandomBlockEffectScanner.blockScan(RandomBlockEffectScanner.java:89)
at org.blockartistry.lib.scanner.Scanner.func_73660_a(Scanner.java:152)
at org.blockartistry.DynSurround.client.handlers.AreaBlockEffectsHandler.process(AreaBlockEffectsHandler.java:63)
at org.blockartistry.DynSurround.client.handlers.EffectManager.onTick(EffectManager.java:144)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_827_EffectManager_onTick_ClientTickEvent.invoke(.dynamic)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:179)
at net.minecraftforge.fml.common.FMLCommonHandler.onPreClientTick(FMLCommonHandler.java:343)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1706)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1096)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:397)
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:483)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
There was a problem in the coord bounds checking in DynamicChunkCache that is fixed up. However, the code should not have been triggered by the RandomScanner. Only way that could have happened is that the block state of AIR changed between when it was cached by Dynamic Surroundings and runtime. This is strange. I made additional code changes to not cache the air state and to query it when it is needed.