From b95a7f063bf355085c25908fb0d24b519159703f Mon Sep 17 00:00:00 2001 From: Wizjany Date: Tue, 7 Jun 2011 16:31:58 -0400 Subject: [PATCH] Fixed disabling durability resetting things which use durability otherwise --- .../sk89q/worldguard/bukkit/WorldGuardBlockListener.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardBlockListener.java b/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardBlockListener.java index ec92f36b..e924c7f8 100644 --- a/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardBlockListener.java +++ b/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardBlockListener.java @@ -32,6 +32,8 @@ import org.bukkit.event.block.BlockIgniteEvent.IgniteCause; import org.bukkit.inventory.ItemStack; import com.sk89q.worldedit.Vector; +import com.sk89q.worldedit.blocks.BlockType; +import com.sk89q.worldedit.blocks.ItemType; import com.sk89q.worldguard.LocalPlayer; import com.sk89q.worldguard.blacklist.events.*; import com.sk89q.worldguard.protection.ApplicableRegionSet; @@ -131,7 +133,9 @@ public void onBlockBreak(BlockBreakEvent event) { if (!wcfg.itemDurability) { ItemStack held = player.getItemInHand(); - if (held.getTypeId() > 0) { + if (held.getTypeId() > 0 + && !(ItemType.usesDamageValue(held.getTypeId()) + || BlockType.usesData(held.getTypeId()))) { held.setDurability((short) -1); player.setItemInHand(held); }