Package forestry.api.multiblock
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, worldPositionFields inherited from interface net.minecraftforge.common.extensions.IForgeBlockEntity
INFINITE_EXTENT_AABB -
Constructor Summary
ConstructorsConstructorDescriptionMultiblockTileEntityBase(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 TypeMethodDescriptionprotected voiddecodeDescriptionPacket(net.minecraft.nbt.CompoundTag packetData) Used to read tileEntity-specific data from the descriptionPacket (onDataPacket)protected voidencodeDescriptionPacket(net.minecraft.nbt.CompoundTag packetData) Used to write tileEntity-specific data to the descriptionPacketnet.minecraft.core.BlockPosReturns the location of this tile entity in the world.net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacketnet.minecraft.nbt.CompoundTagvoidhandleUpdateTag(net.minecraft.nbt.CompoundTag tag) voidload(net.minecraft.nbt.CompoundTag data) voidfinal voidonDataPacket(net.minecraft.network.Connection network, net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket packet) voidonLoad()abstract voidonMachineAssembled(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 voidCalled when the machine is broken for game reasons, e.g.voidsaveAdditional(net.minecraft.nbt.CompoundTag data) voidMethods 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, triggerEventMethods inherited from class net.minecraftforge.common.capabilities.CapabilityProvider
areCapsCompatible, areCapsCompatible, deserializeCaps, gatherCapabilities, gatherCapabilities, gatherCapabilities, getCapabilities, getCapability, invalidateCaps, 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
getCapability, getCapabilityMethods inherited from interface net.minecraftforge.common.extensions.IForgeBlockEntity
deserializeNBT, getModelData, getRenderBoundingBox, hasCustomOutlineRendering, requestModelDataUpdate, serializeNBTMethods 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:IMultiblockComponentReturns the location of this tile entity in the world.- Specified by:
getCoordinatesin interfaceIMultiblockComponent- Returns:
- ChunkCoordinates set to the location of this tile entity in the world.
-
getMultiblockLogic
- Specified by:
getMultiblockLogicin interfaceIMultiblockComponent- 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:IMultiblockComponentCalled 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:
onMachineAssembledin interfaceIMultiblockComponent- Parameters:
multiblockController- The controller to which this part is being assembled.
-
onMachineBroken
public abstract void onMachineBroken()Description copied from interface:IMultiblockComponentCalled when the machine is broken for game reasons, e.g. a player removed a block or an explosion occurred.- Specified by:
onMachineBrokenin interfaceIMultiblockComponent
-
load
public void load(net.minecraft.nbt.CompoundTag data) - Overrides:
loadin classnet.minecraft.world.level.block.entity.BlockEntity
-
saveAdditional
public void saveAdditional(net.minecraft.nbt.CompoundTag data) - Overrides:
saveAdditionalin classnet.minecraft.world.level.block.entity.BlockEntity
-
setRemoved
public void setRemoved()- Overrides:
setRemovedin classnet.minecraft.world.level.block.entity.BlockEntity
-
onChunkUnloaded
public void onChunkUnloaded()- Specified by:
onChunkUnloadedin interfacenet.minecraftforge.common.extensions.IForgeBlockEntity- Overrides:
onChunkUnloadedin classnet.minecraft.world.level.block.entity.BlockEntity
-
onLoad
public void onLoad()- Specified by:
onLoadin interfacenet.minecraftforge.common.extensions.IForgeBlockEntity
-
getUpdatePacket
public net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket getUpdatePacket()- Overrides:
getUpdatePacketin classnet.minecraft.world.level.block.entity.BlockEntity
-
getUpdateTag
public net.minecraft.nbt.CompoundTag getUpdateTag()- Overrides:
getUpdateTagin classnet.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:
onDataPacketin interfacenet.minecraftforge.common.extensions.IForgeBlockEntity
-
handleUpdateTag
public void handleUpdateTag(net.minecraft.nbt.CompoundTag tag) - Specified by:
handleUpdateTagin interfacenet.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)
-