Package com.hbm_m.blockentity.machines
Class MachineArcFurnaceBlockEntity
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.blockentity.BaseMachineBlockEntity
com.hbm_m.blockentity.machines.MachineArcFurnaceBlockEntity
- All Implemented Interfaces:
IEnergyConnector,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>
Arc Furnace - generisch rezeptgesteuerte Einzelblock-Maschine, vereinfachte Portierung der
Kernlogik aus
TileEntityMachineArcFurnaceLarge/ArcFurnaceRecipes (1.7.10-
Original). Das Original ist ein Multiblock mit Elektroden-Hitze-Animation - hier bewusst NICHT
uebernommen (Konsistenz mit Ore Slopper/Combination Oven in dieser Session): keine Multiblock-
Struktur, kein Energieverbrauch, keine Hitze-/Animation-Mechanik.
Anders als beim Original (und dem Combination Oven) ist der primaere Output meist FLUESSIG
(geschmolzenes Metall) statt fest: 1 Item-Eingang -> optionaler Item-Ausgang UND/ODER bis zu 2
Fluid-Ausgaenge, siehe ArcFurnaceRecipe. Rezepte kommen ausschliesslich aus dem
generischen Vanilla-Rezeptsystem (ArcFurnaceRecipe / ModRecipes.ARC_FURNACE_TYPE);
es sind bewusst KEINE Rezepte im Java-Code hartkodiert.
-
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
FieldsFields inherited from class com.hbm_m.blockentity.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
ConstructorsConstructorDescriptionMachineArcFurnaceBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state) -
Method Summary
Modifier and TypeMethodDescriptionnet.minecraft.world.inventory.AbstractContainerMenucreateMenu(int containerId, net.minecraft.world.entity.player.Inventory playerInventory, net.minecraft.world.entity.player.Player player) <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.Componentnet.minecraft.network.chat.ComponentintintintgetProgressScaled(int scale) net.minecraft.world.phys.AABBРендер-баундинг бокс по умолчанию.getTank1()getTank2()booleanisActive()Fuer den Hot/Cold-Elektroden-Zustandswechsel im Renderer (siehe MachineArcFurnaceRenderer).protected booleanisItemValidForSlot(int slot, net.minecraft.world.item.ItemStack stack) voidload(net.minecraft.nbt.CompoundTag tag) protected voidsaveAdditional(net.minecraft.nbt.CompoundTag tag) static voidtick(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, MachineArcFurnaceBlockEntity be) Methods inherited from class com.hbm_m.blockentity.BaseMachineBlockEntity
canConnectEnergy, canExtract, canReceive, chargeFromBatterySlot, chargeItemInSlot, clearRemoved, createGhostItemsFromIngredients, createInventoryHandler, dropInventoryContents, ensureNetworkInitialized, extractEnergy, getEnergyDelta, getEnergyStored, getGhostItems, getInventory, getMaxEnergyStored, getPriority, getProvideSpeed, getReceiveSpeed, getUpdatePacket, getUpdateTag, handleUpdateTag, invalidateCaps, isCriticalSlot, isEnergyProviderItem, isEnergyReceiverItem, onDataPacket, onLoad, receiveEnergy, sendUpdateToClient, setEnergyCapacity, setEnergyStored, setLevel, setRemoved, setupFluidCapability, updateEnergyDeltaMethods inherited from class net.minecraft.world.level.block.entity.BlockEntity
addEntityType, 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
-
SLOT_INPUT
public static final int SLOT_INPUT- See Also:
-
SLOT_OUTPUT
public static final int SLOT_OUTPUT- See Also:
-
-
Constructor Details
-
MachineArcFurnaceBlockEntity
public MachineArcFurnaceBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
-
-
Method Details
-
getCapability
@NotNull public <T> net.minecraftforge.common.util.LazyOptional<T> getCapability(net.minecraftforge.common.capabilities.Capability<T> cap, @Nullable net.minecraft.core.Direction side) - Specified by:
getCapabilityin interfacenet.minecraftforge.common.capabilities.ICapabilityProvider- Overrides:
getCapabilityin 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, MachineArcFurnaceBlockEntity be) -
saveAdditional
protected void saveAdditional(net.minecraft.nbt.CompoundTag tag) - Overrides:
saveAdditionalin classBaseMachineBlockEntity
-
load
public void load(net.minecraft.nbt.CompoundTag tag) - Overrides:
loadin classBaseMachineBlockEntity
-
getDefaultName
protected net.minecraft.network.chat.Component getDefaultName()- Specified by:
getDefaultNamein classBaseMachineBlockEntity
-
getDisplayName
public net.minecraft.network.chat.Component getDisplayName() -
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) -
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
-
getTank1
-
getTank2
-
getProgress
public int getProgress() -
getMaxProgress
public int getMaxProgress() -
getProgressScaled
public int getProgressScaled(int scale) -
isActive
public boolean isActive()Fuer den Hot/Cold-Elektroden-Zustandswechsel im Renderer (siehe MachineArcFurnaceRenderer).
-