接口 CustomItemTagContainer
已过时。
This interface represents a map like object, capable of storing custom tags
in it.
-
方法概要
修饰符和类型方法说明已过时。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
已过时。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 theItemMeta
.
-
方法详细资料
-
setCustomTag
<T,Z> void setCustomTag(@NotNull @NotNull NamespacedKey key, @NotNull @NotNull ItemTagType<T, Z> type, @NotNull Z value) 已过时。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.- 类型参数:
T
- the generic java type of the tag valueZ
- the generic type of the object to store- 参数:
key
- the key this value will be stored undertype
- the type this item tag usesvalue
- the value stored in the tag- 抛出:
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
<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 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.- 类型参数:
T
- the generic type of the stored primitiveZ
- the generic type of the eventually created complex object- 参数:
key
- the key the value is stored undertype
- the type which primitive storage type has to match the value- 返回:
- if a value
- 抛出:
NullPointerException
- if the key to look up is nullNullPointerException
- 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 primitiveZ
- the generic type of the eventually created complex object- 参数:
key
- the key to look up in the custom tag maptype
- 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 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
已过时。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
-
PersistentDataHolder
API. Please usePersistentDataHolder
instead of this.