Class BaseItemStackHandler

java.lang.Object
net.neoforged.neoforge.items.ItemStackHandler
org.moddingx.libx.inventory.BaseItemStackHandler
All Implemented Interfaces:
net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>, net.neoforged.neoforge.items.IItemHandler, net.neoforged.neoforge.items.IItemHandlerModifiable, IAdvancedItemHandler, IAdvancedItemHandlerModifiable

public class BaseItemStackHandler extends net.neoforged.neoforge.items.ItemStackHandler implements IAdvancedItemHandlerModifiable
An ItemStackHandler that can be configured with common things required for many inventories. To get a BaseItemStackHandler, use builder(int).
  • Method Details

    • 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
      Overrides:
      insertItem in class net.neoforged.neoforge.items.ItemStackHandler
    • 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
      Overrides:
      extractItem in class net.neoforged.neoforge.items.ItemStackHandler
    • getSlotLimit

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

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

      public void onContentsChanged(int slot)
      Overrides:
      onContentsChanged in class net.neoforged.neoforge.items.ItemStackHandler
    • onLoad

      protected void onLoad()
      Overrides:
      onLoad in class net.neoforged.neoforge.items.ItemStackHandler
    • hasSpaceFor

      public boolean hasSpaceFor(List<net.minecraft.world.item.ItemStack> stacks, int startInclusive, int endExclusive)
      Description copied from interface: IAdvancedItemHandler
      Gets whether the item handler has space for all the items given. This does not check whether the item handler can take the stacks via IItemHandler.insertItem(int, ItemStack, boolean). However it checks for IItemHandler.isItemValid(int, ItemStack).
      Specified by:
      hasSpaceFor in interface IAdvancedItemHandler
      Parameters:
      startInclusive - The first slot to test.
      endExclusive - The first slot to after the range of slots to test.
    • toVanilla

      public net.minecraft.world.Container toVanilla()
      Gets a vanilla container that wraps around this item handler.
    • getUnrestricted

      public IAdvancedItemHandlerModifiable getUnrestricted()
      Gets an item handler that wraps around this item handler but has no checks on which items are valid for a slot.
    • builder

      public static BaseItemStackHandler.Builder builder(int size)
      Creates a new BaseItemStackHandler.Builder for an item handler with the given size.