Class SingleUseTank

java.lang.Object
net.neoforged.neoforge.transfer.StacksResourceHandler<net.neoforged.neoforge.fluids.FluidStack,net.neoforged.neoforge.transfer.fluid.FluidResource>
net.neoforged.neoforge.transfer.fluid.FluidStacksResourceHandler
org.cyclops.cyclopscore.fluid.Tank
org.cyclops.cyclopscore.fluid.SingleUseTank
All Implemented Interfaces:
net.neoforged.neoforge.common.util.ValueIOSerializable, net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.fluid.FluidResource>, IFluidHandlerCapacity

public class SingleUseTank extends Tank
A simple tank that can accept and drain fluids until the capacity is reached. Only one fluid can be accepted, which must be specified with setAcceptedFluid(Fluid). Based on the Buildcraft SingleUseTank.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The NBT name for the fluid tank.

    Fields inherited from class net.neoforged.neoforge.transfer.fluid.FluidStacksResourceHandler

    capacity

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

    codec, emptyStack, stacks, VALUE_IO_KEY
  • Constructor Summary

    Constructors
    Constructor
    Description
    SingleUseTank(int capacity)
    Make a new tank instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addDirtyMarkListener(org.cyclops.cyclopscore.persist.IDirtyMarkListener dirtyMarkListener)
    Add a dirty marking listener.
    void
    deserializeTank(net.minecraft.world.level.storage.ValueInput input)
    Read the tank contents from NBT.
    net.minecraft.world.level.material.Fluid
    Get the accepted fluid for this tank.
    int
    insert(int index, net.neoforged.neoforge.transfer.fluid.FluidResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext transaction)
     
    protected void
    onContentsChanged(int index, net.neoforged.neoforge.fluids.FluidStack previousContents)
     
    void
    removeDirtyMarkListener(org.cyclops.cyclopscore.persist.IDirtyMarkListener dirtyMarkListener)
    Remove a dirty marking listener.
    void
    Reset the tank by setting the inner fluid to null.
    protected void
     
    void
    serializeTank(net.minecraft.world.level.storage.ValueOutput output)
    Write the tank contents to NBT.
    void
    setAcceptedFluid(net.minecraft.world.level.material.Fluid fluid)
    Set the accepted fluid for this tank.

    Methods inherited from class net.neoforged.neoforge.transfer.fluid.FluidStacksResourceHandler

    copyOf, getAmountFrom, getCapacity, getResourceFrom, getStackFrom, matches

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

    copyToList, extract, getAmountAsLong, getCapacityAsLong, getResource, isValid, set, size

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.cyclops.cyclopscore.capability.fluid.IFluidHandlerCapacity

    setTankCapacity

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

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

  • Constructor Details

    • SingleUseTank

      public SingleUseTank(int capacity)
      Make a new tank instance.
      Parameters:
      capacity - The capacity (mB) for the tank.
  • Method Details

    • addDirtyMarkListener

      public void addDirtyMarkListener(org.cyclops.cyclopscore.persist.IDirtyMarkListener dirtyMarkListener)
      Add a dirty marking listener.
      Parameters:
      dirtyMarkListener - The dirty mark listener.
    • removeDirtyMarkListener

      public void removeDirtyMarkListener(org.cyclops.cyclopscore.persist.IDirtyMarkListener dirtyMarkListener)
      Remove a dirty marking listener.
      Parameters:
      dirtyMarkListener - The dirty mark listener.
    • insert

      public int insert(int index, net.neoforged.neoforge.transfer.fluid.FluidResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext transaction)
      Specified by:
      insert in interface net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.fluid.FluidResource>
      Overrides:
      insert in class net.neoforged.neoforge.transfer.StacksResourceHandler<net.neoforged.neoforge.fluids.FluidStack,net.neoforged.neoforge.transfer.fluid.FluidResource>
    • onContentsChanged

      protected void onContentsChanged(int index, net.neoforged.neoforge.fluids.FluidStack previousContents)
      Overrides:
      onContentsChanged in class net.neoforged.neoforge.transfer.StacksResourceHandler<net.neoforged.neoforge.fluids.FluidStack,net.neoforged.neoforge.transfer.fluid.FluidResource>
    • sendUpdate

      protected void sendUpdate()
    • reset

      public void reset()
      Reset the tank by setting the inner fluid to null.
    • setAcceptedFluid

      public void setAcceptedFluid(net.minecraft.world.level.material.Fluid fluid)
      Set the accepted fluid for this tank.
      Parameters:
      fluid - The accepted fluid
    • getAcceptedFluid

      public net.minecraft.world.level.material.Fluid getAcceptedFluid()
      Get the accepted fluid for this tank.
      Returns:
      The accepted fluid.
    • serializeTank

      public void serializeTank(net.minecraft.world.level.storage.ValueOutput output)
      Description copied from class: Tank
      Write the tank contents to NBT.
      Overrides:
      serializeTank in class Tank
      Parameters:
      output - The value tag to write to.
    • deserializeTank

      public void deserializeTank(net.minecraft.world.level.storage.ValueInput input)
      Description copied from class: Tank
      Read the tank contents from NBT.
      Overrides:
      deserializeTank in class Tank
      Parameters:
      input - The value to write from.