nossr50 6 years ago
parent
commit
9c04054017

+ 3 - 0
Changelog.txt

@@ -1,3 +1,6 @@
+Version 2.1.80
+    (Fix) mcMMO now respects the NBT "Unbreakable" tag and does not deal durability damage to items with that tag
+
 Version 2.1.79
     Updated Japanese locale (Thanks snake0053)
     Fixed a NPE that could happen when using Tree Feller with an unenchanted Axe

+ 1 - 1
pom.xml

@@ -2,7 +2,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.gmail.nossr50.mcMMO</groupId>
     <artifactId>mcMMO</artifactId>
-    <version>2.1.79</version>
+    <version>2.1.80</version>
     <name>mcMMO</name>
     <url>https://github.com/mcMMO-Dev/mcMMO</url>
     <scm>

+ 0 - 1
src/main/java/com/gmail/nossr50/config/skills/repair/RepairConfig.java

@@ -6,7 +6,6 @@ import com.gmail.nossr50.datatypes.skills.MaterialType;
 import com.gmail.nossr50.skills.repair.repairables.Repairable;
 import com.gmail.nossr50.skills.repair.repairables.RepairableFactory;
 import com.gmail.nossr50.util.ItemUtils;
-import com.gmail.nossr50.util.skills.SkillUtils;
 import org.bukkit.Material;
 import org.bukkit.configuration.ConfigurationSection;
 import org.bukkit.inventory.ItemStack;

+ 4 - 1
src/main/java/com/gmail/nossr50/skills/salvage/SalvageManager.java

@@ -10,7 +10,10 @@ import com.gmail.nossr50.locale.LocaleLoader;
 import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.skills.SkillManager;
 import com.gmail.nossr50.skills.salvage.salvageables.Salvageable;
-import com.gmail.nossr50.util.*;
+import com.gmail.nossr50.util.EventUtils;
+import com.gmail.nossr50.util.Misc;
+import com.gmail.nossr50.util.Permissions;
+import com.gmail.nossr50.util.StringUtils;
 import com.gmail.nossr50.util.player.NotificationManager;
 import com.gmail.nossr50.util.random.RandomChanceSkillStatic;
 import com.gmail.nossr50.util.random.RandomChanceUtil;

+ 2 - 2
src/main/java/com/gmail/nossr50/skills/woodcutting/Woodcutting.java

@@ -149,8 +149,8 @@ public final class Woodcutting {
      */
     protected static boolean handleDurabilityLoss(Set<BlockState> treeFellerBlocks, ItemStack inHand) {
 
-        if(inHand.getItemMeta().getEnchants().get(Enchantment.DURABILITY) != null
-                && inHand.getItemMeta().getEnchants().get(Enchantment.DURABILITY) >= 1) {
+        if((inHand.getItemMeta().getEnchants().get(Enchantment.DURABILITY) != null && inHand.getItemMeta().getEnchants().get(Enchantment.DURABILITY) >= 1)
+                || (inHand.getItemMeta() != null && inHand.getItemMeta().isUnbreakable())) {
             return true;
         }
 

+ 0 - 1
src/main/java/com/gmail/nossr50/util/TextComponentFactory.java

@@ -2,7 +2,6 @@ package com.gmail.nossr50.util;
 
 import com.gmail.nossr50.config.Config;
 import com.gmail.nossr50.config.RankConfig;
-import com.gmail.nossr50.datatypes.interactions.NotificationType;
 import com.gmail.nossr50.datatypes.json.McMMOUrl;
 import com.gmail.nossr50.datatypes.json.McMMOWebLinks;
 import com.gmail.nossr50.datatypes.skills.PrimarySkillType;

+ 2 - 1
src/main/java/com/gmail/nossr50/util/skills/SkillUtils.java

@@ -243,7 +243,8 @@ public class SkillUtils {
      * @param maxDamageModifier the amount to adjust the max damage by
      */
     public static void handleDurabilityChange(ItemStack itemStack, double durabilityModifier, double maxDamageModifier) {
-        if (itemStack.getEnchantments().get(Enchantment.DURABILITY) != null && itemStack.getEnchantments().get(Enchantment.DURABILITY) >= 1) {
+        if((itemStack.getItemMeta().getEnchants().get(Enchantment.DURABILITY) != null && itemStack.getItemMeta().getEnchants().get(Enchantment.DURABILITY) >= 1)
+                || (itemStack.getItemMeta() != null && itemStack.getItemMeta().isUnbreakable())) {
             return;
         }