public class PipeFlowFluids extends PipeFlow implements IFlowFluid, IDebuggable
Modifier and Type | Field and Description |
---|---|
int |
capacity |
static double |
FLOW_MULTIPLIER
The number of pixels the fluid moves by per millisecond
|
static int |
NET_FLUID_AMOUNTS |
NET_ID_FULL_STATE, NET_ID_UPDATE, pipe
Constructor and Description |
---|
PipeFlowFluids(IPipe pipe) |
PipeFlowFluids(IPipe pipe,
net.minecraft.nbt.NBTTagCompound nbt) |
Modifier and Type | Method and Description |
---|---|
void |
addDrops(net.minecraft.util.NonNullList<net.minecraft.item.ItemStack> toDrop,
int fortune) |
boolean |
canConnect(net.minecraft.util.EnumFacing face,
PipeFlow other) |
boolean |
canConnect(net.minecraft.util.EnumFacing face,
net.minecraft.tileentity.TileEntity oTile) |
net.minecraftforge.fluids.FluidStack |
extractFluidsForce(int min,
int max,
net.minecraft.util.EnumFacing section,
boolean simulate)
Tries to extract fluids directly from the pipe.
|
double[] |
getAmountsForRender(float partialTicks) |
<T> T |
getCapability(net.minecraftforge.common.capabilities.Capability<T> capability,
net.minecraft.util.EnumFacing facing) |
void |
getDebugInfo(java.util.List<java.lang.String> left,
java.util.List<java.lang.String> right,
net.minecraft.util.EnumFacing side)
Get the debug information from a tile entity as a list of strings, used for the F3 debug menu.
|
net.minecraftforge.fluids.FluidStack |
getFluidStackForRender() |
net.minecraft.util.math.Vec3d[] |
getOffsetsForRender(float partialTicks) |
int |
insertFluidsForce(net.minecraftforge.fluids.FluidStack fluid,
net.minecraft.util.EnumFacing from,
boolean simulate)
Attempts to insert a fluid directly into the pipe.
|
void |
onTick() |
void |
readPayload(int id,
net.minecraft.network.PacketBuffer buf,
net.minecraftforge.fml.relauncher.Side side)
Reads a payload with the specified id.
|
net.minecraftforge.fluids.FluidStack |
tryExtractFluid(int millibuckets,
net.minecraft.util.EnumFacing from,
net.minecraftforge.fluids.FluidStack filter,
boolean simulate) |
net.minecraft.util.ActionResult<net.minecraftforge.fluids.FluidStack> |
tryExtractFluidAdv(int millibuckets,
net.minecraft.util.EnumFacing from,
IFluidFilter filter,
boolean simulate)
Advanced version of
IFlowFluid.tryExtractFluid(int, EnumFacing, FluidStack, boolean) . |
void |
writePayload(int id,
net.minecraft.network.PacketBuffer buf,
net.minecraftforge.fml.relauncher.Side side)
Writes a payload with the specified id.
|
net.minecraft.nbt.NBTTagCompound |
writeToNbt() |
hasCapability, onFlowActivate, sendCustomPayload, sendPayload
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
tryExtractFluid, tryExtractFluidAdv
getClientDebugInfo
public static final int NET_FLUID_AMOUNTS
public static final double FLOW_MULTIPLIER
public final int capacity
public PipeFlowFluids(IPipe pipe)
public PipeFlowFluids(IPipe pipe, net.minecraft.nbt.NBTTagCompound nbt)
public net.minecraft.nbt.NBTTagCompound writeToNbt()
writeToNbt
in class PipeFlow
public boolean canConnect(net.minecraft.util.EnumFacing face, PipeFlow other)
canConnect
in class PipeFlow
public boolean canConnect(net.minecraft.util.EnumFacing face, net.minecraft.tileentity.TileEntity oTile)
canConnect
in class PipeFlow
public <T> T getCapability(@Nonnull net.minecraftforge.common.capabilities.Capability<T> capability, net.minecraft.util.EnumFacing facing)
getCapability
in interface net.minecraftforge.common.capabilities.ICapabilityProvider
getCapability
in class PipeFlow
public void addDrops(net.minecraft.util.NonNullList<net.minecraft.item.ItemStack> toDrop, int fortune)
public net.minecraftforge.fluids.FluidStack tryExtractFluid(int millibuckets, net.minecraft.util.EnumFacing from, net.minecraftforge.fluids.FluidStack filter, boolean simulate)
tryExtractFluid
in interface IFlowFluid
filter
- The fluidstack that the extracted fluid must match, or null for any fluid.public net.minecraft.util.ActionResult<net.minecraftforge.fluids.FluidStack> tryExtractFluidAdv(int millibuckets, net.minecraft.util.EnumFacing from, IFluidFilter filter, boolean simulate)
IFlowFluid
IFlowFluid.tryExtractFluid(int, EnumFacing, FluidStack, boolean)
. Note that this only works for
instances of IFluidHandler
that ALSO extends IFluidHandlerAdv
tryExtractFluidAdv
in interface IFlowFluid
filter
- A filter to try and match fluids.ActionResult.getType()
equals
EnumActionResult.PASS
then it means that the IFluidHandler
didn't implement
IFluidHandlerAdv
and you should call the basic version, if you can.public int insertFluidsForce(net.minecraftforge.fluids.FluidStack fluid, @Nullable net.minecraft.util.EnumFacing from, boolean simulate)
IFlowFluid
insertFluidsForce
in interface IFlowFluid
from
- The side that the fluid should *not* go in, or null if the fluid may flow in any direction.@Nullable public net.minecraftforge.fluids.FluidStack extractFluidsForce(int min, int max, @Nullable net.minecraft.util.EnumFacing section, boolean simulate)
IFlowFluid
PipeBehaviour
and
PipePluggable
implementors ONLY! This will result in very buggy behaviour if external tiles try to use
this!extractFluidsForce
in interface IFlowFluid
min
- The minimum amount of fluid to extract. If less than this amount is in the given center then nothing
will be extracted.section
- The section to extract from. Null means the center.public void getDebugInfo(java.util.List<java.lang.String> left, java.util.List<java.lang.String> right, net.minecraft.util.EnumFacing side)
IDebuggable
getDebugInfo
in interface IDebuggable
side
- The side the block was clicked on, may be null if we don't know, or is the "centre" sidepublic net.minecraftforge.fluids.FluidStack getFluidStackForRender()
public double[] getAmountsForRender(float partialTicks)
public net.minecraft.util.math.Vec3d[] getOffsetsForRender(float partialTicks)
public void writePayload(int id, net.minecraft.network.PacketBuffer buf, net.minecraftforge.fml.relauncher.Side side)
PipeFlow
writePayload
in class PipeFlow
public void readPayload(int id, net.minecraft.network.PacketBuffer buf, net.minecraftforge.fml.relauncher.Side side) throws java.io.IOException
PipeFlow
readPayload
in class PipeFlow
java.io.IOException