Class StackItemHandler

java.lang.Object
org.moddingx.libx.inventory.StackItemHandler
All Implemented Interfaces:
net.neoforged.neoforge.items.IItemHandler, net.neoforged.neoforge.items.IItemHandlerModifiable, IAdvancedItemHandler, IAdvancedItemHandlerModifiable

public class StackItemHandler extends Object implements IAdvancedItemHandlerModifiable
An IItemHandlerModifiable with a MutableDataComponentHolder as backend.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final net.neoforged.neoforge.common.MutableDataComponentHolder
     
    static final net.minecraft.core.component.DataComponentType<net.minecraft.core.NonNullList<net.minecraft.world.item.ItemStack>>
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    StackItemHandler(int size, net.neoforged.neoforge.common.MutableDataComponentHolder dataComponentHolder)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Clears all slots from the item handler.
    int
    clear(Predicate<net.minecraft.world.item.ItemStack> predicate)
    Clears all stacks from the item handler that match a predicate.
    net.minecraft.world.item.ItemStack
    extractItem(int slot, int amount, boolean simulate)
     
    int
    getSlotLimit(int slot)
     
    int
     
    net.minecraft.world.item.ItemStack
    getStackInSlot(int slot)
     
    net.minecraft.world.item.ItemStack
    insertItem(int slot, net.minecraft.world.item.ItemStack stack, boolean simulate)
     
    boolean
    isItemValid(int slot, net.minecraft.world.item.ItemStack stack)
     
    void
    setStackInSlot(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, wait

    Methods inherited from interface org.moddingx.libx.inventory.IAdvancedItemHandler

    extractItem, extractItem, hasSpaceFor, hasSpaceFor, insertItem
  • Field Details

    • INVENTORY_DATA

      public static final net.minecraft.core.component.DataComponentType<net.minecraft.core.NonNullList<net.minecraft.world.item.ItemStack>> INVENTORY_DATA
    • dataComponentHolder

      protected final net.neoforged.neoforge.common.MutableDataComponentHolder dataComponentHolder
  • Constructor Details

    • StackItemHandler

      public StackItemHandler(int size, net.neoforged.neoforge.common.MutableDataComponentHolder dataComponentHolder)
  • Method Details

    • getSlots

      public int getSlots()
      Specified by:
      getSlots in interface net.neoforged.neoforge.items.IItemHandler
    • getStackInSlot

      @Nonnull public net.minecraft.world.item.ItemStack getStackInSlot(int slot)
      Specified by:
      getStackInSlot in interface net.neoforged.neoforge.items.IItemHandler
    • setStackInSlot

      public void setStackInSlot(int slot, @Nonnull net.minecraft.world.item.ItemStack stack)
      Specified by:
      setStackInSlot in interface net.neoforged.neoforge.items.IItemHandlerModifiable
    • clear

      public void clear()
      Description copied from interface: IAdvancedItemHandlerModifiable
      Clears all slots from the item handler.
      Specified by:
      clear in interface IAdvancedItemHandlerModifiable
    • clear

      public int clear(Predicate<net.minecraft.world.item.ItemStack> predicate)
      Description copied from interface: IAdvancedItemHandlerModifiable
      Clears all stacks from the item handler that match a predicate.
      Specified by:
      clear in interface IAdvancedItemHandlerModifiable
      Returns:
      The amount of items cleared.
    • insertItem

      @Nonnull public net.minecraft.world.item.ItemStack insertItem(int slot, @Nonnull net.minecraft.world.item.ItemStack stack, boolean simulate)
      Specified by:
      insertItem in interface net.neoforged.neoforge.items.IItemHandler
    • extractItem

      @Nonnull public net.minecraft.world.item.ItemStack extractItem(int slot, int amount, boolean simulate)
      Specified by:
      extractItem in interface net.neoforged.neoforge.items.IItemHandler
    • getSlotLimit

      public int getSlotLimit(int slot)
      Specified by:
      getSlotLimit in interface net.neoforged.neoforge.items.IItemHandler
    • isItemValid

      public boolean isItemValid(int slot, @Nonnull net.minecraft.world.item.ItemStack stack)
      Specified by:
      isItemValid in interface net.neoforged.neoforge.items.IItemHandler