Interface IForgeBlockEntity
- All Superinterfaces:
ICapabilityProvider
,ICapabilitySerializable<CompoundTag>
,INBTSerializable<CompoundTag>
- All Known Implementing Classes:
AbstractFurnaceBlockEntity
,BannerBlockEntity
,BarrelBlockEntity
,BaseContainerBlockEntity
,BeaconBlockEntity
,BedBlockEntity
,BeehiveBlockEntity
,BellBlockEntity
,BlastFurnaceBlockEntity
,BlockEntity
,BlockEntityOnLoadTest.TestBlockEntity
,BrewingStandBlockEntity
,BrushableBlockEntity
,CalibratedSculkSensorBlockEntity
,CampfireBlockEntity
,ChestBlockEntity
,ChiseledBookShelfBlockEntity
,CommandBlockEntity
,ComparatorBlockEntity
,ConduitBlockEntity
,CustomHeadTest.CustomSkullBlockEntity
,CustomItemDisplayContextTest.ItemHangerBlockEntity
,CustomSignsTest.CustomHangingSignBlockEntity
,CustomSignsTest.CustomSignBlockEntity
,DaylightDetectorBlockEntity
,DecoratedPotBlockEntity
,DispenserBlockEntity
,DropperBlockEntity
,EnchantmentTableBlockEntity
,EnderChestBlockEntity
,FluidHandlerBlockEntity
,FullPotsAccessorDemo.DioriteFlowerPotBlockEntity
,FurnaceBlockEntity
,GameTestTest.EnergyBlockEntity
,HangingSignBlockEntity
,HopperBlockEntity
,JigsawBlockEntity
,JukeboxBlockEntity
,LecternBlockEntity
,LevelSensitiveLightBlockTest.LightBlockEntity
,MegaModelTest.TestBlock.Entity
,PistonMovingBlockEntity
,RandomizableContainerBlockEntity
,SculkCatalystBlockEntity
,SculkSensorBlockEntity
,SculkShriekerBlockEntity
,ShulkerBoxBlockEntity
,SignBlockEntity
,SkullBlockEntity
,SmokerBlockEntity
,SpawnerBlockEntity
,StructureBlockEntity
,TheEndGatewayBlockEntity
,TheEndPortalBlockEntity
,TrappedChestBlockEntity
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final AABB
Sometimes default render bounding box: infinite in scope. -
Method Summary
Modifier and TypeMethodDescriptiondefault void
default @NotNull ModelData
Allows you to return additional model data.Gets aCompoundTag
that can be used to store custom data for this block entity.default AABB
Return anAABB
that controls the visible scope of aBlockEntityWithoutLevelRenderer
associated with thisBlockEntity
Defaults to the collision bounding boxBlockBehaviour.BlockStateBase.getCollisionShape(BlockGetter, BlockPos)
associated with the block at this location.default void
Called when the chunk's TE update tag, gotten fromBlockEntity.getUpdateTag()
, is received on the client.default boolean
hasCustomOutlineRendering
(Player player) Returns whether thisBlockEntity
has custom outline rendering behavior.default void
default void
Called when you receive a TileEntityData packet for the location this TileEntity is currently in.default void
onLoad()
Called when this is first added to the world (byLevelChunk.addAndRegisterBlockEntity(BlockEntity)
) or right before the first tick when the chunk is generated or loaded from disk.default void
Requests a refresh for the model data of your TE Call this every time yourgetModelData()
changesprivate BlockEntity
self()
default CompoundTag
Methods inherited from interface net.minecraftforge.common.capabilities.ICapabilityProvider
getCapability, getCapability
-
Field Details
-
INFINITE_EXTENT_AABB
Sometimes default render bounding box: infinite in scope. Used to control rendering onBlockEntityWithoutLevelRenderer
.
-
-
Method Details
-
self
-
deserializeNBT
- Specified by:
deserializeNBT
in interfaceINBTSerializable<CompoundTag>
-
serializeNBT
- Specified by:
serializeNBT
in interfaceINBTSerializable<CompoundTag>
-
onDataPacket
Called when you receive a TileEntityData packet for the location this TileEntity is currently in. On the client, the NetworkManager will always be the remote server. On the server, it will be whomever is responsible for sending the packet.- Parameters:
net
- The NetworkManager the packet originated frompkt
- The data packet
-
handleUpdateTag
Called when the chunk's TE update tag, gotten fromBlockEntity.getUpdateTag()
, is received on the client.Used to handle this tag in a special way. By default this simply calls
BlockEntity.load(CompoundTag)
.- Parameters:
tag
- TheCompoundTag
sent fromBlockEntity.getUpdateTag()
-
getPersistentData
CompoundTag getPersistentData()Gets aCompoundTag
that can be used to store custom data for this block entity. It will be written, and read from disc, so it persists over world saves.- Returns:
- A compound tag for custom persistent data
-
onChunkUnloaded
default void onChunkUnloaded() -
onLoad
default void onLoad()Called when this is first added to the world (byLevelChunk.addAndRegisterBlockEntity(BlockEntity)
) or right before the first tick when the chunk is generated or loaded from disk. Override instead of addingif (firstTick)
stuff in update. -
getRenderBoundingBox
Return anAABB
that controls the visible scope of aBlockEntityWithoutLevelRenderer
associated with thisBlockEntity
Defaults to the collision bounding boxBlockBehaviour.BlockStateBase.getCollisionShape(BlockGetter, BlockPos)
associated with the block at this location.- Returns:
- an appropriately size
AABB
for theBlockEntity
-
requestModelDataUpdate
default void requestModelDataUpdate()Requests a refresh for the model data of your TE Call this every time yourgetModelData()
changes -
getModelData
Allows you to return additional model data. This data can be used to provide additional functionality in yourBakedModel
You need to schedule a refresh of you model data viarequestModelDataUpdate()
if the result of this function changes. Note that this method may be called on a chunk render thread instead of the main client thread- Returns:
- Your model data
-
hasCustomOutlineRendering
Returns whether thisBlockEntity
has custom outline rendering behavior.- Parameters:
player
- the local player currently viewing thisBlockEntity
- Returns:
true
to enable outline processing
-