Class IngredientComponentStorageSlottedEmpty<T,M>
java.lang.Object
org.cyclops.commoncapabilities.api.ingredient.storage.IngredientComponentStorageEmpty<T,M>
org.cyclops.commoncapabilities.api.ingredient.storage.IngredientComponentStorageSlottedEmpty<T,M>
- All Implemented Interfaces:
Iterable<T>
,IIngredientComponentStorage<T,
,M> IIngredientComponentStorageSlotted<T,
M>
public class IngredientComponentStorageSlottedEmpty<T,M>
extends IngredientComponentStorageEmpty<T,M>
implements IIngredientComponentStorageSlotted<T,M>
A dummy slotted ingredient component storage that is empty.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionextract
(int slot, long maxQuantity, boolean simulate) Extract the at most the given quantity from the ingredient from the given slot in the storage.long
getMaxQuantity
(int slot) Get the maximum allowed quantity in the given slot.getSlotContents
(int slot) Get the ingredient that is contained in the given slot.int
getSlots()
Inserts an ingredient into the storage in the given slot and return the remainder.Methods inherited from class org.cyclops.commoncapabilities.api.ingredient.storage.IngredientComponentStorageEmpty
extract, extract, getComponent, getMaxQuantity, insert, iterator, iterator
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.cyclops.commoncapabilities.api.ingredient.storage.IIngredientComponentStorage
extract, extract, getComponent, getMaxQuantity, insert, iterator, iterator
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
IngredientComponentStorageSlottedEmpty
-
-
Method Details
-
getSlots
public int getSlots()- Specified by:
getSlots
in interfaceIIngredientComponentStorageSlotted<T,
M> - Returns:
- The number of available slots.
-
getSlotContents
Description copied from interface:IIngredientComponentStorageSlotted
Get the ingredient that is contained in the given slot. Note: The returned ingredient MUST NOT not be modified by the caller.- Specified by:
getSlotContents
in interfaceIIngredientComponentStorageSlotted<T,
M> - Parameters:
slot
- A slot number.- Returns:
- The contained ingredient.
-
getMaxQuantity
public long getMaxQuantity(int slot) Description copied from interface:IIngredientComponentStorageSlotted
Get the maximum allowed quantity in the given slot.- Specified by:
getMaxQuantity
in interfaceIIngredientComponentStorageSlotted<T,
M> - Parameters:
slot
- A slot number.- Returns:
- The maximum allowed in the given slot.
-
insert
Description copied from interface:IIngredientComponentStorageSlotted
Inserts an ingredient into the storage in the given slot and return the remainder. The ingredient should not be modified in this function!- Specified by:
insert
in interfaceIIngredientComponentStorageSlotted<T,
M> - Parameters:
slot
- A slot number to insert to.ingredient
- Ingredient to insert.simulate
- If true, the insertion is only simulated.- Returns:
- The remaining ingredient that was not inserted (if the entire ingredient is accepted,
then return
IIngredientMatcher.getEmptyInstance()
). May be the same as the input ingredient if unchanged, otherwise a new ingredient.
-
extract
Description copied from interface:IIngredientComponentStorageSlotted
Extract the at most the given quantity from the ingredient from the given slot in the storage.- Specified by:
extract
in interfaceIIngredientComponentStorageSlotted<T,
M> - Parameters:
slot
- A slot number to extract from.maxQuantity
- The maximum amount to extract.simulate
- If true, the insertion is only simulated- Returns:
- Ingredient extracted from the slot, must be
IIngredientMatcher.getEmptyInstance()
, if nothing can be extracted
-