Package org.bukkit.generator

# Interface LimitedRegion

All Superinterfaces:
  `RegionAccessor`

public interface LimitedRegion extends RegionAccessor
A limited region is used in world generation for features which are going over a chunk. For example, trees or ores. Use `getBuffer()` to know how much you can go beyond the central chunk. The buffer zone may or may not be already populated. The coordinates are absolute from the world origin.

## Method Summary

Modifier and Type
Method
Description
`default @NotNull BlockData`
`getBlockData(@NotNull Vector vector)`
Gets the `BlockData` of the block at the provided coordinates.
`default @NotNull BlockState`
`getBlockState(@NotNull Vector location)`
Gets the `BlockState` at a location.
`int`
`getBuffer()`
Gets the buffer around the central chunk which is accessible.
`default int`
`getCenterBlockX()`
Gets the X-coordinate of the block in the center of the region.
`default int`
`getCenterBlockZ()`
Gets the Z-coordinate of the block in the center of the region.
`int`
`getCenterChunkX()`
Gets the X-coordinate of the chunk in the center of the region.
`int`
`getCenterChunkZ()`
Gets the Z-coordinate of the chunk in the center of the region.
`@NotNull List<BlockState>`
`getTileEntities()`
Gets a list of all tile entities in the limited region including the buffer zone.
`@NotNull World`
`getWorld()`
Gets the `World` object this region represents.
`boolean`
`isInRegion(int x, int y, int z)`
Checks if the given coordinates are in the region.
`boolean`
`isInRegion(@NotNull Location location)`
Checks if the given `Location` is in the region.
`void`
`scheduleBlockUpdate(int x, int y, int z)`
Schedules a block update at (x, y, z).
`default void`
`scheduleBlockUpdate(@NotNull Vector location)`
Schedules a block update at a vector location.
`void`
`scheduleFluidUpdate(int x, int y, int z)`
Schedules a fluid update at (x, y, z).
`default void`
`scheduleFluidUpdate(@NotNull Vector location)`
Schedules a fluid update at a vector location.
`default void`
`setBlockData(@NotNull Vector vector, @NotNull BlockData data)`
Sets the block at a vector location to the provided `BlockData`.
`void`
`setBlockState(int x, int y, int z, @NotNull BlockState state)`
Sets the `BlockState` at a location.
`default void`
`setBlockState(@NotNull Vector location, @NotNull BlockState state)`
Sets the `BlockState` at a location.

### Methods inherited from interface org.bukkit.RegionAccessor

`generateTree, generateTree, getBiome, getBiome, getBlockData, getBlockData, getBlockState, getBlockState, getEntities, getEntitiesByClass, getEntitiesByClasses, getLivingEntities, getType, getType, setBiome, setBiome, setBlockData, setBlockData, setType, setType, spawn, spawn, spawn, spawn, spawn, spawn, spawnEntity, spawnEntity, spawnEntity, spawnEntity`

## Method Details

### getBuffer

int getBuffer()
Gets the buffer around the central chunk which is accessible. The returned value is in normal world coordinate scale.

For example: If the method returns 16 you have a working area of 48x48.

Returns:
  The buffer in X and Z direction

### isInRegion

boolean isInRegion(@NotNull @NotNull Location location)
Checks if the given `Location` is in the region.

Parameters:
  `location` - the location to check
Returns:
  true if the location is in the region, otherwise false.

### isInRegion

boolean isInRegion(int x, int y, int z)
Checks if the given coordinates are in the region.

Parameters:
  `x` - X-coordinate to check
  `y` - Y-coordinate to check
  `z` - Z-coordinate to check
Returns:
  true if the coordinates are in the region, otherwise false.

### getTileEntities

@NotNull @NotNull List<BlockState> getTileEntities()
Gets a list of all tile entities in the limited region including the buffer zone.

Returns:
  a list of tile entities.

### setBlockData

default void setBlockData(@NotNull @NotNull Vector vector, @NotNull @NotNull BlockData data)
Sets the block at a vector location to the provided `BlockData`.

Parameters:
  `vector` - `Vector` representing the position of the block to set.
  `data` - `BlockData` to set the block at the provided coordinates to.

### setBlockState

void setBlockState(int x, int y, int z, @NotNull @NotNull BlockState state)
Sets the `BlockState` at a location.

Parameters:
  `x` - X coordinate.
  `y` - Y coordinate.
  `z` - Z coordinate.
  `state` - The block state.

### setBlockState

default void setBlockState(@NotNull @NotNull Vector location, @NotNull @NotNull BlockState state)
Sets the `BlockState` at a location.

Parameters:
  `location` - Location to set block state.
  `state` - The block state.

### getBlockState

@NotNull default @NotNull BlockState getBlockState(@NotNull @NotNull Vector location)
Gets the `BlockState` at a location.

Parameters:
  `location` - Location to get block state from.
Returns:
  The block state.

### scheduleBlockUpdate

void scheduleBlockUpdate(int x, int y, int z)
Schedules a block update at (x, y, z).

Parameters:
  `x` - X coordinate
  `y` - Y coordinate
  `z` - Z coordinate

### scheduleBlockUpdate

default void scheduleBlockUpdate(@NotNull @NotNull Vector location)
Schedules a block update at a vector location.

Parameters:
  `location` - `Vector` representing the position of the block to update.

### scheduleFluidUpdate

void scheduleFluidUpdate(int x, int y, int z)
Schedules a fluid update at (x, y, z).

Parameters:
  `x` - X coordinate
  `y` - Y coordinate
  `z` - Z coordinate

### scheduleFluidUpdate

default void scheduleFluidUpdate(@NotNull @NotNull Vector location)
Schedules a fluid update at a vector location.

Parameters:
  `location` - `Vector` representing the position of the block to update.

### getWorld

@NotNull @NotNull World getWorld()
Gets the `World` object this region represents.

Do not attempt to read from/write to this world! Doing so during generation will cause a deadlock!

Returns:
  The `World` object that this region represents.

### getBlockData

@NotNull default @NotNull BlockData getBlockData(@NotNull @NotNull Vector vector)
Gets the `BlockData` of the block at the provided coordinates.

Parameters:
  `vector` - `Vector` representing the position of the block to get.
Returns:
  `BlockData` at the coordinates

### getCenterChunkX

int getCenterChunkX()
Gets the X-coordinate of the chunk in the center of the region.

Returns:
  The center chunk's X coordinate.

### getCenterBlockX

default int getCenterBlockX()
Gets the X-coordinate of the block in the center of the region.

Returns:
  The center chunk's X coordinate.

### getCenterChunkZ

int getCenterChunkZ()
Gets the Z-coordinate of the chunk in the center of the region.

Returns:
  The center chunk's Z coordinate.

### getCenterBlockZ

default int getCenterBlockZ()
Gets the Z-coordinate of the block in the center of the region.

Returns:
  The center chunk's Z coordinate.