类 ChunkGenerator
generateNoise(WorldInfo, Random, int, int, ChunkData)
generateSurface(WorldInfo, Random, int, int, ChunkData)
generateBedrock(WorldInfo, Random, int, int, ChunkData)
generateCaves(WorldInfo, Random, int, int, ChunkData)
getBaseHeight(WorldInfo, Random, int, int, HeightMap)
must be completely thread safe and able to handle multiple concurrent
callers.
Some aspects of world generation can be delegated to the Vanilla generator.
The following methods can be overridden to enable this:
shouldGenerateNoise()
orshouldGenerateNoise(WorldInfo, Random, int, int)
shouldGenerateSurface()
orshouldGenerateSurface(WorldInfo, Random, int, int)
shouldGenerateCaves()
orshouldGenerateCaves(WorldInfo, Random, int, int)
shouldGenerateDecorations()
orshouldGenerateDecorations(WorldInfo, Random, int, int)
shouldGenerateMobs()
orshouldGenerateMobs(WorldInfo, Random, int, int)
shouldGenerateStructures()
orshouldGenerateStructures(WorldInfo, Random, int, int)
-
嵌套类概要
修饰符和类型类说明static interface
已过时。static interface
Data for a Chunk. -
构造器概要
-
方法概要
修饰符和类型方法说明boolean
测试指定方位是否对自然生成的方位有效。protected final @NotNull ChunkGenerator.ChunkData
createChunkData
(@NotNull World world) 已过时。ChunkGenerator.ChunkData
are now directly providedvoid
generateBedrock
(@NotNull WorldInfo worldInfo, @NotNull Random random, int chunkX, int chunkZ, @NotNull ChunkGenerator.ChunkData chunkData) Shapes the Chunk bedrock layer for the given coordinates.void
generateCaves
(@NotNull WorldInfo worldInfo, @NotNull Random random, int chunkX, int chunkZ, @NotNull ChunkGenerator.ChunkData chunkData) Shapes the Chunk caves for the given coordinates.generateChunkData
(@NotNull World world, @NotNull Random random, int x, int z, @NotNull ChunkGenerator.BiomeGrid biome) 已过时。The generation is now split up and the new methods should be used, seeChunkGenerator
void
generateNoise
(@NotNull WorldInfo worldInfo, @NotNull Random random, int chunkX, int chunkZ, @NotNull ChunkGenerator.ChunkData chunkData) Shapes the Chunk noise for the given coordinates.void
generateSurface
(@NotNull WorldInfo worldInfo, @NotNull Random random, int chunkX, int chunkZ, @NotNull ChunkGenerator.ChunkData chunkData) Shapes the Chunk surface for the given coordinates.int
getBaseHeight
(@NotNull WorldInfo worldInfo, @NotNull Random random, int x, int z, @NotNull HeightMap heightMap) This method is similar toWorld.getHighestBlockAt(int, int, HeightMap)
.getDefaultBiomeProvider
(@NotNull WorldInfo worldInfo) Gets called when noBiomeProvider
is set inWorldCreator
or via the server configuration files.getDefaultPopulators
(@NotNull World world) 得到一个用于提供指定世界的默认的BlockPopulator
列表。getFixedSpawnLocation
(@NotNull World world, @NotNull Random random) 获取一个固定出生方位用于一个指定的世界。boolean
已过时。the chunk generation code should be thread safeboolean
已过时。has no effect, bedrock generation is part of the surface step, seeshouldGenerateSurface()
boolean
Gets if the server should generate Vanilla caves.boolean
shouldGenerateCaves
(@NotNull WorldInfo worldInfo, @NotNull Random random, int chunkX, int chunkZ) Gets if the server should generate Vanilla caves.boolean
Gets if the server should generate Vanilla decorations after this ChunkGenerator.boolean
shouldGenerateDecorations
(@NotNull WorldInfo worldInfo, @NotNull Random random, int chunkX, int chunkZ) Gets if the server should generate Vanilla decorations after this ChunkGenerator.boolean
Gets if the server should generate Vanilla mobs after this ChunkGenerator.boolean
shouldGenerateMobs
(@NotNull WorldInfo worldInfo, @NotNull Random random, int chunkX, int chunkZ) Gets if the server should generate Vanilla mobs after this ChunkGenerator.boolean
Gets if the server should generate Vanilla noise.boolean
shouldGenerateNoise
(@NotNull WorldInfo worldInfo, @NotNull Random random, int chunkX, int chunkZ) Gets if the server should generate Vanilla noise.boolean
Gets if the server should generate Vanilla structures after this ChunkGenerator.boolean
shouldGenerateStructures
(@NotNull WorldInfo worldInfo, @NotNull Random random, int chunkX, int chunkZ) Gets if the server should generate Vanilla structures after this ChunkGenerator.boolean
Gets if the server should generate Vanilla surface.boolean
shouldGenerateSurface
(@NotNull WorldInfo worldInfo, @NotNull Random random, int chunkX, int chunkZ) Gets if the server should generate Vanilla surface.
-
构造器详细资料
-
ChunkGenerator
public ChunkGenerator()
-
-
方法详细资料
-
generateNoise
public void generateNoise(@NotNull @NotNull WorldInfo worldInfo, @NotNull @NotNull Random random, int chunkX, int chunkZ, @NotNull @NotNull ChunkGenerator.ChunkData chunkData) Shapes the Chunk noise for the given coordinates.Notes:
This method should never attempt to get the Chunk at the passed coordinates, as doing so may cause an infinite loop.
This method should never modify the
ChunkGenerator.ChunkData
at a later point of time.The Y-coordinate range should never be hardcoded, to get the Y-coordinate range use the methods
ChunkGenerator.ChunkData.getMinHeight()
andChunkGenerator.ChunkData.getMaxHeight()
.If
shouldGenerateNoise()
is set to true, the givenChunkGenerator.ChunkData
contains already the Vanilla noise generation.- 参数:
worldInfo
- The world info of the world this chunk will be used forrandom
- The random generator to usechunkX
- The X-coordinate of the chunkchunkZ
- The Z-coordinate of the chunkchunkData
- To modify
-
generateSurface
public void generateSurface(@NotNull @NotNull WorldInfo worldInfo, @NotNull @NotNull Random random, int chunkX, int chunkZ, @NotNull @NotNull ChunkGenerator.ChunkData chunkData) Shapes the Chunk surface for the given coordinates.Notes:
This method should never attempt to get the Chunk at the passed coordinates, as doing so may cause an infinite loop.
This method should never modify the
ChunkGenerator.ChunkData
at a later point of time.The Y-coordinate range should never be hardcoded, to get the Y-coordinate range use the methods
ChunkGenerator.ChunkData.getMinHeight()
andChunkGenerator.ChunkData.getMaxHeight()
.If
shouldGenerateSurface()
is set to true, the givenChunkGenerator.ChunkData
contains already the Vanilla surface generation.- 参数:
worldInfo
- The world info of the world this chunk will be used forrandom
- The random generator to usechunkX
- The X-coordinate of the chunkchunkZ
- The Z-coordinate of the chunkchunkData
- To modify
-
generateBedrock
public void generateBedrock(@NotNull @NotNull WorldInfo worldInfo, @NotNull @NotNull Random random, int chunkX, int chunkZ, @NotNull @NotNull ChunkGenerator.ChunkData chunkData) Shapes the Chunk bedrock layer for the given coordinates.Notes:
This method should never attempt to get the Chunk at the passed coordinates, as doing so may cause an infinite loop.
This method should never modify the
ChunkGenerator.ChunkData
at a later point of time.The Y-coordinate range should never be hardcoded, to get the Y-coordinate range use the methods
ChunkGenerator.ChunkData.getMinHeight()
andChunkGenerator.ChunkData.getMaxHeight()
.- 参数:
worldInfo
- The world info of the world this chunk will be used forrandom
- The random generator to usechunkX
- The X-coordinate of the chunkchunkZ
- The Z-coordinate of the chunkchunkData
- To modify
-
generateCaves
public void generateCaves(@NotNull @NotNull WorldInfo worldInfo, @NotNull @NotNull Random random, int chunkX, int chunkZ, @NotNull @NotNull ChunkGenerator.ChunkData chunkData) Shapes the Chunk caves for the given coordinates.Notes:
This method should never attempt to get the Chunk at the passed coordinates, as doing so may cause an infinite loop.
This method should never modify the
ChunkGenerator.ChunkData
at a later point of time.The Y-coordinate range should never be hardcoded, to get the Y-coordinate range use the methods
ChunkGenerator.ChunkData.getMinHeight()
andChunkGenerator.ChunkData.getMaxHeight()
.If
shouldGenerateCaves()
is set to true, the givenChunkGenerator.ChunkData
contains already the Vanilla cave generation.- 参数:
worldInfo
- The world info of the world this chunk will be used forrandom
- The random generator to usechunkX
- The X-coordinate of the chunkchunkZ
- The Z-coordinate of the chunkchunkData
- To modify
-
getDefaultBiomeProvider
@Nullable public @Nullable BiomeProvider getDefaultBiomeProvider(@NotNull @NotNull WorldInfo worldInfo) Gets called when noBiomeProvider
is set inWorldCreator
or via the server configuration files. It is therefore possible that one plugin can provide the Biomes and another one the generation.Notes:
If
null
is returned, than Vanilla biomes are used.This method only gets called once when the world is loaded. Returning another
BiomeProvider
later one is not respected.- 参数:
worldInfo
- The world info of the world the biome provider will be used for- 返回:
- BiomeProvider to use to fill the biomes of a chunk
-
getBaseHeight
public int getBaseHeight(@NotNull @NotNull WorldInfo worldInfo, @NotNull @NotNull Random random, int x, int z, @NotNull @NotNull HeightMap heightMap) This method is similar toWorld.getHighestBlockAt(int, int, HeightMap)
. With the difference being, that the highest y coordinate should be the block before any surface, bedrock, caves or decoration is applied. Or in other words the highest block when only the noise is present at the chunk.Notes:
When this method is not overridden, the Vanilla base height is used.
This method should never attempt to get the Chunk at the passed coordinates, or use the method
World.getHighestBlockAt(int, int, HeightMap)
, as doing so may cause an infinite loop.- 参数:
worldInfo
- The world info of the world this chunk will be used forrandom
- The random generator to usex
- The X-coordinate from world originz
- The Z-coordinate from world originheightMap
- From the highest block should be get- 返回:
- The y coordinate of the highest block at the given location
-
generateChunkData
@NotNull @Deprecated public @NotNull ChunkGenerator.ChunkData generateChunkData(@NotNull @NotNull World world, @NotNull @NotNull Random random, int x, int z, @NotNull @NotNull ChunkGenerator.BiomeGrid biome) 已过时。The generation is now split up and the new methods should be used, seeChunkGenerator
Shapes the chunk for the given coordinates. This method must return a ChunkData.Notes:
This method should never attempt to get the Chunk at the passed coordinates, as doing so may cause an infinite loop
This method should never modify a ChunkData after it has been returned.
This method must return a ChunkData returned by
createChunkData(org.bukkit.World)
- 参数:
world
- The world this chunk will be used forrandom
- The random generator to usex
- The X-coordinate of the chunkz
- The Z-coordinate of the chunkbiome
- Proposed biome values for chunk - can be updated by generator- 返回:
- ChunkData containing the types for each block created by this generator
-
createChunkData
@NotNull @Deprecated protected final @NotNull ChunkGenerator.ChunkData createChunkData(@NotNull @NotNull World world) 已过时。ChunkGenerator.ChunkData
are now directly providedCreate a ChunkData for a world.- 参数:
world
- the world the ChunkData is for- 返回:
- a new ChunkData for world
-
canSpawn
测试指定方位是否对自然生成的方位有效。原文: Tests if the specified location is valid for a natural spawn position
- 参数:
world
- 用于测试的世界x
- 用于测试的方块的X坐标z
- 用于测试的方块的Z坐标- 返回:
- 如果方位有效则返回true,否则返回false
-
getDefaultPopulators
得到一个用于提供指定世界的默认的BlockPopulator
列表。原文: Gets a list of default
BlockPopulator
s to apply to a given world- 参数:
world
- 用于提供的世界- 返回:
- 包含所有方块填充器的列表
-
getFixedSpawnLocation
@Nullable public @Nullable Location getFixedSpawnLocation(@NotNull @NotNull World world, @NotNull @NotNull Random random) 获取一个固定出生方位用于一个指定的世界。如果一个世界没有使用一个固定出生点就会返回空值,并且会试图随机寻找一个以代替。
原文: Gets a fixed spawn location to use for a given world.
A null value is returned if a world should not use a fixed spawn point, and will instead attempt to find one randomly.
- 参数:
world
- 用于定位出生点的世界random
- 这个计算器中使用的随机生成器- 返回:
- 包含一个新的出生点的方位,若不存在则返回null
-
isParallelCapable
已过时。the chunk generation code should be thread safeGets if this ChunkGenerator is parallel capable. SeeChunkGenerator
for more information.- 返回:
- parallel capable status
-
shouldGenerateNoise
public boolean shouldGenerateNoise()Gets if the server should generate Vanilla noise.The Vanilla noise is generated before
generateNoise(WorldInfo, Random, int, int, ChunkData)
is called.This is method is not called (and has therefore no effect), if
shouldGenerateNoise(WorldInfo, Random, int, int)
is overridden.- 返回:
- true if the server should generate Vanilla noise
- 另请参阅:
-
shouldGenerateNoise
public boolean shouldGenerateNoise(@NotNull @NotNull WorldInfo worldInfo, @NotNull @NotNull Random random, int chunkX, int chunkZ) Gets if the server should generate Vanilla noise.The Vanilla noise is generated before
generateNoise(WorldInfo, Random, int, int, ChunkData)
is called.Only this method is called if both this and
shouldGenerateNoise()
are overridden.- 参数:
worldInfo
- The world info of the world this chunk will be used forrandom
- The random generator to usechunkX
- The X-coordinate of the chunkchunkZ
- The Z-coordinate of the chunk- 返回:
- true if the server should generate Vanilla noise
- 另请参阅:
-
shouldGenerateSurface
public boolean shouldGenerateSurface()Gets if the server should generate Vanilla surface.The Vanilla surface is generated before
generateSurface(WorldInfo, Random, int, int, ChunkData)
is called.This is method is not called (and has therefore no effect), if
shouldGenerateSurface(WorldInfo, Random, int, int)
is overridden.- 返回:
- true if the server should generate Vanilla surface
- 另请参阅:
-
shouldGenerateSurface
public boolean shouldGenerateSurface(@NotNull @NotNull WorldInfo worldInfo, @NotNull @NotNull Random random, int chunkX, int chunkZ) Gets if the server should generate Vanilla surface.The Vanilla surface is generated before
generateSurface(WorldInfo, Random, int, int, ChunkData)
is called.Only this method is called if both this and
shouldGenerateSurface()
are overridden.- 参数:
worldInfo
- The world info of the world this chunk will be used forrandom
- The random generator to usechunkX
- The X-coordinate of the chunkchunkZ
- The Z-coordinate of the chunk- 返回:
- true if the server should generate Vanilla surface
- 另请参阅:
-
shouldGenerateBedrock
已过时。has no effect, bedrock generation is part of the surface step, seeshouldGenerateSurface()
Gets if the server should generate Vanilla bedrock.The Vanilla bedrock is generated before
generateBedrock(WorldInfo, Random, int, int, ChunkData)
is called.- 返回:
- true if the server should generate Vanilla bedrock
-
shouldGenerateCaves
public boolean shouldGenerateCaves()Gets if the server should generate Vanilla caves.The Vanilla caves are generated before
generateCaves(WorldInfo, Random, int, int, ChunkData)
is called.This is method is not called (and has therefore no effect), if
shouldGenerateCaves(WorldInfo, Random, int, int)
is overridden.- 返回:
- true if the server should generate Vanilla caves
- 另请参阅:
-
shouldGenerateCaves
public boolean shouldGenerateCaves(@NotNull @NotNull WorldInfo worldInfo, @NotNull @NotNull Random random, int chunkX, int chunkZ) Gets if the server should generate Vanilla caves.The Vanilla caves are generated before
generateCaves(WorldInfo, Random, int, int, ChunkData)
is called.Only this method is called if both this and
shouldGenerateCaves()
are overridden.- 参数:
worldInfo
- The world info of the world this chunk will be used forrandom
- The random generator to usechunkX
- The X-coordinate of the chunkchunkZ
- The Z-coordinate of the chunk- 返回:
- true if the server should generate Vanilla caves
- 另请参阅:
-
shouldGenerateDecorations
public boolean shouldGenerateDecorations()Gets if the server should generate Vanilla decorations after this ChunkGenerator.The Vanilla decoration are generated before any
BlockPopulator
are called.This is method is not called (and has therefore no effect), if
shouldGenerateDecorations(WorldInfo, Random, int, int)
is overridden.- 返回:
- true if the server should generate Vanilla decorations
- 另请参阅:
-
shouldGenerateDecorations
public boolean shouldGenerateDecorations(@NotNull @NotNull WorldInfo worldInfo, @NotNull @NotNull Random random, int chunkX, int chunkZ) Gets if the server should generate Vanilla decorations after this ChunkGenerator.The Vanilla decoration are generated before any
BlockPopulator
are called.Only this method is called if both this and
shouldGenerateDecorations()
are overridden.- 参数:
worldInfo
- The world info of the world this chunk will be used forrandom
- The random generator to usechunkX
- The X-coordinate of the chunkchunkZ
- The Z-coordinate of the chunk- 返回:
- true if the server should generate Vanilla decorations
- 另请参阅:
-
shouldGenerateMobs
public boolean shouldGenerateMobs()Gets if the server should generate Vanilla mobs after this ChunkGenerator.This is method is not called (and has therefore no effect), if
shouldGenerateMobs(WorldInfo, Random, int, int)
is overridden.- 返回:
- true if the server should generate Vanilla mobs
- 另请参阅:
-
shouldGenerateMobs
public boolean shouldGenerateMobs(@NotNull @NotNull WorldInfo worldInfo, @NotNull @NotNull Random random, int chunkX, int chunkZ) Gets if the server should generate Vanilla mobs after this ChunkGenerator.Only this method is called if both this and
shouldGenerateMobs()
are overridden.- 参数:
worldInfo
- The world info of the world this chunk will be used forrandom
- The random generator to usechunkX
- The X-coordinate of the chunkchunkZ
- The Z-coordinate of the chunk- 返回:
- true if the server should generate Vanilla mobs
- 另请参阅:
-
shouldGenerateStructures
public boolean shouldGenerateStructures()Gets if the server should generate Vanilla structures after this ChunkGenerator.This is method is not called (and has therefore no effect), if
shouldGenerateStructures(WorldInfo, Random, int, int)
is overridden.- 返回:
- true if the server should generate Vanilla structures
- 另请参阅:
-
shouldGenerateStructures
public boolean shouldGenerateStructures(@NotNull @NotNull WorldInfo worldInfo, @NotNull @NotNull Random random, int chunkX, int chunkZ) Gets if the server should generate Vanilla structures after this ChunkGenerator.Only this method is called if both this and
shouldGenerateStructures()
are overridden.- 参数:
worldInfo
- The world info of the world this chunk will be used forrandom
- The random generator to usechunkX
- The X-coordinate of the chunkchunkZ
- The Z-coordinate of the chunk- 返回:
- true if the server should generate Vanilla structures
- 另请参阅:
-
BiomeProvider
设置生物群系