Interface BlockVolume

All Superinterfaces:
Volume
All Known Subinterfaces:
ArchetypeVolume, BlockChunk, BlockEntityArchetypeVolume, BlockEntityArchetypeVolume.Immutable, BlockEntityArchetypeVolume.Modifiable<M>, BlockEntityArchetypeVolume.Mutable, BlockEntityArchetypeVolume.Streamable<B>, BlockEntityArchetypeVolume.Unmodifiable<U>, BlockEntityVolume, BlockEntityVolume.Modifiable<M>, BlockEntityVolume.Mutable, BlockEntityVolume.Streamable<T>, BlockEntityVolume.Unmodifiable<U>, BlockVolume.Immutable, BlockVolume.Modifiable<M>, BlockVolume.Mutable, BlockVolume.Streamable<B>, BlockVolume.Unmodifiable<U>, Chunk<P>, ClientWorld, EntityArchetypeVolume.Immutable, EntityArchetypeVolume.Unmodifiable<U>, EntityVolume.Immutable, EntityVolume.Unmodifiable<U>, EnvironmentalVolume, GenerationChunk, GenerationRegion, InteractableVolume, PhysicsAwareMutableBlockVolume<P>, PrimitiveGameVolume, Region<R>, Schematic, ServerWorld, TrackedVolume, UpdatableVolume, WeatherAwareVolume, World<W,L>, WorldChunk, WorldLike<P>

public interface BlockVolume extends Volume
  • Method Details

    • blockPalette

      Palette<BlockState,BlockType> blockPalette()
      Gets the Palette in use for this particular Volume. It is not guaranteed that the palette is the same across smaller Volumes that may be contained within this volume. An example can be the difference between a Chunk and World's palette.
      Returns:
      The block palette in use for this volume
    • block

      BlockState block(int x, int y, int z)
    • block

      default BlockState block(Vector3i vector3i)
    • fluid

      FluidState fluid(int x, int y, int z)
    • fluid

      default FluidState fluid(Vector3i vector3i)
    • highestYAt

      int highestYAt(int x, int z)
      Get the y value of the highest block that sunlight can reach in the given column.

      This method ignores all transparent blocks, providing the highest opaque block.

      Parameters:
      x - The x column value
      z - The z column value
      Returns:
      The y value of the highest opaque block
    • highestYAt

      default int highestYAt(Vector2i column)
      Get the y value of the highest block that sunlight can reach in the given column.

      This method ignores all transparent blocks, providing the highest opaque block.

      Parameters:
      column - The column value
      Returns:
      The y value of the highest opaque block
    • highestPositionAt

      default Vector3i highestPositionAt(Vector3i position)
      Get the ServerLocation of the highest block that sunlight can reach in the given column.

      This method ignores all transparent blocks, providing the highest opaque block.

      Parameters:
      position - The column position
      Returns:
      The highest opaque position