Package com.hbm_m.block.entity.machines
Class MachineAdvancedAssemblerBlockEntity
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.MachineAdvancedAssemblerBlockEntity
- All Implemented Interfaces:
IEnergyConnector,IEnergyProvider,IEnergyReceiver,IFrameSupportable,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 MachineAdvancedAssemblerBlockEntity
extends BaseMachineBlockEntity
implements IFrameSupportable, IMultiblockSidedIO
Advanced Assembler Block Entity:
- Наследование от BaseMachineBlockEntity
- Полная логика мультиблока, GUI, анимации и рецептов перенесена из старой системы
- Энергосистема остается long-ориентированной с совместимостью Forge Energy
-
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.ContainerDataprotected net.minecraftforge.common.util.LazyOptional<net.minecraftforge.fluids.capability.IFluidHandler>protected net.minecraftforge.common.util.LazyOptional<net.minecraftforge.fluids.capability.IFluidHandler>longFields 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 net.minecraftforge.common.extensions.IForgeBlockEntity
INFINITE_EXTENT_AABB -
Constructor Summary
ConstructorsConstructorDescriptionMachineAdvancedAssemblerBlockEntity(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) protected voidSet<net.minecraft.core.Direction>Set<net.minecraft.core.Direction>getArms()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) net.minecraft.world.item.ItemStackCached recipe output icon for BER; refreshed whenselectedRecipeIdchanges.protected net.minecraft.network.chat.Componentnet.minecraft.network.chat.Componentnet.minecraft.core.NonNullList<net.minecraft.world.item.ItemStack>intfloatintnet.minecraft.world.phys.AABBРендер-баундинг бокс по умолчанию.floatnet.minecraft.resources.ResourceLocationnet.minecraft.network.protocol.game.ClientboundBlockEntityDataPacketnet.minecraft.nbt.CompoundTagvoidbooleanbooleanprotected booleanisCriticalSlot(int slot) booleanprotected booleanisItemValidForSlot(int slot, net.minecraft.world.item.ItemStack stack) voidload(net.minecraft.nbt.CompoundTag tag) voidonDataPacket(net.minecraft.network.Connection net, net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket pkt) voidonLoad()protected voidsaveAdditional(net.minecraft.nbt.CompoundTag tag) voidsetAllowedEnergySides(Set<net.minecraft.core.Direction> sides) voidsetAllowedFluidSides(Set<net.minecraft.core.Direction> sides) voidsetAllowedFluidSidesFromMultiblockStructure(Set<net.minecraft.core.Direction> sides) Вызывается при постройке мультиблока, если вfluidSideMapзадан символ контроллера.booleansetFrameVisible(boolean visible) Устанавливает новое состояние видимости рамки и синхронизирует его с клиентом.voidvoidsetSelectedRecipe(net.minecraft.resources.ResourceLocation recipeId) protected voidstatic voidtick(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, MachineAdvancedAssemblerBlockEntity entity) Methods inherited from class com.hbm_m.block.entity.BaseMachineBlockEntity
canConnectEnergy, canExtract, canReceive, chargeFromBatterySlot, chargeItemInSlot, createGhostItemsFromIngredients, createInventoryHandler, dropInventoryContents, extractEnergy, getEnergyDelta, getEnergyStored, getInventory, getMaxEnergyStored, getPriority, getProvideSpeed, getReceiveSpeed, handleUpdateTag, isEnergyProviderItem, isEnergyReceiverItem, receiveEnergy, sendUpdateToClient, setEnergyCapacity, setEnergyStored, setLevel, 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 net.minecraftforge.common.extensions.IForgeBlockEntity
deserializeNBT, getModelData, hasCustomOutlineRendering, requestModelDataUpdate, serializeNBT
-
Field Details
-
fluidInputHandler
protected net.minecraftforge.common.util.LazyOptional<net.minecraftforge.fluids.capability.IFluidHandler> fluidInputHandler -
fluidOutputHandler
protected net.minecraftforge.common.util.LazyOptional<net.minecraftforge.fluids.capability.IFluidHandler> fluidOutputHandler -
lastUseTick
public long lastUseTick -
data
protected final net.minecraft.world.inventory.ContainerData data
-
-
Constructor Details
-
MachineAdvancedAssemblerBlockEntity
public MachineAdvancedAssemblerBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
-
-
Method Details
-
isCrafting
public boolean isCrafting() -
isClientCrafting
public boolean isClientCrafting() -
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
-
setupFluidCapability
protected void setupFluidCapability()- Overrides:
setupFluidCapabilityin classBaseMachineBlockEntity
-
isItemValidForSlot
protected boolean isItemValidForSlot(int slot, net.minecraft.world.item.ItemStack stack) - Specified by:
isItemValidForSlotin classBaseMachineBlockEntity
-
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
-
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
-
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:
- Текущее клиентское состояние видимости рамки. Используется рендерером.
-
tick
public static void tick(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, MachineAdvancedAssemblerBlockEntity entity) -
getAvailableRecipes
-
setSelectedRecipe
public void setSelectedRecipe(net.minecraft.resources.ResourceLocation recipeId) -
getSelectedRecipe
-
getSelectedRecipeId
public net.minecraft.resources.ResourceLocation getSelectedRecipeId() -
getGhostItems
public net.minecraft.core.NonNullList<net.minecraft.world.item.ItemStack> getGhostItems()- Overrides:
getGhostItemsin classBaseMachineBlockEntity
-
getBlueprintFolder
public net.minecraft.world.item.ItemStack getBlueprintFolder() -
getProgress
public int getProgress() -
getMaxProgress
public int getMaxProgress() -
isCriticalSlot
protected boolean isCriticalSlot(int slot) - Overrides:
isCriticalSlotin classBaseMachineBlockEntity
-
saveAdditional
protected void saveAdditional(net.minecraft.nbt.CompoundTag tag) - Overrides:
saveAdditionalin classBaseMachineBlockEntity
-
load
public void load(net.minecraft.nbt.CompoundTag tag) - Overrides:
loadin classBaseMachineBlockEntity
-
onDataPacket
public void onDataPacket(net.minecraft.network.Connection net, net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket pkt) - Specified by:
onDataPacketin interfacenet.minecraftforge.common.extensions.IForgeBlockEntity- Overrides:
onDataPacketin classBaseMachineBlockEntity
-
getUpdatePacket
public net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket getUpdatePacket()- Overrides:
getUpdatePacketin classBaseMachineBlockEntity
-
getUpdateTag
public net.minecraft.nbt.CompoundTag getUpdateTag()- Overrides:
getUpdateTagin 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
-
setAllowedEnergySides
- Specified by:
setAllowedEnergySidesin interfaceIMultiblockSidedIO
-
getAllowedEnergySides
- Specified by:
getAllowedEnergySidesin interfaceIMultiblockSidedIO
-
setAllowedFluidSidesFromMultiblockStructure
Description copied from interface:IMultiblockSidedIOВызывается при постройке мультиблока, если вfluidSideMapзадан символ контроллера.worldSides— разрешённые стороны после поворота FACING; пустой набор = закрыть все грани контроллера для жидкости.- Specified by:
setAllowedFluidSidesFromMultiblockStructurein interfaceIMultiblockSidedIO
-
setAllowedFluidSides
- Specified by:
setAllowedFluidSidesin interfaceIMultiblockSidedIO
-
getAllowedFluidSides
- Specified by:
getAllowedFluidSidesin interfaceIMultiblockSidedIO
-
onLoad
public void onLoad()- Specified by:
onLoadin interfacenet.minecraftforge.common.extensions.IForgeBlockEntity- Overrides:
onLoadin classBaseMachineBlockEntity
-
invalidateCaps
public void invalidateCaps()- Specified by:
invalidateCapsin interfacenet.minecraftforge.common.capabilities.ICapabilityProviderImpl<net.minecraft.world.level.block.entity.BlockEntity>- Overrides:
invalidateCapsin classBaseMachineBlockEntity
-
setRemoved
public void setRemoved()- Overrides:
setRemovedin classBaseMachineBlockEntity
-
getClientRecipeIcon
public net.minecraft.world.item.ItemStack getClientRecipeIcon()Cached recipe output icon for BER; refreshed whenselectedRecipeIdchanges. -
getRingAngle
public float getRingAngle() -
getPrevRingAngle
public float getPrevRingAngle() -
getArms
-
ensureNetworkInitialized
protected void ensureNetworkInitialized()- Overrides:
ensureNetworkInitializedin classBaseMachineBlockEntity
-