程序包 org.bukkit.inventory.meta.tags

# 接口 CustomItemTagContainer

@Deprecated public interface CustomItemTagContainer
已过时。
this API part has been replaced by the `PersistentDataHolder` API. Please use `PersistentDataHolder` instead of this.
This interface represents a map like object, capable of storing custom tags in it.

- ## 方法概要

  修饰符和类型
  方法
  说明
  `@NotNull ItemTagAdapterContext`
  `getAdapterContext()`
  已过时。
  Returns the adapter context this tag container uses.
  `<T, Z> Z`
  `getCustomTag(@NotNull NamespacedKey key, @NotNull ItemTagType<T,Z> type)`
  已过时。
  Returns the custom tag's value that is stored on the item.
  `<T, Z> boolean`
  `hasCustomTag(@NotNull NamespacedKey key, @NotNull ItemTagType<T,Z> type)`
  已过时。
  Returns if the item meta has a custom tag registered matching the provided parameters.
  `boolean`
  `isEmpty()`
  已过时。
  Returns if the container instance is empty, therefore has no entries inside it.
  `void`
  `removeCustomTag(@NotNull NamespacedKey key)`
  已过时。
  Removes a custom key from the item meta.
  `<T, Z> void`
  `setCustomTag(@NotNull NamespacedKey key, @NotNull ItemTagType<T,Z> type, Z value)`
  已过时。
  Stores a custom value on the `ItemMeta`.

- ## 方法详细资料

  - ### setCustomTag

    <T, Z> void setCustomTag(@NotNull @NotNull NamespacedKey key, @NotNull @NotNull ItemTagType<T,Z> type, @NotNull Z value)
    已过时。
    Stores a custom value on the `ItemMeta`. 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.
    类型参数:
      `T` - the generic java type of the tag value
      `Z` - the generic type of the object to store
    参数:
      `key` - the key this value will be stored under
      `type` - the type this item tag uses
      `value` - the value stored in the tag
    抛出:
      `NullPointerException` - if the key is null
      `NullPointerException` - if the type is null
      `NullPointerException` - if the value is null. Removing a custom tag should be done using `removeCustomTag(org.bukkit.NamespacedKey)`
      `IllegalArgumentException` - if no suitable adapter will be found for the `ItemTagType.getPrimitiveType()`

  - ### hasCustomTag

    <T, Z> boolean hasCustomTag(@NotNull @NotNull NamespacedKey key, @NotNull @NotNull ItemTagType<T,Z> type)
    已过时。
    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 custom `ItemTagType` 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 UUID `ItemTagType` 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.
    类型参数:
      `T` - the generic type of the stored primitive
      `Z` - the generic type of the eventually created complex object
    参数:
      `key` - the key the value is stored under
      `type` - the type which primitive storage type has to match the value
    返回:
      if a value
    抛出:
      `NullPointerException` - if the key to look up is null
      `NullPointerException` - if the type to cast the found object to is null

  - ### getCustomTag

    @Nullable <T, Z> Z getCustomTag(@NotNull @NotNull NamespacedKey key, @NotNull @NotNull ItemTagType<T,Z> type)
    已过时。
    Returns the custom tag's value that is stored on the item.
    类型参数:
      `T` - the generic type of the stored primitive
      `Z` - the generic type of the eventually created complex object
    参数:
      `key` - the key to look up in the custom tag map
      `type` - the type the value must have and will be casted to
    返回:
      the value or `null` if no value was mapped under the given value
    抛出:
      `NullPointerException` - if the key to look up is null
      `NullPointerException` - if the type to cast the found object to is null
      `IllegalArgumentException` - if the value exists under the given key, but cannot be access using the given type
      `IllegalArgumentException` - if no suitable adapter will be found for the `ItemTagType.getPrimitiveType()`

  - ### removeCustomTag

    void removeCustomTag(@NotNull @NotNull NamespacedKey key)
    已过时。
    Removes a custom key from the item meta.
    参数:
      `key` - the key
    抛出:
      `NullPointerException` - if the provided key is null

  - ### isEmpty

    boolean isEmpty()
    已过时。
    Returns if the container instance is empty, therefore has no entries inside it.
    返回:
      the boolean

  - ### getAdapterContext

    @NotNull @NotNull ItemTagAdapterContext getAdapterContext()
    已过时。
    Returns the adapter context this tag container uses.
    返回:
      the tag context