Class StackItemResourceHandler

java.lang.Object
net.neoforged.neoforge.transfer.ItemAccessResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
net.neoforged.neoforge.transfer.item.ItemAccessItemHandler
org.moddingx.libx.inventory.StackItemResourceHandler
All Implemented Interfaces:
net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>, IAdvancedItemHandler, IAdvancedItemHandlerModifiable

public class StackItemResourceHandler extends net.neoforged.neoforge.transfer.item.ItemAccessItemHandler implements IAdvancedItemHandlerModifiable
An IAdvancedItemHandlerModifiable that stores its contents in an ItemContainerContents data component on the item behind an ItemAccess.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final net.minecraft.core.component.DataComponentType<net.minecraft.world.item.component.ItemContainerContents>
     
    static final int
    The maximum number of slots such a handler can have, imposed by ItemContainerContents.

    Fields inherited from class net.neoforged.neoforge.transfer.item.ItemAccessItemHandler

    component, validItem

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

    itemAccess, size
  • Constructor Summary

    Constructors
    Constructor
    Description
    StackItemResourceHandler(int size, net.neoforged.neoforge.transfer.access.ItemAccess itemAccess)
    Creates a handler backed by the default INVENTORY_DATA component.
    StackItemResourceHandler(int size, net.neoforged.neoforge.transfer.access.ItemAccess itemAccess, net.minecraft.core.component.DataComponentType<net.minecraft.world.item.component.ItemContainerContents> component)
    Creates a handler backed by a custom ItemContainerContents component.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected int
    getCapacity(int index, net.neoforged.neoforge.transfer.item.ItemResource resource)
     
    void
    set(int index, net.neoforged.neoforge.transfer.item.ItemResource resource, int amount)
    Directly sets a slot to the given resource and amount without a transaction.

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

    getAmountFrom, getContents, getResourceFrom, getStackFromContents, isValid, update

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

    extract, getAmountAsLong, getCapacityAsLong, getResource, insert, size

    Methods inherited from class Object

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

    Methods inherited from interface IAdvancedItemHandlerModifiable

    clear, clear

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

    extract, extract, getAmountAsInt, getAmountAsLong, getCapacityAsInt, getCapacityAsLong, getResource, insert, insert, isValid, size
  • Field Details

    • MAX_SIZE

      public static final int MAX_SIZE
      The maximum number of slots such a handler can have, imposed by ItemContainerContents.
      See Also:
    • INVENTORY_DATA

      public static final net.minecraft.core.component.DataComponentType<net.minecraft.world.item.component.ItemContainerContents> INVENTORY_DATA
  • Constructor Details

    • StackItemResourceHandler

      public StackItemResourceHandler(int size, net.neoforged.neoforge.transfer.access.ItemAccess itemAccess)
      Creates a handler backed by the default INVENTORY_DATA component.
    • StackItemResourceHandler

      public StackItemResourceHandler(int size, net.neoforged.neoforge.transfer.access.ItemAccess itemAccess, net.minecraft.core.component.DataComponentType<net.minecraft.world.item.component.ItemContainerContents> component)
      Creates a handler backed by a custom ItemContainerContents component. Use this when an item needs more than one inventory, or an inventory that is not shared with other LibX items.
  • Method Details

    • getCapacity

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

      public void set(int index, @Nonnull net.neoforged.neoforge.transfer.item.ItemResource resource, int amount)
      Description copied from interface: IAdvancedItemHandlerModifiable
      Directly sets a slot to the given resource and amount without a transaction.
      Specified by:
      set in interface IAdvancedItemHandlerModifiable