Interface Attribute


public interface Attribute
Represents an instance of an AttributeType that contains a value.

Attributes are held in an AttributeHolder

Attributes can have AttributeModifiers applied to an entity through an equipped ItemStack

  • Method Details

    • type

      Gets the type of this attribute.
      Returns:
      The attribute type.
    • baseValue

      double baseValue()
      Gets the base value of this attribute.

      This is the value of this attribute before any AttributeModifiers are applied.

      Returns:
      The base value.
    • setBaseValue

      void setBaseValue(double baseValue)
      Sets the base value of this attribute.

      This is the value before modifiers are applied.

      Parameters:
      baseValue - The base value
    • value

      double value()
      Gets the value of this attribute.

      This is the value with modifiers applied.

      Returns:
      The value
    • modifiers

      Gets a collection of all applied modifiers.
      Returns:
      A collection of applied modifiers
    • modifiers

      default Collection<AttributeModifier> modifiers(Supplier<? extends AttributeOperation> operation)
      Gets a collection of applied modifiers with the provided operation.
      Parameters:
      operation - The operation
      Returns:
      A collection of modifiers
    • modifiers

      Gets a collection of applied modifiers with the provided operation.
      Parameters:
      operation - The operation
      Returns:
      A collection of modifiers
    • hasModifier

      boolean hasModifier(AttributeModifier modifier)
      Checks if this attribute has the provided modifier.
      Parameters:
      modifier - The modifier
      Returns:
      true if this attribute has the modifier, false otherwise
    • modifier

      Gets an attribute modifier by its key
      Parameters:
      key - The key
      Returns:
      The attribute modifier, if present, Optional.empty() otherwise
    • addModifier

      void addModifier(AttributeModifier modifier)
      Adds a modifier to this attribute.
      Parameters:
      modifier - The modifier
    • removeModifier

      void removeModifier(AttributeModifier modifier)
      Removes a modifier from this attribute.
      Parameters:
      modifier - The modifier
    • removeModifier

      void removeModifier(ResourceKey key)
      Removes a modifier from this attribute using it's key
      Parameters:
      key - The key of the modifier.