Package com.hbm_m.block.entity.machines
Class BatterySocketBlockEntity
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.BatterySocketBlockEntity
- All Implemented Interfaces:
IEnergyConnector,IEnergyModeHolder,IEnergyProvider,IEnergyReceiver,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>
Battery socket: one portable battery slot, modes like machine battery, energy from item capabilities.
-
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.ContainerDatalongstatic final net.minecraftforge.client.model.data.ModelProperty<Boolean>intintFields 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
ConstructorsConstructorDescriptionBatterySocketBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state) -
Method Summary
Modifier and TypeMethodDescriptionbooleancanConnectEnergy(net.minecraft.core.Direction side) Может ли этот блок подключаться к энергосети с указанной стороныbooleanМожет ли этот провайдер отдавать энергиюbooleanМожет ли этот приемник принимать энергиюnet.minecraft.world.inventory.AbstractContainerMenucreateMenu(int containerId, net.minecraft.world.entity.player.Inventory inv, net.minecraft.world.entity.player.Player player) longextractEnergy(long maxExtract, boolean simulate) Извлечь энергию из провайдераintint0 = BOTH, 1 = INPUT only, 2 = OUTPUT only, 3 = DISABLEDprotected net.minecraft.network.chat.Componentnet.minecraft.network.chat.ComponentlonglongПолучить текущее количество энергииBackwards-compatible accessor for renderers/menus.longПолучить максимальную емкостьnet.minecraftforge.client.model.data.ModelDataПриоритет получения энергии в сетиlongМаксимальная скорость отдачи энергии за тикlongМаксимальная скорость приема энергии за тикnet.minecraft.world.phys.AABBРендер-баундинг бокс по умолчанию.net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacketnet.minecraft.nbt.CompoundTagvoidhandleButtonPress(int buttonId) static booleanisAllowedPortableEnergyStack(net.minecraft.world.item.ItemStack stack) protected booleanisCriticalSlot(int slot) protected booleanisItemValidForSlot(int slot, net.minecraft.world.item.ItemStack stack) voidload(net.minecraft.nbt.CompoundTag tag) longreceiveEnergy(long maxReceive, boolean simulate) Принять энергию в приемникprotected voidsaveAdditional(net.minecraft.nbt.CompoundTag tag) voidsetEnergyStored(long energy) Установить количество энергии (используется сетью)static voidtick(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, BatterySocketBlockEntity be) Methods inherited from class com.hbm_m.block.entity.BaseMachineBlockEntity
chargeFromBatterySlot, chargeItemInSlot, createGhostItemsFromIngredients, createInventoryHandler, dropInventoryContents, ensureNetworkInitialized, getCapability, getGhostItems, getInventory, handleUpdateTag, invalidateCaps, isEnergyProviderItem, isEnergyReceiverItem, onDataPacket, onLoad, sendUpdateToClient, setEnergyCapacity, setLevel, setRemoved, 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 net.minecraftforge.common.extensions.IForgeBlockEntity
deserializeNBT, hasCustomOutlineRendering, requestModelDataUpdate, serializeNBT
-
Field Details
-
HAS_INSERT
-
modeOnNoSignal
public int modeOnNoSignal -
modeOnSignal
public int modeOnSignal -
energyDelta
public long energyDelta -
data
protected final net.minecraft.world.inventory.ContainerData data
-
-
Constructor Details
-
BatterySocketBlockEntity
public BatterySocketBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
-
-
Method Details
-
isAllowedPortableEnergyStack
public static boolean isAllowedPortableEnergyStack(net.minecraft.world.item.ItemStack stack) -
getDefaultName
protected net.minecraft.network.chat.Component getDefaultName()- Specified by:
getDefaultNamein 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, BatterySocketBlockEntity be) -
getItemHandler
Backwards-compatible accessor for renderers/menus. -
isItemValidForSlot
protected boolean isItemValidForSlot(int slot, net.minecraft.world.item.ItemStack stack) - Specified by:
isItemValidForSlotin classBaseMachineBlockEntity
-
isCriticalSlot
protected boolean isCriticalSlot(int slot) - Overrides:
isCriticalSlotin classBaseMachineBlockEntity
-
getModelData
public net.minecraftforge.client.model.data.ModelData getModelData()- Specified by:
getModelDatain interfacenet.minecraftforge.common.extensions.IForgeBlockEntity
-
getEnergyDelta
public long getEnergyDelta()- Overrides:
getEnergyDeltain classBaseMachineBlockEntity
-
getCurrentMode
public int getCurrentMode()Description copied from interface:IEnergyModeHolder0 = BOTH, 1 = INPUT only, 2 = OUTPUT only, 3 = DISABLED- Specified by:
getCurrentModein interfaceIEnergyModeHolder
-
getEnergyStored
public long getEnergyStored()Description copied from interface:IEnergyProviderПолучить текущее количество энергии- Specified by:
getEnergyStoredin interfaceIEnergyProvider- Specified by:
getEnergyStoredin interfaceIEnergyReceiver- Overrides:
getEnergyStoredin classBaseMachineBlockEntity
-
getMaxEnergyStored
public long getMaxEnergyStored()Description copied from interface:IEnergyProviderПолучить максимальную емкость- Specified by:
getMaxEnergyStoredin interfaceIEnergyProvider- Specified by:
getMaxEnergyStoredin interfaceIEnergyReceiver- Overrides:
getMaxEnergyStoredin classBaseMachineBlockEntity
-
setEnergyStored
public void setEnergyStored(long energy) Description copied from interface:IEnergyProviderУстановить количество энергии (используется сетью)- Specified by:
setEnergyStoredin interfaceIEnergyProvider- Specified by:
setEnergyStoredin interfaceIEnergyReceiver- Overrides:
setEnergyStoredin classBaseMachineBlockEntity
-
getReceiveSpeed
public long getReceiveSpeed()Description copied from interface:IEnergyReceiverМаксимальная скорость приема энергии за тик- Specified by:
getReceiveSpeedin interfaceIEnergyReceiver- Overrides:
getReceiveSpeedin classBaseMachineBlockEntity
-
getPriority
Description copied from interface:IEnergyReceiverПриоритет получения энергии в сети- Specified by:
getPriorityin interfaceIEnergyReceiver- Overrides:
getPriorityin classBaseMachineBlockEntity
-
receiveEnergy
public long receiveEnergy(long maxReceive, boolean simulate) Description copied from interface:IEnergyReceiverПринять энергию в приемник- Specified by:
receiveEnergyin interfaceIEnergyReceiver- Overrides:
receiveEnergyin classBaseMachineBlockEntity- Parameters:
maxReceive- Максимальное количество энергии для приемаsimulate- Если true, только симулирует операцию без изменения состояния- Returns:
- Фактически принятое количество энергии
-
canReceive
public boolean canReceive()Description copied from interface:IEnergyReceiverМожет ли этот приемник принимать энергию- Specified by:
canReceivein interfaceIEnergyReceiver- Overrides:
canReceivein classBaseMachineBlockEntity
-
getProvideSpeed
public long getProvideSpeed()Description copied from interface:IEnergyProviderМаксимальная скорость отдачи энергии за тик- Specified by:
getProvideSpeedin interfaceIEnergyProvider- Overrides:
getProvideSpeedin classBaseMachineBlockEntity
-
extractEnergy
public long extractEnergy(long maxExtract, boolean simulate) Description copied from interface:IEnergyProviderИзвлечь энергию из провайдера- Specified by:
extractEnergyin interfaceIEnergyProvider- Overrides:
extractEnergyin classBaseMachineBlockEntity- Parameters:
maxExtract- Максимальное количество энергии для извлеченияsimulate- Если true, только симулирует операцию без изменения состояния- Returns:
- Фактически извлеченное количество энергии
-
canExtract
public boolean canExtract()Description copied from interface:IEnergyProviderМожет ли этот провайдер отдавать энергию- Specified by:
canExtractin interfaceIEnergyProvider- Overrides:
canExtractin classBaseMachineBlockEntity
-
canConnectEnergy
public boolean canConnectEnergy(net.minecraft.core.Direction side) Description copied from interface:IEnergyConnectorМожет ли этот блок подключаться к энергосети с указанной стороны- Specified by:
canConnectEnergyin interfaceIEnergyConnector- Overrides:
canConnectEnergyin classBaseMachineBlockEntity- Parameters:
side- Сторона подключения (null = любая)
-
handleButtonPress
public void handleButtonPress(int buttonId) -
getComparatorOutput
public int getComparatorOutput() -
saveAdditional
protected void saveAdditional(net.minecraft.nbt.CompoundTag tag) - Overrides:
saveAdditionalin classBaseMachineBlockEntity
-
load
public void load(net.minecraft.nbt.CompoundTag tag) - Overrides:
loadin classBaseMachineBlockEntity
-
getUpdatePacket
public net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket getUpdatePacket()- Overrides:
getUpdatePacketin classBaseMachineBlockEntity
-
getUpdateTag
public net.minecraft.nbt.CompoundTag getUpdateTag()- Overrides:
getUpdateTagin 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
-
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 containerId, net.minecraft.world.entity.player.Inventory inv, net.minecraft.world.entity.player.Player player) - Specified by:
createMenuin interfacenet.minecraft.world.inventory.MenuConstructor
-