Right now, several methods in FluidTank assume only a single fluid, and there's no reasonable way to fully implement a "composite" fluid tank with the current contract.
getFluid() assumes only a single fluid exists
getAmount() assumes only a single fluid exists
setAmount() assumes only a single fluid exists
getCapacity() assumes only a single fluid exists
In general our FluidTank interface is pretty dated, not matching the design of NeoForge's and Fabric's transfer APIs.
Right now, several methods in
FluidTankassume only a single fluid, and there's no reasonable way to fully implement a "composite" fluid tank with the current contract.getFluid()assumes only a single fluid existsgetAmount()assumes only a single fluid existssetAmount()assumes only a single fluid existsgetCapacity()assumes only a single fluid existsIn general our FluidTank interface is pretty dated, not matching the design of NeoForge's and Fabric's transfer APIs.