Interface IBlockEntityExtension

All Known Implementing Classes:
AbstractFurnaceBlockEntity, BannerBlockEntity, BarrelBlockEntity, BaseContainerBlockEntity, BeaconBlockEntity, BedBlockEntity, BeehiveBlockEntity, BellBlockEntity, BlastFurnaceBlockEntity, BlockEntity, BlockPropertyTests.LightBlockEntity, BrewingStandBlockEntity, BrushableBlockEntity, CalibratedSculkSensorBlockEntity, CampfireBlockEntity, ChestBlockEntity, ChiseledBookShelfBlockEntity, CommandBlockEntity, ComparatorBlockEntity, ConduitBlockEntity, CrafterBlockEntity, CustomHeadTest.CustomSkullBlockEntity, CustomItemDisplayContextTest.ItemHangerBlockEntity, CustomSignsTest.CustomHangingSignBlockEntity, CustomSignsTest.CustomSignBlockEntity, DaylightDetectorBlockEntity, DecoratedPotBlockEntity, DispenserBlockEntity, DropperBlockEntity, EnchantingTableBlockEntity, EnderChestBlockEntity, FullPotsAccessorDemo.DioriteFlowerPotBlockEntity, FurnaceBlockEntity, GameTestTest.EnergyBlockEntity, HangingSignBlockEntity, HopperBlockEntity, JigsawBlockEntity, JukeboxBlockEntity, LecternBlockEntity, MegaModelTest.TestBlock.Entity, PistonMovingBlockEntity, RandomizableContainerBlockEntity, SculkCatalystBlockEntity, SculkSensorBlockEntity, SculkShriekerBlockEntity, ShulkerBoxBlockEntity, SignBlockEntity, SkullBlockEntity, SmokerBlockEntity, SpawnerBlockEntity, StructureBlockEntity, TheEndGatewayBlockEntity, TheEndPortalBlockEntity, TrappedChestBlockEntity, TrialSpawnerBlockEntity, VaultBlockEntity

public interface IBlockEntityExtension
  • Method Details Link icon

    • self Link icon

      private BlockEntity self()
    • onDataPacket Link icon

      default void onDataPacket(Connection net, ClientboundBlockEntityDataPacket pkt, HolderLookup.Provider lookupProvider)
      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 from
      pkt - The data packet
    • handleUpdateTag Link icon

      default void handleUpdateTag(CompoundTag tag, HolderLookup.Provider lookupProvider)
      Called when the chunk's TE update tag, gotten from BlockEntity.getUpdateTag(HolderLookup.Provider), 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 BlockEntity.getUpdateTag(HolderLookup.Provider)
    • getPersistentData Link icon

      CompoundTag getPersistentData()
      Gets a CompoundTag 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 Link icon

      default void onChunkUnloaded()
    • onLoad Link icon

      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.
    • requestModelDataUpdate Link icon

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

      default 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 Link icon

      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
    • invalidateCapabilities Link icon

      @NonExtendable default void invalidateCapabilities()
      Notify all listeners that the capabilities at the positions of this block entity might have changed. This includes new capabilities becoming available.

      This is just a convenience method for ILevelExtension.invalidateCapabilities(BlockPos).