Interface ItemMeta

    • Method Detail

      • hasDisplayName

        boolean hasDisplayName()
        Checks for existence of a display name.
        Returns:
        true if this has a display name
      • getDisplayName

        String getDisplayName()
        Gets the display name that is set.

        Plugins should check that hasDisplayName() returns true before calling this method.

        Returns:
        the display name that is set
      • setDisplayName

        void setDisplayName​(String name)
        Sets the display name.
        Parameters:
        name - the name to set
      • hasLocalizedName

        boolean hasLocalizedName()
        Checks for existence of a localized name.
        Returns:
        true if this has a localized name
      • getLocalizedName

        String getLocalizedName()
        Gets the localized display name that is set.

        Plugins should check that hasLocalizedName() returns true before calling this method.

        Returns:
        the localized name that is set
      • setLocalizedName

        void setLocalizedName​(String name)
        Sets the localized name.
        Parameters:
        name - the name to set
      • hasLore

        boolean hasLore()
        Checks for existence of lore.
        Returns:
        true if this has lore
      • getLore

        List<String> getLore()
        Gets the lore that is set.

        Plugins should check if hasLore() returns true before calling this method.

        Returns:
        a list of lore that is set
      • setLore

        void setLore​(List<String> lore)
        Sets the lore for this item. Removes lore when given null.
        Parameters:
        lore - the lore that will be set
      • hasEnchants

        boolean hasEnchants()
        Checks for the existence of any enchantments.
        Returns:
        true if an enchantment exists on this meta
      • hasEnchant

        boolean hasEnchant​(Enchantment ench)
        Checks for existence of the specified enchantment.
        Parameters:
        ench - enchantment to check
        Returns:
        true if this enchantment exists for this meta
      • getEnchantLevel

        int getEnchantLevel​(Enchantment ench)
        Checks for the level of the specified enchantment.
        Parameters:
        ench - enchantment to check
        Returns:
        The level that the specified enchantment has, or 0 if none
      • getEnchants

        Map<Enchantment,​Integer> getEnchants()
        Returns a copy the enchantments in this ItemMeta.
        Returns an empty map if none.
        Returns:
        An immutable copy of the enchantments
      • addEnchant

        boolean addEnchant​(Enchantment ench,
                           int level,
                           boolean ignoreLevelRestriction)
        Adds the specified enchantment to this item meta.
        Parameters:
        ench - Enchantment to add
        level - Level for the enchantment
        ignoreLevelRestriction - this indicates the enchantment should be applied, ignoring the level limit
        Returns:
        true if the item meta changed as a result of this call, false otherwise
      • removeEnchant

        boolean removeEnchant​(Enchantment ench)
        Removes the specified enchantment from this item meta.
        Parameters:
        ench - Enchantment to remove
        Returns:
        true if the item meta changed as a result of this call, false otherwise
      • hasConflictingEnchant

        boolean hasConflictingEnchant​(Enchantment ench)
        Checks if the specified enchantment conflicts with any enchantments in this ItemMeta.
        Parameters:
        ench - enchantment to test
        Returns:
        true if the enchantment conflicts, false otherwise
      • addItemFlags

        void addItemFlags​(ItemFlag... itemFlags)
        Set itemflags which should be ignored when rendering a ItemStack in the Client. This Method does silently ignore double set itemFlags.
        Parameters:
        itemFlags - The hideflags which shouldn't be rendered
      • removeItemFlags

        void removeItemFlags​(ItemFlag... itemFlags)
        Remove specific set of itemFlags. This tells the Client it should render it again. This Method does silently ignore double removed itemFlags.
        Parameters:
        itemFlags - Hideflags which should be removed
      • getItemFlags

        Set<ItemFlag> getItemFlags()
        Get current set itemFlags. The collection returned is unmodifiable.
        Returns:
        A set of all itemFlags set
      • hasItemFlag

        boolean hasItemFlag​(ItemFlag flag)
        Check if the specified flag is present on this item.
        Parameters:
        flag - the flag to check
        Returns:
        if it is present
      • isUnbreakable

        boolean isUnbreakable()
        Return if the unbreakable tag is true. An unbreakable item will not lose durability.
        Returns:
        true if the unbreakable tag is true
      • setUnbreakable

        void setUnbreakable​(boolean unbreakable)
        Sets the unbreakable tag. An unbreakable item will not lose durability.
        Parameters:
        unbreakable - true if set unbreakable
      • hasAttributeModifiers

        boolean hasAttributeModifiers()
        Checks for the existence of any AttributeModifiers.
        Returns:
        true if any AttributeModifiers exist
      • getAttributeModifiers

        com.google.common.collect.Multimap<Attribute,​AttributeModifier> getAttributeModifiers()
        Return an immutable copy of all Attributes and their modifiers in this ItemMeta.
        Returns null if none exist.
        Returns:
        an immutable Multimap of Attributes and their AttributeModifiers, or null if none exist
      • getAttributeModifiers

        com.google.common.collect.Multimap<Attribute,​AttributeModifier> getAttributeModifiers​(EquipmentSlot slot)
        Return an immutable copy of all Attributes and their AttributeModifiers for a given EquipmentSlot.
        Any AttributeModifier that does have have a given EquipmentSlot will be returned. This is because AttributeModifiers without a slot are active in any slot.
        If there are no attributes set for the given slot, an empty map will be returned.
        Parameters:
        slot - the EquipmentSlot to check
        Returns:
        the immutable Multimap with the respective Attributes and modifiers, or an empty map if no attributes are set.
      • setAttributeModifiers

        void setAttributeModifiers​(com.google.common.collect.Multimap<Attribute,​AttributeModifier> attributeModifiers)
        Set all Attributes and their AttributeModifiers. To clear all currently set Attributes and AttributeModifiers use null or an empty Multimap. If not null nor empty, this will filter all entries that are not-null and add them to the ItemStack.
        Parameters:
        attributeModifiers - the new Multimap containing the Attributes and their AttributeModifiers
      • removeAttributeModifier

        boolean removeAttributeModifier​(Attribute attribute)
        Remove all AttributeModifiers associated with the given Attribute. This will return false if nothing was removed.
        Parameters:
        attribute - attribute to remove
        Returns:
        true if all modifiers were removed from a given Attribute. Returns false if no attributes were removed.
        Throws:
        NullPointerException - if Attribute is null