java.lang.Object
com.portingdeadmods.portingdeadlibs.api.capabilities.DynamicFluidTank
All Implemented Interfaces:
net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>, net.neoforged.neoforge.fluids.capability.IFluidHandler, net.neoforged.neoforge.fluids.IFluidTank

public class DynamicFluidTank extends Object implements net.neoforged.neoforge.fluids.IFluidTank, net.neoforged.neoforge.fluids.capability.IFluidHandler, net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>
FluidTank with a dynamic capacity
  • Nested Class Summary

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

    net.neoforged.neoforge.fluids.capability.IFluidHandler.FluidAction
  • Field Summary

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

    Constructors
    Constructor
    Description
    DynamicFluidTank(int capacity)
     
    DynamicFluidTank(int capacity, Predicate<net.neoforged.neoforge.fluids.FluidStack> validator)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    deserializeNBT(net.minecraft.core.HolderLookup.Provider provider, net.minecraft.nbt.CompoundTag nbt)
     
    net.neoforged.neoforge.fluids.FluidStack
    drain(int maxDrain, net.neoforged.neoforge.fluids.capability.IFluidHandler.FluidAction action)
     
    net.neoforged.neoforge.fluids.FluidStack
    drain(net.neoforged.neoforge.fluids.FluidStack resource, net.neoforged.neoforge.fluids.capability.IFluidHandler.FluidAction action)
     
    int
    fill(net.neoforged.neoforge.fluids.FluidStack resource, net.neoforged.neoforge.fluids.capability.IFluidHandler.FluidAction action)
     
    int
     
    net.neoforged.neoforge.fluids.FluidStack
     
    int
     
    net.neoforged.neoforge.fluids.FluidStack
    getFluidInTank(int tank)
     
    int
     
    int
    getTankCapacity(int tank)
     
    int
     
    boolean
     
    boolean
    isFluidValid(int tank, net.neoforged.neoforge.fluids.FluidStack stack)
     
    boolean
    isFluidValid(net.neoforged.neoforge.fluids.FluidStack stack)
     
    protected void
     
    @UnknownNullability net.minecraft.nbt.CompoundTag
    serializeNBT(net.minecraft.core.HolderLookup.Provider provider)
     
    void
    setCapacity(int capacity)
     
    void
    setFluid(net.neoforged.neoforge.fluids.FluidStack stack)
     
    void
    setValidator(Predicate<net.neoforged.neoforge.fluids.FluidStack> validator)
     

    Methods inherited from class java.lang.Object

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

    • validator

      protected Predicate<net.neoforged.neoforge.fluids.FluidStack> validator
    • fluid

      protected net.neoforged.neoforge.fluids.FluidStack fluid
    • capacity

      protected int capacity
  • Constructor Details

    • DynamicFluidTank

      public DynamicFluidTank(int capacity)
    • DynamicFluidTank

      public DynamicFluidTank(int capacity, Predicate<net.neoforged.neoforge.fluids.FluidStack> validator)
  • Method Details

    • setCapacity

      public void setCapacity(int capacity)
    • setValidator

      public void setValidator(Predicate<net.neoforged.neoforge.fluids.FluidStack> validator)
    • isFluidValid

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

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

      public net.neoforged.neoforge.fluids.FluidStack getFluid()
      Specified by:
      getFluid in interface net.neoforged.neoforge.fluids.IFluidTank
    • getFluidAmount

      public int getFluidAmount()
      Specified by:
      getFluidAmount in interface net.neoforged.neoforge.fluids.IFluidTank
    • getTanks

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

      public net.neoforged.neoforge.fluids.FluidStack getFluidInTank(int tank)
      Specified by:
      getFluidInTank in interface net.neoforged.neoforge.fluids.capability.IFluidHandler
    • getTankCapacity

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

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

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

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

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

      protected void onContentsChanged()
    • setFluid

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

      public boolean isEmpty()
    • getSpace

      public int getSpace()
    • serializeNBT

      public @UnknownNullability net.minecraft.nbt.CompoundTag serializeNBT(net.minecraft.core.HolderLookup.Provider provider)
      Specified by:
      serializeNBT in interface net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>
    • deserializeNBT

      public void deserializeNBT(net.minecraft.core.HolderLookup.Provider provider, net.minecraft.nbt.CompoundTag nbt)
      Specified by:
      deserializeNBT in interface net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>