Package org.cyclops.cyclopscore.fluid
Class SingleUseTank
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
org.cyclops.cyclopscore.fluid.SingleUseTank
- All Implemented Interfaces:
net.neoforged.neoforge.common.util.ValueIOSerializable,net.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.fluid.FluidResource>,IFluidHandlerCapacity
A simple tank that can accept and drain fluids until the capacity is reached.
Only one fluid can be accepted, which must be specified with
setAcceptedFluid(Fluid).
Based on the Buildcraft SingleUseTank.-
Field Summary
FieldsFields 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 TypeMethodDescriptionvoidaddDirtyMarkListener(org.cyclops.cyclopscore.persist.IDirtyMarkListener dirtyMarkListener) Add a dirty marking listener.voiddeserializeTank(net.minecraft.world.level.storage.ValueInput input) Read the tank contents from NBT.net.minecraft.world.level.material.FluidGet the accepted fluid for this tank.intinsert(int index, net.neoforged.neoforge.transfer.fluid.FluidResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext transaction) protected voidonContentsChanged(int index, net.neoforged.neoforge.fluids.FluidStack previousContents) voidremoveDirtyMarkListener(org.cyclops.cyclopscore.persist.IDirtyMarkListener dirtyMarkListener) Remove a dirty marking listener.voidreset()Reset the tank by setting the inner fluid to null.protected voidvoidserializeTank(net.minecraft.world.level.storage.ValueOutput output) Write the tank contents to NBT.voidsetAcceptedFluid(net.minecraft.world.level.material.Fluid fluid) Set the accepted fluid for this tank.Methods inherited from class org.cyclops.cyclopscore.fluid.Tank
deserialize, deserialize, getCapacity, getFluid, getFluidAmount, getFluidType, getTankCapacity, isEmpty, isFull, replaceInnerFluid, serialize, serialize, setCapacity, setFluid, setFluidInTank, setTankCapacityMethods 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, isValid, 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, isValid, size
-
Field Details
-
NBT_ACCEPTED_FLUID
The NBT name for the fluid tank.- See Also:
-
-
Constructor Details
-
SingleUseTank
public SingleUseTank(int capacity) Make a new tank instance.- Parameters:
capacity- The capacity (mB) for the tank.
-
-
Method Details
-
addDirtyMarkListener
public void addDirtyMarkListener(org.cyclops.cyclopscore.persist.IDirtyMarkListener dirtyMarkListener) Add a dirty marking listener.- Parameters:
dirtyMarkListener- The dirty mark listener.
-
removeDirtyMarkListener
public void removeDirtyMarkListener(org.cyclops.cyclopscore.persist.IDirtyMarkListener dirtyMarkListener) Remove a dirty marking listener.- Parameters:
dirtyMarkListener- The dirty mark listener.
-
insert
public int insert(int index, net.neoforged.neoforge.transfer.fluid.FluidResource resource, int amount, net.neoforged.neoforge.transfer.transaction.TransactionContext transaction) - Specified by:
insertin interfacenet.neoforged.neoforge.transfer.ResourceHandler<net.neoforged.neoforge.transfer.fluid.FluidResource>- Overrides:
insertin classnet.neoforged.neoforge.transfer.StacksResourceHandler<net.neoforged.neoforge.fluids.FluidStack,net.neoforged.neoforge.transfer.fluid.FluidResource>
-
onContentsChanged
protected void onContentsChanged(int index, net.neoforged.neoforge.fluids.FluidStack previousContents) - Overrides:
onContentsChangedin classnet.neoforged.neoforge.transfer.StacksResourceHandler<net.neoforged.neoforge.fluids.FluidStack,net.neoforged.neoforge.transfer.fluid.FluidResource>
-
sendUpdate
protected void sendUpdate() -
reset
public void reset()Reset the tank by setting the inner fluid to null. -
setAcceptedFluid
public void setAcceptedFluid(net.minecraft.world.level.material.Fluid fluid) Set the accepted fluid for this tank.- Parameters:
fluid- The accepted fluid
-
getAcceptedFluid
public net.minecraft.world.level.material.Fluid getAcceptedFluid()Get the accepted fluid for this tank.- Returns:
- The accepted fluid.
-
serializeTank
public void serializeTank(net.minecraft.world.level.storage.ValueOutput output) Description copied from class:TankWrite the tank contents to NBT.- Overrides:
serializeTankin classTank- Parameters:
output- The value tag to write to.
-
deserializeTank
public void deserializeTank(net.minecraft.world.level.storage.ValueInput input) Description copied from class:TankRead the tank contents from NBT.- Overrides:
deserializeTankin classTank- Parameters:
input- The value to write from.
-