Class IndexedItemResourceHandler

java.lang.Object
org.cyclops.cyclopscore.inventory.IndexedItemResourceHandler
All Implemented Interfaces:
net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>

public class IndexedItemResourceHandler extends Object implements net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
A ResourceHandler for items that uses the index from a IndexedInventory. Inspired by VanillaContainerWrapper
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    IndexedItemResourceHandler(org.cyclops.cyclopscore.inventory.IInventoryIndexReference indexReference, net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource> resourceHandler)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    extract(int index, net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext transaction)
     
    int
    extract(net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext transaction)
     
    int
    getAmountAsInt(int index)
     
    long
    getAmountAsLong(int index)
     
    int
    getCapacityAsInt(int index, net.neoforged.neoforge.transfer.item.ItemResource resource)
     
    long
    getCapacityAsLong(int index, net.neoforged.neoforge.transfer.item.ItemResource resource)
     
    getNonEmptySlotsWithItemStack(net.neoforged.neoforge.transfer.item.ItemResource resource)
     
    getNonFullSlotsWithItemStack(net.neoforged.neoforge.transfer.item.ItemResource resource)
     
    net.neoforged.neoforge.transfer.item.ItemResource
    getResource(int index)
     
    int
    insert(int index, net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext transaction)
     
    int
    insert(net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext transaction)
     
    boolean
    isValid(int index, net.neoforged.neoforge.transfer.item.ItemResource resource)
     
    int
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • IndexedItemResourceHandler

      public IndexedItemResourceHandler(org.cyclops.cyclopscore.inventory.IInventoryIndexReference indexReference, net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource> resourceHandler)
  • Method Details

    • size

      public int size()
      Specified by:
      size in interface net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
    • getResource

      public net.neoforged.neoforge.transfer.item.ItemResource getResource(int index)
      Specified by:
      getResource in interface net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
    • getAmountAsLong

      public long getAmountAsLong(int index)
      Specified by:
      getAmountAsLong in interface net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
    • getAmountAsInt

      public int getAmountAsInt(int index)
      Specified by:
      getAmountAsInt in interface net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
    • getCapacityAsLong

      public long getCapacityAsLong(int index, net.neoforged.neoforge.transfer.item.ItemResource resource)
      Specified by:
      getCapacityAsLong in interface net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
    • getCapacityAsInt

      public int getCapacityAsInt(int index, net.neoforged.neoforge.transfer.item.ItemResource resource)
      Specified by:
      getCapacityAsInt in interface net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
    • isValid

      public boolean isValid(int index, net.neoforged.neoforge.transfer.item.ItemResource resource)
      Specified by:
      isValid in interface net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
    • insert

      public int insert(int index, net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext transaction)
      Specified by:
      insert in interface net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
    • getNonFullSlotsWithItemStack

      protected PrimitiveIterator.OfInt getNonFullSlotsWithItemStack(net.neoforged.neoforge.transfer.item.ItemResource resource)
    • insert

      public int insert(net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext transaction)
      Specified by:
      insert in interface net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
    • extract

      public int extract(int index, net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext transaction)
      Specified by:
      extract in interface net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>
    • getNonEmptySlotsWithItemStack

      protected PrimitiveIterator.OfInt getNonEmptySlotsWithItemStack(net.neoforged.neoforge.transfer.item.ItemResource resource)
    • extract

      public int extract(net.neoforged.neoforge.transfer.item.ItemResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext transaction)
      Specified by:
      extract in interface net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.item.ItemResource>