Class FilterItemHandler
java.lang.Object
org.moddingx.libx.inventory.FilterItemHandler
- All Implemented Interfaces:
net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>, IAdvancedItemHandler
A simple wrapper around a
ResourceHandler<ItemResource> that limits the possibility
to insert or extract items. This is especially useful for item handler capabilities.-
Constructor Summary
ConstructorsConstructorDescriptionFilterItemHandler(net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource> handler, Predicate<Integer> extract, BiPredicate<Integer, net.minecraft.world.item.ItemStack> insert) Creates a newFilterItemHandler. -
Method Summary
Modifier and TypeMethodDescriptionintextract(int slot, net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext tx) longgetAmountAsLong(int slot) longgetCapacityAsLong(int slot, net.neoforged.neoforge.transfer.item.ItemResource resource) net.neoforged.neoforge.transfer.item.ItemResourcegetResource(int slot) intinsert(int slot, net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext tx) booleanisValid(int slot, net.neoforged.neoforge.transfer.item.ItemResource resource) intsize()Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface IAdvancedItemHandler
extractItem, extractItem, hasSpaceFor, hasSpaceFor, insertItemMethods inherited from interface net.neoforged.neoforge.transfer.ResourceHandler
extract, getAmountAsInt, getCapacityAsInt, insert
-
Constructor Details
-
FilterItemHandler
public FilterItemHandler(net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource> handler, @Nullable Predicate<Integer> extract, @Nullable BiPredicate<Integer, net.minecraft.world.item.ItemStack> insert) Creates a newFilterItemHandler.- Parameters:
handler- TheResourceHandlerthisFilterItemHandlerwraps around.extract- A predicate that tests whether extraction should be allowed from the provided slot.insert- A predicate that tests whether insertion of the provided item should be allowed into the provided slot.
-
-
Method Details
-
size
public int size()- Specified by:
sizein interfacenet.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
-
getResource
public net.neoforged.neoforge.transfer.item.ItemResource getResource(int slot) - Specified by:
getResourcein interfacenet.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
-
getAmountAsLong
public long getAmountAsLong(int slot) - Specified by:
getAmountAsLongin interfacenet.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
-
getCapacityAsLong
public long getCapacityAsLong(int slot, net.neoforged.neoforge.transfer.item.ItemResource resource) - Specified by:
getCapacityAsLongin interfacenet.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
-
isValid
public boolean isValid(int slot, net.neoforged.neoforge.transfer.item.ItemResource resource) - Specified by:
isValidin interfacenet.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
-
insert
public int insert(int slot, net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext tx) - Specified by:
insertin interfacenet.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
-
extract
public int extract(int slot, net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext tx) - Specified by:
extractin interfacenet.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
-