Client Crashes sometimes when teleporting to area with pneumatic machines.
ruifung opened this issue ยท 7 comments
Minecraft Version
1.12.2
Forge Version
14.23.4.2705
Mod Version
0.6.6-192
Describe your problem, including steps to reproduce it
Game crashes sometimes when teleporting to an area with pneumatic machines.
Any other comments?
Time: 6/10/18 12:22 PM
Description: Rendering Block Entity
java.lang.IllegalArgumentException: Cannot get property PropertyEnum{name=facing, clazz=class net.minecraft.util.EnumFacing, values=[down, up, north, south, west, east]} as it does not exist in BlockStateContainer{block=minecraft:air, properties=[]}
at net.minecraft.block.state.BlockStateContainer$StateImplementation.func_177229_b(BlockStateContainer.java:201)
at me.desht.pneumaticcraft.common.tileentity.TileEntityBase.getRotation(TileEntityBase.java:295)
at me.desht.pneumaticcraft.client.render.tileentity.RenderRefinery.getTanksToRender(RenderRefinery.java:33)
at me.desht.pneumaticcraft.client.render.tileentity.RenderRefinery.getTanksToRender(RenderRefinery.java:11)
at me.desht.pneumaticcraft.client.render.tileentity.FastFluidTESR.renderTileEntityFast(FastFluidTESR.java:21)
at me.desht.pneumaticcraft.client.render.tileentity.FastFluidTESR.renderTileEntityFast(FastFluidTESR.java:16)
at net.minecraftforge.client.model.animation.FastTESR.func_192841_a(FastTESR.java:58)
at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.func_192854_a(TileEntityRendererDispatcher.java:155)
at net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher.func_180546_a(TileEntityRendererDispatcher.java:130)
at net.minecraft.client.renderer.RenderGlobal.func_180446_a(RenderGlobal.java:705)
at net.minecraft.client.renderer.EntityRenderer.func_175068_a(EntityRenderer.java:1345)
at net.minecraft.client.renderer.EntityRenderer.func_78471_a(EntityRenderer.java:1259)
at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1062)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1117)
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:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
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:498)
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
at org.multimc.EntryPoint.listen(EntryPoint.java:143)
at org.multimc.EntryPoint.main(EntryPoint.java:34)
Hmm, looks like maybe the TESR is running before the client has the chunk properly sync'd from server.
Can probably check for a valid (client-side) chunk in the TESR and bail if there isn't one.
Either that or you have some world corruption... the Refinery TESR should see a BlockRefinery at its position, but it's seeing air instead.
EIO travel anchors and the teleportation staff.
And it's definitely not world corruption, since once I restart client and reconnect to server, its fine.
I haven't been able to reproduce the problem, but I pushed a change which might help. Could you try out build 211 from http://jenkins.k-4u.nl/job/PneumaticCraft-Repressurized/ and let me know if that makes a difference?
mhm, I'll try it, but understand that this crash happens VERY rarely for me too. It's basically random when I'm teleporting around. I couldn't reproduce it reliably either. (This is on a server.)
Yeah, I get it. I'm sure it's down to a timing issue - the TESR shouldn't be called to draw anything before the associated block is sync'd to the client but it looks like it occasionally is. Hopefully the checks I've just added will act as a failsafe but we'll see...