Interface ItemStack
- All Superinterfaces:
ComponentLike
,CopyableDataHolder
,DataHolder
,DataHolder.Mutable
,DataSerializable
,HoverEventSource<HoverEvent.ShowItem>
,ItemStackLike
,SerializableDataHolder
,SerializableDataHolder.Mutable
,ValueContainer
Represents mutable
ItemStackLike
. Can be compared
using the comparators listed in ItemStackComparators
.-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
static interface
Nested classes/interfaces inherited from interface org.spongepowered.api.data.DataHolder
DataHolder.Immutable<I extends DataHolder.Immutable<I>>, DataHolder.Mutable
Nested classes/interfaces inherited from interface org.spongepowered.api.data.SerializableDataHolder
SerializableDataHolder.Immutable<I extends SerializableDataHolder.Immutable<I>>, SerializableDataHolder.Mutable
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
addAttributeModifier
(Supplier<? extends AttributeType> attributeType, AttributeModifier modifier, EquipmentType equipmentType) Adds anAttributeModifier
to this item stack.default void
addAttributeModifier
(Supplier<? extends AttributeType> attributeType, AttributeModifier modifier, DefaultedRegistryReference<? extends EquipmentType> equipmentType) Adds anAttributeModifier
to this item stack.void
addAttributeModifier
(AttributeType attributeType, AttributeModifier modifier, EquipmentType equipmentType) Adds anAttributeModifier
to this item stack.default void
addAttributeModifier
(AttributeType attributeType, AttributeModifier modifier, DefaultedRegistryReference<? extends EquipmentType> equipmentType) Adds anAttributeModifier
to this item stack.static ItemStack.Builder
builder()
Creates a newItemStack.Builder
to build anItemStack
.copy()
Creates a clone copy of thisCopyableDataHolder
as a newCopyableDataHolder
such that all theValue
s are safely duplicated to the new instance.static ItemStack
empty()
Returns an emptyItemStack
.boolean
static ItemStack
static ItemStack
static ItemStack
static ItemStack
void
setQuantity
(int quantity) Sets the quantity in this stack.Methods inherited from interface net.kyori.adventure.text.ComponentLike
asComponent
Methods inherited from interface org.spongepowered.api.data.DataHolder.Mutable
copyFrom, copyFrom, offer, offer, offer, offer, offerAll, offerAll, offerAll, offerAll, offerAll, offerAll, offerSingle, offerSingle, offerSingle, offerSingle, remove, remove, remove, removeAll, removeAll, removeAll, removeAll, removeAll, removeAll, removeKey, removeKey, removeSingle, removeSingle, transform, transform, tryOffer, tryOffer, tryOffer, undo
Methods inherited from interface org.spongepowered.api.data.persistence.DataSerializable
contentVersion, toContainer
Methods inherited from interface net.kyori.adventure.text.event.HoverEventSource
asHoverEvent, asHoverEvent
Methods inherited from interface org.spongepowered.api.item.inventory.ItemStackLike
asImmutable, asMutable, asMutableCopy, attributeModifiers, attributeModifiers, attributeModifiers, attributeModifiers, isEmpty, maxStackQuantity, quantity, type
Methods inherited from interface org.spongepowered.api.data.SerializableDataHolder
validateRawData
Methods inherited from interface org.spongepowered.api.data.SerializableDataHolder.Mutable
setRawData
-
Method Details
-
empty
Returns an emptyItemStack
.- Returns:
- The empty ItemStack
-
builder
Creates a newItemStack.Builder
to build anItemStack
.- Returns:
- The new builder
-
of
- Parameters:
itemType
- The item typequantity
- The quantity- Returns:
- The new item stack
-
of
- Parameters:
itemType
- The item typequantity
- The quantity- Returns:
- The new item stack
-
of
- Parameters:
itemType
- The item type- Returns:
- The new item stack
-
of
- Parameters:
itemType
- The item type- Returns:
- The new item stack
-
setQuantity
Sets the quantity in this stack.- Parameters:
quantity
- Quantity- Throws:
IllegalArgumentException
- If quantity set exceeds theItemStackLike.maxStackQuantity()
-
equalTo
Returns true if the specifiedItemStack
has the same stack size,ItemType
, and data. Note that this method is not an overrider ofObject.equals(Object)
in order to maintain compatibility with the base game. Therefore, ItemStacks may not behave as expected when using them in equality based constructs such asMap
s orSet
s.- Parameters:
that
- ItemStack to compare- Returns:
- True if this equals the ItemStack
-
addAttributeModifier
default void addAttributeModifier(Supplier<? extends AttributeType> attributeType, AttributeModifier modifier, EquipmentType equipmentType) Adds anAttributeModifier
to this item stack.- Parameters:
attributeType
- The attribute type.modifier
- The attribute modifier.equipmentType
- The equipment type this modifier will apply under.
-
addAttributeModifier
default void addAttributeModifier(AttributeType attributeType, AttributeModifier modifier, DefaultedRegistryReference<? extends EquipmentType> equipmentType) Adds anAttributeModifier
to this item stack.- Parameters:
attributeType
- The attribute type.modifier
- The attribute modifier.equipmentType
- The equipment type this modifier will apply under.
-
addAttributeModifier
default void addAttributeModifier(Supplier<? extends AttributeType> attributeType, AttributeModifier modifier, DefaultedRegistryReference<? extends EquipmentType> equipmentType) Adds anAttributeModifier
to this item stack.- Parameters:
attributeType
- The attribute type.modifier
- The attribute modifier.equipmentType
- The equipment type this modifier will apply under.
-
addAttributeModifier
void addAttributeModifier(AttributeType attributeType, AttributeModifier modifier, EquipmentType equipmentType) Adds anAttributeModifier
to this item stack.- Parameters:
attributeType
- The attribute type.modifier
- The attribute modifier.equipmentType
- The equipment type this modifier will apply under.
-
copy
ItemStack copy()Description copied from interface:CopyableDataHolder
Creates a clone copy of thisCopyableDataHolder
as a newCopyableDataHolder
such that all theValue
s are safely duplicated to the new instance. It is not guaranteed that the returning container is of the same type as this container.- Specified by:
copy
in interfaceCopyableDataHolder
- Specified by:
copy
in interfaceItemStackLike
- Specified by:
copy
in interfaceSerializableDataHolder
- Specified by:
copy
in interfaceSerializableDataHolder.Mutable
- Returns:
- The new copy
-