Interface SingleSlotStorage<T>
- Type Parameters:
T- The type of the stored resource.
- All Superinterfaces:
Iterable<StorageView<T>>,SlottedStorage<T>,Storage<T>,StorageView<T>
- All Known Implementing Classes:
FullItemFluidStorage,SingleFluidStorage,SingleItemStorage,SingleStackStorage,SingleVariantItemStorage,SingleVariantStorage
-
Method Summary
Modifier and TypeMethodDescriptiondefault SingleSlotStorage<T> getSlot(int slot) Retrieve a specific slot of this storage.default intRetrieve the number of slots in this storage.default Iterator<StorageView<T>> iterator()Iterate through the contents of this storage.Methods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface net.fabricmc.fabric.api.transfer.v1.storage.SlottedStorage
getSlotsMethods inherited from interface net.fabricmc.fabric.api.transfer.v1.storage.Storage
extract, getVersion, insert, nonEmptyIterator, nonEmptyViews, supportsExtraction, supportsInsertionMethods inherited from interface net.fabricmc.fabric.api.transfer.v1.storage.StorageView
extract, getAmount, getCapacity, getResource, getUnderlyingView, isResourceBlank
-
Method Details
-
iterator
Description copied from interface:StorageIterate through the contents of this storage. Every visitedStorageViewrepresents a stored resource and an amount. The iterator doesn't guarantee that a single resource only occurs once during an iteration. Calling remove on the iterator is not allowed.Storage.insert(T, long, net.fabricmc.fabric.api.transfer.v1.transaction.TransactionContext)andStorage.extract(T, long, net.fabricmc.fabric.api.transfer.v1.transaction.TransactionContext)may be called safely during iteration. Extractions should be visible to an open iterator, but insertions are not required to. In particular, inventories with a fixed amount of slots may wish to make insertions visible to iterators, but inventories with a dynamic or very large amount of slots should not do that to ensure timely termination of the iteration.If a modification is made to the storage during iteration, the iterator might become invalid at the end of the outermost transaction. In particular, if multiple storage views are extracted from, the entire iteration should be wrapped in a transaction.
-
getSlotCount
default int getSlotCount()Description copied from interface:SlottedStorageRetrieve the number of slots in this storage.- Specified by:
getSlotCountin interfaceSlottedStorage<T>
-
getSlot
Description copied from interface:SlottedStorageRetrieve a specific slot of this storage.- Specified by:
getSlotin interfaceSlottedStorage<T>
-