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

# 接口 ItemTagType<T,Z>

类型参数:
  `T` - the primary object type that is stored in the given tag
  `Z` - the retrieved object type when applying this item tag type

所有已知实现类:
  `ItemTagType.PrimitiveTagType`

@Deprecated public interface ItemTagType<T,Z>
已过时。
please use `PersistentDataType` as this part of the api is being replaced
This class represents an enum with a generic content type. It defines the types a custom item tag can have.

This interface can be used to create your own custom `ItemTagType` with different complex types. This may be useful for the likes of a UUIDItemTagType:

     public class UUIDItemTagType implements ItemTagType<byte[], UUID> {

             {@literal @Override}
             public Class<byte[]> getPrimitiveType() {
                 return byte[].class;
             }

             {@literal @Override}
             public Class<UUID> getComplexType() {
                 return UUID.class;
             }

             {@literal @Override}
             public byte[] toPrimitive(UUID complex, ItemTagAdapterContext context) {
                 ByteBuffer bb = ByteBuffer.wrap(new byte[16]);
                 bb.putLong(complex.getMostSignificantBits());
                 bb.putLong(complex.getLeastSignificantBits());
                 return bb.array();
             }

             {@literal @Override}
             public UUID fromPrimitive(byte[] primitive, ItemTagAdapterContext context) {
                 ByteBuffer bb = ByteBuffer.wrap(primitive);
                 long firstLong = bb.getLong();
                 long secondLong = bb.getLong();
                 return new UUID(firstLong, secondLong);
             }
         }

- ## 嵌套类概要

  嵌套类
  修饰符和类型
  接口
  说明
  `static class`
  `ItemTagType.PrimitiveTagType<T>`
  已过时。
  A default implementation that simply exists to pass on the retrieved or inserted value to the next layer.

- ## 字段概要

  字段
  修饰符和类型
  字段
  说明
  `static final ItemTagType<Byte,Byte>`
  `BYTE`
  已过时。
  `static final ItemTagType<byte[],byte[]>`
  `BYTE_ARRAY`
  已过时。
  `static final ItemTagType<Double,Double>`
  `DOUBLE`
  已过时。
  `static final ItemTagType<Float,Float>`
  `FLOAT`
  已过时。
  `static final ItemTagType<Integer,Integer>`
  `INTEGER`
  已过时。
  `static final ItemTagType<int[],int[]>`
  `INTEGER_ARRAY`
  已过时。
  `static final ItemTagType<Long,Long>`
  `LONG`
  已过时。
  `static final ItemTagType<long[],long[]>`
  `LONG_ARRAY`
  已过时。
  `static final ItemTagType<Short,Short>`
  `SHORT`
  已过时。
  `static final ItemTagType<String,String>`
  `STRING`
  已过时。
  `static final ItemTagType<CustomItemTagContainer,CustomItemTagContainer>`
  `TAG_CONTAINER`
  已过时。

- ## 方法概要

  修饰符和类型
  方法
  说明
  `Z`
  `fromPrimitive(T primitive, @NotNull ItemTagAdapterContext context)`
  已过时。
  Creates a complex object based of the passed primitive value
  `@NotNull Class<Z>`
  `getComplexType()`
  已过时。
  Returns the complex object type the primitive value resembles.
  `@NotNull Class<T>`
  `getPrimitiveType()`
  已过时。
  Returns the primitive data type of this tag.
  `T`
  `toPrimitive(Z complex, @NotNull ItemTagAdapterContext context)`
  已过时。
  Returns the primitive data that resembles the complex object passed to this method.

- ## 字段详细资料

  - ### BYTE

    static final ItemTagType<Byte,Byte> BYTE
    已过时。

  - ### SHORT

    static final ItemTagType<Short,Short> SHORT
    已过时。

  - ### INTEGER

    static final ItemTagType<Integer,Integer> INTEGER
    已过时。

  - ### LONG

    static final ItemTagType<Long,Long> LONG
    已过时。

  - ### FLOAT

    static final ItemTagType<Float,Float> FLOAT
    已过时。

  - ### DOUBLE

    static final ItemTagType<Double,Double> DOUBLE
    已过时。

  - ### STRING

    static final ItemTagType<String,String> STRING
    已过时。

  - ### BYTE_ARRAY

    static final ItemTagType<byte[],byte[]> BYTE_ARRAY
    已过时。

  - ### INTEGER_ARRAY

    static final ItemTagType<int[],int[]> INTEGER_ARRAY
    已过时。

  - ### LONG_ARRAY

    static final ItemTagType<long[],long[]> LONG_ARRAY
    已过时。

  - ### TAG_CONTAINER

    static final ItemTagType<CustomItemTagContainer,CustomItemTagContainer> TAG_CONTAINER
    已过时。

- ## 方法详细资料

  - ### getPrimitiveType

    @NotNull @NotNull Class<T> getPrimitiveType()
    已过时。
    Returns the primitive data type of this tag.
    返回:
      the class

  - ### getComplexType

    @NotNull @NotNull Class<Z> getComplexType()
    已过时。
    Returns the complex object type the primitive value resembles.
    返回:
      the class type

  - ### toPrimitive

    @NotNull T toPrimitive(@NotNull Z complex, @NotNull @NotNull ItemTagAdapterContext context)
    已过时。
    Returns the primitive data that resembles the complex object passed to this method.
    参数:
      `complex` - the complex object instance
      `context` - the context this operation is running in
    返回:
      the primitive value

  - ### fromPrimitive

    @NotNull Z fromPrimitive(@NotNull T primitive, @NotNull @NotNull ItemTagAdapterContext context)
    已过时。
    Creates a complex object based of the passed primitive value
    参数:
      `primitive` - the primitive value
      `context` - the context this operation is running in
    返回:
      the complex object instance