Class MachineFluidTankBlockEntity

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.MachineFluidTankBlockEntity
All Implemented Interfaces:
IFluidConnectorMK2, IFluidProviderMK2, IFluidReceiverMK2, IFluidStandardReceiverMK2, IFluidStandardSenderMK2, IFluidStandardTransceiverMK2, IFluidUserMK2, NodeNet.ILoadedEntry, IMultiblockSidedIO, net.minecraft.world.inventory.MenuConstructor, net.minecraft.world.MenuProvider, 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 MachineFluidTankBlockEntity extends net.minecraft.world.level.block.entity.BlockEntity implements net.minecraft.world.MenuProvider, IMultiblockSidedIO, IFluidStandardTransceiverMK2
  • 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
    protected final net.minecraft.world.inventory.ContainerData
     
    static final net.minecraftforge.client.model.data.ModelProperty<net.minecraft.resources.ResourceLocation>
     
    boolean
     
    static final int
     
    boolean
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     

    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
    MachineFluidTankBlockEntity(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.world.inventory.AbstractContainerMenu
    createMenu(int id, net.minecraft.world.entity.player.Inventory inventory, net.minecraft.world.entity.player.Player player)
     
    void
     
    Set<net.minecraft.core.Direction>
     
    Все баки этой машины.
    <T> net.minecraftforge.common.util.LazyOptional<T>
    getCapability(net.minecraftforge.common.capabilities.Capability<T> cap, net.minecraft.core.Direction side)
     
    byte
     
    net.minecraft.network.chat.Component
     
    net.minecraft.world.level.material.Fluid
     
    Приоритет в сети.
     
     
    short
     
    net.minecraftforge.client.model.data.ModelData
     
    long
    getProviderSpeed(net.minecraft.world.level.material.Fluid fluid, int pressure)
    Максимальная скорость передачи за тик.
    long
    getReceiverSpeed(net.minecraft.world.level.material.Fluid fluid, int pressure)
    Максимальная скорость приёма за тик.
    Из сети принимаем, если режим разрешает fill (1/2) и взорванный — нет.
    net.minecraft.world.phys.AABB
     
    В сеть сливаем, если режим разрешает drain (0/1) и взорванный — нет.
    net.minecraft.resources.ResourceLocation
     
    net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket
     
    net.minecraft.nbt.CompoundTag
     
    void
     
    void
    handleUpdateTag(net.minecraft.nbt.CompoundTag tag)
     
    boolean
    isInfiniteNetworkSink(net.minecraft.world.level.material.Fluid fluid)
    Бесконечный сток-утилизатор по тем же критериям.
    boolean
    isInfiniteNetworkSource(net.minecraft.world.level.material.Fluid fluid)
    Бесконечный источник, если в инвентаре лежит InfiniteFluidItem c instant-режимом (порт fluid_barrel_infinite из 1.7.10).
    boolean
     
    void
    load(net.minecraft.nbt.CompoundTag tag)
     
    void
    onDataPacket(net.minecraft.network.Connection net, net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket pkt)
     
    void
     
    void
    Уведомляет соседей (в т.ч. multipart-трубы) о смене доступности/типа жидкости: все блоки мультиблока, чтобы обновились соединения у лиц коннекторов.
    void
     
    protected void
    saveAdditional(net.minecraft.nbt.CompoundTag tag)
     
    void
    setAllowedFluidSides(Set<net.minecraft.core.Direction> sides)
     
    void
    setAllowedFluidSidesFromMultiblockStructure(Set<net.minecraft.core.Direction> sides)
    Вызывается при постройке мультиблока, если в fluidSideMap задан символ контроллера.
    void
    setFilterFromIdentifier(net.minecraft.world.item.ItemStack stack)
    Shift+ПКМ идентификатором по цистерне: задаёт тип бака (включая NONE), сливает содержимое, обновляет фильтр для GUI.
    void
     
    static void
    tick(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, MachineFluidTankBlockEntity 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, triggerEvent

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

    areCapsCompatible, areCapsCompatible, deserializeCaps, gatherCapabilities, gatherCapabilities, gatherCapabilities, getCapabilities, 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

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

    trySubscribe

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

    getDemand, getReceivingPressureRange, transferFluid

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

    deserializeNBT, hasCustomOutlineRendering, requestModelDataUpdate, serializeNBT

    Methods inherited from interface com.hbm_m.interfaces.IMultiblockSidedIO

    getAllowedEnergySides, setAllowedEnergySides
  • Field Details

    • SLOT_ID_IN

      public static final int SLOT_ID_IN
      See Also:
    • SLOT_ID_OUT

      public static final int SLOT_ID_OUT
      See Also:
    • SLOT_LOAD_IN

      public static final int SLOT_LOAD_IN
      See Also:
    • SLOT_LOAD_OUT

      public static final int SLOT_LOAD_OUT
      See Also:
    • SLOT_UNLOAD_IN

      public static final int SLOT_UNLOAD_IN
      See Also:
    • SLOT_UNLOAD_OUT

      public static final int SLOT_UNLOAD_OUT
      See Also:
    • MODES

      public static final int MODES
      See Also:
    • hasExploded

      public boolean hasExploded
    • onFire

      public boolean onFire
    • data

      protected final net.minecraft.world.inventory.ContainerData data
    • FLUID_TEXTURE_PROPERTY

      public static final net.minecraftforge.client.model.data.ModelProperty<net.minecraft.resources.ResourceLocation> FLUID_TEXTURE_PROPERTY
  • Constructor Details

    • MachineFluidTankBlockEntity

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

    • onLoad

      public void onLoad()
      Specified by:
      onLoad in interface net.minecraftforge.common.extensions.IForgeBlockEntity
    • getAllTanks

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

      public FluidTank[] getSendingTanks()
      В сеть сливаем, если режим разрешает drain (0/1) и взорванный — нет.
      Specified by:
      getSendingTanks in interface IFluidStandardSenderMK2
    • getReceivingTanks

      public FluidTank[] getReceivingTanks()
      Из сети принимаем, если режим разрешает fill (1/2) и взорванный — нет.
      Specified by:
      getReceivingTanks in interface IFluidStandardReceiverMK2
    • getProviderSpeed

      public long getProviderSpeed(net.minecraft.world.level.material.Fluid fluid, int pressure)
      Description copied from interface: IFluidProviderMK2
      Максимальная скорость передачи за тик. По умолчанию без ограничений.
      Specified by:
      getProviderSpeed in interface IFluidProviderMK2
    • getReceiverSpeed

      public long getReceiverSpeed(net.minecraft.world.level.material.Fluid fluid, int pressure)
      Description copied from interface: IFluidReceiverMK2
      Максимальная скорость приёма за тик. По умолчанию без ограничений.
      Specified by:
      getReceiverSpeed in interface IFluidReceiverMK2
    • isLoaded

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

      public ConnectionPriority getFluidPriority()
      Description copied from interface: IFluidReceiverMK2
      Приоритет в сети.
      Specified by:
      getFluidPriority in interface IFluidReceiverMK2
    • 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 - направление ОТ ЭТОГО узла к соседу (сторона, через которую идёт соединение)
    • isInfiniteNetworkSource

      public boolean isInfiniteNetworkSource(net.minecraft.world.level.material.Fluid fluid)
      Бесконечный источник, если в инвентаре лежит InfiniteFluidItem c instant-режимом (порт fluid_barrel_infinite из 1.7.10).
      Specified by:
      isInfiniteNetworkSource in interface IFluidProviderMK2
    • isInfiniteNetworkSink

      public boolean isInfiniteNetworkSink(net.minecraft.world.level.material.Fluid fluid)
      Бесконечный сток-утилизатор по тем же критериям.
      Specified by:
      isInfiniteNetworkSink 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, MachineFluidTankBlockEntity entity)
    • onDataPacket

      public void onDataPacket(net.minecraft.network.Connection net, net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket pkt)
      Specified by:
      onDataPacket in interface net.minecraftforge.common.extensions.IForgeBlockEntity
    • handleUpdateTag

      public void handleUpdateTag(net.minecraft.nbt.CompoundTag tag)
      Specified by:
      handleUpdateTag in interface net.minecraftforge.common.extensions.IForgeBlockEntity
    • refreshAdjacentFluidDuctConnections

      public void refreshAdjacentFluidDuctConnections()
      Уведомляет соседей (в т.ч. multipart-трубы) о смене доступности/типа жидкости: все блоки мультиблока, чтобы обновились соединения у лиц коннекторов.
    • getTankTextureLocation

      public net.minecraft.resources.ResourceLocation getTankTextureLocation()
    • getModelData

      @NotNull public net.minecraftforge.client.model.data.ModelData getModelData()
      Specified by:
      getModelData in interface net.minecraftforge.common.extensions.IForgeBlockEntity
    • explode

      public void explode()
    • repair

      public void repair()
    • getComparatorPower

      public byte getComparatorPower()
    • handleModeButton

      public void handleModeButton()
    • getMode

      public short getMode()
    • getFluidTank

      public FluidTank getFluidTank()
    • getItemHandler

      public ModItemStackHandler getItemHandler()
    • getRenderBoundingBox

      public net.minecraft.world.phys.AABB getRenderBoundingBox()
      Specified by:
      getRenderBoundingBox in interface net.minecraftforge.common.extensions.IForgeBlockEntity
    • load

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

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

      @NotNull public <T> net.minecraftforge.common.util.LazyOptional<T> getCapability(@NotNull net.minecraftforge.common.capabilities.Capability<T> cap, @Nullable net.minecraft.core.Direction side)
      Specified by:
      getCapability in interface net.minecraftforge.common.capabilities.ICapabilityProvider
      Overrides:
      getCapability in class net.minecraftforge.common.capabilities.CapabilityProvider<net.minecraft.world.level.block.entity.BlockEntity>
    • setAllowedFluidSidesFromMultiblockStructure

      public void setAllowedFluidSidesFromMultiblockStructure(Set<net.minecraft.core.Direction> sides)
      Description copied from interface: IMultiblockSidedIO
      Вызывается при постройке мультиблока, если в fluidSideMap задан символ контроллера. worldSides — разрешённые стороны после поворота FACING; пустой набор = закрыть все грани контроллера для жидкости.
      Specified by:
      setAllowedFluidSidesFromMultiblockStructure in interface IMultiblockSidedIO
    • setAllowedFluidSides

      public void setAllowedFluidSides(Set<net.minecraft.core.Direction> sides)
      Specified by:
      setAllowedFluidSides in interface IMultiblockSidedIO
    • getAllowedFluidSides

      public Set<net.minecraft.core.Direction> getAllowedFluidSides()
      Specified by:
      getAllowedFluidSides in interface IMultiblockSidedIO
    • setRemoved

      public void setRemoved()
      Overrides:
      setRemoved in class net.minecraft.world.level.block.entity.BlockEntity
    • getDisplayName

      public net.minecraft.network.chat.Component getDisplayName()
      Specified by:
      getDisplayName in interface net.minecraft.world.MenuProvider
    • createMenu

      @Nullable public net.minecraft.world.inventory.AbstractContainerMenu createMenu(int id, net.minecraft.world.entity.player.Inventory inventory, net.minecraft.world.entity.player.Player player)
      Specified by:
      createMenu in interface net.minecraft.world.inventory.MenuConstructor
    • setFilterFromIdentifier

      public void setFilterFromIdentifier(net.minecraft.world.item.ItemStack stack)
      Shift+ПКМ идентификатором по цистерне: задаёт тип бака (включая NONE), сливает содержимое, обновляет фильтр для GUI.
    • getFilterFluid

      @Nullable public net.minecraft.world.level.material.Fluid getFilterFluid()
    • getUpdateTag

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

      @Nullable public net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket getUpdatePacket()
      Overrides:
      getUpdatePacket in class net.minecraft.world.level.block.entity.BlockEntity