Class PipeNode<T extends PipeNode<T>>

java.lang.Object
net.jcm.vsch.api.pipe.PipeNode<T>
Direct Known Subclasses:
AbstractCustomNode, OmniNode

public abstract class PipeNode<T extends PipeNode<T>> extends Object
  • Field Details

  • Constructor Details

  • Method Details

    • getLevel

      public final NodeLevel getLevel()
    • getPos

      public final NodePos getPos()
    • getType

      public final PipeNode.Type getType()
    • getColor

      public net.minecraft.world.item.DyeColor getColor()
    • setColor

      public void setColor(net.minecraft.world.item.DyeColor color)
    • getSize

      public int getSize()
    • asItemStack

      public abstract net.minecraft.world.item.ItemStack asItemStack()
    • getModel

      public abstract ModelTextures getModel()
    • getPipeModel

      public abstract ModelTextures getPipeModel(net.minecraft.core.Direction direction)
    • canConnect

      public abstract boolean canConnect(net.minecraft.core.Direction dir)
      Parameters:
      dir - Direction of another pipe node
      Returns:
      if pipes can connect from the direction
    • canConnect

      public boolean canConnect(net.minecraft.core.Direction dir, PipeNode other)
    • getAccessFlowDirection

      public abstract FlowDirection getAccessFlowDirection(net.minecraft.core.Direction dir)
      Parameters:
      dir - Block direction contents tring to interact with
      Returns:
      FlowDirection
    • getFlowDirection

      public abstract FlowDirection getFlowDirection(net.minecraft.core.Direction dir)
      Parameters:
      dir - Pipe direction contents tring to interact with
      Returns:
      FlowDirection
    • getWaterFlowRate

      protected abstract int getWaterFlowRate()
      Water flow rate used to calculate other fluids flow rate based on their viscosity.
      Returns:
      How fast can water transfer in mB/tick
      See Also:
    • fluidFlowAmount

      public int fluidFlowAmount(net.minecraft.core.Direction dir, net.minecraft.world.level.material.Fluid fluid)
      Parameters:
      dir - Direction the fluid flowing towards to
      fluid - The fluid
      Returns:
      How fast can the fluid transfer in mB/tick
      See Also:
    • energyFlowAmount

      public abstract int energyFlowAmount(net.minecraft.core.Direction dir)
    • writeAdditional

      public void writeAdditional(net.minecraft.network.FriendlyByteBuf buf)
    • readAdditional

      public void readAdditional(net.minecraft.network.FriendlyByteBuf buf)
    • writeTo

      public final void writeTo(net.minecraft.network.FriendlyByteBuf buf)
    • readFrom

      public static PipeNode readFrom(NodeLevel level, NodePos pos, net.minecraft.network.FriendlyByteBuf buf)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • canAnchor

      public boolean canAnchor()