Interface IBlockGetterExtension

All Known Subinterfaces:
BlockAndTintGetter, BlockGetter, CollisionGetter, CommonLevelAccessor, LevelAccessor, LevelReader, LevelTimeAccess, LightChunk, ServerLevelAccessor, SignalGetter, WorldGenLevel
All Known Implementing Classes:
ChunkAccess, ClientLevel, EmptyBlockGetter, EmptyLevelChunk, ImposterProtoChunk, Level, LevelChunk, PathNavigationRegion, ProtoChunk, RenderChunkRegion, ServerLevel, WorldGenRegion

public interface IBlockGetterExtension
  • Method Details

    • getAuxLightManager

      @Nullable @NonExtendable default @Nullable AuxiliaryLightManager getAuxLightManager(BlockPos pos)
      Get the AuxiliaryLightManager of the chunk containing the given BlockPos.

      The light manager must be used to hold light values controlled by dynamic data from BlockEntitys to ensure access to the light data is thread-safe and the data is available during chunk load from disk where BlockEntitys are not yet added to the chunk.

      Parameters:
      pos - The position for whose containing chunk the light manager is requested
      Returns:
      the light manager or null if the chunk is not accessible (ChunkSource.getChunkForLighting(int, int) returned null) or the given implementation of BlockGetter does not implement getAuxLightManager(ChunkPos)
    • getAuxLightManager

      @Nullable default @Nullable AuxiliaryLightManager getAuxLightManager(ChunkPos pos)
      Get the AuxiliaryLightManager of the chunk at the given ChunkPos.

      The light manager must be used to hold light values controlled by dynamic data from BlockEntitys to ensure access to the light data is thread-safe and the data is available during chunk load from disk where BlockEntitys are not yet added to the chunk.

      Parameters:
      pos - The position of the chunk from which the light manager is requested
      Returns:
      the light manager or null if the chunk is not accessible (ChunkSource.getChunkForLighting(int, int) returned null) or the given implementation of BlockGetter does not implement this method
    • getModelData

      default ModelData getModelData(BlockPos pos)
      Retrieves model data for a block at the given position.
      Parameters:
      pos - the position to query
      Returns:
      the model data at this position, or ModelData.EMPTY if none exists