Class SingleItemStorage
java.lang.Object
net.fabricmc.fabric.api.transfer.v1.transaction.base.SnapshotParticipant<ResourceAmount<ItemVariant>>
net.fabricmc.fabric.api.transfer.v1.storage.base.SingleVariantStorage<ItemVariant>
net.fabricmc.fabric.api.transfer.v1.item.base.SingleItemStorage
- All Implemented Interfaces:
Iterable<StorageView<ItemVariant>>,SingleSlotStorage<ItemVariant>,SlottedStorage<ItemVariant>,Storage<ItemVariant>,StorageView<ItemVariant>,TransactionContext.CloseCallback,TransactionContext.OuterCloseCallback
A storage that can store a single item variant at any given time.
Implementors should at least override
getCapacity(ItemVariant),
and probably SnapshotParticipant.onFinalCommit() as well for markDirty() and similar calls.
This is a convenient specialization of SingleVariantStorage for items that additionally offers methods
to deserialize the contents of the storage.
-
Field Summary
Fields inherited from class net.fabricmc.fabric.api.transfer.v1.storage.base.SingleVariantStorage
amount, variant -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected final ItemVariantReturn the blank variant.voidSimple implementation of reading fromReadView, to match what is written bywriteData(net.minecraft.storage.WriteView).voidSimple implementation of writing toWriteView.Methods inherited from class net.fabricmc.fabric.api.transfer.v1.storage.base.SingleVariantStorage
canExtract, canInsert, createSnapshot, extract, getAmount, getCapacity, getCapacity, getResource, insert, isResourceBlank, readData, readSnapshot, toString, writeDataMethods inherited from class net.fabricmc.fabric.api.transfer.v1.transaction.base.SnapshotParticipant
afterOuterClose, onClose, onFinalCommit, releaseSnapshot, updateSnapshotsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface net.fabricmc.fabric.api.transfer.v1.storage.base.SingleSlotStorage
getSlot, getSlotCount, iteratorMethods inherited from interface net.fabricmc.fabric.api.transfer.v1.storage.SlottedStorage
getSlotsMethods inherited from interface net.fabricmc.fabric.api.transfer.v1.storage.Storage
getVersion, nonEmptyIterator, nonEmptyViews, supportsExtraction, supportsInsertionMethods inherited from interface net.fabricmc.fabric.api.transfer.v1.storage.StorageView
getUnderlyingView
-
Constructor Details
-
SingleItemStorage
public SingleItemStorage()
-
-
Method Details
-
getBlankVariant
Description copied from class:SingleVariantStorageReturn the blank variant.Note: this is called very early in the constructor. If fields need to be accessed from this function, make sure to re-initialize
SingleVariantStorage.variantyourself.- Specified by:
getBlankVariantin classSingleVariantStorage<ItemVariant>
-
readData
Simple implementation of reading fromReadView, to match what is written bywriteData(net.minecraft.storage.WriteView). Other formats are allowed, this is just a suggestion. -
writeData
Simple implementation of writing toWriteView. Other formats are allowed, this is just a suggestion.
-