Class ResourceHandlerFluidSwapEmpty

java.lang.Object
net.neoforged.neoforge.transfer.ItemAccessResourceHandler<net.neoforged.neoforge.transfer.fluid.FluidResource>
org.cyclops.cyclopscore.capability.fluid.ResourceHandlerFluidSwapEmpty
All Implemented Interfaces:
net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.fluid.FluidResource>

public class ResourceHandlerFluidSwapEmpty extends net.neoforged.neoforge.transfer.ItemAccessResourceHandler<net.neoforged.neoforge.transfer.fluid.FluidResource>
A fluid resource handler that swaps an item to empty when drained. Inspired by BucketResourceHandler.
  • Field Summary

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

    itemAccess, size
  • Constructor Summary

    Constructors
    Constructor
    Description
    ResourceHandlerFluidSwapEmpty(net.neoforged.neoforge.transfer.access.ItemAccess itemAccess, net.neoforged.neoforge.fluids.FluidStack fluid, net.neoforged.neoforge.transfer.item.ItemResource itemResourceFull, net.neoforged.neoforge.transfer.item.ItemResource itemResourceEmpty)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    extract(int index, net.neoforged.neoforge.transfer.fluid.FluidResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext transaction)
     
    protected int
    getAmountFrom(net.neoforged.neoforge.transfer.item.ItemResource accessResource, int index)
     
    protected int
    getCapacity(int index, net.neoforged.neoforge.transfer.fluid.FluidResource resource)
     
    protected net.neoforged.neoforge.transfer.fluid.FluidResource
    getResourceFrom(net.neoforged.neoforge.transfer.item.ItemResource accessResource, int index)
     
    protected net.neoforged.neoforge.transfer.item.ItemResource
    update(net.neoforged.neoforge.transfer.item.ItemResource accessResource, int index, net.neoforged.neoforge.transfer.fluid.FluidResource newResource, int newAmount)
     

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

    getAmountAsLong, getCapacityAsLong, getResource, insert, isValid, size

    Methods inherited from class java.lang.Object

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

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

    extract, getAmountAsInt, getCapacityAsInt, insert
  • Constructor Details

    • ResourceHandlerFluidSwapEmpty

      public ResourceHandlerFluidSwapEmpty(net.neoforged.neoforge.transfer.access.ItemAccess itemAccess, net.neoforged.neoforge.fluids.FluidStack fluid, net.neoforged.neoforge.transfer.item.ItemResource itemResourceFull, net.neoforged.neoforge.transfer.item.ItemResource itemResourceEmpty)
  • Method Details

    • getResourceFrom

      protected net.neoforged.neoforge.transfer.fluid.FluidResource getResourceFrom(net.neoforged.neoforge.transfer.item.ItemResource accessResource, int index)
      Specified by:
      getResourceFrom in class net.neoforged.neoforge.transfer.ItemAccessResourceHandler<net.neoforged.neoforge.transfer.fluid.FluidResource>
    • getAmountFrom

      protected int getAmountFrom(net.neoforged.neoforge.transfer.item.ItemResource accessResource, int index)
      Specified by:
      getAmountFrom in class net.neoforged.neoforge.transfer.ItemAccessResourceHandler<net.neoforged.neoforge.transfer.fluid.FluidResource>
    • update

      @Nullable protected net.neoforged.neoforge.transfer.item.ItemResource update(net.neoforged.neoforge.transfer.item.ItemResource accessResource, int index, net.neoforged.neoforge.transfer.fluid.FluidResource newResource, int newAmount)
      Specified by:
      update in class net.neoforged.neoforge.transfer.ItemAccessResourceHandler<net.neoforged.neoforge.transfer.fluid.FluidResource>
    • getCapacity

      protected int getCapacity(int index, net.neoforged.neoforge.transfer.fluid.FluidResource resource)
      Specified by:
      getCapacity in class net.neoforged.neoforge.transfer.ItemAccessResourceHandler<net.neoforged.neoforge.transfer.fluid.FluidResource>
    • extract

      public int extract(int index, net.neoforged.neoforge.transfer.fluid.FluidResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext transaction)
      Specified by:
      extract in interface net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.fluid.FluidResource>
      Overrides:
      extract in class net.neoforged.neoforge.transfer.ItemAccessResourceHandler<net.neoforged.neoforge.transfer.fluid.FluidResource>