From c001bb8d2c65a89326630079a61087efa904c794 Mon Sep 17 00:00:00 2001 From: gmcferrin Date: Fri, 3 Feb 2012 13:28:17 -0500 Subject: [PATCH] Fixed some abilities not properly handling Unbreaking items. --- .../nossr50/listeners/mcBlockListener.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/listeners/mcBlockListener.java b/src/main/java/com/gmail/nossr50/listeners/mcBlockListener.java index 6c62c203e..9fc9fb014 100644 --- a/src/main/java/com/gmail/nossr50/listeners/mcBlockListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/mcBlockListener.java @@ -258,7 +258,10 @@ public class mcBlockListener implements Listener } } if(LoadProperties.toolsLoseDurabilityFromAbilities) - m.damageTool(player, (short) LoadProperties.abilityDurabilityLoss); + { + if(inhand.getEnchantments().containsKey(Enchantment.DURABILITY)) + m.damageTool(player, (short) LoadProperties.abilityDurabilityLoss); + } plugin.misc.treeFeller.clear(); } } @@ -396,6 +399,8 @@ public class mcBlockListener implements Listener mat = Material.SNOW_BALL; if(block.getTypeId() == 82) mat = Material.CLAY_BALL; + if(block.getTypeId() == 110) + mat = Material.DIRT; byte type = block.getData(); @@ -440,8 +445,14 @@ public class mcBlockListener implements Listener * LEAF BLOWER */ if(block.getTypeId() == 18 && mcPermissions.getInstance().woodcutting(player) && PP.getSkillLevel(SkillType.WOODCUTTING) >= 100 && m.isAxes(player.getItemInHand()) && m.blockBreakSimulate(block, player)) - { - m.damageTool(player, (short)1); + { + + if(LoadProperties.toolsLoseDurabilityFromAbilities) + { + if(inhand.getEnchantments().containsKey(Enchantment.DURABILITY)) + m.damageTool(player, (short) LoadProperties.abilityDurabilityLoss); + } + if(Math.random() * 10 > 9) { ItemStack x = new ItemStack(Material.SAPLING, 1, (short)0, block.getData());