Package com.hbm_m.block.entity.machines
Class MachineChemicalPlantBlockEntity
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.BaseMachineBlockEntity
com.hbm_m.block.entity.machines.MachineChemicalPlantBlockEntity
- All Implemented Interfaces:
IFluidConnectorMK2,IFluidProviderMK2,IFluidReceiverMK2,IFluidStandardReceiverMK2,IFluidStandardSenderMK2,IFluidStandardTransceiverMK2,IFluidUserMK2,NodeNet.ILoadedEntry,IEnergyConnector,IEnergyProvider,IEnergyReceiver,IFrameSupportable,IUpgradeInfoProvider,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 MachineChemicalPlantBlockEntity
extends BaseMachineBlockEntity
implements IFrameSupportable, IUpgradeInfoProvider, IFluidStandardTransceiverMK2
Chemical Plant BlockEntity - порт с 1.7.10.
22 слота, 6 FluidTank (3 input, 3 output), энергия.
Логика крафтов - заглушка.
-
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>>Nested classes/interfaces inherited from interface com.hbm_m.interfaces.IEnergyReceiver
IEnergyReceiver.Priority -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final net.minecraft.world.inventory.ContainerDataFields inherited from class com.hbm_m.block.entity.BaseMachineBlockEntity
capacity, energy, inventory, itemHandler, maxExtract, maxReceive, networkInitializedFields 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
ConstructorsConstructorDescriptionMachineChemicalPlantBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state) -
Method Summary
Modifier and TypeMethodDescriptionvoidЗапускает проверку, должна ли структура в данный момент отображать рамку.net.minecraft.world.inventory.AbstractContainerMenucreateMenu(int containerId, net.minecraft.world.entity.player.Inventory playerInventory, net.minecraft.world.entity.player.Player player) voiddrops()intКоличество входных fluid-баков, которые реально задаёт текущий рецепт (без этого «лишние» NONE-баки становятся сетевыми стоками и размазывают воду между слотами). 0 если рецепт не выбран или не содержит жидкостей.Все баки этой машины.floatgetAnim(float partialTicks) net.minecraft.world.item.ItemStack<T> net.minecraftforge.common.util.LazyOptional<T>getCapability(net.minecraftforge.common.capabilities.Capability<T> cap, net.minecraft.core.Direction side) protected net.minecraft.network.chat.ComponentlonggetDemand(net.minecraft.world.level.material.Fluid fluid, int pressure) Сколько жидкости этого типа/давления можно принять.booleannet.minecraft.network.chat.Componentdev.architectury.fluid.FluidStackgetFluid()floatintintint[]getReceivingPressureRange(net.minecraft.world.level.material.Fluid fluid) Диапазон давлений, которые этот получатель принимает.net.minecraft.world.phys.AABBРендер-баундинг бокс по умолчанию.net.minecraft.resources.ResourceLocationvoidbooleanКлиентский звук BER, приращениеanimи жидкость не должны зависеть только отdidProcessв одном сетевом снимке: между пакетами он часто false → мигание цвета/UV и обрыв лупа.booleanprotected booleanisItemValidForSlot(int slot, net.minecraft.world.item.ItemStack stack) booleanisLoaded()voidload(net.minecraft.nbt.CompoundTag tag) voidonLoad()protected voidsaveAdditional(net.minecraft.nbt.CompoundTag tag) booleansetFrameVisible(boolean visible) Устанавливает новое состояние видимости рамки и синхронизирует его с клиентом.voidvoidsetSelectedRecipe(net.minecraft.resources.ResourceLocation recipeId) static voidtick(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, MachineChemicalPlantBlockEntity entity) longtransferFluid(net.minecraft.world.level.material.Fluid fluid, int pressure, long amount) Принятьamountединиц жидкости.Methods inherited from class com.hbm_m.block.entity.BaseMachineBlockEntity
canConnectEnergy, canExtract, canReceive, chargeFromBatterySlot, chargeItemInSlot, createGhostItemsFromIngredients, createInventoryHandler, dropInventoryContents, ensureNetworkInitialized, extractEnergy, getEnergyDelta, getEnergyStored, getGhostItems, getInventory, getMaxEnergyStored, getPriority, getProvideSpeed, getReceiveSpeed, getUpdatePacket, getUpdateTag, handleUpdateTag, isCriticalSlot, isEnergyProviderItem, isEnergyReceiverItem, onDataPacket, receiveEnergy, sendUpdateToClient, setEnergyCapacity, setEnergyStored, setLevel, setupFluidCapability, updateEnergyDeltaMethods 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, triggerEventMethods inherited from class net.minecraftforge.common.capabilities.CapabilityProvider
areCapsCompatible, areCapsCompatible, deserializeCaps, gatherCapabilities, gatherCapabilities, gatherCapabilities, getCapabilities, 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.IFluidConnectorMK2
canConnectMethods inherited from interface com.hbm_m.api.fluids.IFluidProviderMK2
getProviderSpeed, isInfiniteNetworkSourceMethods inherited from interface com.hbm_m.api.fluids.IFluidReceiverMK2
getFluidPriority, getReceiverSpeed, isInfiniteNetworkSink, trySubscribeMethods inherited from interface com.hbm_m.api.fluids.IFluidStandardSenderMK2
getFluidAvailable, getProvidingPressureRange, tryProvide, tryProvide, tryProvide, useUpFluidMethods inherited from interface net.minecraftforge.common.extensions.IForgeBlockEntity
deserializeNBT, getModelData, hasCustomOutlineRendering, requestModelDataUpdate, serializeNBT
-
Field Details
-
data
protected final net.minecraft.world.inventory.ContainerData data
-
-
Constructor Details
-
MachineChemicalPlantBlockEntity
public MachineChemicalPlantBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
-
-
Method Details
-
checkForFrame
public void checkForFrame()Description copied from interface:IFrameSupportableЗапускает проверку, должна ли структура в данный момент отображать рамку. Реализация этого метода должна вызывать централизованную логику проверки и затем использовать setFrameVisible() для применения результата.- Specified by:
checkForFramein interfaceIFrameSupportable
-
setFrameVisible
public boolean setFrameVisible(boolean visible) Description copied from interface:IFrameSupportableУстанавливает новое состояние видимости рамки и синхронизирует его с клиентом.- Specified by:
setFrameVisiblein interfaceIFrameSupportable- Parameters:
visible- Новое состояние видимости.- Returns:
- true, если состояние было изменено, иначе false.
-
isFrameVisible
public boolean isFrameVisible()- Specified by:
isFrameVisiblein interfaceIFrameSupportable- Returns:
- Текущее клиентское состояние видимости рамки. Используется рендерером.
-
getRenderBoundingBox
public net.minecraft.world.phys.AABB getRenderBoundingBox()Description copied from class:BaseMachineBlockEntityРендер-баундинг бокс по умолчанию. На Forge это@Overrideметода из BlockEntity, на Fabric — обычный public метод. Подклассы могут переопределить для мультиблоков с увеличенным размером.- Specified by:
getRenderBoundingBoxin interfacenet.minecraftforge.common.extensions.IForgeBlockEntity- Overrides:
getRenderBoundingBoxin classBaseMachineBlockEntity
-
tick
public static void tick(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, MachineChemicalPlantBlockEntity entity) -
getModule
-
getReceivingTanks
- Specified by:
getReceivingTanksin interfaceIFluidStandardReceiverMK2
-
getSendingTanks
- Specified by:
getSendingTanksin interfaceIFluidStandardSenderMK2
-
getAllTanks
Description copied from interface:IFluidUserMK2Все баки этой машины. Используется для display/debug.- Specified by:
getAllTanksin interfaceIFluidUserMK2
-
isLoaded
public boolean isLoaded()- Specified by:
isLoadedin interfaceNodeNet.ILoadedEntry
-
getValidUpgrades
- Specified by:
getValidUpgradesin interfaceIUpgradeInfoProvider
-
getActiveFluidInputSlotCount
public int getActiveFluidInputSlotCount()Количество входных fluid-баков, которые реально задаёт текущий рецепт (без этого «лишние» NONE-баки становятся сетевыми стоками и размазывают воду между слотами). 0 если рецепт не выбран или не содержит жидкостей. -
getDemand
public long getDemand(net.minecraft.world.level.material.Fluid fluid, int pressure) Description copied from interface:IFluidReceiverMK2Сколько жидкости этого типа/давления можно принять.- Specified by:
getDemandin interfaceIFluidReceiverMK2- Specified by:
getDemandin interfaceIFluidStandardReceiverMK2
-
transferFluid
public long transferFluid(net.minecraft.world.level.material.Fluid fluid, int pressure, long amount) Description copied from interface:IFluidReceiverMK2Принятьamountединиц жидкости.- Specified by:
transferFluidin interfaceIFluidReceiverMK2- Specified by:
transferFluidin interfaceIFluidStandardReceiverMK2- Returns:
- остаток, который не удалось принять (0 = всё принято)
-
getReceivingPressureRange
public int[] getReceivingPressureRange(net.minecraft.world.level.material.Fluid fluid) Description copied from interface:IFluidReceiverMK2Диапазон давлений, которые этот получатель принимает.- Specified by:
getReceivingPressureRangein interfaceIFluidReceiverMK2- Specified by:
getReceivingPressureRangein interfaceIFluidStandardReceiverMK2
-
drops
public void drops() -
getDefaultName
protected net.minecraft.network.chat.Component getDefaultName()- Specified by:
getDefaultNamein classBaseMachineBlockEntity
-
getDisplayName
public net.minecraft.network.chat.Component getDisplayName()- Specified by:
getDisplayNamein interfacenet.minecraft.world.MenuProvider
-
isItemValidForSlot
protected boolean isItemValidForSlot(int slot, net.minecraft.world.item.ItemStack stack) - Specified by:
isItemValidForSlotin classBaseMachineBlockEntity
-
createMenu
@Nullable public net.minecraft.world.inventory.AbstractContainerMenu createMenu(int containerId, net.minecraft.world.entity.player.Inventory playerInventory, net.minecraft.world.entity.player.Player player) - Specified by:
createMenuin interfacenet.minecraft.world.inventory.MenuConstructor
-
getInputTanks
-
getOutputTanks
-
getAvailableRecipes
-
getBlueprintFolder
public net.minecraft.world.item.ItemStack getBlueprintFolder() -
getDidProcess
public boolean getDidProcess() -
isChemplantEffectsActive
public boolean isChemplantEffectsActive()Клиентский звук BER, приращениеanimи жидкость не должны зависеть только отdidProcessв одном сетевом снимке: между пакетами он часто false → мигание цвета/UV и обрыв лупа. На клиенте учитываемMachineChemicalPlantBlock.RENDER_ACTIVEи синхронизированныйMachineModuleBase.getProgress(). -
getSelectedRecipeId
@Nullable public net.minecraft.resources.ResourceLocation getSelectedRecipeId() -
setSelectedRecipe
public void setSelectedRecipe(@Nullable net.minecraft.resources.ResourceLocation recipeId) -
getProgress
public int getProgress() -
getMaxProgress
public int getMaxProgress() -
getAnim
public float getAnim(float partialTicks) -
getFluid
public dev.architectury.fluid.FluidStack getFluid() -
getFluidFillFraction
public float getFluidFillFraction() -
saveAdditional
protected void saveAdditional(net.minecraft.nbt.CompoundTag tag) - Overrides:
saveAdditionalin classBaseMachineBlockEntity
-
load
public void load(net.minecraft.nbt.CompoundTag tag) - Overrides:
loadin classBaseMachineBlockEntity
-
setRemoved
public void setRemoved()- Overrides:
setRemovedin classBaseMachineBlockEntity
-
onLoad
public void onLoad()- Specified by:
onLoadin interfacenet.minecraftforge.common.extensions.IForgeBlockEntity- Overrides:
onLoadin classBaseMachineBlockEntity
-
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 classBaseMachineBlockEntity
-
invalidateCaps
public void invalidateCaps()- Specified by:
invalidateCapsin interfacenet.minecraftforge.common.capabilities.ICapabilityProviderImpl<net.minecraft.world.level.block.entity.BlockEntity>- Overrides:
invalidateCapsin classBaseMachineBlockEntity
-