Package org.bukkit.inventory.meta.tags
Interface CustomItemTagContainer
Deprecated.
This interface represents a map like object, capable of storing custom tags
in it.
-
Method Summary
Modifier and TypeMethodDescriptionDeprecated.Returns the adapter context this tag container uses.<T,
Z> Z getCustomTag
(NamespacedKey key, ItemTagType<T, Z> type) Deprecated.Returns the custom tag's value that is stored on the item.<T,
Z> boolean hasCustomTag
(NamespacedKey key, ItemTagType<T, Z> type) Deprecated.Returns if the item meta has a custom tag registered matching the provided parameters.boolean
isEmpty()
Deprecated.Returns if the container instance is empty, therefore has no entries inside it.void
Deprecated.Removes a custom key from the item meta.<T,
Z> void setCustomTag
(NamespacedKey key, ItemTagType<T, Z> type, Z value) Deprecated.Stores a custom value on theItemMeta
.
-
Method Details
-
setCustomTag
<T,Z> void setCustomTag(@NotNull NamespacedKey key, @NotNull ItemTagType<T, Z> type, @NotNull Z value) Deprecated.Stores a custom value on theItemMeta
. This API cannot be used to manipulate minecraft tags, as the values will be stored using your namespace. This method will override any existing value the meta may have stored under the provided key.- Type Parameters:
T
- the generic java type of the tag valueZ
- the generic type of the object to store- Parameters:
key
- the key this value will be stored undertype
- the type this item tag usesvalue
- the value stored in the tag- Throws:
NullPointerException
- if the key is nullNullPointerException
- if the type is nullNullPointerException
- if the value is null. Removing a custom tag should be done usingremoveCustomTag(org.bukkit.NamespacedKey)
IllegalArgumentException
- if no suitable adapter will be found for theItemTagType.getPrimitiveType()
-
hasCustomTag
Deprecated.Returns if the item meta has a custom tag registered matching the provided parameters. This method will only return if the found value has the same primitive data type as the provided key. Storing a value using a customItemTagType
implementation will not store the complex data type. Therefore storing a UUID (by storing a byte[]) will match hasCustomTag("key" ,ItemTagType.BYTE_ARRAY
). Likewise a stored byte[] will always match your UUIDItemTagType
even if it is not 16 bytes long. This method is only usable for custom object keys. Overwriting existing tags, like the the display name, will not work as the values are stored using your namespace.- Type Parameters:
T
- the generic type of the stored primitiveZ
- the generic type of the eventually created complex object- Parameters:
key
- the key the value is stored undertype
- the type which primitive storage type has to match the value- Returns:
- if a value
- Throws:
NullPointerException
- if the key to look up is nullNullPointerException
- if the type to cast the found object to is null
-
getCustomTag
Deprecated.Returns the custom tag's value that is stored on the item.- Type Parameters:
T
- the generic type of the stored primitiveZ
- the generic type of the eventually created complex object- Parameters:
key
- the key to look up in the custom tag maptype
- the type the value must have and will be casted to- Returns:
- the value or
null
if no value was mapped under the given value - Throws:
NullPointerException
- if the key to look up is nullNullPointerException
- if the type to cast the found object to is nullIllegalArgumentException
- if the value exists under the given key, but cannot be access using the given typeIllegalArgumentException
- if no suitable adapter will be found for theItemTagType.getPrimitiveType()
-
removeCustomTag
Deprecated.Removes a custom key from the item meta.- Parameters:
key
- the key- Throws:
NullPointerException
- if the provided key is null
-
isEmpty
boolean isEmpty()Deprecated.Returns if the container instance is empty, therefore has no entries inside it.- Returns:
- the boolean
-
getAdapterContext
Deprecated.Returns the adapter context this tag container uses.- Returns:
- the tag context
-
PersistentDataHolder
API. Please usePersistentDataHolder
instead of this.