Class FluidPumpBlockEntity

java.lang.Object
net.minecraftforge.common.capabilities.CapabilityProvider<net.minecraft.world.level.block.entity.BlockEntity>
net.minecraft.world.level.block.entity.BlockEntity
com.hbm_m.block.entity.machines.FluidPumpBlockEntity
All Implemented Interfaces:
IFluidConnectorMK2, IFluidProviderMK2, IFluidReceiverMK2, IFluidStandardReceiverMK2, IFluidStandardSenderMK2, IFluidStandardTransceiverMK2, IFluidUserMK2, NodeNet.ILoadedEntry, net.minecraftforge.common.capabilities.ICapabilityProvider, net.minecraftforge.common.capabilities.ICapabilityProviderImpl<net.minecraft.world.level.block.entity.BlockEntity>, net.minecraftforge.common.capabilities.ICapabilitySerializable<net.minecraft.nbt.CompoundTag>, net.minecraftforge.common.extensions.IForgeBlockEntity, net.minecraftforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>

public class FluidPumpBlockEntity extends net.minecraft.world.level.block.entity.BlockEntity implements IFluidStandardTransceiverMK2
BlockEntity насоса (порт TileEntityFluidPump из 1.7.10). Поведение: - Входная сторона: подписывается как receiver в сети. - Выходная сторона: если нет сигнала ред.камня — регистрируется как provider. - Имеет буфер (bufferSize мБ) и configurable ConnectionPriority. - При переполнении буфера (fill > bufferSize) getReceivingTanks() возвращает пустой массив. Ориентация: хранится в BlockState направление «вперёд» (direction.name() в NBT), входная сторона — повёрнутая на 90° по часовой CW, выходная — её противоположность.
  • Nested Class Summary

    Nested classes/interfaces inherited from class net.minecraftforge.common.capabilities.CapabilityProvider

    net.minecraftforge.common.capabilities.CapabilityProvider.AsField<B extends net.minecraftforge.common.capabilities.ICapabilityProviderImpl<B>>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    int
    Размер буфера по умолчанию (мБ).
    Приоритет в сети.
    boolean
    true если есть сигнал редстоуна.

    Fields inherited from class net.minecraft.world.level.block.entity.BlockEntity

    level, remove, worldPosition

    Fields inherited from interface com.hbm_m.api.fluids.IFluidUserMK2

    DEFAULT_PRESSURE_RANGE, HIGHEST_VALID_PRESSURE

    Fields inherited from interface net.minecraftforge.common.extensions.IForgeBlockEntity

    INFINITE_EXTENT_AABB
  • Constructor Summary

    Constructors
    Constructor
    Description
    FluidPumpBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    canConnect(net.minecraft.world.level.material.Fluid fluid, net.minecraft.core.Direction fromDir)
    Может ли этот коннектор принимать/отдавать жидкость указанного типа с указанной стороны.
    Все баки этой машины.
    net.minecraft.core.Direction
     
    Приоритет в сети.
    net.minecraft.world.level.material.Fluid
     
    Принимает только если буфер не переполнен.
    Отдаёт только если нет сигнала ред.камня.
    net.minecraft.network.protocol.Packet<net.minecraft.network.protocol.game.ClientGamePacketListener>
     
    net.minecraft.nbt.CompoundTag
     
    boolean
     
    void
    load(net.minecraft.nbt.CompoundTag tag)
     
    protected void
    saveAdditional(net.minecraft.nbt.CompoundTag tag)
     
    void
    setFacing(net.minecraft.core.Direction facing)
     
    void
    setFluidType(net.minecraft.world.level.material.Fluid fluid)
     
    static void
    tick(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, FluidPumpBlockEntity entity)
     

    Methods inherited from class net.minecraft.world.level.block.entity.BlockEntity

    addEntityType, clearRemoved, fillCrashReportCategory, getBlockPos, getBlockState, getLevel, getPersistentData, getPosFromTag, getType, hasLevel, isRemoved, loadStatic, onChunkUnloaded, onlyOpCanSetNbt, saveToItem, saveWithFullMetadata, saveWithId, saveWithoutMetadata, setBlockState, setChanged, setChanged, setLevel, setRemoved, triggerEvent

    Methods inherited from class net.minecraftforge.common.capabilities.CapabilityProvider

    areCapsCompatible, areCapsCompatible, deserializeCaps, gatherCapabilities, gatherCapabilities, gatherCapabilities, getCapabilities, getCapability, invalidateCaps, reviveCaps, serializeCaps

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.minecraftforge.common.capabilities.ICapabilityProvider

    getCapability, getCapability

    Methods inherited from interface com.hbm_m.api.fluids.IFluidProviderMK2

    getProviderSpeed, isInfiniteNetworkSource

    Methods inherited from interface com.hbm_m.api.fluids.IFluidReceiverMK2

    getReceiverSpeed, isInfiniteNetworkSink, trySubscribe

    Methods inherited from interface com.hbm_m.api.fluids.IFluidStandardReceiverMK2

    getDemand, getReceivingPressureRange, transferFluid

    Methods inherited from interface net.minecraftforge.common.extensions.IForgeBlockEntity

    deserializeNBT, getModelData, getRenderBoundingBox, handleUpdateTag, hasCustomOutlineRendering, onDataPacket, onLoad, requestModelDataUpdate, serializeNBT
  • Field Details

    • bufferSize

      public int bufferSize
      Размер буфера по умолчанию (мБ).
    • priority

      public ConnectionPriority priority
      Приоритет в сети.
    • redstonePowered

      public boolean redstonePowered
      true если есть сигнал редстоуна.
  • Constructor Details

    • FluidPumpBlockEntity

      public FluidPumpBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
  • Method Details

    • getAllTanks

      public FluidTank[] getAllTanks()
      Description copied from interface: IFluidUserMK2
      Все баки этой машины. Используется для display/debug.
      Specified by:
      getAllTanks in interface IFluidUserMK2
    • isLoaded

      public boolean isLoaded()
      Specified by:
      isLoaded in interface NodeNet.ILoadedEntry
    • canConnect

      public boolean canConnect(net.minecraft.world.level.material.Fluid fluid, net.minecraft.core.Direction fromDir)
      Description copied from interface: IFluidConnectorMK2
      Может ли этот коннектор принимать/отдавать жидкость указанного типа с указанной стороны.
      Specified by:
      canConnect in interface IFluidConnectorMK2
      Parameters:
      fluid - тип жидкости
      fromDir - направление ОТ ЭТОГО узла к соседу (сторона, через которую идёт соединение)
    • getSendingTanks

      public FluidTank[] getSendingTanks()
      Отдаёт только если нет сигнала ред.камня.
      Specified by:
      getSendingTanks in interface IFluidStandardSenderMK2
    • getReceivingTanks

      public FluidTank[] getReceivingTanks()
      Принимает только если буфер не переполнен.
      Specified by:
      getReceivingTanks in interface IFluidStandardReceiverMK2
    • getFluidPriority

      public ConnectionPriority getFluidPriority()
      Description copied from interface: IFluidReceiverMK2
      Приоритет в сети.
      Specified by:
      getFluidPriority in interface IFluidReceiverMK2
    • tick

      public static void tick(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, FluidPumpBlockEntity entity)
    • getFluidType

      public net.minecraft.world.level.material.Fluid getFluidType()
    • setFluidType

      public void setFluidType(net.minecraft.world.level.material.Fluid fluid)
    • getFacing

      public net.minecraft.core.Direction getFacing()
    • setFacing

      public void setFacing(net.minecraft.core.Direction facing)
    • saveAdditional

      protected void saveAdditional(@NotNull net.minecraft.nbt.CompoundTag tag)
      Overrides:
      saveAdditional in class net.minecraft.world.level.block.entity.BlockEntity
    • load

      public void load(@NotNull net.minecraft.nbt.CompoundTag tag)
      Overrides:
      load in class net.minecraft.world.level.block.entity.BlockEntity
    • getUpdateTag

      public net.minecraft.nbt.CompoundTag getUpdateTag()
      Overrides:
      getUpdateTag in class net.minecraft.world.level.block.entity.BlockEntity
    • getUpdatePacket

      public net.minecraft.network.protocol.Packet<net.minecraft.network.protocol.game.ClientGamePacketListener> getUpdatePacket()
      Overrides:
      getUpdatePacket in class net.minecraft.world.level.block.entity.BlockEntity