Class MultiblockTileEntityBase<T extends IMultiblockLogic>

java.lang.Object
net.minecraftforge.common.capabilities.CapabilityProvider<net.minecraft.world.level.block.entity.BlockEntity>
net.minecraft.world.level.block.entity.BlockEntity
forestry.api.multiblock.MultiblockTileEntityBase<T>
All Implemented Interfaces:
IMultiblockComponent, 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 abstract class MultiblockTileEntityBase<T extends IMultiblockLogic> extends net.minecraft.world.level.block.entity.BlockEntity implements IMultiblockComponent
Base logic class for Multiblock-connected tile entities. Most multiblock components should derive from this. Supply it an IMultiblockLogic from MultiblockManager.logicFactory
  • 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 forestry.api.multiblock.IMultiblockComponent

    IMultiblockComponent.HasInventory
  • Field Summary

    Fields inherited from class net.minecraft.world.level.block.entity.BlockEntity

    level, remove, worldPosition

    Fields inherited from interface net.minecraftforge.common.extensions.IForgeBlockEntity

    INFINITE_EXTENT_AABB
  • Constructor Summary

    Constructors
    Constructor
    Description
    MultiblockTileEntityBase(net.minecraft.world.level.block.entity.BlockEntityType<?> tileEntityType, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, T multiblockLogic)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    decodeDescriptionPacket(net.minecraft.nbt.CompoundTag packetData)
    Used to read tileEntity-specific data from the descriptionPacket (onDataPacket)
    protected void
    encodeDescriptionPacket(net.minecraft.nbt.CompoundTag packetData)
    Used to write tileEntity-specific data to the descriptionPacket
    net.minecraft.core.BlockPos
    Returns the location of this tile entity in the world.
     
    net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket
     
    net.minecraft.nbt.CompoundTag
     
    void
    handleUpdateTag(net.minecraft.nbt.CompoundTag tag)
     
    void
    load(net.minecraft.nbt.CompoundTag data)
     
    void
     
    final void
    onDataPacket(net.minecraft.network.Connection network, net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket packet)
     
    void
     
    abstract void
    onMachineAssembled(IMultiblockController multiblockController, net.minecraft.core.BlockPos minCoord, net.minecraft.core.BlockPos maxCoord)
    Called when a machine is fully assembled from the disassembled state, meaning it was constructed by a player/entity action, not by chunks loading.
    abstract void
    Called when the machine is broken for game reasons, e.g.
    void
    saveAdditional(net.minecraft.nbt.CompoundTag data)
     
    void
     

    Methods inherited from class net.minecraft.world.level.block.entity.BlockEntity

    addEntityType, clearRemoved, fillCrashReportCategory, getBlockPos, getBlockState, getLevel, getPersistentData, getPosFromTag, getType, hasLevel, isRemoved, loadStatic, onlyOpCanSetNbt, saveToItem, saveWithFullMetadata, saveWithId, saveWithoutMetadata, setBlockState, setChanged, setChanged, setLevel, triggerEvent

    Methods inherited from class net.minecraftforge.common.capabilities.CapabilityProvider

    areCapsCompatible, areCapsCompatible, deserializeCaps, gatherCapabilities, gatherCapabilities, gatherCapabilities, getCapabilities, getCapability, invalidateCaps, reviveCaps, serializeCaps

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.minecraftforge.common.capabilities.ICapabilityProvider

    getCapability, getCapability

    Methods inherited from interface net.minecraftforge.common.extensions.IForgeBlockEntity

    deserializeNBT, getModelData, getRenderBoundingBox, hasCustomOutlineRendering, requestModelDataUpdate, serializeNBT

    Methods inherited from interface forestry.api.multiblock.IMultiblockComponent

    getOwner
  • Constructor Details

    • MultiblockTileEntityBase

      public MultiblockTileEntityBase(net.minecraft.world.level.block.entity.BlockEntityType<?> tileEntityType, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, T multiblockLogic)
  • Method Details

    • getCoordinates

      public net.minecraft.core.BlockPos getCoordinates()
      Description copied from interface: IMultiblockComponent
      Returns the location of this tile entity in the world.
      Specified by:
      getCoordinates in interface IMultiblockComponent
      Returns:
      ChunkCoordinates set to the location of this tile entity in the world.
    • getMultiblockLogic

      public T getMultiblockLogic()
      Specified by:
      getMultiblockLogic in interface IMultiblockComponent
      Returns:
      the multiblock logic for this part
    • onMachineAssembled

      public abstract void onMachineAssembled(IMultiblockController multiblockController, net.minecraft.core.BlockPos minCoord, net.minecraft.core.BlockPos maxCoord)
      Description copied from interface: IMultiblockComponent
      Called when a machine is fully assembled from the disassembled state, meaning it was constructed by a player/entity action, not by chunks loading. Note that, for non-square machines, the min/max coordinates may not actually be part of the machine! They form an outer bounding box for the whole machine itself.
      Specified by:
      onMachineAssembled in interface IMultiblockComponent
      Parameters:
      multiblockController - The controller to which this part is being assembled.
    • onMachineBroken

      public abstract void onMachineBroken()
      Description copied from interface: IMultiblockComponent
      Called when the machine is broken for game reasons, e.g. a player removed a block or an explosion occurred.
      Specified by:
      onMachineBroken in interface IMultiblockComponent
    • load

      public void load(net.minecraft.nbt.CompoundTag data)
      Overrides:
      load in class net.minecraft.world.level.block.entity.BlockEntity
    • saveAdditional

      public void saveAdditional(net.minecraft.nbt.CompoundTag data)
      Overrides:
      saveAdditional in class net.minecraft.world.level.block.entity.BlockEntity
    • setRemoved

      public void setRemoved()
      Overrides:
      setRemoved in class net.minecraft.world.level.block.entity.BlockEntity
    • onChunkUnloaded

      public void onChunkUnloaded()
      Specified by:
      onChunkUnloaded in interface net.minecraftforge.common.extensions.IForgeBlockEntity
      Overrides:
      onChunkUnloaded in class net.minecraft.world.level.block.entity.BlockEntity
    • onLoad

      public void onLoad()
      Specified by:
      onLoad in interface net.minecraftforge.common.extensions.IForgeBlockEntity
    • getUpdatePacket

      public net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket getUpdatePacket()
      Overrides:
      getUpdatePacket in class net.minecraft.world.level.block.entity.BlockEntity
    • getUpdateTag

      public net.minecraft.nbt.CompoundTag getUpdateTag()
      Overrides:
      getUpdateTag in class net.minecraft.world.level.block.entity.BlockEntity
    • onDataPacket

      public final void onDataPacket(net.minecraft.network.Connection network, net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket packet)
      Specified by:
      onDataPacket in interface net.minecraftforge.common.extensions.IForgeBlockEntity
    • handleUpdateTag

      public void handleUpdateTag(net.minecraft.nbt.CompoundTag tag)
      Specified by:
      handleUpdateTag in interface net.minecraftforge.common.extensions.IForgeBlockEntity
    • encodeDescriptionPacket

      protected void encodeDescriptionPacket(net.minecraft.nbt.CompoundTag packetData)
      Used to write tileEntity-specific data to the descriptionPacket
    • decodeDescriptionPacket

      protected void decodeDescriptionPacket(net.minecraft.nbt.CompoundTag packetData)
      Used to read tileEntity-specific data from the descriptionPacket (onDataPacket)