mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-06-28 11:44:42 +02:00
Super Breaker & Giga Driller now use more durability
A configurable amount is added to the vanilla durability loss. Use `Abilities.Tools.Durability_Loss` to disable (set to 0) or set it to -1 for no durability loss while using abilities. Closes #1363
This commit is contained in:
@ -14,7 +14,6 @@ import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.config.AdvancedConfig;
|
||||
import com.gmail.nossr50.config.Config;
|
||||
import com.gmail.nossr50.config.HiddenConfig;
|
||||
@ -29,6 +28,7 @@ import com.gmail.nossr50.events.fake.FakeBlockDamageEvent;
|
||||
import com.gmail.nossr50.events.fake.FakePlayerAnimationEvent;
|
||||
import com.gmail.nossr50.events.skills.abilities.McMMOPlayerAbilityActivateEvent;
|
||||
import com.gmail.nossr50.locale.LocaleLoader;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.runnables.skills.AbilityDisableTask;
|
||||
import com.gmail.nossr50.runnables.skills.ToolLowerTask;
|
||||
import com.gmail.nossr50.util.ItemUtils;
|
||||
@ -445,6 +445,21 @@ public class SkillUtils {
|
||||
return item;
|
||||
}
|
||||
|
||||
/**
|
||||
* Modify the durability of an ItemStack.
|
||||
*
|
||||
* @param itemStack The ItemStack which durability should be modified
|
||||
* @return the itemStack with modified durability
|
||||
*/
|
||||
public static ItemStack handleDurabilityChange(ItemStack itemStack, int durabilityModifier) {
|
||||
short finalDurability = (short) (itemStack.getDurability() + durabilityModifier);
|
||||
short maxDurability = ModUtils.isCustomTool(itemStack) ? ModUtils.getToolFromItemStack(itemStack).getDurability() : itemStack.getType().getMaxDurability();
|
||||
boolean overMax = (finalDurability >= maxDurability);
|
||||
|
||||
itemStack.setDurability(overMax ? maxDurability : finalDurability);
|
||||
return itemStack;
|
||||
}
|
||||
|
||||
/**
|
||||
* Simulate a block break event.
|
||||
*
|
||||
|
Reference in New Issue
Block a user