Package org.bukkit.attribute
Interface AttributeInstance
public interface AttributeInstance
Represents a mutable instance of an attribute and its associated modifiers
and values.
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddModifier(@NotNull AttributeModifier modifier) Add a modifier to this instance.voidaddTransientModifier(@NotNull AttributeModifier modifier) Add a transient modifier to this instance.The attribute pertaining to this instance.doubleBase value of this instance before modifiers are applied.doubleGets the default value of the Attribute attached to this instance.getModifier(UUID uuid) Deprecated, for removal: This API element is subject to removal in a future version.getModifier(Key key) Gets the modifier with the corresponding key.Get all modifiers present on this instance.doublegetValue()Get the value of this instance after all associated modifiers have been applied.voidremoveModifier(UUID uuid) Deprecated, for removal: This API element is subject to removal in a future version.useremoveModifier(net.kyori.adventure.key.Key), modifiers are no longer stored by UUIDvoidremoveModifier(Key key) Remove a modifier with the corresponding key from this instance.voidremoveModifier(@NotNull AttributeModifier modifier) Remove a modifier from this instance.voidsetBaseValue(double value) Set the base value of this instance.
-
Method Details
-
getAttribute
The attribute pertaining to this instance.- Returns:
- the attribute
-
getBaseValue
double getBaseValue()Base value of this instance before modifiers are applied.- Returns:
- base value
-
setBaseValue
void setBaseValue(double value) Set the base value of this instance.- Parameters:
value- new base value
-
getModifiers
Get all modifiers present on this instance.- Returns:
- a copied collection of all modifiers
-
getModifier
Gets the modifier with the corresponding key.- Parameters:
key- the jey of the modifier- Returns:
- the modifier, if it exists
-
removeModifier
Remove a modifier with the corresponding key from this instance.- Parameters:
key- the key of the modifier
-
getModifier
@Deprecated(forRemoval=true, since="1.21") @Nullable @Nullable AttributeModifier getModifier(@NotNull UUID uuid) Deprecated, for removal: This API element is subject to removal in a future version.usegetModifier(net.kyori.adventure.key.Key), modifiers are no longer stored by UUIDGets the modifier with the corresponding UUID.- Parameters:
uuid- the UUID of the modifier- Returns:
- the modifier, if it exists
-
removeModifier
Deprecated, for removal: This API element is subject to removal in a future version.useremoveModifier(net.kyori.adventure.key.Key), modifiers are no longer stored by UUIDRemove a modifier with the corresponding UUID from this instance.- Parameters:
uuid- the UUID of the modifier
-
addModifier
Add a modifier to this instance.- Parameters:
modifier- to add
-
addTransientModifier
Add a transient modifier to this instance. Transient modifiers are not persisted (saved with the NBT data)- Parameters:
modifier- to add
-
removeModifier
Remove a modifier from this instance.- Parameters:
modifier- to remove
-
getValue
double getValue()Get the value of this instance after all associated modifiers have been applied.- Returns:
- the total attribute value
-
getDefaultValue
double getDefaultValue()Gets the default value of the Attribute attached to this instance.- Returns:
- server default value
-
getModifier(net.kyori.adventure.key.Key), modifiers are no longer stored by UUID