Class MachineMiningDrillBlockEntity

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.MachineMiningDrillBlockEntity
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 MachineMiningDrillBlockEntity extends BaseMachineBlockEntity
Port des Large Mining Drill (1.7.10: MachineExcavator/TileEntityMachineExcavator). Nachgebaut anhand der Original-Java-Quelle (vom User bereitgestellt) - siehe MachineMiningDrillRenderer fuer die Teleskop-/Pendel- Animation und MachineMiningDrillBlock.getStructureHelper() fuer die 7x4x7-Struktur.

Bewusst NICHT 1:1 uebernommen (Phase 2, siehe Gespraech): Conveyor-Belt-Ausgabe (kein IConveyorBelt-System in diesem Port), Bedrock-Erz/Saeure-Sonderfall (kein BlockDepth/TileEntity- BedrockOre-Aequivalent). Ausgabe geht nur ins interne Puffer-Inventar bzw. als Item-Entity in die Welt, wenn der Puffer voll ist.

  • Field Details

    • SLOT_DRILLBIT

      public static final int SLOT_DRILLBIT
      See Also:
    • SLOT_BATTERY

      public static final int SLOT_BATTERY
      See Also:
    • enableDrill

      public boolean enableDrill
    • enableCrusher

      public boolean enableCrusher
    • enableWalling

      public boolean enableWalling
    • enableVeinMiner

      public boolean enableVeinMiner
    • enableSilkTouch

      public boolean enableSilkTouch
    • drillRotation

      public float drillRotation
      Client-seitige Animation (siehe MachineMiningDrillRenderer): Rotation Bohrkopf/Crusher, Teleskop-Tiefe.
    • prevDrillRotation

      public float prevDrillRotation
      Client-seitige Animation (siehe MachineMiningDrillRenderer): Rotation Bohrkopf/Crusher, Teleskop-Tiefe.
    • drillExtension

      public float drillExtension
    • prevDrillExtension

      public float prevDrillExtension
    • crusherRotation

      public float crusherRotation
    • prevCrusherRotation

      public float prevCrusherRotation
  • Constructor Details

    • MachineMiningDrillBlockEntity

      public MachineMiningDrillBlockEntity(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, MachineMiningDrillBlockEntity be)
    • receiveToggle

      public void receiveToggle(String key)
    • canVeinMine

      public boolean canVeinMine()
    • canSilkTouch

      public boolean canSilkTouch()
    • getProgressScaled

      public int getProgressScaled(int scale)
    • getProgress

      public int getProgress()
    • getMaxProgress

      public int getMaxProgress()
    • getDrillDepth

      public int getDrillDepth()
    • isActive

      public boolean isActive()
    • isOperational

      public boolean isOperational()
    • hasDrillbitInstalled

      public boolean hasDrillbitInstalled()
    • getEnergyPerTick

      public long getEnergyPerTick()
    • saveAdditional

      public 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

      public net.minecraft.world.inventory.AbstractContainerMenu createMenu(int id, net.minecraft.world.entity.player.Inventory inventory, net.minecraft.world.entity.player.Player player)
    • getRenderBoundingBox

      public net.minecraft.world.phys.AABB getRenderBoundingBox()
      Der Bohrkopf/Shaft haengt bis zu targetDepth Bloecke unterhalb der Maschine (siehe MachineMiningDrillRenderer bzw. dessen Ur-Aequivalent RenderExcavator). Ohne diese Erweiterung kuerzt Minecraft den Cull-Check auf die 1x1x1-Blockbox und der Bohrkopf verschwindet, sobald die Maschine selbst nicht mehr im Sichtfeld ist (z.B. wenn man tief im eigenen Schacht steht).
      Specified by:
      getRenderBoundingBox in interface net.minecraftforge.common.extensions.IForgeBlockEntity
      Overrides:
      getRenderBoundingBox in class BaseMachineBlockEntity