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 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.