diff --git a/src/main/java/tconstruct/tools/TinkerToolEvents.java b/src/main/java/tconstruct/tools/TinkerToolEvents.java index ecb5d4e7634..b6d31099881 100644 --- a/src/main/java/tconstruct/tools/TinkerToolEvents.java +++ b/src/main/java/tconstruct/tools/TinkerToolEvents.java @@ -5,6 +5,7 @@ import cpw.mods.fml.common.gameevent.PlayerEvent.ItemCraftedEvent; import java.util.List; import net.minecraft.entity.*; +import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.monster.*; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityArrow; @@ -13,6 +14,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.*; import net.minecraftforge.event.entity.living.*; +import net.minecraftforge.event.entity.player.PlayerDropsEvent; import net.minecraftforge.oredict.*; import net.minecraftforge.oredict.OreDictionary.OreRegisterEvent; import tconstruct.TConstruct; @@ -432,4 +434,23 @@ else if (evt.Name.equals("crystalCertusQuartz")) TinkerTools.modAttack.addStackToMatchList(evt.Ore, 24); } } + + + @SubscribeEvent + public void damageToolsOnDeath (PlayerDropsEvent event) + { + for(EntityItem drop : event.drops) + { + // we're only interested in tools + if(!(drop.getEntityItem().getItem() instanceof ToolCore) || !drop.getEntityItem().hasTagCompound()) + continue; + + // damage tools by 10% of their total durability! + NBTTagCompound tags = drop.getEntityItem().getTagCompound().getCompoundTag("InfiTool"); + int dur = tags.getInteger("TotalDurability"); + dur /= 10; + + AbilityHelper.damageTool(drop.getEntityItem(), dur, event.entityPlayer, true); + } + } }