Class BlankVariantView<T extends TransferVariant<?>>
java.lang.Object
net.fabricmc.fabric.api.transfer.v1.storage.base.BlankVariantView<T>
- All Implemented Interfaces:
StorageView<T>
@Experimental
public class BlankVariantView<T extends TransferVariant<?>>
extends Object
implements StorageView<T>
A transfer variant storage view that contains a blank variant all the time (it's always empty), but may have a nonzero capacity.
This can be used to give capacity hints even if the storage is empty.
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.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionlong
extract
(T resource, long maxAmount, TransactionContext transaction) Try to extract a resource from this view.long
long
boolean
Returntrue
if theStorageView.getResource()
contained in this storage view is blank, orfalse
otherwise.
-
Constructor Details
-
BlankVariantView
Create a new instance.- Throws:
IllegalArgumentException
- If the passedblankVariant
is not blank.
-
-
Method Details
-
extract
Description copied from interface:StorageView
Try to extract a resource from this view.- Specified by:
extract
in interfaceStorageView<T extends TransferVariant<?>>
- Returns:
- The amount that was extracted.
-
isResourceBlank
public boolean isResourceBlank()Description copied from interface:StorageView
Returntrue
if theStorageView.getResource()
contained in this storage view is blank, orfalse
otherwise.This function is mostly useful when dealing with storages of arbitrary types. For transfer variant storages, this should always be equivalent to
getResource().isBlank()
.- Specified by:
isResourceBlank
in interfaceStorageView<T extends TransferVariant<?>>
-
getResource
- Specified by:
getResource
in interfaceStorageView<T extends TransferVariant<?>>
- Returns:
- The resource stored in this view. May not be blank if
StorageView.isResourceBlank()
isfalse
.
-
getAmount
public long getAmount()- Specified by:
getAmount
in interfaceStorageView<T extends TransferVariant<?>>
- Returns:
- The amount of
StorageView.getResource()
stored in this view.
-
getCapacity
public long getCapacity()- Specified by:
getCapacity
in interfaceStorageView<T extends TransferVariant<?>>
- Returns:
- The total amount of
StorageView.getResource()
that could be stored in this view, or an estimate of the number of resources that could be stored if this view has a blank resource.
-