From 20a63c75cbf2faae945eaa92e81c836e737431e3 Mon Sep 17 00:00:00 2001 From: Emily Ediger Date: Sun, 24 Apr 2022 20:17:37 -0500 Subject: [PATCH] Issue with control flow would cause line 128 to crash. After placing your final boiler, the item count gets set to 0 and the item is removed from your inventory. That item in your hand is then used again to verify if it was a chest. Minimal changes made to the code to prevent other bugs from popping up. Added control flow to check to verify the item is null before being used again --- build.prop | 2 +- .../handlers/PlayerInteractionHandler.java | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/build.prop b/build.prop index e323ed6..e9930a3 100644 --- a/build.prop +++ b/build.prop @@ -1,6 +1,6 @@ minecraft_version=1.7.10 forge_version=10.13.4.1566-1.7.10 tfc_version=0.79.27 -mod_version=1.21 +mod_version=1.22 mod_id=TerraFirmaPunkTweaks group_name=com.JAWolfe.TerraFirmaPunkTweaks diff --git a/src/main/java/com/JAWolfe/terrafirmapunktweaks/handlers/PlayerInteractionHandler.java b/src/main/java/com/JAWolfe/terrafirmapunktweaks/handlers/PlayerInteractionHandler.java index 4bf8d65..aebc43f 100644 --- a/src/main/java/com/JAWolfe/terrafirmapunktweaks/handlers/PlayerInteractionHandler.java +++ b/src/main/java/com/JAWolfe/terrafirmapunktweaks/handlers/PlayerInteractionHandler.java @@ -89,10 +89,8 @@ public class PlayerInteractionHandler { if (event.entityPlayer.worldObj.isRemote) return; - - ItemStack itemInHand = event.entityPlayer.getCurrentEquippedItem(); - if(itemInHand == null) + if(event.entityPlayer.getCurrentEquippedItem() == null) return; if(event.action == Action.RIGHT_CLICK_BLOCK && event.getResult() != Result.DENY) @@ -124,15 +122,17 @@ public class PlayerInteractionHandler event.entityPlayer.getCurrentEquippedItem().stackSize--; } } - - if(event.entityPlayer.getCurrentEquippedItem().getItem() == Item.getItemFromBlock(Blocks.chest)) + if(event.entityPlayer.getCurrentEquippedItem() != null) { - event.setCanceled(true); + if(event.entityPlayer.getCurrentEquippedItem().getItem() == Item.getItemFromBlock(Blocks.chest)) + { + event.setCanceled(true); - if(event.entityPlayer.getCurrentEquippedItem().stackSize == 1) - event.entityPlayer.setCurrentItemOrArmor(0, null); - else - event.entityPlayer.getCurrentEquippedItem().stackSize--; + if(event.entityPlayer.getCurrentEquippedItem().stackSize == 1) + event.entityPlayer.setCurrentItemOrArmor(0, null); + else + event.entityPlayer.getCurrentEquippedItem().stackSize--; + } } } }