Package org.bukkit.generator
Interface LimitedRegion
- All Superinterfaces:
net.kyori.adventure.key.Keyed
,Keyed
,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 TypeMethodDescriptiongetBlockData
(@NotNull Vector vector) Gets theBlockData
of the block at the provided coordinates.default @NotNull BlockState
getBlockState
(@NotNull Vector location) Gets theBlockState
at a location.int
Gets the buffer around the central chunk which is accessible.default int
Gets the X-coordinate of the block in the center of the region.default int
Gets the Z-coordinate of the block in the center of the region.int
Gets the X-coordinate of the chunk in the center of the region.int
Gets the Z-coordinate of the chunk in the center of the region.Gets a list of all tile entities in the limited region including the buffer zone.getWorld()
Gets theWorld
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 givenLocation
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 providedBlockData
.void
setBlockState
(int x, int y, int z, @NotNull BlockState state) Sets theBlockState
at a location.default void
setBlockState
(@NotNull Vector location, @NotNull BlockState state) Sets theBlockState
at a location.Methods inherited from interface org.bukkit.RegionAccessor
generateTree, generateTree, generateTree, getBiome, getBiome, getBlockData, getBlockData, getBlockState, getBlockState, getComputedBiome, getEntities, getEntitiesByClass, getEntitiesByClasses, getKey, getLivingEntities, getMoonPhase, getType, getType, hasCollisionsIn, lineOfSightExists, 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
Checks if the givenLocation
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 checky
- Y-coordinate to checkz
- Z-coordinate to check- Returns:
- true if the coordinates are in the region, otherwise false.
-
getTileEntities
Gets a list of all tile entities in the limited region including the buffer zone.- Returns:
- a list of tile entities.
-
setBlockData
Sets the block at a vector location to the providedBlockData
. -
setBlockState
Sets theBlockState
at a location.- Parameters:
x
- X coordinate.y
- Y coordinate.z
- Z coordinate.state
- The block state.
-
setBlockState
Sets theBlockState
at a location.- Parameters:
location
- Location to set block state.state
- The block state.
-
getBlockState
Gets theBlockState
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 coordinatey
- Y coordinatez
- Z coordinate
-
scheduleBlockUpdate
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 coordinatey
- Y coordinatez
- Z coordinate
-
scheduleFluidUpdate
Schedules a fluid update at a vector location.- Parameters:
location
-Vector
representing the position of the block to update.
-
getWorld
Gets theWorld
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
Gets theBlockData
of the block at the provided 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.
-