Interface AttributeInstance


  • public interface AttributeInstance
    Represents a mutable instance of an attribute and its associated modifiers and values.
    • Method Detail

      • getAttribute

        @NotNull
        Attribute 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

        @NotNull
        Collection<AttributeModifier> getModifiers()
        Get all modifiers present on this instance.
        Returns:
        a copied collection of all modifiers
      • addModifier

        void addModifier​(@NotNull
                         AttributeModifier modifier)
        Add a modifier to this instance.
        Parameters:
        modifier - to add
      • removeModifier

        void removeModifier​(@NotNull
                            AttributeModifier modifier)
        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