Class MachineCombinationOvenBlockEntity

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.MachineCombinationOvenBlockEntity
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>

public class MachineCombinationOvenBlockEntity extends BaseMachineBlockEntity
Combination Oven - generisch rezeptgesteuerte Einzelblock-Maschine, Portierung der Kernlogik aus TileEntityFurnaceCombination/CombinationRecipes (1.7.10-Original): 1 Item- Eingang + N mB einer bestimmten Fluessigkeit -> 1 Item-Ausgang, feste Prozesszeit.

Rezepte kommen aus dem generischen Vanilla-Rezeptsystem (CombinationOvenRecipe / ModRecipes.COMBINATION_OVEN_TYPE), analog zu ChemicalPlantRecipe/PressRecipe. Es sind bewusst KEINE Rezepte im Java-Code hartkodiert - die werden separat als Daten-JSONs nachgereicht.

Bewusst NICHT uebernommen (Konsistenz mit Ore Slopper in dieser Session): Energieverbrauch, Hitze-Mechanik (heat/maxHeat/diffusion aus dem Original), "entzuendet Entitaeten obendrauf"- Effekt, Rauch/Fluid-Ausstoss in die Umgebung, Animation/Renderer (statisches OBJ-Modell reicht). Der Fluid-Tank ist generisch (kein fest zugewiesener Fluessigkeitstyp) - welche Fluessigkeit gebraucht wird, entscheidet einzig das jeweils passende Rezept.

  • Field Details

  • Constructor Details

    • MachineCombinationOvenBlockEntity

      public MachineCombinationOvenBlockEntity(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:
      getCapability in interface net.minecraftforge.common.capabilities.ICapabilityProvider
      Overrides:
      getCapability in class BaseMachineBlockEntity
    • tick

      public static void tick(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, MachineCombinationOvenBlockEntity be)
    • saveAdditional

      protected void saveAdditional(net.minecraft.nbt.CompoundTag tag)
      Overrides:
      saveAdditional in class BaseMachineBlockEntity
    • load

      public void load(net.minecraft.nbt.CompoundTag tag)
      Overrides:
      load in class BaseMachineBlockEntity
    • getDefaultName

      protected net.minecraft.network.chat.Component getDefaultName()
      Specified by:
      getDefaultName in class BaseMachineBlockEntity
    • getDisplayName

      public net.minecraft.network.chat.Component getDisplayName()
    • isItemValidForSlot

      protected boolean isItemValidForSlot(int slot, net.minecraft.world.item.ItemStack stack)
      Specified by:
      isItemValidForSlot in class BaseMachineBlockEntity
    • 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)
    • getTank

      public FluidTank getTank()
    • getProgress

      public int getProgress()
    • getMaxProgress

      public int getMaxProgress()
    • getProgressScaled

      public int getProgressScaled(int scale)