Class FilteredItemInsertable
java.lang.Object
alexiil.mc.lib.attributes.item.impl.FilteredItemInsertable
- All Implemented Interfaces:
ItemInsertable
,LimitedConsumer<net.minecraft.item.ItemStack>
An
ItemInsertable
that delegates to another ItemInsertable
, but has an additional filter as to what
can be inserted.-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionnet.minecraft.item.ItemStack
attemptInsertion(net.minecraft.item.ItemStack stack, Simulation simulation)
Inserts the given stack into this insertable, and returns the excess.filtered(ItemFilter filter)
Returns anItemFilter
to determine ifItemInsertable.attemptInsertion(ItemStack, Simulation)
will accept a stack.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.ItemInsertable
getPureInsertable, insert, offer, offer, wouldAccept, wouldPartiallyAccept
-
Field Details
-
filter
-
-
Constructor Details
-
FilteredItemInsertable
-
-
Method Details
-
getInsertionFilter
Description copied from interface:ItemInsertable
Returns anItemFilter
to determine ifItemInsertable.attemptInsertion(ItemStack, Simulation)
will accept a stack. The default implementation is a call toattemptInsertion
(stack,Simulation.SIMULATE
), and it is only useful to override this if the resulting filter contains information that might be usable by the caller.- Specified by:
getInsertionFilter
in interfaceItemInsertable
- Returns:
- A filter to determine if
ItemInsertable.attemptInsertion(ItemStack, Simulation)
will accept the entirety of a given stack.
-
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.
-
filtered
- Specified by:
filtered
in interfaceItemInsertable
-