Package org.bukkit.inventory.meta.tags
Interface ItemTagType<T,Z>
- Type Parameters:
T- the primary object type that is stored in the given tagZ- the retrieved object type when applying this item tag type
- All Known Implementing Classes:
ItemTagType.PrimitiveTagType
Deprecated, for removal: This API element is subject to removal in a future version.
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);
}
}-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classDeprecated, for removal: This API element is subject to removal in a future version.A default implementation that simply exists to pass on the retrieved or inserted value to the next layer. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ItemTagType<Byte, Byte> Deprecated, for removal: This API element is subject to removal in a future version.static final ItemTagType<byte[], byte[]> Deprecated, for removal: This API element is subject to removal in a future version.static final ItemTagType<Double, Double> Deprecated, for removal: This API element is subject to removal in a future version.static final ItemTagType<Float, Float> Deprecated, for removal: This API element is subject to removal in a future version.static final ItemTagType<Integer, Integer> Deprecated, for removal: This API element is subject to removal in a future version.static final ItemTagType<int[], int[]> Deprecated, for removal: This API element is subject to removal in a future version.static final ItemTagType<Long, Long> Deprecated, for removal: This API element is subject to removal in a future version.static final ItemTagType<long[], long[]> Deprecated, for removal: This API element is subject to removal in a future version.static final ItemTagType<Short, Short> Deprecated, for removal: This API element is subject to removal in a future version.static final ItemTagType<String, String> Deprecated, for removal: This API element is subject to removal in a future version.static final ItemTagType<CustomItemTagContainer, CustomItemTagContainer> Deprecated, for removal: This API element is subject to removal in a future version. -
Method Summary
Modifier and TypeMethodDescriptionfromPrimitive(T primitive, @NotNull ItemTagAdapterContext context) Deprecated, for removal: This API element is subject to removal in a future version.Creates a complex object based of the passed primitive valueDeprecated, for removal: This API element is subject to removal in a future version.Returns the complex object type the primitive value resembles.Deprecated, for removal: This API element is subject to removal in a future version.Returns the primitive data type of this tag.toPrimitive(Z complex, @NotNull ItemTagAdapterContext context) Deprecated, for removal: This API element is subject to removal in a future version.Returns the primitive data that resembles the complex object passed to this method.
-
Field Details
-
BYTE
Deprecated, for removal: This API element is subject to removal in a future version. -
SHORT
Deprecated, for removal: This API element is subject to removal in a future version. -
INTEGER
Deprecated, for removal: This API element is subject to removal in a future version. -
LONG
Deprecated, for removal: This API element is subject to removal in a future version. -
FLOAT
Deprecated, for removal: This API element is subject to removal in a future version. -
DOUBLE
Deprecated, for removal: This API element is subject to removal in a future version. -
STRING
Deprecated, for removal: This API element is subject to removal in a future version. -
BYTE_ARRAY
Deprecated, for removal: This API element is subject to removal in a future version. -
INTEGER_ARRAY
Deprecated, for removal: This API element is subject to removal in a future version. -
LONG_ARRAY
Deprecated, for removal: This API element is subject to removal in a future version. -
TAG_CONTAINER
Deprecated, for removal: This API element is subject to removal in a future version.
-
-
Method Details
-
getPrimitiveType
Deprecated, for removal: This API element is subject to removal in a future version.Returns the primitive data type of this tag.- Returns:
- the class
-
getComplexType
Deprecated, for removal: This API element is subject to removal in a future version.Returns the complex object type the primitive value resembles.- Returns:
- the class type
-
toPrimitive
Deprecated, for removal: This API element is subject to removal in a future version.Returns the primitive data that resembles the complex object passed to this method.- Parameters:
complex- the complex object instancecontext- the context this operation is running in- Returns:
- the primitive value
-
fromPrimitive
Deprecated, for removal: This API element is subject to removal in a future version.Creates a complex object based of the passed primitive value- Parameters:
primitive- the primitive valuecontext- the context this operation is running in- Returns:
- the complex object instance
-
PersistentDataTypeas this part of the api is being replaced