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, net.neoforged.neoforge.transfer.transaction.TransactionContext transaction) 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 org.cyclops.cyclopscore.capability.fluid.IFluidHandlerCapacity
setTankCapacityMethods 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, net.neoforged.neoforge.transfer.transaction.TransactionContext transaction) - Specified by:
setTankCapacityin interfaceIFluidHandlerCapacity
-
getTankCapacity
public int getTankCapacity(int tank) - Specified by:
getTankCapacityin interfaceIFluidHandlerCapacity
-