ArchieItemSlot¶
@Serializable
(with = ArchieItemSlot.Serializer::class)class ArchieItemSlot(filter: Predicate<ItemResource> = Predicate { true }, onUpdate: () -> Unit = {}) : StorageSlot<ItemResource> , UpdateManager<NbtTag>
A single resource-backed slot inside an ArchieItemStorage. Tracks an ItemResource + amount internally (for Common Storage Lib's resource-based insert/extract) while exposing plain ItemStack access via getItem/set.
Parameters¶
- onUpdate: Invoked by
updatewhenever this slot's contents should be persisted/synced.
Constructors¶
ArchieItemSlot¶
Parameters
- onUpdate: Invoked by
updatewhenever this slot's contents should be persisted/synced.
Types¶
Serializer¶
object Serializer : KSerializer<ArchieItemSlot>
Serializes an ArchieItemSlot as its underlying ResourceStack, or null when blank.
Properties¶
amount¶
contents¶
open override val contents: ResourceStack<ItemResource?>?
resource¶
open override val resource: ItemResource
Functions¶
createSnapshot¶
open override fun createSnapshot(): NbtTag
extract¶
getAmount¶
getContents¶
open fun getContents(): ResourceStack<ItemResource?>?
getItem¶
fun getItem(): ItemStack
The ItemStack currently held in this slot (a copy; mutate via set).
getLimit¶
getMaxStackSize¶
fun getMaxStackSize(): Int
The maximum stack size for the resource currently held (or Item.ABSOLUTE_MAX_STACK_SIZE if empty).
getResource¶
open override fun getResource(): ItemResource
insert¶
isResourceValid¶
open override fun isResourceValid(unit: ItemResource): Boolean
readSnapshot¶
open override fun readSnapshot(snapshot: NbtTag)
remove¶
Splits up to amount items off this slot's stack and returns them, leaving the rest in place.
set¶
fun set(value: ItemStack)
Replaces this slot's contents with value.
update¶
open override fun update()