package com.nisovin.magicspells.castmodifiers.conditions; import org.bukkit.Location; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import com.nisovin.magicspells.castmodifiers.Condition; public class DurabilityLessThanCondition extends Condition { private int durability; int slot; @Override public boolean setVar(String var) { try { String[] data = var.split(":"); durability = Integer.parseInt(data[1]); if (data[0].equalsIgnoreCase("helm")) { slot = 0; } else if (data[0].equalsIgnoreCase("chestplate")) { slot = 1; } else if (data[0].equalsIgnoreCase("leggings")) { slot = 2; } else if (data[0].equalsIgnoreCase("boots")) { slot = 3; } else { slot = -1; } return true; } catch (Exception e) { return false; } } @Override public boolean check(Player player) { ItemStack item = null; if (slot == -1) { item = player.getItemInHand(); } else if (slot == 0) { item = player.getInventory().getHelmet(); } else if (slot == 1) { item = player.getInventory().getChestplate(); } else if (slot == 2) { item = player.getInventory().getLeggings(); } else if (slot == 3) { item = player.getInventory().getBoots(); } if (item != null) { int max = item.getType().getMaxDurability(); if (max > 0) { return max - item.getDurability() < durability; } } else { return true; } return false; } @Override public boolean check(Player player, LivingEntity target) { if (target instanceof Player) { return check((Player)target); } return false; } @Override public boolean check(Player player, Location location) { return false; } }