Class BaseItemStackHandler

java.lang.Object
net.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack, net.neoforged.neoforge.transfer.item.ItemResource>
net.neoforged.neoforge.transfer.item.ItemStacksResourceHandler
org.moddingx.libx.inventory.BaseItemStackHandler
All Implemented Interfaces:
net.neoforged.neoforge.common.util.ValueIOSerializable, net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>, IAdvancedItemHandler, IAdvancedItemHandlerModifiable

public class BaseItemStackHandler extends net.neoforged.neoforge.transfer.item.ItemStacksResourceHandler implements IAdvancedItemHandlerModifiable
An ItemStacksResourceHandler that can be configured with common things required for many inventories. To get a BaseItemStackHandler, use builder(int).
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Builder for a BaseItemStackHandler
  • Field Summary

    Fields inherited from class net.neoforged.neoforge.transfer.StacksResourceHandler

    codec, emptyStack, stacks, VALUE_IO_KEY
  • Method Summary

    Modifier and Type
    Method
    Description
    builder(int size)
    Creates a new BaseItemStackHandler.Builder for an item handler with the given size.
    void
    deserialize(net.minecraft.world.level.storage.ValueInput input)
     
    int
    extract(int index, net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext tx)
     
    protected int
    getCapacity(int index, net.neoforged.neoforge.transfer.item.ItemResource resource)
     
    Gets an item handler that wraps around this item handler but has no checks on which items are valid for a slot.
    boolean
    hasSpaceFor(List<net.minecraft.world.item.ItemStack> stacks, int startInclusive, int endExclusive)
    Gets whether the item handler has space for all the items given.
    int
    insert(int index, net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext tx)
     
    boolean
    isValid(int slot, net.neoforged.neoforge.transfer.item.ItemResource resource)
     
    protected void
    onContentsChanged(int index, net.minecraft.world.item.ItemStack previousContents)
     
    net.minecraft.world.Container
    Gets a vanilla container that wraps around this item handler.

    Methods inherited from class net.neoforged.neoforge.transfer.item.ItemStacksResourceHandler

    copyOf, getAmountFrom, getResourceFrom, getStackFrom, matches

    Methods inherited from class net.neoforged.neoforge.transfer.StacksResourceHandler

    copyToList, getAmountAsLong, getCapacityAsLong, getResource, serialize, set, setStacks, size

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface IAdvancedItemHandler

    extractItem, extractItem, hasSpaceFor, insertItem

    Methods inherited from interface IAdvancedItemHandlerModifiable

    clear, clear, set

    Methods inherited from interface net.neoforged.neoforge.transfer.ResourceHandler

    extract, getAmountAsInt, getAmountAsLong, getCapacityAsInt, getCapacityAsLong, getResource, insert, size
  • Method Details

    • isValid

      public boolean isValid(int slot, net.neoforged.neoforge.transfer.item.ItemResource resource)
      Specified by:
      isValid in interface net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
      Overrides:
      isValid in class net.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack, net.neoforged.neoforge.transfer.item.ItemResource>
    • getCapacity

      protected int getCapacity(int index, net.neoforged.neoforge.transfer.item.ItemResource resource)
      Overrides:
      getCapacity in class net.neoforged.neoforge.transfer.item.ItemStacksResourceHandler
    • insert

      public int insert(int index, @Nonnull net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, @Nonnull net.neoforged.neoforge.transfer.transaction.TransactionContext tx)
      Specified by:
      insert in interface net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
      Overrides:
      insert in class net.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack, net.neoforged.neoforge.transfer.item.ItemResource>
    • extract

      public int extract(int index, @Nonnull net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, @Nonnull net.neoforged.neoforge.transfer.transaction.TransactionContext tx)
      Specified by:
      extract in interface net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
      Overrides:
      extract in class net.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack, net.neoforged.neoforge.transfer.item.ItemResource>
    • onContentsChanged

      protected void onContentsChanged(int index, @Nonnull net.minecraft.world.item.ItemStack previousContents)
      Overrides:
      onContentsChanged in class net.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack, net.neoforged.neoforge.transfer.item.ItemResource>
    • deserialize

      public void deserialize(@Nonnull net.minecraft.world.level.storage.ValueInput input)
      Specified by:
      deserialize in interface net.neoforged.neoforge.common.util.ValueIOSerializable
      Overrides:
      deserialize in class net.neoforged.neoforge.transfer.StacksResourceHandler<net.minecraft.world.item.ItemStack, net.neoforged.neoforge.transfer.item.ItemResource>
    • 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.
      Specified by:
      hasSpaceFor in interface IAdvancedItemHandler
      Parameters:
      startInclusive - The first slot to test.
      endExclusive - The first slot 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.