mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-11-04 11:03:43 +01:00 
			
		
		
		
	Respect unbreakable tag on items when attempting durability changes
Fixes mcMMO-Dev/mcMMO#3327 Fixes mcMMO-Dev/mcMMO#3391
This commit is contained in:
		@@ -188,6 +188,10 @@ public class SkillUtils {
 | 
				
			|||||||
     * @param maxDamageModifier the amount to adjust the max damage by
 | 
					     * @param maxDamageModifier the amount to adjust the max damage by
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public static void handleDurabilityChange(ItemStack itemStack, int durabilityModifier, double maxDamageModifier) {
 | 
					    public static void handleDurabilityChange(ItemStack itemStack, int durabilityModifier, double maxDamageModifier) {
 | 
				
			||||||
 | 
					        if(itemStack.hasItemMeta() && itemStack.getItemMeta().isUnbreakable()) {
 | 
				
			||||||
 | 
					            return;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Material type = itemStack.getType();
 | 
					        Material type = itemStack.getType();
 | 
				
			||||||
        short maxDurability = mcMMO.getRepairableManager().isRepairable(type) ? mcMMO.getRepairableManager().getRepairable(type).getMaximumDurability() : type.getMaxDurability();
 | 
					        short maxDurability = mcMMO.getRepairableManager().isRepairable(type) ? mcMMO.getRepairableManager().getRepairable(type).getMaximumDurability() : type.getMaxDurability();
 | 
				
			||||||
        durabilityModifier = (int) Math.min(durabilityModifier / (itemStack.getEnchantmentLevel(Enchantment.DURABILITY) + 1), maxDurability * maxDamageModifier);
 | 
					        durabilityModifier = (int) Math.min(durabilityModifier / (itemStack.getEnchantmentLevel(Enchantment.DURABILITY) + 1), maxDurability * maxDamageModifier);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user