package tc.oc.commons.bukkit.attribute; import org.bukkit.attribute.Attributable; import org.bukkit.attribute.Attribute; import org.bukkit.attribute.AttributeInstance; import org.bukkit.attribute.AttributeModifier; public final class AttributeUtils { private AttributeUtils() {} public static void removeModifier(Attributable attributable, AttributeModifier modifier) { for(Attribute attribute : Attribute.values()) { final AttributeInstance instance = attributable.getAttribute(attribute); if(instance != null) instance.removeModifier(modifier); } } public static void removeAllModifiers(AttributeInstance attributeInstance) { attributeInstance.getModifiers().forEach(attributeInstance::removeModifier); } public static void removeAllModifiers(Attributable attributable, Attribute attribute) { final AttributeInstance instance = attributable.getAttribute(attribute); if(instance != null) removeAllModifiers(instance); } public static void removeAllModifiers(Attributable attributable) { for(Attribute attribute : Attribute.values()) removeAllModifiers(attributable, attribute); } }