Account for Unbreaking enchantment when using abilities

This commit is contained in:
TfT_02 2013-11-05 14:51:45 +01:00
parent af98c8eb59
commit c31f5b5782
4 changed files with 12 additions and 2 deletions

View File

@ -17,6 +17,7 @@ Version 1.4.08-dev
= Fixed IllegalArgumentException caused by an empty Fishing treasure category
= Fixed bug with Salvage not reading the config value for the anvil material.
= Fixed exploit where you could receive smelting XP for improper items
= Fixed bug where the Unbreaking enchantment was ignored when using "Super Breaker" or "Giga Drill Breaker"
Version 1.4.07
+ Added XP boost to Acrobatics when wearing Boots of Feather Falling

View File

@ -55,6 +55,6 @@ public class ExcavationManager extends SkillManager {
excavationBlockCheck(blockState);
excavationBlockCheck(blockState);
SkillUtils.handleDurabilityChange(getPlayer().getItemInHand(), Config.getInstance().getAbilityToolDamage());
SkillUtils.handleDurabilityChange(getPlayer().getItemInHand(), Config.getInstance().getAbilityToolDamage(), true);
}
}

View File

@ -67,7 +67,7 @@ public class MiningManager extends SkillManager {
Material material = blockState.getType();
if (mcMMOPlayer.getAbilityMode(skill.getAbility())) {
SkillUtils.handleDurabilityChange(getPlayer().getItemInHand(), Config.getInstance().getAbilityToolDamage());
SkillUtils.handleDurabilityChange(getPlayer().getItemInHand(), Config.getInstance().getAbilityToolDamage(), true);
}
if ((ModUtils.isCustomMiningBlock(blockState) && !ModUtils.getCustomBlock(blockState).isDoubleDropEnabled()) || material != Material.GLOWING_REDSTONE_ORE && !Config.getInstance().getDoubleDropsEnabled(skill, material)) {

View File

@ -167,6 +167,15 @@ public class SkillUtils {
}
}
public static void handleDurabilityChange(ItemStack itemStack, int durabilityModifier, boolean handleUnbreaking) {
if (handleUnbreaking) {
double modifier = 1 / (itemStack.getEnchantmentLevel(Enchantment.DURABILITY) + 1);
durabilityModifier = (int) (durabilityModifier * modifier);
}
handleDurabilityChange(itemStack, durabilityModifier);
}
/**
* Modify the durability of an ItemStack.
*