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 TypeMethodDescriptionvoid
addModifier
(@NotNull AttributeModifier modifier) Add a modifier to this instance.void
addTransientModifier
(@NotNull AttributeModifier modifier) Add a transient modifier to this instance.The attribute pertaining to this instance.double
Base value of this instance before modifiers are applied.double
Gets 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.double
getValue()
Get the value of this instance after all associated modifiers have been applied.void
removeModifier
(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 UUIDvoid
removeModifier
(Key key) Remove a modifier with the corresponding key from this instance.void
removeModifier
(@NotNull AttributeModifier modifier) Remove a modifier from this instance.void
setBaseValue
(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