Interface ChunkGenerator.ChunkData

  • Enclosing class:
    ChunkGenerator

    public static interface ChunkGenerator.ChunkData
    Data for a Chunk.
    • Method Summary

      All Methods Instance Methods Abstract Methods Deprecated Methods 
      Modifier and Type Method Description
      BlockData getBlockData​(int x, int y, int z)
      Get the type and data of the block at x, y, z.
      byte getData​(int x, int y, int z)
      Deprecated.
      Uses magic values
      int getMaxHeight()
      Get the maximum height for the chunk.
      Material getType​(int x, int y, int z)
      Get the type of the block at x, y, z.
      MaterialData getTypeAndData​(int x, int y, int z)
      Get the type and data of the block at x, y, z.
      void setBlock​(int x, int y, int z, BlockData blockData)
      Set the block at x,y,z in the chunk data to material.
      void setBlock​(int x, int y, int z, Material material)
      Set the block at x,y,z in the chunk data to material.
      void setBlock​(int x, int y, int z, MaterialData material)
      Set the block at x,y,z in the chunk data to material.
      void setRegion​(int xMin, int yMin, int zMin, int xMax, int yMax, int zMax, BlockData blockData)
      Set a region of this chunk from xMin, yMin, zMin (inclusive) to xMax, yMax, zMax (exclusive) to material.
      void setRegion​(int xMin, int yMin, int zMin, int xMax, int yMax, int zMax, Material material)
      Set a region of this chunk from xMin, yMin, zMin (inclusive) to xMax, yMax, zMax (exclusive) to material.
      void setRegion​(int xMin, int yMin, int zMin, int xMax, int yMax, int zMax, MaterialData material)
      Set a region of this chunk from xMin, yMin, zMin (inclusive) to xMax, yMax, zMax (exclusive) to material.
    • Method Detail

      • getMaxHeight

        int getMaxHeight()
        Get the maximum height for the chunk. Setting blocks at or above this height will do nothing.
        Returns:
        the maximum height
      • setBlock

        void setBlock​(int x,
                      int y,
                      int z,
                      @NotNull
                      Material material)
        Set the block at x,y,z in the chunk data to material. Note: setting blocks outside the chunk's bounds does nothing.
        Parameters:
        x - the x location in the chunk from 0-15 inclusive
        y - the y location in the chunk from 0 (inclusive) - maxHeight (exclusive)
        z - the z location in the chunk from 0-15 inclusive
        material - the type to set the block to
      • setBlock

        void setBlock​(int x,
                      int y,
                      int z,
                      @NotNull
                      MaterialData material)
        Set the block at x,y,z in the chunk data to material. Setting blocks outside the chunk's bounds does nothing.
        Parameters:
        x - the x location in the chunk from 0-15 inclusive
        y - the y location in the chunk from 0 (inclusive) - maxHeight (exclusive)
        z - the z location in the chunk from 0-15 inclusive
        material - the type to set the block to
      • setBlock

        void setBlock​(int x,
                      int y,
                      int z,
                      @NotNull
                      BlockData blockData)
        Set the block at x,y,z in the chunk data to material. Setting blocks outside the chunk's bounds does nothing.
        Parameters:
        x - the x location in the chunk from 0-15 inclusive
        y - the y location in the chunk from 0 (inclusive) - maxHeight (exclusive)
        z - the z location in the chunk from 0-15 inclusive
        blockData - the type to set the block to
      • setRegion

        void setRegion​(int xMin,
                       int yMin,
                       int zMin,
                       int xMax,
                       int yMax,
                       int zMax,
                       @NotNull
                       Material material)
        Set a region of this chunk from xMin, yMin, zMin (inclusive) to xMax, yMax, zMax (exclusive) to material. Setting blocks outside the chunk's bounds does nothing.
        Parameters:
        xMin - minimum x location (inclusive) in the chunk to set
        yMin - minimum y location (inclusive) in the chunk to set
        zMin - minimum z location (inclusive) in the chunk to set
        xMax - maximum x location (exclusive) in the chunk to set
        yMax - maximum y location (exclusive) in the chunk to set
        zMax - maximum z location (exclusive) in the chunk to set
        material - the type to set the blocks to
      • setRegion

        void setRegion​(int xMin,
                       int yMin,
                       int zMin,
                       int xMax,
                       int yMax,
                       int zMax,
                       @NotNull
                       MaterialData material)
        Set a region of this chunk from xMin, yMin, zMin (inclusive) to xMax, yMax, zMax (exclusive) to material. Setting blocks outside the chunk's bounds does nothing.
        Parameters:
        xMin - minimum x location (inclusive) in the chunk to set
        yMin - minimum y location (inclusive) in the chunk to set
        zMin - minimum z location (inclusive) in the chunk to set
        xMax - maximum x location (exclusive) in the chunk to set
        yMax - maximum y location (exclusive) in the chunk to set
        zMax - maximum z location (exclusive) in the chunk to set
        material - the type to set the blocks to
      • setRegion

        void setRegion​(int xMin,
                       int yMin,
                       int zMin,
                       int xMax,
                       int yMax,
                       int zMax,
                       @NotNull
                       BlockData blockData)
        Set a region of this chunk from xMin, yMin, zMin (inclusive) to xMax, yMax, zMax (exclusive) to material. Setting blocks outside the chunk's bounds does nothing.
        Parameters:
        xMin - minimum x location (inclusive) in the chunk to set
        yMin - minimum y location (inclusive) in the chunk to set
        zMin - minimum z location (inclusive) in the chunk to set
        xMax - maximum x location (exclusive) in the chunk to set
        yMax - maximum y location (exclusive) in the chunk to set
        zMax - maximum z location (exclusive) in the chunk to set
        blockData - the type to set the blocks to
      • getType

        @NotNull
        Material getType​(int x,
                         int y,
                         int z)
        Get the type of the block at x, y, z. Getting blocks outside the chunk's bounds returns air.
        Parameters:
        x - the x location in the chunk from 0-15 inclusive
        y - the y location in the chunk from 0 (inclusive) - maxHeight (exclusive)
        z - the z location in the chunk from 0-15 inclusive
        Returns:
        the type of the block or Material.AIR if x, y or z are outside the chunk's bounds
      • getTypeAndData

        @NotNull
        MaterialData getTypeAndData​(int x,
                                    int y,
                                    int z)
        Get the type and data of the block at x, y, z. Getting blocks outside the chunk's bounds returns air.
        Parameters:
        x - the x location in the chunk from 0-15 inclusive
        y - the y location in the chunk from 0 (inclusive) - maxHeight (exclusive)
        z - the z location in the chunk from 0-15 inclusive
        Returns:
        the type and data of the block or the MaterialData for air if x, y or z are outside the chunk's bounds
      • getBlockData

        @NotNull
        BlockData getBlockData​(int x,
                               int y,
                               int z)
        Get the type and data of the block at x, y, z. Getting blocks outside the chunk's bounds returns air.
        Parameters:
        x - the x location in the chunk from 0-15 inclusive
        y - the y location in the chunk from 0 (inclusive) - maxHeight (exclusive)
        z - the z location in the chunk from 0-15 inclusive
        Returns:
        the data of the block or the BlockData for air if x, y or z are outside the chunk's bounds
      • getData

        @Deprecated
        byte getData​(int x,
                     int y,
                     int z)
        Deprecated.
        Uses magic values
        Get the block data at x,y,z in the chunk data. Getting blocks outside the chunk's bounds returns 0.
        Parameters:
        x - the x location in the chunk from 0-15 inclusive
        y - the y location in the chunk from 0 (inclusive) - maxHeight (exclusive)
        z - the z location in the chunk from 0-15 inclusive
        Returns:
        the block data value or air if x, y or z are outside the chunk's bounds