Class PNCFluidTank

java.lang.Object
me.desht.pneumaticcraft.common.util.PNCFluidTank
All Implemented Interfaces:
net.minecraftforge.fluids.capability.IFluidHandler, net.minecraftforge.fluids.IFluidTank
Direct Known Subclasses:
SmartSyncTank

public class PNCFluidTank extends Object implements net.minecraftforge.fluids.capability.IFluidHandler, net.minecraftforge.fluids.IFluidTank
Much like the default FluidTank implementation in Forge, but also passes the previous fluid & amount in its onContentsChanged() method.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface net.minecraftforge.fluids.capability.IFluidHandler

    net.minecraftforge.fluids.capability.IFluidHandler.FluidAction
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected int
     
    protected net.minecraftforge.fluids.FluidStack
     
    protected Predicate<net.minecraftforge.fluids.FluidStack>
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    PNCFluidTank(int capacity)
     
    PNCFluidTank(int capacity, Predicate<net.minecraftforge.fluids.FluidStack> validator)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    net.minecraftforge.fluids.FluidStack
    drain(int maxDrain, net.minecraftforge.fluids.capability.IFluidHandler.FluidAction action)
     
    net.minecraftforge.fluids.FluidStack
    drain(net.minecraftforge.fluids.FluidStack resource, net.minecraftforge.fluids.capability.IFluidHandler.FluidAction action)
     
    int
    fill(net.minecraftforge.fluids.FluidStack resource, net.minecraftforge.fluids.capability.IFluidHandler.FluidAction action)
     
    int
     
    net.minecraftforge.fluids.FluidStack
     
    int
     
    net.minecraftforge.fluids.FluidStack
    getFluidInTank(int tank)
     
    int
     
    int
    getTankCapacity(int tank)
     
    int
     
    boolean
     
    boolean
    isFluidValid(int tank, net.minecraftforge.fluids.FluidStack stack)
     
    boolean
    isFluidValid(net.minecraftforge.fluids.FluidStack stack)
     
    protected void
    onContentsChanged(net.minecraft.world.level.material.Fluid prevFluid, int prevAmount)
     
    readFromNBT(net.minecraft.nbt.CompoundTag nbt)
     
    setCapacity(int capacity)
     
    void
    setFluid(net.minecraftforge.fluids.FluidStack stack)
     
    setValidator(Predicate<net.minecraftforge.fluids.FluidStack> validator)
     
    net.minecraft.nbt.CompoundTag
    writeToNBT(net.minecraft.nbt.CompoundTag nbt)
     

    Methods inherited from class java.lang.Object

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

    • validator

      protected Predicate<net.minecraftforge.fluids.FluidStack> validator
    • fluid

      @Nonnull protected net.minecraftforge.fluids.FluidStack fluid
    • capacity

      protected int capacity
  • Constructor Details

    • PNCFluidTank

      public PNCFluidTank(int capacity)
    • PNCFluidTank

      public PNCFluidTank(int capacity, Predicate<net.minecraftforge.fluids.FluidStack> validator)
  • Method Details

    • setCapacity

      public PNCFluidTank setCapacity(int capacity)
    • setValidator

      public PNCFluidTank setValidator(Predicate<net.minecraftforge.fluids.FluidStack> validator)
    • isFluidValid

      public boolean isFluidValid(net.minecraftforge.fluids.FluidStack stack)
      Specified by:
      isFluidValid in interface net.minecraftforge.fluids.IFluidTank
    • getCapacity

      public int getCapacity()
      Specified by:
      getCapacity in interface net.minecraftforge.fluids.IFluidTank
    • getFluid

      @Nonnull public net.minecraftforge.fluids.FluidStack getFluid()
      Specified by:
      getFluid in interface net.minecraftforge.fluids.IFluidTank
    • getFluidAmount

      public int getFluidAmount()
      Specified by:
      getFluidAmount in interface net.minecraftforge.fluids.IFluidTank
    • readFromNBT

      public PNCFluidTank readFromNBT(net.minecraft.nbt.CompoundTag nbt)
    • writeToNBT

      public net.minecraft.nbt.CompoundTag writeToNBT(net.minecraft.nbt.CompoundTag nbt)
    • getTanks

      public int getTanks()
      Specified by:
      getTanks in interface net.minecraftforge.fluids.capability.IFluidHandler
    • getFluidInTank

      @Nonnull public net.minecraftforge.fluids.FluidStack getFluidInTank(int tank)
      Specified by:
      getFluidInTank in interface net.minecraftforge.fluids.capability.IFluidHandler
    • getTankCapacity

      public int getTankCapacity(int tank)
      Specified by:
      getTankCapacity in interface net.minecraftforge.fluids.capability.IFluidHandler
    • isFluidValid

      public boolean isFluidValid(int tank, @Nonnull net.minecraftforge.fluids.FluidStack stack)
      Specified by:
      isFluidValid in interface net.minecraftforge.fluids.capability.IFluidHandler
    • fill

      public int fill(net.minecraftforge.fluids.FluidStack resource, net.minecraftforge.fluids.capability.IFluidHandler.FluidAction action)
      Specified by:
      fill in interface net.minecraftforge.fluids.capability.IFluidHandler
      Specified by:
      fill in interface net.minecraftforge.fluids.IFluidTank
    • drain

      @Nonnull public net.minecraftforge.fluids.FluidStack drain(net.minecraftforge.fluids.FluidStack resource, net.minecraftforge.fluids.capability.IFluidHandler.FluidAction action)
      Specified by:
      drain in interface net.minecraftforge.fluids.capability.IFluidHandler
      Specified by:
      drain in interface net.minecraftforge.fluids.IFluidTank
    • drain

      @Nonnull public net.minecraftforge.fluids.FluidStack drain(int maxDrain, net.minecraftforge.fluids.capability.IFluidHandler.FluidAction action)
      Specified by:
      drain in interface net.minecraftforge.fluids.capability.IFluidHandler
      Specified by:
      drain in interface net.minecraftforge.fluids.IFluidTank
    • onContentsChanged

      protected void onContentsChanged(net.minecraft.world.level.material.Fluid prevFluid, int prevAmount)
    • setFluid

      public void setFluid(net.minecraftforge.fluids.FluidStack stack)
    • isEmpty

      public boolean isEmpty()
    • getSpace

      public int getSpace()