From 224a3d45df62665ee0fc31b03f17ffdb98bbc3d7 Mon Sep 17 00:00:00 2001 From: Bernhard Bonigl Date: Sun, 21 Dec 2014 23:35:42 +0100 Subject: [PATCH] Temporary fix for belts being activatable after death #1217 This does not solve the problem, only prevent the crash. It'll cause clientside desyncs until the belt is re-equipped. --- .../java/tconstruct/armor/PlayerAbilityHelper.java | 4 +++- .../java/tconstruct/armor/player/TPlayerHandler.java | 11 ++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/tconstruct/armor/PlayerAbilityHelper.java b/src/main/java/tconstruct/armor/PlayerAbilityHelper.java index f0f1b121..3f41955f 100644 --- a/src/main/java/tconstruct/armor/PlayerAbilityHelper.java +++ b/src/main/java/tconstruct/armor/PlayerAbilityHelper.java @@ -28,6 +28,9 @@ public class PlayerAbilityHelper { NBTTagList slots = new NBTTagList(); InventoryPlayer hotbar = player.inventory; + ItemStack belt = armor.inventory[3]; + if(belt == null) + return; NBTTagCompound itemTag; @@ -43,7 +46,6 @@ public class PlayerAbilityHelper hotbar.mainInventory[i] = null; } - ItemStack belt = armor.inventory[3]; NBTTagList replaceSlots = belt.getTagCompound().getTagList("Inventory", 10); for (int i = 0; i < replaceSlots.tagCount(); ++i) { diff --git a/src/main/java/tconstruct/armor/player/TPlayerHandler.java b/src/main/java/tconstruct/armor/player/TPlayerHandler.java index 79f648a1..09fd918b 100644 --- a/src/main/java/tconstruct/armor/player/TPlayerHandler.java +++ b/src/main/java/tconstruct/armor/player/TPlayerHandler.java @@ -10,6 +10,7 @@ import java.net.*; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import mantle.player.PlayerUtils; +import net.minecraft.client.Minecraft; import net.minecraft.enchantment.Enchantment; import net.minecraft.entity.*; import net.minecraft.entity.Entity.EnumEntitySize; @@ -20,6 +21,7 @@ import net.minecraft.nbt.*; import net.minecraftforge.event.entity.EntityEvent; import net.minecraftforge.event.entity.living.*; import net.minecraftforge.event.entity.player.PlayerDropsEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; import tconstruct.TConstruct; import tconstruct.library.tools.AbilityHelper; import tconstruct.tools.TinkerTools; @@ -237,13 +239,15 @@ public class TPlayerHandler @SubscribeEvent public void playerDeath (LivingDeathEvent event) { - if (!event.entity.worldObj.isRemote && event.entity instanceof EntityPlayer) + if(!(event.entity instanceof EntityPlayer)) + return; + + if (!event.entity.worldObj.isRemote) { TPlayerStats properties = (TPlayerStats) event.entity.getExtendedProperties(TPlayerStats.PROP_NAME); properties.hunger = ((EntityPlayer) event.entity).getFoodStats().getFoodLevel(); playerStats.put(((EntityPlayer) event.entity).getPersistentID(), properties); } - } @SubscribeEvent @@ -362,7 +366,4 @@ public class TPlayerHandler TConstruct.logger.error(e.getMessage() != null ? e.getMessage() : "UNKOWN DL ERROR", e); } } - - Random rand = new Random(); - }