Package org.moddingx.libx.inventory
Class FilterItemHandler
java.lang.Object
org.moddingx.libx.inventory.FilterItemHandler
- All Implemented Interfaces:
net.neoforged.neoforge.items.IItemHandler,IAdvancedItemHandler
A simple wrapper around an
IItemHandler that limits the possibility to insert or extract items. This is
especially useful for item handler capabilities.-
Constructor Summary
ConstructorsConstructorDescriptionFilterItemHandler(net.neoforged.neoforge.items.IItemHandler handler, Predicate<Integer> extract, BiPredicate<Integer, net.minecraft.world.item.ItemStack> insert) Creates a newFilterItemHandler. -
Method Summary
Modifier and TypeMethodDescriptionnet.minecraft.world.item.ItemStackextractItem(int slot, int amount, boolean simulate) intgetSlotLimit(int slot) intgetSlots()net.minecraft.world.item.ItemStackgetStackInSlot(int slot) net.minecraft.world.item.ItemStackinsertItem(int slot, net.minecraft.world.item.ItemStack stack, boolean simulate) booleanisItemValid(int slot, net.minecraft.world.item.ItemStack stack) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.moddingx.libx.inventory.IAdvancedItemHandler
extractItem, extractItem, hasSpaceFor, hasSpaceFor, insertItem
-
Constructor Details
-
FilterItemHandler
public FilterItemHandler(net.neoforged.neoforge.items.IItemHandler handler, @Nullable Predicate<Integer> extract, @Nullable BiPredicate<Integer, net.minecraft.world.item.ItemStack> insert) Creates a newFilterItemHandler.- Parameters:
handler- TheIItemHandlerthisFilterItemHandlerwraps 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
-
getSlots
public int getSlots()- Specified by:
getSlotsin interfacenet.neoforged.neoforge.items.IItemHandler
-
getStackInSlot
- Specified by:
getStackInSlotin interfacenet.neoforged.neoforge.items.IItemHandler
-
insertItem
@Nonnull public net.minecraft.world.item.ItemStack insertItem(int slot, @Nonnull net.minecraft.world.item.ItemStack stack, boolean simulate) - Specified by:
insertItemin interfacenet.neoforged.neoforge.items.IItemHandler
-
extractItem
@Nonnull public net.minecraft.world.item.ItemStack extractItem(int slot, int amount, boolean simulate) - Specified by:
extractItemin interfacenet.neoforged.neoforge.items.IItemHandler
-
getSlotLimit
public int getSlotLimit(int slot) - Specified by:
getSlotLimitin interfacenet.neoforged.neoforge.items.IItemHandler
-
isItemValid
- Specified by:
isItemValidin interfacenet.neoforged.neoforge.items.IItemHandler
-