Interface IFluidTank

All Known Implementing Classes:
FluidTank

public interface IFluidTank
This interface represents a Fluid Tank. IT IS NOT REQUIRED but is provided for convenience. You are free to handle Fluids in any way that you wish - this is simply an easy default way. DO NOT ASSUME that these objects are used internally in all cases.
  • Method Details

    • getFluid

      @Nonnull FluidStack getFluid()
      Returns:
      FluidStack representing the fluid in the tank, null if the tank is empty.
    • getFluidAmount

      int getFluidAmount()
      Returns:
      Current amount of fluid in the tank.
    • getCapacity

      int getCapacity()
      Returns:
      Capacity of this fluid tank.
    • isFluidValid

      boolean isFluidValid(FluidStack stack)
      Parameters:
      stack - Fluidstack holding the Fluid to be queried.
      Returns:
      If the tank can hold the fluid (EVER, not at the time of query).
    • fill

      int fill(FluidStack resource, IFluidHandler.FluidAction action)
      Parameters:
      resource - FluidStack attempting to fill the tank.
      action - If SIMULATE, the fill will only be simulated.
      Returns:
      Amount of fluid that was accepted (or would be, if simulated) by the tank.
    • drain

      @Nonnull FluidStack drain(int maxDrain, IFluidHandler.FluidAction action)
      Parameters:
      maxDrain - Maximum amount of fluid to be removed from the container.
      action - If SIMULATE, the drain will only be simulated.
      Returns:
      Amount of fluid that was removed (or would be, if simulated) from the tank.
    • drain

      @Nonnull FluidStack drain(FluidStack resource, IFluidHandler.FluidAction action)
      Parameters:
      resource - Maximum amount of fluid to be removed from the container.
      action - If SIMULATE, the drain will only be simulated.
      Returns:
      FluidStack representing fluid that was removed (or would be, if simulated) from the tank.