diff --git a/UltimateTimber-Adapter/Current/src/main/java/com.songoda.ultimatetimber.adapter.current/CurrentAdapter.java b/UltimateTimber-Adapter/Current/src/main/java/com.songoda.ultimatetimber.adapter.current/CurrentAdapter.java index a9e5905..e42348e 100644 --- a/UltimateTimber-Adapter/Current/src/main/java/com.songoda.ultimatetimber.adapter.current/CurrentAdapter.java +++ b/UltimateTimber-Adapter/Current/src/main/java/com.songoda.ultimatetimber.adapter.current/CurrentAdapter.java @@ -56,8 +56,7 @@ public class CurrentAdapter implements VersionAdapter { @Override public void applyToolDurability(Player player, int damage) { ItemStack tool = this.getItemInHand(player); - - if (!tool.hasItemMeta() || !(tool.getItemMeta() instanceof Damageable)) + if (!(tool.getItemMeta() instanceof Damageable)) return; int unbreakingLevel = tool.getEnchantmentLevel(Enchantment.DURABILITY); @@ -71,7 +70,8 @@ public class CurrentAdapter implements VersionAdapter { damageable.setDamage(damageable.getDamage() + actualDamage); tool.setItemMeta((ItemMeta) damageable); - + if (!this.hasEnoughDurability(tool, 1)) + this.removeItemInHand(player); } @Override diff --git a/UltimateTimber/Core/src/main/java/com/songoda/ultimatetimber/utils/Methods.java b/UltimateTimber/Core/src/main/java/com/songoda/ultimatetimber/utils/Methods.java index be19252..37751a1 100644 --- a/UltimateTimber/Core/src/main/java/com/songoda/ultimatetimber/utils/Methods.java +++ b/UltimateTimber/Core/src/main/java/com/songoda/ultimatetimber/utils/Methods.java @@ -42,7 +42,7 @@ public class Methods { * @return True if durability should be applied, otherwise false */ public static boolean checkUnbreakingChance(int level) { - return ((double) 1 / (level + 1)) > random.nextDouble(); + return (1.0 / (level + 1)) > random.nextDouble(); } } diff --git a/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/manager/TreeFallManager.java b/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/manager/TreeFallManager.java index 597bc2b..b6118de 100644 --- a/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/manager/TreeFallManager.java +++ b/UltimateTimber/Plugin/src/main/java/com/songoda/ultimatetimber/manager/TreeFallManager.java @@ -75,6 +75,9 @@ public class TreeFallManager extends Manager implements Listener { if (detectedTree == null) return; + if (!treeDefinitionManager.isToolValidForTreeDefinition(detectedTree.getTreeDefinition(), tool)) + return; + int toolDamage = ConfigurationManager.Setting.REALISTIC_TOOL_DAMAGE.getBoolean() ? detectedTree.getDetectedTreeBlocks().getLogBlocks().size() : 1; if (ConfigurationManager.Setting.PROTECT_TOOL.getBoolean() && !versionAdapter.hasEnoughDurability(tool, toolDamage)) return;