Class FilteredItemTransferable
java.lang.Object
alexiil.mc.lib.attributes.item.impl.FilteredItemTransferable
- All Implemented Interfaces:
ItemExtractable
,ItemInsertable
,ItemTransferable
,LimitedConsumer<net.minecraft.item.ItemStack>
public final class FilteredItemTransferable extends java.lang.Object implements ItemTransferable
-
Field Summary
Fields Modifier and Type Field Description ItemFilter
filter
-
Constructor Summary
Constructors Constructor Description FilteredItemTransferable(ItemTransferable real, ItemFilter filter)
-
Method Summary
Modifier and Type Method Description net.minecraft.item.ItemStack
attemptAnyExtraction(int maxAmount, Simulation simulation)
net.minecraft.item.ItemStack
attemptExtraction(ItemFilter filter, int maxAmount, Simulation simulation)
net.minecraft.item.ItemStack
attemptInsertion(net.minecraft.item.ItemStack stack, Simulation simulation)
Inserts the given stack into this insertable, and returns the excess.ItemTransferable
filtered(ItemFilter filter)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface alexiil.mc.lib.attributes.item.ItemExtractable
couldExtractAnything, extract, extract, extract, getPureExtractable
Methods inherited from interface alexiil.mc.lib.attributes.item.ItemInsertable
getInsertionFilter, getPureInsertable, insert, offer, offer, wouldAccept, wouldPartiallyAccept
-
Field Details
-
Constructor Details
-
Method Details
-
attemptInsertion
public net.minecraft.item.ItemStack attemptInsertion(net.minecraft.item.ItemStack stack, Simulation simulation)Description copied from interface:ItemInsertable
Inserts the given stack into this insertable, and returns the excess.- Specified by:
attemptInsertion
in interfaceItemInsertable
- Parameters:
stack
- The incoming stack. Must not be modified by this call.simulation
- IfSimulation.SIMULATE
then this shouldn't modify anything.- Returns:
- the excess
ItemStack
that wasn't accepted. This will be independent of this insertable, however it might be the given stack instead of a completely new object.
-
attemptExtraction
public net.minecraft.item.ItemStack attemptExtraction(ItemFilter filter, int maxAmount, Simulation simulation)Description copied from interface:ItemExtractable
- Specified by:
attemptExtraction
in interfaceItemExtractable
maxAmount
- The maximum number of items that can be extracted. Negative numbers throw an exception.simulation
- IfSimulation.SIMULATE
then this should return the same result that a call withSimulation.ACTION
would do, but without modifying anything else.- Returns:
- A new, independent
ItemStack
that was extracted.
-
attemptAnyExtraction
Description copied from interface:ItemExtractable
- Specified by:
attemptAnyExtraction
in interfaceItemExtractable
-
filtered
- Specified by:
filtered
in interfaceItemExtractable
- Specified by:
filtered
in interfaceItemInsertable
- Specified by:
filtered
in interfaceItemTransferable
- Returns:
- A new
ItemExtractable
that has an additional filter applied to limit the items extracted from it.
-