接口 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.
  • 方法详细资料

    • 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

      已过时。
      Returns the adapter context this tag container uses.
      返回:
      the tag context