Interface ItemVariant
- All Superinterfaces:
TransferVariant<net.minecraft.item.Item>
@Experimental
@NonExtendable
public interface ItemVariant
extends TransferVariant<net.minecraft.item.Item>
An immutable count-less ItemStack, i.e. an immutable association of an item and an optional NBT compound tag.
Do not implement, use the static of(...)
functions instead.
Experimental feature, we reserve the right to remove or change it without further notice. The transfer API is a complex addition, and we want to be able to correct possible design mistakes.
-
Method Summary
Modifier and TypeMethodDescriptionstatic ItemVariant
blank()
Retrieve a blank ItemVariant.static ItemVariant
fromNbt
(net.minecraft.nbt.NbtCompound nbt) Deserialize a variant from an NBT compound tag, assuming it was serialized usingTransferVariant.toNbt()
.static ItemVariant
fromPacket
(net.minecraft.network.PacketByteBuf buf) Write a variant from a packet byte buffer, assuming it was serialized usingTransferVariant.toPacket(net.minecraft.network.PacketByteBuf)
.default net.minecraft.item.Item
getItem()
Return the item of this variant.default boolean
matches
(net.minecraft.item.ItemStack stack) Return true if the item and tag of this variant match those of the passed stack, and false otherwise.static ItemVariant
of
(net.minecraft.item.ItemConvertible item) Retrieve an ItemVariant with an item and without a tag.static ItemVariant
of
(net.minecraft.item.ItemConvertible item, @Nullable net.minecraft.nbt.NbtCompound tag) Retrieve an ItemVariant with an item and an optional tag.static ItemVariant
of
(net.minecraft.item.ItemStack stack) Retrieve an ItemVariant with the item and tag of a stack.default net.minecraft.item.ItemStack
toStack()
Create a new item stack with count 1 from this variant.default net.minecraft.item.ItemStack
toStack
(int count) Create a new item stack from this variant.Methods inherited from interface net.fabricmc.fabric.api.transfer.v1.storage.TransferVariant
copyNbt, getNbt, getObject, hasNbt, isBlank, isOf, nbtMatches, toNbt, toPacket
-
Method Details
-
blank
Retrieve a blank ItemVariant. -
of
Retrieve an ItemVariant with the item and tag of a stack. -
of
Retrieve an ItemVariant with an item and without a tag. -
of
static ItemVariant of(net.minecraft.item.ItemConvertible item, @Nullable @Nullable net.minecraft.nbt.NbtCompound tag) Retrieve an ItemVariant with an item and an optional tag. -
matches
default boolean matches(net.minecraft.item.ItemStack stack) Return true if the item and tag of this variant match those of the passed stack, and false otherwise. -
getItem
default net.minecraft.item.Item getItem()Return the item of this variant. -
toStack
default net.minecraft.item.ItemStack toStack()Create a new item stack with count 1 from this variant. -
toStack
default net.minecraft.item.ItemStack toStack(int count) Create a new item stack from this variant.- Parameters:
count
- The count of the returned stack. It may lead to counts higher than maximum stack size.
-
fromNbt
Deserialize a variant from an NBT compound tag, assuming it was serialized usingTransferVariant.toNbt()
. If an error occurs during deserialization, it will be logged with the DEBUG level, and a blank variant will be returned. -
fromPacket
Write a variant from a packet byte buffer, assuming it was serialized usingTransferVariant.toPacket(net.minecraft.network.PacketByteBuf)
.
-