Interface GenerationRegion
-
- All Superinterfaces:
BiomeVolume
,BiomeVolume.Modifiable<GenerationRegion>
,BiomeVolume.Streamable<GenerationRegion>
,BlockEntityVolume
,BlockEntityVolume.Modifiable<GenerationRegion>
,BlockEntityVolume.Streamable<GenerationRegion>
,BlockVolume
,BlockVolume.Modifiable<GenerationRegion>
,BlockVolume.Streamable<GenerationRegion>
,ChunkVolume
,EntityVolume
,EntityVolume.Modifiable<GenerationRegion>
,EntityVolume.Streamable<GenerationRegion>
,EnvironmentalVolume
,GenerationVolume
,GenerationVolume.Mutable
,HeightAwareVolume
,LocationBaseDataHolder
,LocationBaseDataHolder.Mutable
,MutableGameVolume
,MutableVolume
,PhysicsAwareMutableBlockVolume<GenerationRegion>
,PrimitiveGameVolume
,RandomProvider
,Region<GenerationRegion>
,UpdatableVolume
,Volume
,WorldLike<GenerationRegion>
public interface GenerationRegion extends WorldLike<GenerationRegion>
A region ofGenerationChunk
s that are being generated for aServerWorld
. Upon completion, the chunks in this region will be converted intoWorldChunk
s and inserted into the targetworld
.A region is similar to a world in that there are
GenerationChunk
s available,BlockState
s are used in this region, and likewise, the region can contain and storeBlockEntity
instances being generated,Entity
instances being generated or spawned by generation, etc. The major differences are that a generation region cannot be utilized forServerLocation
s, they are not considered to be viewable byPlayer
s and they are not accessible by theServer
orServerWorld
(s).
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.spongepowered.api.world.volume.biome.BiomeVolume
BiomeVolume.Immutable, BiomeVolume.Modifiable<M extends BiomeVolume.Modifiable<M>>, BiomeVolume.Mutable, BiomeVolume.Streamable<B extends BiomeVolume.Streamable<B>>, BiomeVolume.Unmodifiable<U extends BiomeVolume.Unmodifiable<U>>
-
Nested classes/interfaces inherited from interface org.spongepowered.api.world.volume.block.entity.BlockEntityVolume
BlockEntityVolume.Modifiable<M extends BlockEntityVolume.Modifiable<M>>, BlockEntityVolume.Mutable, BlockEntityVolume.Streamable<T extends BlockEntityVolume.Streamable<T>>, BlockEntityVolume.Unmodifiable<U extends BlockEntityVolume.Unmodifiable<U>>
-
Nested classes/interfaces inherited from interface org.spongepowered.api.world.volume.block.BlockVolume
BlockVolume.Immutable, BlockVolume.Modifiable<M extends BlockVolume.Modifiable<M>>, BlockVolume.Mutable, BlockVolume.Streamable<B extends BlockVolume.Streamable<B>>, BlockVolume.Unmodifiable<U extends BlockVolume.Unmodifiable<U>>
-
Nested classes/interfaces inherited from interface org.spongepowered.api.world.volume.entity.EntityVolume
EntityVolume.EntityVolumeFactory, EntityVolume.Immutable, EntityVolume.Modifiable<M extends EntityVolume.Modifiable<M>>, EntityVolume.Mutable, EntityVolume.Streamable<E extends EntityVolume.Streamable<E>>, EntityVolume.Unmodifiable<U extends EntityVolume.Unmodifiable<U>>
-
Nested classes/interfaces inherited from interface org.spongepowered.api.world.volume.game.GenerationVolume
GenerationVolume.Mutable
-
Nested classes/interfaces inherited from interface org.spongepowered.api.world.volume.game.LocationBaseDataHolder
LocationBaseDataHolder.Mutable
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description GenerationChunk
chunk(int cx, int cy, int cz)
Gets theGenerationChunk
at the given chunk co-ordinatesdefault GenerationChunk
chunk(Vector3i chunkPosition)
Gets theGenerationChunk
at the given chunk co-ordinatesdefault GenerationChunk
chunkAtBlock(int x, int y, int z)
Gets theGenerationChunk
at the given block co-ordinatesdefault GenerationChunk
chunkAtBlock(Vector3i position)
Gets theGenerationChunk
at the given block co-ordinatesVector3i
chunkMax()
The maximum chunk co-ordinate of this region.Vector3i
chunkMin()
The minimum chunk co-ordinate of this region.Server
engine()
Gets theServer
engine.ResourceKey
worldKey()
TheResourceKey
of theServerWorld
that this region will be placed into.-
Methods inherited from interface org.spongepowered.api.world.volume.biome.BiomeVolume
biome, biome
-
Methods inherited from interface org.spongepowered.api.world.volume.biome.BiomeVolume.Modifiable
setBiome, setBiome
-
Methods inherited from interface org.spongepowered.api.world.volume.biome.BiomeVolume.Streamable
biomeStream
-
Methods inherited from interface org.spongepowered.api.world.volume.block.entity.BlockEntityVolume
blockEntities, blockEntities, blockEntity, blockEntity
-
Methods inherited from interface org.spongepowered.api.world.volume.block.entity.BlockEntityVolume.Modifiable
addBlockEntity, addBlockEntity, removeBlockEntity, removeBlockEntity
-
Methods inherited from interface org.spongepowered.api.world.volume.block.entity.BlockEntityVolume.Streamable
blockEntityStream
-
Methods inherited from interface org.spongepowered.api.world.volume.block.BlockVolume
block, block, fluid, fluid, highestPositionAt, highestYAt, highestYAt
-
Methods inherited from interface org.spongepowered.api.world.volume.block.BlockVolume.Streamable
blockStateStream
-
Methods inherited from interface org.spongepowered.api.world.volume.game.ChunkVolume
chunkLayout, hasChunk, hasChunk, hasChunkAtBlock, hasChunkAtBlock, isChunkLoaded, isChunkLoaded, isChunkLoadedAtBlock, isChunkLoadedAtBlock
-
Methods inherited from interface org.spongepowered.api.world.volume.entity.EntityVolume
entities, entities, entities, entities, entities, entity, nearbyEntities, nearestPlayer, players
-
Methods inherited from interface org.spongepowered.api.world.volume.entity.EntityVolume.Modifiable
createEntity, createEntity, createEntity, createEntity, createEntity, createEntity, createEntityNaturally, createEntityNaturally, createEntityNaturally, createEntityNaturally, spawnEntities, spawnEntity
-
Methods inherited from interface org.spongepowered.api.world.volume.entity.EntityVolume.Streamable
entityStream
-
Methods inherited from interface org.spongepowered.api.world.volume.game.EnvironmentalVolume
isSkylightMax, light, light, light, light, light, light
-
Methods inherited from interface org.spongepowered.api.world.volume.game.GenerationVolume
hasBlockState, hasBlockState, hasBlockState, maximumHeight
-
Methods inherited from interface org.spongepowered.api.world.volume.game.HeightAwareVolume
height, height
-
Methods inherited from interface org.spongepowered.api.world.volume.game.LocationBaseDataHolder
get, get, get, get, getDouble, getDouble, getDouble, getDouble, getInt, getInt, getInt, getInt, getLong, getLong, getLong, getLong, getValue, getValue, getValue, getValue, getValues, getValues, keys, keys, orElse, orElse, orElse, orElse, orElse, orElse, orElse, orElse, orNull, orNull, orNull, orNull, require, require, require, require, supports, supports, supports, supports, supports, supports
-
Methods inherited from interface org.spongepowered.api.world.volume.game.LocationBaseDataHolder.Mutable
copyFrom, copyFrom, copyFrom, copyFrom, copyFrom, copyFrom, copyFrom, copyFrom, offer, offer, offer, offer, offer, offer, remove, remove, remove, remove, setRawData, setRawData, transform, transform, transform, transform, undo, undo, validateRawData, validateRawData
-
Methods inherited from interface org.spongepowered.api.world.volume.game.MutableGameVolume
destroyBlock, spawnEntity
-
Methods inherited from interface org.spongepowered.api.world.volume.block.PhysicsAwareMutableBlockVolume
setBlock, setBlock
-
Methods inherited from interface org.spongepowered.api.world.volume.game.PrimitiveGameVolume
emittedLight, emittedLight, height, maximumLight
-
Methods inherited from interface org.spongepowered.api.util.RandomProvider
random
-
Methods inherited from interface org.spongepowered.api.world.volume.game.Region
border, canSeeSky, canSeeSky, containsAnyLiquids, hasLiquid, hasLiquid, isAreaLoaded, isAreaLoaded, isAreaLoaded, isAreaLoaded, isAreaLoaded, isBlockLoaded, isBlockLoaded, isBlockLoaded, isBlockLoaded, isCollisionBoxesEmpty, isInBorder, seaLevel, setBorder, skylightSubtracted, worldType
-
Methods inherited from interface org.spongepowered.api.world.volume.game.UpdatableVolume
scheduledBlockUpdates, scheduledFluidUpdates
-
Methods inherited from interface org.spongepowered.api.world.volume.Volume
available, contains, contains, isAreaAvailable, max, min, size
-
Methods inherited from interface org.spongepowered.api.world.WorldLike
difficulty, removeBlock, removeBlock, seed, setBlock, setBlock
-
-
-
-
Method Detail
-
worldKey
ResourceKey worldKey()
TheResourceKey
of theServerWorld
that this region will be placed into.As generation regions are designed to be thread-safe with regards to world generation, it is entirely possible that you may retrieve a region off the main server thread. As
ServerWorld
instances are not thread safe, you should ensure thatEngine.onMainThread()
istrue
before retreving the world.- Returns:
- The
ResourceKey
that represents the targetServerWorld
-
engine
Server engine()
Gets theServer
engine.- Specified by:
engine
in interfaceWorldLike<GenerationRegion>
- Returns:
- The
Server
-
chunkMin
Vector3i chunkMin()
The minimum chunk co-ordinate of this region.- Returns:
- The chunk co-ordinate as a
Vector3i
-
chunkMax
Vector3i chunkMax()
The maximum chunk co-ordinate of this region.- Returns:
- The chunk co-ordinate as a
Vector3i
-
chunkAtBlock
default GenerationChunk chunkAtBlock(Vector3i position)
Gets theGenerationChunk
at the given block co-ordinates- Specified by:
chunkAtBlock
in interfaceChunkVolume
- Parameters:
position
- The block position- Returns:
- The
GenerationChunk
- Throws:
java.lang.IllegalArgumentException
- if the provided co-ordinates are out of bounds.
-
chunkAtBlock
default GenerationChunk chunkAtBlock(int x, int y, int z)
Gets theGenerationChunk
at the given block co-ordinates- Specified by:
chunkAtBlock
in interfaceChunkVolume
- Parameters:
x
- The x co-ordinatey
- The y co-ordinatez
- The z co-ordinate- Returns:
- The
GenerationChunk
- Throws:
java.lang.IllegalArgumentException
- if the provided co-ordinates are out of bounds.
-
chunk
default GenerationChunk chunk(Vector3i chunkPosition)
Gets theGenerationChunk
at the given chunk co-ordinates- Specified by:
chunk
in interfaceChunkVolume
- Parameters:
chunkPosition
- The chunk co-ordinates- Returns:
- The
GenerationChunk
- Throws:
java.lang.IllegalArgumentException
- if the provided co-ordinates are out of bounds.
-
chunk
GenerationChunk chunk(int cx, int cy, int cz)
Gets theGenerationChunk
at the given chunk co-ordinates- Specified by:
chunk
in interfaceChunkVolume
- Parameters:
cx
- The x co-ordinatecy
- The y co-ordinatecz
- The z co-ordinate- Returns:
- The
GenerationChunk
- Throws:
java.lang.IllegalArgumentException
- if the provided co-ordinates are out of bounds.
-
-