Package org.cyclops.cyclopscore.fluid
Class Tank
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
- All Implemented Interfaces:
net.neoforged.neoforge.common.util.ValueIOSerializable,net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.fluid.FluidResource>,IFluidHandlerCapacity
- Direct Known Subclasses:
SingleUseTank
public class Tank
extends net.neoforged.neoforge.transfer.fluid.FluidStacksResourceHandler
implements IFluidHandlerCapacity
A simple fluid tank.
Based on the Buildcraft Tank
-
Field Summary
Fields inherited from class net.neoforged.neoforge.transfer.fluid.FluidStacksResourceHandler
capacityFields inherited from class net.neoforged.neoforge.transfer.StacksResourceHandler
codec, emptyStack, stacks, VALUE_IO_KEY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddeserialize(net.minecraft.world.level.storage.ValueInput input) voiddeserialize(net.minecraft.world.level.storage.ValueInput input, String tag) voiddeserializeTank(net.minecraft.world.level.storage.ValueInput input) Read the tank contents from NBT.intnet.neoforged.neoforge.fluids.FluidStackgetFluid()intnet.minecraft.world.level.material.FluidGet the fluid that currently occupies this tank, will return null if there is no fluid.intgetTankCapacity(int tank) booleanisEmpty()Check if this tank is empty.booleanisFull()Check if this tank is full; the capacity is reached.protected booleanvoidserialize(net.minecraft.world.level.storage.ValueOutput output) voidvoidserializeTank(net.minecraft.world.level.storage.ValueOutput output) Write the tank contents to NBT.voidsetCapacity(int capacity) voidsetFluid(net.neoforged.neoforge.fluids.FluidStack fluid) voidsetFluidInTank(int tank, net.neoforged.neoforge.fluids.FluidStack fluidStack) voidsetTankCapacity(int tank, int capacity) Methods inherited from class net.neoforged.neoforge.transfer.fluid.FluidStacksResourceHandler
copyOf, getAmountFrom, getCapacity, getResourceFrom, getStackFrom, matchesMethods inherited from class net.neoforged.neoforge.transfer.StacksResourceHandler
copyToList, extract, getAmountAsLong, getCapacityAsLong, getResource, insert, isValid, onContentsChanged, set, sizeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.neoforged.neoforge.transfer.ResourceHandler
extract, extract, getAmountAsInt, getAmountAsLong, getCapacityAsInt, getCapacityAsLong, getResource, insert, insert, isValid, size
-
Constructor Details
-
Tank
public Tank(int capacity) Make a new fluid tank.- Parameters:
capacity- The capacity (mB) for the tank.
-
-
Method Details
-
getFluid
public net.neoforged.neoforge.fluids.FluidStack getFluid() -
getFluidAmount
public int getFluidAmount() -
setFluid
public void setFluid(net.neoforged.neoforge.fluids.FluidStack fluid) -
getCapacity
public int getCapacity() -
setCapacity
public void setCapacity(int capacity) -
isEmpty
public boolean isEmpty()Check if this tank is empty.- Returns:
- If the tank is empty; no fluid is inside of it.
-
isFull
public boolean isFull()Check if this tank is full; the capacity is reached.- Returns:
- If this tank is full.
-
getFluidType
public net.minecraft.world.level.material.Fluid getFluidType()Get the fluid that currently occupies this tank, will return null if there is no fluid.- Returns:
- The inner fluid.
-
replaceInnerFluid
protected boolean replaceInnerFluid() -
serialize
public void serialize(net.minecraft.world.level.storage.ValueOutput output) - Specified by:
serializein interfacenet.neoforged.neoforge.common.util.ValueIOSerializable- Overrides:
serializein classnet.neoforged.neoforge.transfer.StacksResourceHandler<net.neoforged.neoforge.fluids.FluidStack,net.neoforged.neoforge.transfer.fluid.FluidResource>
-
serialize
-
deserialize
public void deserialize(net.minecraft.world.level.storage.ValueInput input) - Specified by:
deserializein interfacenet.neoforged.neoforge.common.util.ValueIOSerializable- Overrides:
deserializein classnet.neoforged.neoforge.transfer.StacksResourceHandler<net.neoforged.neoforge.fluids.FluidStack,net.neoforged.neoforge.transfer.fluid.FluidResource>
-
deserialize
-
serializeTank
public void serializeTank(net.minecraft.world.level.storage.ValueOutput output) Write the tank contents to NBT.- Parameters:
output- The value tag to write to.
-
deserializeTank
public void deserializeTank(net.minecraft.world.level.storage.ValueInput input) Read the tank contents from NBT.- Parameters:
input- The value to write from.
-
setFluidInTank
public void setFluidInTank(int tank, net.neoforged.neoforge.fluids.FluidStack fluidStack) -
setTankCapacity
public void setTankCapacity(int tank, int capacity) - Specified by:
setTankCapacityin interfaceIFluidHandlerCapacity
-
getTankCapacity
public int getTankCapacity(int tank) - Specified by:
getTankCapacityin interfaceIFluidHandlerCapacity
-