Interface IForgeBlockEntity

All Superinterfaces:
ICapabilityProvider
All Known Implementing Classes:
AbstractFurnaceBlockEntity, BannerBlockEntity, BarrelBlockEntity, BaseContainerBlockEntity, BeaconBlockEntity, BedBlockEntity, BeehiveBlockEntity, BellBlockEntity, BlastFurnaceBlockEntity, BlockEntity, BrewingStandBlockEntity, BrushableBlockEntity, CalibratedSculkSensorBlockEntity, CampfireBlockEntity, ChestBlockEntity, ChiseledBookShelfBlockEntity, CommandBlockEntity, ComparatorBlockEntity, ConduitBlockEntity, CrafterBlockEntity, DaylightDetectorBlockEntity, DecoratedPotBlockEntity, DispenserBlockEntity, DropperBlockEntity, EnchantingTableBlockEntity, EnderChestBlockEntity, FluidHandlerBlockEntity, FurnaceBlockEntity, HangingSignBlockEntity, HopperBlockEntity, JigsawBlockEntity, JukeboxBlockEntity, LecternBlockEntity, PistonMovingBlockEntity, RandomizableContainerBlockEntity, SculkCatalystBlockEntity, SculkSensorBlockEntity, SculkShriekerBlockEntity, ShulkerBoxBlockEntity, SignBlockEntity, SkullBlockEntity, SmokerBlockEntity, SpawnerBlockEntity, StructureBlockEntity, TheEndGatewayBlockEntity, TheEndPortalBlockEntity, TrappedChestBlockEntity, TrialSpawnerBlockEntity, VaultBlockEntity

public interface IForgeBlockEntity extends ICapabilityProvider
  • Field Details

    • INFINITE_EXTENT_AABB

      static final AABB INFINITE_EXTENT_AABB
      Sometimes default render bounding box: infinite in scope. Used to control rendering on BlockEntityWithoutLevelRenderer.
  • Method Details

    • self

      private BlockEntity self()
    • onDataPacket

      default void onDataPacket(Connection connection, ClientboundBlockEntityDataPacket pkt, HolderLookup.Provider lookup)
      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:
      pkt - The data packet
      net - The NetworkManager the packet originated from
    • handleUpdateTag

      default void handleUpdateTag(CompoundTag tag, HolderLookup.Provider holders)
      Called when the chunk's TE update tag, gotten from
      invalid reference
      BlockEntity#getUpdateTag()
      , is received on the client.

      Used to handle this tag in a special way. By default this simply calls BlockEntity.loadWithComponents(CompoundTag, HolderLookup.Provider).

      Parameters:
      tag - The CompoundTag sent from
      invalid reference
      BlockEntity#getUpdateTag()
    • onChunkUnloaded

      default void onChunkUnloaded()
    • onLoad

      default void onLoad()
      Called when this is first added to the world (by LevelChunk.addAndRegisterBlockEntity(BlockEntity)) or right before the first tick when the chunk is generated or loaded from disk. Override instead of adding if (firstTick) stuff in update.
    • getRenderBoundingBox

      default AABB getRenderBoundingBox()
      Return an AABB that controls the visible scope of a BlockEntityWithoutLevelRenderer associated with this BlockEntity Defaults to the collision bounding box BlockBehaviour.BlockStateBase.getCollisionShape(BlockGetter, BlockPos) associated with the block at this location.
      Returns:
      an appropriately size AABB for the BlockEntity
    • requestModelDataUpdate

      default void requestModelDataUpdate()
      Requests a refresh for the model data of your TE Call this every time your getModelData() changes
    • getModelData

      @NotNull default @NotNull ModelData getModelData()
      Allows you to return additional model data. This data can be used to provide additional functionality in your BakedModel You need to schedule a refresh of you model data via requestModelDataUpdate() 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

      default boolean hasCustomOutlineRendering(Player player)
      Returns whether this BlockEntity has custom outline rendering behavior.
      Parameters:
      player - the local player currently viewing this BlockEntity
      Returns:
      true to enable outline processing