Class IngredientComponentStorageSlottedWrapped<T,M>
java.lang.Object
org.cyclops.cyclopscore.ingredient.storage.IngredientComponentStorageWrapped<T,M>
org.cyclops.cyclopscore.ingredient.storage.IngredientComponentStorageSlottedWrapped<T,M>
- Type Parameters:
T
- The instance type.M
- The matching condition parameter.
- All Implemented Interfaces:
Iterable<T>
,IIngredientComponentStorage<T,
,M> IIngredientComponentStorageSlotted<T,
M>
public class IngredientComponentStorageSlottedWrapped<T,M>
extends IngredientComponentStorageWrapped<T,M>
implements IIngredientComponentStorageSlotted<T,M>
An ingredient storage wrapper.
-
Constructor Summary
ConstructorDescriptionIngredientComponentStorageSlottedWrapped
(IIngredientComponentStorageSlotted<T, M> ingredientComponentStorageSlotted, boolean iterate, boolean insert, boolean extract) -
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.protected IIngredientComponentStorageSlotted
<T, M> 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.cyclopscore.ingredient.storage.IngredientComponentStorageWrapped
extract, extract, getComponent, getMaxQuantity, insert, isExtract, isInsert, isRead, 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
-
IngredientComponentStorageSlottedWrapped
public IngredientComponentStorageSlottedWrapped(IIngredientComponentStorageSlotted<T, M> ingredientComponentStorageSlotted, boolean iterate, boolean insert, boolean extract)
-
-
Method Details
-
getIngredientComponentStorage
- Overrides:
getIngredientComponentStorage
in classIngredientComponentStorageWrapped<T,
M>
-
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
-