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

@ -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.
*