Package com.hbm_m.block.entity.machines
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
FieldsModifier and TypeFieldDescriptionprotected final net.minecraft.world.inventory.ContainerDatastatic final net.minecraftforge.client.model.data.ModelProperty<net.minecraft.resources.ResourceLocation>booleanstatic final intbooleanstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intFields inherited from class net.minecraft.world.level.block.entity.BlockEntity
level, remove, worldPositionFields inherited from interface com.hbm_m.api.fluids.IFluidUserMK2
DEFAULT_PRESSURE_RANGE, HIGHEST_VALID_PRESSUREFields inherited from interface net.minecraftforge.common.extensions.IForgeBlockEntity
INFINITE_EXTENT_AABB -
Constructor Summary
ConstructorsConstructorDescriptionMachineFluidTankBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state) -
Method Summary
Modifier and TypeMethodDescriptionbooleancanConnect(net.minecraft.world.level.material.Fluid fluid, net.minecraft.core.Direction fromDir) Может ли этот коннектор принимать/отдавать жидкость указанного типа с указанной стороны.net.minecraft.world.inventory.AbstractContainerMenucreateMenu(int id, net.minecraft.world.entity.player.Inventory inventory, net.minecraft.world.entity.player.Player player) voidexplode()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) bytenet.minecraft.network.chat.Componentnet.minecraft.world.level.material.FluidПриоритет в сети.shortgetMode()net.minecraftforge.client.model.data.ModelDatalonggetProviderSpeed(net.minecraft.world.level.material.Fluid fluid, int pressure) Максимальная скорость передачи за тик.longgetReceiverSpeed(net.minecraft.world.level.material.Fluid fluid, int pressure) Максимальная скорость приёма за тик.Из сети принимаем, если режим разрешает fill (1/2) и взорванный — нет.net.minecraft.world.phys.AABBВ сеть сливаем, если режим разрешает drain (0/1) и взорванный — нет.net.minecraft.resources.ResourceLocationnet.minecraft.network.protocol.game.ClientboundBlockEntityDataPacketnet.minecraft.nbt.CompoundTagvoidvoidhandleUpdateTag(net.minecraft.nbt.CompoundTag tag) booleanisInfiniteNetworkSink(net.minecraft.world.level.material.Fluid fluid) Бесконечный сток-утилизатор по тем же критериям.booleanisInfiniteNetworkSource(net.minecraft.world.level.material.Fluid fluid) Бесконечный источник, если в инвентаре лежитInfiniteFluidItemc instant-режимом (порт fluid_barrel_infinite из 1.7.10).booleanisLoaded()voidload(net.minecraft.nbt.CompoundTag tag) voidonDataPacket(net.minecraft.network.Connection net, net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket pkt) voidonLoad()voidУведомляет соседей (в т.ч. multipart-трубы) о смене доступности/типа жидкости: все блоки мультиблока, чтобы обновились соединения у лиц коннекторов.voidrepair()protected voidsaveAdditional(net.minecraft.nbt.CompoundTag tag) voidsetAllowedFluidSides(Set<net.minecraft.core.Direction> sides) voidsetAllowedFluidSidesFromMultiblockStructure(Set<net.minecraft.core.Direction> sides) Вызывается при постройке мультиблока, если вfluidSideMapзадан символ контроллера.voidsetFilterFromIdentifier(net.minecraft.world.item.ItemStack stack) Shift+ПКМ идентификатором по цистерне: задаёт тип бака (включая NONE), сливает содержимое, обновляет фильтр для GUI.voidstatic voidtick(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, triggerEventMethods inherited from class net.minecraftforge.common.capabilities.CapabilityProvider
areCapsCompatible, areCapsCompatible, deserializeCaps, gatherCapabilities, gatherCapabilities, gatherCapabilities, getCapabilities, invalidateCaps, reviveCaps, serializeCapsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.minecraftforge.common.capabilities.ICapabilityProvider
getCapabilityMethods inherited from interface com.hbm_m.api.fluids.IFluidReceiverMK2
trySubscribeMethods inherited from interface com.hbm_m.api.fluids.IFluidStandardReceiverMK2
getDemand, getReceivingPressureRange, transferFluidMethods inherited from interface com.hbm_m.api.fluids.IFluidStandardSenderMK2
getFluidAvailable, getProvidingPressureRange, tryProvide, tryProvide, tryProvide, useUpFluidMethods inherited from interface net.minecraftforge.common.extensions.IForgeBlockEntity
deserializeNBT, hasCustomOutlineRendering, requestModelDataUpdate, serializeNBTMethods 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:
onLoadin interfacenet.minecraftforge.common.extensions.IForgeBlockEntity
-
getAllTanks
Description copied from interface:IFluidUserMK2Все баки этой машины. Используется для display/debug.- Specified by:
getAllTanksin interfaceIFluidUserMK2
-
getSendingTanks
В сеть сливаем, если режим разрешает drain (0/1) и взорванный — нет.- Specified by:
getSendingTanksin interfaceIFluidStandardSenderMK2
-
getReceivingTanks
Из сети принимаем, если режим разрешает fill (1/2) и взорванный — нет.- Specified by:
getReceivingTanksin interfaceIFluidStandardReceiverMK2
-
getProviderSpeed
public long getProviderSpeed(net.minecraft.world.level.material.Fluid fluid, int pressure) Description copied from interface:IFluidProviderMK2Максимальная скорость передачи за тик. По умолчанию без ограничений.- Specified by:
getProviderSpeedin interfaceIFluidProviderMK2
-
getReceiverSpeed
public long getReceiverSpeed(net.minecraft.world.level.material.Fluid fluid, int pressure) Description copied from interface:IFluidReceiverMK2Максимальная скорость приёма за тик. По умолчанию без ограничений.- Specified by:
getReceiverSpeedin interfaceIFluidReceiverMK2
-
isLoaded
public boolean isLoaded()- Specified by:
isLoadedin interfaceNodeNet.ILoadedEntry
-
getFluidPriority
Description copied from interface:IFluidReceiverMK2Приоритет в сети.- Specified by:
getFluidPriorityin interfaceIFluidReceiverMK2
-
canConnect
public boolean canConnect(net.minecraft.world.level.material.Fluid fluid, net.minecraft.core.Direction fromDir) Description copied from interface:IFluidConnectorMK2Может ли этот коннектор принимать/отдавать жидкость указанного типа с указанной стороны.- Specified by:
canConnectin interfaceIFluidConnectorMK2- Parameters:
fluid- тип жидкостиfromDir- направление ОТ ЭТОГО узла к соседу (сторона, через которую идёт соединение)
-
isInfiniteNetworkSource
public boolean isInfiniteNetworkSource(net.minecraft.world.level.material.Fluid fluid) Бесконечный источник, если в инвентаре лежитInfiniteFluidItemc instant-режимом (порт fluid_barrel_infinite из 1.7.10).- Specified by:
isInfiniteNetworkSourcein interfaceIFluidProviderMK2
-
isInfiniteNetworkSink
public boolean isInfiniteNetworkSink(net.minecraft.world.level.material.Fluid fluid) Бесконечный сток-утилизатор по тем же критериям.- Specified by:
isInfiniteNetworkSinkin interfaceIFluidReceiverMK2
-
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:
onDataPacketin interfacenet.minecraftforge.common.extensions.IForgeBlockEntity
-
handleUpdateTag
public void handleUpdateTag(net.minecraft.nbt.CompoundTag tag) - Specified by:
handleUpdateTagin interfacenet.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:
getModelDatain interfacenet.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
-
getItemHandler
-
getRenderBoundingBox
public net.minecraft.world.phys.AABB getRenderBoundingBox()- Specified by:
getRenderBoundingBoxin interfacenet.minecraftforge.common.extensions.IForgeBlockEntity
-
load
public void load(net.minecraft.nbt.CompoundTag tag) - Overrides:
loadin classnet.minecraft.world.level.block.entity.BlockEntity
-
saveAdditional
protected void saveAdditional(net.minecraft.nbt.CompoundTag tag) - Overrides:
saveAdditionalin classnet.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:
getCapabilityin interfacenet.minecraftforge.common.capabilities.ICapabilityProvider- Overrides:
getCapabilityin classnet.minecraftforge.common.capabilities.CapabilityProvider<net.minecraft.world.level.block.entity.BlockEntity>
-
setAllowedFluidSidesFromMultiblockStructure
Description copied from interface:IMultiblockSidedIOВызывается при постройке мультиблока, если вfluidSideMapзадан символ контроллера.worldSides— разрешённые стороны после поворота FACING; пустой набор = закрыть все грани контроллера для жидкости.- Specified by:
setAllowedFluidSidesFromMultiblockStructurein interfaceIMultiblockSidedIO
-
setAllowedFluidSides
- Specified by:
setAllowedFluidSidesin interfaceIMultiblockSidedIO
-
getAllowedFluidSides
- Specified by:
getAllowedFluidSidesin interfaceIMultiblockSidedIO
-
setRemoved
public void setRemoved()- Overrides:
setRemovedin classnet.minecraft.world.level.block.entity.BlockEntity
-
getDisplayName
public net.minecraft.network.chat.Component getDisplayName()- Specified by:
getDisplayNamein interfacenet.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:
createMenuin interfacenet.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:
getUpdateTagin classnet.minecraft.world.level.block.entity.BlockEntity
-
getUpdatePacket
@Nullable public net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket getUpdatePacket()- Overrides:
getUpdatePacketin classnet.minecraft.world.level.block.entity.BlockEntity
-