Class AttributeModifiersComponent<I extends AbstractItemStack<T>,T>

java.lang.Object
net.tnemc.item.component.impl.AttributeModifiersComponent<I,T>
All Implemented Interfaces:
SerialComponent<I,T>, ItemApplicator<I,T>, ItemCheck<T>, Identifiable, ItemSerializer<I,T>
Direct Known Subclasses:
BukkitAttributeModifiersComponent, PaperOldAttributeModifiersComponent

public abstract class AttributeModifiersComponent<I extends AbstractItemStack<T>,T> extends Object implements SerialComponent<I,T>
AttributeModifiesComponent
Since:
0.2.0.0
Author:
creatorfromhell
See Also:
  • Constructor Details

    • AttributeModifiersComponent

      Constructor for AttributeModifiersComponent. Initializes an empty list of AttributeModifiers.
      Since:
      0.2.0.0
    • AttributeModifiersComponent

      Constructor for AttributeModifiersComponent. Initializes the component with a list of AttributeModifiers and a boolean flag to show in tooltip.
      Parameters:
      modifiers - The list of AttributeModifiers to associate with this component.
      Since:
      0.2.0.0
  • Method Details

    • identifier

      public String identifier()
      Specified by:
      identifier in interface Identifiable
      Returns:
      the type of component this is.
      Since:
      0.2.0.0
    • toJSON

      public org.json.simple.JSONObject toJSON()
      Converts this component's data to a JSON object.
      Specified by:
      toJSON in interface SerialComponent<I extends AbstractItemStack<T>,T>
      Returns:
      The JSONObject representing this component's data.
      Since:
      0.2.0.0
    • readJSON

      public void readJSON(JSONHelper json, ItemPlatform<I,T,?> platform)
      Reads JSON data and converts it back to this component's data.
      Specified by:
      readJSON in interface SerialComponent<I extends AbstractItemStack<T>,T>
      Parameters:
      json - The JSONHelper instance of the JSON data.
      platform - The ItemPlatform instance.
      Since:
      0.2.0.0
    • similar

      public boolean similar(SerialComponent<?,?> component)
      Used to determine if some data is equal to this data. This means that it has to be an exact copy of this data.
      Specified by:
      similar in interface SerialComponent<I extends AbstractItemStack<T>,T>
      Parameters:
      component - The component to compare.
      Returns:
      True if similar, otherwise false.
      Since:
      0.2.0.0
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • modifiers

      Retrieves the list of AttributeModifiers associated with this component.
      Returns:
      The list of AttributeModifiers.
      Since:
      0.2.0.0
    • modifiers

      public void modifiers(List<AttributeModifier> modifiers)
      Sets the list of AttributeModifiers for this component.
      Parameters:
      modifiers - The list of AttributeModifiers to set.
      Since:
      0.2.0.0
    • modifiers

      public void modifiers(AttributeModifier... modifiers)
    • modifiers

      public void modifiers(AttributeModifier modifier)
      Adds a new AttributeModifier to the list of modifiers for this component.
      Parameters:
      modifier - The AttributeModifier to add to the list of modifiers.
      Since:
      0.2.0.0