Chisel-Team / Chisel

A builder's best friend
http://chisel.team
GNU General Public License v2.0
187 stars 131 forks source link

Shift click crash #338

Open thundr opened 7 years ago

thundr commented 7 years ago

I knew this would crash, but I hoped there was enough error handling that it wouldn't be too bad.

If your inventory is full, and you shift click a stack into the chisel gui to be chiseled, and you pick up some items that fill that last slot that was taken up by the stack you just sent to the chisel gui, you will crash the client if you shift click a new variant from the gui.

For example: All inventory is filled with cobble. Shift click a stack of cobble to chisel ui while standing on a ton more. Player picks up another stack, leaving the inventory full with a stack still in the chisel. Shift click a new cobble variant, and enjoy your CTD.

Log: ` Description: Updating screen events

java.lang.NullPointerException: Updating screen events at cofh.lib.util.helpers.InventoryHelper.mergeItemStack(InventoryHelper.java:315) at net.minecraft.inventory.Container.func_75135_a(SourceFile) at team.chisel.inventory.ContainerChisel.func_82846_b(ContainerChisel.java:108) at net.minecraft.inventory.Container.func_75144_a(SourceFile:193) at team.chisel.inventory.ContainerChisel.func_75144_a(ContainerChisel.java:73) at net.minecraft.inventory.Container.func_75133_b(SourceFile:365) at net.minecraft.inventory.Container.func_75144_a(SourceFile:199) at team.chisel.inventory.ContainerChisel.func_75144_a(ContainerChisel.java:73) at net.minecraft.client.multiplayer.PlayerControllerMP.func_78753_a(PlayerControllerMP.java:419) at codechicken.nei.guihook.GuiContainerManager.handleSlotClick(GuiContainerManager.java:504) at net.minecraft.client.gui.inventory.GuiContainer.func_146984_a(GuiContainer.java:638) at net.minecraft.client.gui.inventory.GuiContainer.public_func_146984_a(GuiContainer.java) at codechicken.nei.guihook.DefaultSlotClickHandler.callHandleMouseClick(DefaultSlotClickHandler.java) at codechicken.nei.guihook.DefaultSlotClickHandler.handleSlotClick(DefaultSlotClickHandler.java:17) at codechicken.nei.guihook.GuiContainerManager.handleMouseClick(GuiContainerManager.java:453) at net.minecraft.client.gui.inventory.GuiContainer.managerHandleMouseClick(GuiContainer.java) at net.minecraft.client.gui.inventory.GuiContainer.func_73864_a(GuiContainer.java:394) at net.minecraft.client.gui.GuiScreen.func_146274_d(GuiScreen.java:296) at net.minecraft.client.gui.inventory.GuiContainer.func_146274_d(GuiContainer.java) at net.minecraft.client.gui.GuiScreen.func_146269_k(GuiScreen.java:268) at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1640) at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:973) at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:898) at net.minecraft.client.main.Main.main(SourceFile:148) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 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(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:236) at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:297) at org.multimc.EntryPoint.listen(EntryPoint.java:162) at org.multimc.EntryPoint.main(EntryPoint.java:53) `

Project Ozone 2.2.1, chisel version 2.9.5.11

I hoped against hope that this wouldn't crash, but I had the feeling it would.

tterrag1098 commented 7 years ago

1.7.10 is only supported for critical bugfixes. I see CoFH code at the top of the stack, please reproduce this without CoFH installed.

Barhandar commented 7 years ago

With Chisel alone the chiseled stacks simply vanish from existence, without crashing. Might be interaction with NEI.