Interface World
- All Superinterfaces:
Keyed
,Metadatable
,PersistentDataHolder
,PluginMessageRecipient
,RegionAccessor
,WorldInfo
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic enum
Represents various map environment types that a world may bestatic class
-
Method Summary
Modifier and TypeMethodDescriptionboolean
addPluginChunkTicket
(int x, int z, Plugin plugin) Adds a plugin ticket for the specified chunk, loading the chunk if it is not already loaded.boolean
Gets whether or not structures are being generated.boolean
createExplosion
(double x, double y, double z, float power) Creates explosion at given coordinates with given powerboolean
createExplosion
(double x, double y, double z, float power, boolean setFire) Creates explosion at given coordinates with given power and optionally setting blocks on fire.boolean
createExplosion
(double x, double y, double z, float power, boolean setFire, boolean breakBlocks) Creates explosion at given coordinates with given power and optionally setting blocks on fire or breaking blocks.boolean
createExplosion
(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source) Creates explosion at given coordinates with given power and optionally setting blocks on fire or breaking blocks.boolean
createExplosion
(Location loc, float power) Creates explosion at given coordinates with given powerboolean
createExplosion
(Location loc, float power, boolean setFire) Creates explosion at given coordinates with given power and optionally setting blocks on fire.boolean
createExplosion
(Location loc, float power, boolean setFire, boolean breakBlocks) Creates explosion at given coordinates with given power and optionally setting blocks on fire or breaking blocks.boolean
createExplosion
(Location loc, float power, boolean setFire, boolean breakBlocks, Entity source) Creates explosion at given coordinates with given power and optionally setting blocks on fire or breaking blocks.Drops an item at the specifiedLocation
Drops an item at the specifiedLocation
Note that functions will run before the entity is spawneddropItemNaturally
(Location location, ItemStack item) Drops an item at the specifiedLocation
with a random offsetdropItemNaturally
(Location location, ItemStack item, Consumer<? super Item> function) Drops an item at the specifiedLocation
with a random offset Note that functions will run before the entity is spawnedboolean
generateTree
(Location location, TreeType type) Creates a tree at the givenLocation
boolean
generateTree
(Location loc, TreeType type, BlockChangeDelegate delegate) Deprecated.this method does not handle tile entities (bee nests)boolean
Gets whether animals can spawn in this world.boolean
Gets whether monsters can spawn in this world.int
Deprecated.Deprecated in favor ofgetSpawnLimit(SpawnCategory)
int
Deprecated.Deprecated in favor ofgetSpawnLimit(SpawnCategory)
getBiome
(int x, int z) Deprecated.biomes are now 3-dimensionalGets the biome provider for this worldgetBlockAt
(int x, int y, int z) Gets theBlock
at the given coordinatesgetBlockAt
(Location location) getChunkAt
(int x, int z) Gets theChunk
at the given coordinatesgetChunkAt
(int x, int z, boolean generate) Gets theChunk
at the given coordinatesgetChunkAt
(Block block) getChunkAt
(Location location) int
Get the clear weather duration.Gets the Difficulty of the world.getEmptyChunkSnapshot
(int x, int z, boolean includeBiome, boolean includeBiomeTemp) Get empty chunk snapshot (equivalent to all air blocks), optionally including valid biome data.Get theDragonBattle
associated with this world.Get a list of all entities in this World<T extends Entity>
Collection<T>getEntitiesByClass
(Class<T> cls) Get a collection of all entities in this World matching the given class/interface<T extends Entity>
Collection<T>getEntitiesByClass
(Class<T>... classes) Deprecated.getEntitiesByClasses
(Class<?>... classes) Get a collection of all entities in this World matching any of the given classes/interfacesGet allFeatureFlag
enabled in this world.Returns all force loaded chunks in this world.long
Gets the full in-game time on this world<T> T
getGameRuleDefault
(GameRule<T> rule) Get the default value for a givenGameRule
.String[]
Get an array containing the names of all theGameRule
s.getGameRuleValue
(String rule) Deprecated.usegetGameRuleValue(GameRule)
instead<T> T
getGameRuleValue
(GameRule<T> rule) Get the current value for a givenGameRule
.long
Gets the full in-game time on this world since the world generationGets the chunk generator for this worldgetHighestBlockAt
(int x, int z) Gets the highest non-empty (impassable) block at the given coordinates.getHighestBlockAt
(int x, int z, HeightMap heightMap) Gets the highest block corresponding to theHeightMap
at the given coordinates.getHighestBlockAt
(Location location) Gets the highest non-empty (impassable) block at the given coordinates.getHighestBlockAt
(Location location, HeightMap heightMap) Gets the highest block corresponding to theHeightMap
at the given coordinates.double
getHumidity
(int x, int z) Deprecated.biomes are now 3-dimensionaldouble
getHumidity
(int x, int y, int z) Gets the humidity for the given block coordinates.Gets all Chunks intersecting the given BoundingBox.boolean
Gets whether the world's spawn area should be kept loaded into memory or not.Get a list of all living entities in this WorldChunk[]
Gets an array of all loadedChunk
sint
Gets the maximum height to which chorus fruits and nether portals can bring players within this dimension.int
Deprecated.Deprecated in favor ofgetSpawnLimit(SpawnCategory)
getNearbyEntities
(Location location, double x, double y, double z) Returns a list of entities within a bounding box centered around a Location.getNearbyEntities
(Location location, double x, double y, double z, Predicate<? super Entity> filter) Returns a list of entities within a bounding box centered around a Location.getNearbyEntities
(BoundingBox boundingBox) Returns a list of entities within the given bounding box.getNearbyEntities
(BoundingBox boundingBox, Predicate<? super Entity> filter) Returns a list of entities within the given bounding box.Get a list of all players in this WorldReturns a map of which plugins have tickets for what chunks.getPluginChunkTickets
(int x, int z) Retrieves a collection specifying which plugins have tickets for the specified chunk.Gets a list of all appliedBlockPopulator
s for this Worldboolean
getPVP()
Gets the current PVP setting for this world.getRaids()
Gets all raids that are going on over this world.int
Gets the sea level for this world.int
Returns the simulation distance used for this world.int
getSpawnLimit
(SpawnCategory spawnCategory) Gets the limit for number ofSpawnCategory
entities that can spawn in a chunk in this worldGets the default spawnLocation
of this worldgetStructures
(int x, int z) Gets all generated structures that intersect the chunk at the given coordinates.getStructures
(int x, int z, Structure structure) Gets all generated structures of a givenStructure
that intersect the chunk at the given coordinates.double
getTemperature
(int x, int z) Deprecated.biomes are now 3-dimensionaldouble
getTemperature
(int x, int y, int z) Gets the temperature for the given block coordinates.int
Get the thundering duration.long
Deprecated.Deprecated in favor ofgetTicksPerSpawns(SpawnCategory)
long
Deprecated.Deprecated in favor ofgetTicksPerSpawns(SpawnCategory)
long
Deprecated.Deprecated in favor ofgetTicksPerSpawns(SpawnCategory)
long
getTicksPerSpawns
(SpawnCategory spawnCategory) Gets the world's ticks perSpawnCategory
mob spawns valuelong
Deprecated.Deprecated in favor ofgetTicksPerSpawns(SpawnCategory)
long
Deprecated.Deprecated in favor ofgetTicksPerSpawns(SpawnCategory)
long
Deprecated.Deprecated in favor ofgetTicksPerSpawns(SpawnCategory)
long
getTime()
Gets the relative in-game time of this world.int
Returns the view distance used for this world.int
Deprecated.Deprecated in favor ofgetSpawnLimit(SpawnCategory)
int
Deprecated.Deprecated in favor ofgetSpawnLimit(SpawnCategory)
int
Deprecated.Deprecated in favor ofgetSpawnLimit(SpawnCategory)
int
Get the remaining time in ticks of the current conditions.Gets the world border for this world.Gets the folder of this world on disk.Deprecated.world type is only used to select the default word generation settings and is not stored in Vanilla worlds, making it impossible for this method to always return the correct value.boolean
Gets if this world has a ceiling.boolean
hasRaids()
Gets if players with the bad omen effect in this world will trigger a raid.boolean
Gets if this world has skylight access.boolean
hasStorm()
Returns whether the world has an ongoing storm.boolean
Gets whether or not the world will automatically saveboolean
Gets if beds work in this world.boolean
isChunkForceLoaded
(int x, int z) Gets whether the chunk at the specified chunk coordinates is force loaded.boolean
isChunkGenerated
(int x, int z) Checks if theChunk
at the specified coordinates is generatedboolean
isChunkInUse
(int x, int z) Deprecated.This method was added to facilitate chunk garbage collection.boolean
isChunkLoaded
(int x, int z) Checks if theChunk
at the specified coordinates is loadedboolean
isChunkLoaded
(Chunk chunk) Checks if the specifiedChunk
is loadedboolean
Returns whether the world has clear weather.boolean
isGameRule
(String rule) Checks if string is a valid game ruleboolean
Gets whether the world is hardcore or not.boolean
Gets if this world is natural.boolean
Gets if this world allow to piglins to survive without shaking and transforming to zombified piglins.boolean
Gets if this world allows players to charge and use respawn anchors.boolean
Returns whether there is thunder.boolean
Gets if various water/lava mechanics will be triggered in this world, eg:
Water is evaporated Sponges dry Lava spreads faster and furthervoid
loadChunk
(int x, int z) Loads theChunk
at the specified coordinates.boolean
loadChunk
(int x, int z, boolean generate) Loads theChunk
at the specified coordinates.void
Loads the specifiedChunk
.locateNearestBiome
(Location origin, int radius, int horizontalInterval, int verticalInterval, Biome... biomes) Find the closest nearby location with a biome matching the providedBiome
(s).locateNearestBiome
(Location origin, int radius, Biome... biomes) Find the closest nearby location with a biome matching the providedBiome
(s).locateNearestRaid
(Location location, int radius) Finds the nearest raid close to the given location.locateNearestStructure
(Location origin, Structure structure, int radius, boolean findUnexplored) Find the closest nearby structure of a givenStructure
.locateNearestStructure
(Location origin, StructureType structureType, int radius, boolean findUnexplored) Find the closest nearby structure of a givenStructureType
.locateNearestStructure
(Location origin, StructureType structureType, int radius, boolean findUnexplored) void
playEffect
(Location location, Effect effect, int data) Plays an effect to all players within a default radius around a given location.void
playEffect
(Location location, Effect effect, int data, int radius) Plays an effect to all players within a given radius around a location.<T> void
playEffect
(Location location, Effect effect, T data) Plays an effect to all players within a default radius around a given location.<T> void
playEffect
(Location location, Effect effect, T data, int radius) Plays an effect to all players within a given radius around a location.void
playNote
(Location loc, Instrument instrument, Note note) Play a note at the provided Location in the World.void
Play a Sound at the location of the provided entity in the World.void
playSound
(Entity entity, String sound, SoundCategory category, float volume, float pitch) Play a Sound at the location of the provided entity in the World.void
playSound
(Entity entity, String sound, SoundCategory category, float volume, float pitch, long seed) Play a Sound at the location of the provided entity in the World.void
Play a Sound at the location of the provided entity in the World.void
playSound
(Entity entity, Sound sound, SoundCategory category, float volume, float pitch) Play a Sound at the location of the provided entity in the World.void
playSound
(Entity entity, Sound sound, SoundCategory category, float volume, float pitch, long seed) Play a Sound at the location of the provided entity in the World.void
Play a Sound at the provided Location in the World.void
playSound
(Location location, String sound, SoundCategory category, float volume, float pitch) Play a Sound at the provided Location in the World.void
playSound
(Location location, String sound, SoundCategory category, float volume, float pitch, long seed) Play a Sound at the provided Location in the World.void
Play a Sound at the provided Location in the World.void
playSound
(Location location, Sound sound, SoundCategory category, float volume, float pitch) Play a Sound at the provided Location in the World.void
playSound
(Location location, Sound sound, SoundCategory category, float volume, float pitch, long seed) Play a Sound at the provided Location in the World.rayTrace
(Location start, Vector direction, double maxDistance, FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks, double raySize, Predicate<? super Entity> filter) Performs a ray trace that checks for both block and entity collisions.rayTraceBlocks
(Location start, Vector direction, double maxDistance) Performs a ray trace that checks for block collisions using the blocks' precise collision shapes.rayTraceBlocks
(Location start, Vector direction, double maxDistance, FluidCollisionMode fluidCollisionMode) Performs a ray trace that checks for block collisions using the blocks' precise collision shapes.rayTraceBlocks
(Location start, Vector direction, double maxDistance, FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks) Performs a ray trace that checks for block collisions using the blocks' precise collision shapes.rayTraceEntities
(Location start, Vector direction, double maxDistance) Performs a ray trace that checks for entity collisions.rayTraceEntities
(Location start, Vector direction, double maxDistance, double raySize) Performs a ray trace that checks for entity collisions.rayTraceEntities
(Location start, Vector direction, double maxDistance, double raySize, Predicate<? super Entity> filter) Performs a ray trace that checks for entity collisions.rayTraceEntities
(Location start, Vector direction, double maxDistance, Predicate<? super Entity> filter) Performs a ray trace that checks for entity collisions.boolean
refreshChunk
(int x, int z) Deprecated.This method is not guaranteed to work suitably across all client implementations.boolean
regenerateChunk
(int x, int z) Deprecated.regenerating a single chunk is not likely to produce the same chunk as before as terrain decoration may be spread across chunks.boolean
removePluginChunkTicket
(int x, int z, Plugin plugin) Removes the specified plugin's ticket for the specified chunkvoid
removePluginChunkTickets
(Plugin plugin) Removes all plugin tickets for the specified pluginvoid
save()
Saves world to diskvoid
setAmbientSpawnLimit
(int limit) Deprecated.Deprecated in favor ofsetSpawnLimit(SpawnCategory, int)
void
setAnimalSpawnLimit
(int limit) Deprecated.Deprecated in favor ofgetSpawnLimit(SpawnCategory)
void
setAutoSave
(boolean value) Sets whether or not the world will automatically savevoid
Deprecated.biomes are now 3-dimensionalvoid
setChunkForceLoaded
(int x, int z, boolean forced) Sets whether the chunk at the specified chunk coordinates is force loaded.void
setClearWeatherDuration
(int duration) Set the clear weather duration.void
setDifficulty
(Difficulty difficulty) Sets the Difficulty of the world.void
setFullTime
(long time) Sets the in-game time on the server<T> boolean
setGameRule
(GameRule<T> rule, T newValue) Set the givenGameRule
's new value.boolean
setGameRuleValue
(String rule, String value) Deprecated.usesetGameRule(GameRule, Object)
instead.void
setHardcore
(boolean hardcore) Sets whether the world is hardcore or not.void
setKeepSpawnInMemory
(boolean keepLoaded) Sets whether the world's spawn area should be kept loaded into memory or not.void
setMonsterSpawnLimit
(int limit) Deprecated.Deprecated in favor ofsetSpawnLimit(SpawnCategory, int)
void
setPVP
(boolean pvp) Sets the PVP setting for this world.void
setSpawnFlags
(boolean allowMonsters, boolean allowAnimals) Sets the spawn flags for this.void
setSpawnLimit
(SpawnCategory spawnCategory, int limit) Sets the limit for number ofSpawnCategory
entities that can spawn in a chunk in this worldboolean
setSpawnLocation
(int x, int y, int z) Sets the spawn location of the worldboolean
setSpawnLocation
(int x, int y, int z, float angle) Sets the spawn location of the worldboolean
setSpawnLocation
(Location location) Sets the spawn location of the world.void
setStorm
(boolean hasStorm) Set whether there is a storm.void
setThunderDuration
(int duration) Set the thundering duration.void
setThundering
(boolean thundering) Set whether it is thundering.void
setTicksPerAmbientSpawns
(int ticksPerAmbientSpawns) Deprecated.Deprecated in favor ofsetTicksPerSpawns(SpawnCategory, int)
void
setTicksPerAnimalSpawns
(int ticksPerAnimalSpawns) Deprecated.Deprecated in favor ofsetTicksPerSpawns(SpawnCategory, int)
void
setTicksPerMonsterSpawns
(int ticksPerMonsterSpawns) Deprecated.Deprecated in favor ofsetTicksPerSpawns(SpawnCategory, int)
void
setTicksPerSpawns
(SpawnCategory spawnCategory, int ticksPerCategorySpawn) Sets the world's ticks perSpawnCategory
mob spawns valuevoid
setTicksPerWaterAmbientSpawns
(int ticksPerAmbientSpawns) Deprecated.Deprecated in favor ofsetTicksPerSpawns(SpawnCategory, int)
void
setTicksPerWaterSpawns
(int ticksPerWaterSpawns) Deprecated.Deprecated in favor ofsetTicksPerSpawns(SpawnCategory, int)
void
setTicksPerWaterUndergroundCreatureSpawns
(int ticksPerWaterUndergroundCreatureSpawns) Deprecated.Deprecated in favor ofsetTicksPerSpawns(SpawnCategory, int)
void
setTime
(long time) Sets the relative in-game time on the server.void
setWaterAmbientSpawnLimit
(int limit) Deprecated.Deprecated in favor ofsetSpawnLimit(SpawnCategory, int)
void
setWaterAnimalSpawnLimit
(int limit) Deprecated.Deprecated in favor ofsetSpawnLimit(SpawnCategory, int)
void
setWaterUndergroundCreatureSpawnLimit
(int limit) Deprecated.Deprecated in favor ofsetSpawnLimit(SpawnCategory, int)
void
setWeatherDuration
(int duration) Set the remaining time in ticks of the current conditions.<T extends LivingEntity>
Tspawn
(Location location, Class<T> clazz, CreatureSpawnEvent.SpawnReason spawnReason, boolean randomizeData, Consumer<? super T> function) Creates a new entity at the givenLocation
with the supplied function run before the entity is added to the world.spawnArrow
(Location location, Vector direction, float speed, float spread) <T extends AbstractArrow>
TspawnArrow
(Location location, Vector direction, float speed, float spread, Class<T> clazz) Creates an arrow entity of the given class at the givenLocation
spawnFallingBlock
(Location location, BlockData data) spawnFallingBlock
(Location location, MaterialData data) spawnFallingBlock
(Location location, Material material, byte data) Deprecated.Magic valuevoid
spawnParticle
(Particle particle, double x, double y, double z, int count) Spawns the particle (the number of times specified by count) at the target location.void
spawnParticle
(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ) Spawns the particle (the number of times specified by count) at the target location.void
spawnParticle
(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra) Spawns the particle (the number of times specified by count) at the target location.<T> void
spawnParticle
(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data) Spawns the particle (the number of times specified by count) at the target location.<T> void
spawnParticle
(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) Spawns the particle (the number of times specified by count) at the target location.<T> void
spawnParticle
(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, T data) Spawns the particle (the number of times specified by count) at the target location.<T> void
spawnParticle
(Particle particle, double x, double y, double z, int count, T data) Spawns the particle (the number of times specified by count) at the target location.void
spawnParticle
(Particle particle, Location location, int count) Spawns the particle (the number of times specified by count) at the target location.void
spawnParticle
(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ) Spawns the particle (the number of times specified by count) at the target location.void
spawnParticle
(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, double extra) Spawns the particle (the number of times specified by count) at the target location.<T> void
spawnParticle
(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, T data) Spawns the particle (the number of times specified by count) at the target location.<T> void
spawnParticle
(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) Spawns the particle (the number of times specified by count) at the target location.<T> void
spawnParticle
(Particle particle, Location location, int count, double offsetX, double offsetY, double offsetZ, T data) Spawns the particle (the number of times specified by count) at the target location.<T> void
spawnParticle
(Particle particle, Location location, int count, T data) Spawns the particle (the number of times specified by count) at the target location.spigot()
strikeLightning
(Location loc) Strikes lightning at the givenLocation
Strikes lightning at the givenLocation
without doing damageboolean
unloadChunk
(int x, int z) Safely unloads and saves theChunk
at the specified coordinatesboolean
unloadChunk
(int x, int z, boolean save) Safely unloads and optionally saves theChunk
at the specified coordinates.boolean
unloadChunk
(Chunk chunk) Safely unloads and saves theChunk
at the specified coordinatesboolean
unloadChunkRequest
(int x, int z) Safely queues theChunk
at the specified coordinates for unloading.Methods inherited from interface org.bukkit.metadata.Metadatable
getMetadata, hasMetadata, removeMetadata, setMetadata
Methods inherited from interface org.bukkit.persistence.PersistentDataHolder
getPersistentDataContainer
Methods inherited from interface org.bukkit.plugin.messaging.PluginMessageRecipient
getListeningPluginChannels, sendPluginMessage
Methods inherited from interface org.bukkit.RegionAccessor
addEntity, createEntity, generateTree, generateTree, generateTree, getBiome, getBiome, getBlockData, getBlockData, getBlockState, getBlockState, getHighestBlockYAt, getHighestBlockYAt, getHighestBlockYAt, getHighestBlockYAt, getType, getType, setBiome, setBiome, setBlockData, setBlockData, setType, setType, spawn, spawn, spawn, spawnEntity, spawnEntity
Methods inherited from interface org.bukkit.generator.WorldInfo
getEnvironment, getMaxHeight, getMinHeight, getName, getSeed, getUID
-
Method Details
-
getBlockAt
Gets theBlock
at the given coordinates- Parameters:
x
- X-coordinate of the blocky
- Y-coordinate of the blockz
- Z-coordinate of the block- Returns:
- Block at the given coordinates
-
getBlockAt
- Parameters:
location
- Location of the block- Returns:
- Block at the given location
-
getHighestBlockAt
Gets the highest non-empty (impassable) block at the given coordinates.- Parameters:
x
- X-coordinate of the blockz
- Z-coordinate of the block- Returns:
- Highest non-empty block
-
getHighestBlockAt
Gets the highest non-empty (impassable) block at the given coordinates.- Parameters:
location
- Coordinates to get the highest block- Returns:
- Highest non-empty block
-
getHighestBlockAt
Gets the highest block corresponding to theHeightMap
at the given coordinates.- Parameters:
x
- X-coordinate of the blockz
- Z-coordinate of the blockheightMap
- the heightMap that is used to determine the highest point- Returns:
- Highest block corresponding to the
HeightMap
-
getHighestBlockAt
Gets the highest block corresponding to theHeightMap
at the given coordinates.- Parameters:
location
- Coordinates to get the highest blockheightMap
- the heightMap that is used to determine the highest point- Returns:
- Highest block corresponding to the
HeightMap
-
getChunkAt
Gets theChunk
at the given coordinates- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunk- Returns:
- Chunk at the given coordinates
-
getChunkAt
Gets theChunk
at the given coordinates- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunkgenerate
- Whether the chunk should be fully generated or not- Returns:
- Chunk at the given coordinates
-
getChunkAt
- Parameters:
location
- Location of the chunk- Returns:
- Chunk at the given location
-
getChunkAt
- Parameters:
block
- Block to get the containing chunk from- Returns:
- The chunk that contains the given block
-
isChunkLoaded
Checks if the specifiedChunk
is loaded- Parameters:
chunk
- The chunk to check- Returns:
- true if the chunk is loaded, otherwise false
-
getLoadedChunks
Gets an array of all loadedChunk
s- Returns:
- Chunk[] containing all loaded chunks
-
loadChunk
Loads the specifiedChunk
.This method will keep the specified chunk loaded until one of the unload methods is manually called. Callers are advised to instead use getChunkAt which will only temporarily load the requested chunk.
- Parameters:
chunk
- The chunk to load
-
isChunkLoaded
boolean isChunkLoaded(int x, int z) Checks if theChunk
at the specified coordinates is loaded- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunk- Returns:
- true if the chunk is loaded, otherwise false
-
isChunkGenerated
boolean isChunkGenerated(int x, int z) Checks if theChunk
at the specified coordinates is generated- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunk- Returns:
- true if the chunk is generated, otherwise false
-
isChunkInUse
Deprecated.This method was added to facilitate chunk garbage collection. As of the current Minecraft version chunks are now strictly managed and will not be loaded for more than 1 tick unless they are in use.Checks if theChunk
at the specified coordinates is loaded and in use by one or more players- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunk- Returns:
- true if the chunk is loaded and in use by one or more players, otherwise false
-
loadChunk
void loadChunk(int x, int z) Loads theChunk
at the specified coordinates.This method will keep the specified chunk loaded until one of the unload methods is manually called. Callers are advised to instead use getChunkAt which will only temporarily load the requested chunk.
If the chunk does not exist, it will be generated.
This method is analogous to
loadChunk(int, int, boolean)
where generate is true.- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunk
-
loadChunk
boolean loadChunk(int x, int z, boolean generate) Loads theChunk
at the specified coordinates.This method will keep the specified chunk loaded until one of the unload methods is manually called. Callers are advised to instead use getChunkAt which will only temporarily load the requested chunk.
- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunkgenerate
- Whether or not to generate a chunk if it doesn't already exist- Returns:
- true if the chunk has loaded successfully, otherwise false
-
unloadChunk
Safely unloads and saves theChunk
at the specified coordinatesThis method is analogous to
unloadChunk(int, int, boolean)
where save is true.- Parameters:
chunk
- the chunk to unload- Returns:
- true if the chunk has unloaded successfully, otherwise false
-
unloadChunk
boolean unloadChunk(int x, int z) Safely unloads and saves theChunk
at the specified coordinatesThis method is analogous to
unloadChunk(int, int, boolean)
where save is true.- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunk- Returns:
- true if the chunk has unloaded successfully, otherwise false
-
unloadChunk
boolean unloadChunk(int x, int z, boolean save) Safely unloads and optionally saves theChunk
at the specified coordinates.- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunksave
- Whether or not to save the chunk- Returns:
- true if the chunk has unloaded successfully, otherwise false
-
unloadChunkRequest
boolean unloadChunkRequest(int x, int z) Safely queues theChunk
at the specified coordinates for unloading.- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunk- Returns:
- true is the queue attempt was successful, otherwise false
-
regenerateChunk
Deprecated.regenerating a single chunk is not likely to produce the same chunk as before as terrain decoration may be spread across chunks. Use of this method should be avoided as it is known to produce buggy results.Regenerates theChunk
at the specified coordinates- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunk- Returns:
- Whether the chunk was actually regenerated
-
refreshChunk
Deprecated.This method is not guaranteed to work suitably across all client implementations.Resends theChunk
to all clients- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunk- Returns:
- Whether the chunk was actually refreshed
-
isChunkForceLoaded
boolean isChunkForceLoaded(int x, int z) Gets whether the chunk at the specified chunk coordinates is force loaded.A force loaded chunk will not be unloaded due to lack of player activity.
- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunk- Returns:
- force load status
-
setChunkForceLoaded
void setChunkForceLoaded(int x, int z, boolean forced) Sets whether the chunk at the specified chunk coordinates is force loaded.A force loaded chunk will not be unloaded due to lack of player activity.
- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunkforced
- force load status
-
getForceLoadedChunks
Returns all force loaded chunks in this world.A force loaded chunk will not be unloaded due to lack of player activity.
- Returns:
- unmodifiable collection of force loaded chunks
-
addPluginChunkTicket
Adds a plugin ticket for the specified chunk, loading the chunk if it is not already loaded.A plugin ticket will prevent a chunk from unloading until it is explicitly removed. A plugin instance may only have one ticket per chunk, but each chunk can have multiple plugin tickets.
- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunkplugin
- Plugin which owns the ticket- Returns:
true
if a plugin ticket was added,false
if the ticket already exists for the plugin- Throws:
IllegalStateException
- If the specified plugin is not enabled- See Also:
-
removePluginChunkTicket
Removes the specified plugin's ticket for the specified chunkA plugin ticket will prevent a chunk from unloading until it is explicitly removed. A plugin instance may only have one ticket per chunk, but each chunk can have multiple plugin tickets.
- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunkplugin
- Plugin which owns the ticket- Returns:
true
if the plugin ticket was removed,false
if there is no plugin ticket for the chunk- See Also:
-
removePluginChunkTickets
Removes all plugin tickets for the specified pluginA plugin ticket will prevent a chunk from unloading until it is explicitly removed. A plugin instance may only have one ticket per chunk, but each chunk can have multiple plugin tickets.
- Parameters:
plugin
- Specified plugin- See Also:
-
getPluginChunkTickets
Retrieves a collection specifying which plugins have tickets for the specified chunk. This collection is not updated when plugin tickets are added or removed to the chunk.A plugin ticket will prevent a chunk from unloading until it is explicitly removed. A plugin instance may only have one ticket per chunk, but each chunk can have multiple plugin tickets.
- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunk- Returns:
- unmodifiable collection containing which plugins have tickets for the chunk
- See Also:
-
getPluginChunkTickets
Returns a map of which plugins have tickets for what chunks. The returned map is not updated when plugin tickets are added or removed to chunks. If a plugin has no tickets, it will be absent from the map.A plugin ticket will prevent a chunk from unloading until it is explicitly removed. A plugin instance may only have one ticket per chunk, but each chunk can have multiple plugin tickets.
- Returns:
- unmodifiable map containing which plugins have tickets for what chunks
- See Also:
-
getIntersectingChunks
Gets all Chunks intersecting the given BoundingBox.- Parameters:
box
- BoundingBox to check- Returns:
- A collection of Chunks intersecting the given BoundingBox
-
dropItem
Drops an item at the specifiedLocation
- Parameters:
location
- Location to drop the itemitem
- ItemStack to drop- Returns:
- ItemDrop entity created as a result of this method
-
dropItem
@NotNull Item dropItem(@NotNull Location location, @NotNull ItemStack item, @Nullable Consumer<? super Item> function) Drops an item at the specifiedLocation
Note that functions will run before the entity is spawned- Parameters:
location
- Location to drop the itemitem
- ItemStack to dropfunction
- the function to be run before the entity is spawned.- Returns:
- ItemDrop entity created as a result of this method
-
dropItemNaturally
Drops an item at the specifiedLocation
with a random offset- Parameters:
location
- Location to drop the itemitem
- ItemStack to drop- Returns:
- ItemDrop entity created as a result of this method
-
dropItemNaturally
@NotNull Item dropItemNaturally(@NotNull Location location, @NotNull ItemStack item, @Nullable Consumer<? super Item> function) Drops an item at the specifiedLocation
with a random offset Note that functions will run before the entity is spawned- Parameters:
location
- Location to drop the itemitem
- ItemStack to dropfunction
- the function to be run before the entity is spawned.- Returns:
- ItemDrop entity created as a result of this method
-
spawnArrow
@NotNull Arrow spawnArrow(@NotNull Location location, @NotNull Vector direction, float speed, float spread) - Parameters:
location
- Location to spawn the arrowdirection
- Direction to shoot the arrow inspeed
- Speed of the arrow. A recommend speed is 0.6spread
- Spread of the arrow. A recommend spread is 12- Returns:
- Arrow entity spawned as a result of this method
-
spawnArrow
@NotNull <T extends AbstractArrow> T spawnArrow(@NotNull Location location, @NotNull Vector direction, float speed, float spread, @NotNull Class<T> clazz) Creates an arrow entity of the given class at the givenLocation
- Type Parameters:
T
- type of arrow to spawn- Parameters:
location
- Location to spawn the arrowdirection
- Direction to shoot the arrow inspeed
- Speed of the arrow. A recommend speed is 0.6spread
- Spread of the arrow. A recommend spread is 12clazz
- the Entity class for the arrowSpectralArrow
,Arrow
,TippedArrow
- Returns:
- Arrow entity spawned as a result of this method
-
generateTree
Creates a tree at the givenLocation
- Parameters:
location
- Location to spawn the treetype
- Type of the tree to create- Returns:
- true if the tree was created successfully, otherwise false
-
generateTree
@Deprecated boolean generateTree(@NotNull Location loc, @NotNull TreeType type, @NotNull BlockChangeDelegate delegate) Deprecated.this method does not handle tile entities (bee nests)Creates a tree at the givenLocation
- Parameters:
loc
- Location to spawn the treetype
- Type of the tree to createdelegate
- A class to call for each block changed as a result of this method- Returns:
- true if the tree was created successfully, otherwise false
- See Also:
-
strikeLightning
Strikes lightning at the givenLocation
- Parameters:
loc
- The location to strike lightning- Returns:
- The lightning entity.
-
strikeLightningEffect
Strikes lightning at the givenLocation
without doing damage- Parameters:
loc
- The location to strike lightning- Returns:
- The lightning entity.
-
getEntities
Get a list of all entities in this World- Specified by:
getEntities
in interfaceRegionAccessor
- Returns:
- A List of all Entities currently residing in this world
-
getLivingEntities
Get a list of all living entities in this World- Specified by:
getLivingEntities
in interfaceRegionAccessor
- Returns:
- A List of all LivingEntities currently residing in this world
-
getEntitiesByClass
@Deprecated @NotNull <T extends Entity> Collection<T> getEntitiesByClass(@NotNull Class<T>... classes) Deprecated.Get a collection of all entities in this World matching the given class/interface- Type Parameters:
T
- an entity subclass- Parameters:
classes
- The classes representing the types of entity to match- Returns:
- A List of all Entities currently residing in this world that match the given class/interface
-
getEntitiesByClass
Get a collection of all entities in this World matching the given class/interface- Specified by:
getEntitiesByClass
in interfaceRegionAccessor
- Type Parameters:
T
- an entity subclass- Parameters:
cls
- The class representing the type of entity to match- Returns:
- A List of all Entities currently residing in this world that match the given class/interface
-
getEntitiesByClasses
Get a collection of all entities in this World matching any of the given classes/interfaces- Specified by:
getEntitiesByClasses
in interfaceRegionAccessor
- Parameters:
classes
- The classes representing the types of entity to match- Returns:
- A List of all Entities currently residing in this world that match one or more of the given classes/interfaces
-
getPlayers
Get a list of all players in this World- Returns:
- A list of all Players currently residing in this world
-
getNearbyEntities
@NotNull Collection<Entity> getNearbyEntities(@NotNull Location location, double x, double y, double z) Returns a list of entities within a bounding box centered around a Location.This may not consider entities in currently unloaded chunks. Some implementations may impose artificial restrictions on the size of the search bounding box.
- Parameters:
location
- The center of the bounding boxx
- 1/2 the size of the box along x axisy
- 1/2 the size of the box along y axisz
- 1/2 the size of the box along z axis- Returns:
- the collection of entities near location. This will always be a non-null collection.
-
getNearbyEntities
@NotNull Collection<Entity> getNearbyEntities(@NotNull Location location, double x, double y, double z, @Nullable Predicate<? super Entity> filter) Returns a list of entities within a bounding box centered around a Location.This may not consider entities in currently unloaded chunks. Some implementations may impose artificial restrictions on the size of the search bounding box.
- Parameters:
location
- The center of the bounding boxx
- 1/2 the size of the box along x axisy
- 1/2 the size of the box along y axisz
- 1/2 the size of the box along z axisfilter
- only entities that fulfill this predicate are considered, ornull
to consider all entities- Returns:
- the collection of entities near location. This will always be a non-null collection.
-
getNearbyEntities
Returns a list of entities within the given bounding box.This may not consider entities in currently unloaded chunks. Some implementations may impose artificial restrictions on the size of the search bounding box.
- Parameters:
boundingBox
- the bounding box- Returns:
- the collection of entities within the bounding box, will always be a non-null collection
-
getNearbyEntities
@NotNull Collection<Entity> getNearbyEntities(@NotNull BoundingBox boundingBox, @Nullable Predicate<? super Entity> filter) Returns a list of entities within the given bounding box.This may not consider entities in currently unloaded chunks. Some implementations may impose artificial restrictions on the size of the search bounding box.
- Parameters:
boundingBox
- the bounding boxfilter
- only entities that fulfill this predicate are considered, ornull
to consider all entities- Returns:
- the collection of entities within the bounding box, will always be a non-null collection
-
rayTraceEntities
@Nullable RayTraceResult rayTraceEntities(@NotNull Location start, @NotNull Vector direction, double maxDistance) Performs a ray trace that checks for entity collisions.This may not consider entities in currently unloaded chunks. Some implementations may impose artificial restrictions on the maximum distance.
Note: Due to display entities having a zero size hitbox, this method will not detect them. To detect display entities use
rayTraceEntities(Location, Vector, double, double)
with a positive raySize- Parameters:
start
- the start positiondirection
- the ray directionmaxDistance
- the maximum distance- Returns:
- the closest ray trace hit result, or
null
if there is no hit - See Also:
-
rayTraceEntities
@Nullable RayTraceResult rayTraceEntities(@NotNull Location start, @NotNull Vector direction, double maxDistance, double raySize) Performs a ray trace that checks for entity collisions.This may not consider entities in currently unloaded chunks. Some implementations may impose artificial restrictions on the maximum distance.
- Parameters:
start
- the start positiondirection
- the ray directionmaxDistance
- the maximum distanceraySize
- entity bounding boxes will be uniformly expanded (or shrunk) by this value before doing collision checks- Returns:
- the closest ray trace hit result, or
null
if there is no hit - See Also:
-
rayTraceEntities
@Nullable RayTraceResult rayTraceEntities(@NotNull Location start, @NotNull Vector direction, double maxDistance, @Nullable Predicate<? super Entity> filter) Performs a ray trace that checks for entity collisions.This may not consider entities in currently unloaded chunks. Some implementations may impose artificial restrictions on the maximum distance.
Note: Due to display entities having a zero size hitbox, this method will not detect them. To detect display entities use
rayTraceEntities(Location, Vector, double, double, Predicate)
with a positive raySize- Parameters:
start
- the start positiondirection
- the ray directionmaxDistance
- the maximum distancefilter
- only entities that fulfill this predicate are considered, ornull
to consider all entities- Returns:
- the closest ray trace hit result, or
null
if there is no hit - See Also:
-
rayTraceEntities
@Nullable RayTraceResult rayTraceEntities(@NotNull Location start, @NotNull Vector direction, double maxDistance, double raySize, @Nullable Predicate<? super Entity> filter) Performs a ray trace that checks for entity collisions.This may not consider entities in currently unloaded chunks. Some implementations may impose artificial restrictions on the maximum distance.
- Parameters:
start
- the start positiondirection
- the ray directionmaxDistance
- the maximum distanceraySize
- entity bounding boxes will be uniformly expanded (or shrunk) by this value before doing collision checksfilter
- only entities that fulfill this predicate are considered, ornull
to consider all entities- Returns:
- the closest ray trace hit result, or
null
if there is no hit
-
rayTraceBlocks
@Nullable RayTraceResult rayTraceBlocks(@NotNull Location start, @NotNull Vector direction, double maxDistance) Performs a ray trace that checks for block collisions using the blocks' precise collision shapes.This takes collisions with passable blocks into account, but ignores fluids.
This may cause loading of chunks! Some implementations may impose artificial restrictions on the maximum distance.
- Parameters:
start
- the start locationdirection
- the ray directionmaxDistance
- the maximum distance- Returns:
- the ray trace hit result, or
null
if there is no hit - See Also:
-
rayTraceBlocks
@Nullable RayTraceResult rayTraceBlocks(@NotNull Location start, @NotNull Vector direction, double maxDistance, @NotNull FluidCollisionMode fluidCollisionMode) Performs a ray trace that checks for block collisions using the blocks' precise collision shapes.This takes collisions with passable blocks into account.
This may cause loading of chunks! Some implementations may impose artificial restrictions on the maximum distance.
- Parameters:
start
- the start locationdirection
- the ray directionmaxDistance
- the maximum distancefluidCollisionMode
- the fluid collision mode- Returns:
- the ray trace hit result, or
null
if there is no hit - See Also:
-
rayTraceBlocks
@Nullable RayTraceResult rayTraceBlocks(@NotNull Location start, @NotNull Vector direction, double maxDistance, @NotNull FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks) Performs a ray trace that checks for block collisions using the blocks' precise collision shapes.If collisions with passable blocks are ignored, fluid collisions are ignored as well regardless of the fluid collision mode.
Portal blocks are only considered passable if the ray starts within them. Apart from that collisions with portal blocks will be considered even if collisions with passable blocks are otherwise ignored.
This may cause loading of chunks! Some implementations may impose artificial restrictions on the maximum distance.
- Parameters:
start
- the start locationdirection
- the ray directionmaxDistance
- the maximum distancefluidCollisionMode
- the fluid collision modeignorePassableBlocks
- whether to ignore passable but collidable blocks (ex. tall grass, signs, fluids, ..)- Returns:
- the ray trace hit result, or
null
if there is no hit
-
rayTrace
@Nullable RayTraceResult rayTrace(@NotNull Location start, @NotNull Vector direction, double maxDistance, @NotNull FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks, double raySize, @Nullable Predicate<? super Entity> filter) Performs a ray trace that checks for both block and entity collisions.Block collisions use the blocks' precise collision shapes. The
raySize
parameter is only taken into account for entity collision checks.If collisions with passable blocks are ignored, fluid collisions are ignored as well regardless of the fluid collision mode.
Portal blocks are only considered passable if the ray starts within them. Apart from that collisions with portal blocks will be considered even if collisions with passable blocks are otherwise ignored.
This may cause loading of chunks! Some implementations may impose artificial restrictions on the maximum distance.
- Parameters:
start
- the start locationdirection
- the ray directionmaxDistance
- the maximum distancefluidCollisionMode
- the fluid collision modeignorePassableBlocks
- whether to ignore passable but collidable blocks (ex. tall grass, signs, fluids, ..)raySize
- entity bounding boxes will be uniformly expanded (or shrunk) by this value before doing collision checksfilter
- only entities that fulfill this predicate are considered, ornull
to consider all entities- Returns:
- the closest ray trace hit result with either a block or an
entity, or
null
if there is no hit
-
getSpawnLocation
Gets the default spawnLocation
of this world- Returns:
- The spawn location of this world
-
setSpawnLocation
Sets the spawn location of the world.
The location provided must be equal to this world.- Parameters:
location
- TheLocation
to set the spawn for this world at.- Returns:
- True if it was successfully set.
-
setSpawnLocation
boolean setSpawnLocation(int x, int y, int z, float angle) Sets the spawn location of the world- Parameters:
x
- X coordinatey
- Y coordinatez
- Z coordinateangle
- the angle- Returns:
- True if it was successfully set.
-
setSpawnLocation
boolean setSpawnLocation(int x, int y, int z) Sets the spawn location of the world- Parameters:
x
- X coordinatey
- Y coordinatez
- Z coordinate- Returns:
- True if it was successfully set.
-
getTime
long getTime()Gets the relative in-game time of this world.The relative time is analogous to hours * 1000
- Returns:
- The current relative time
- See Also:
-
setTime
void setTime(long time) Sets the relative in-game time on the server.The relative time is analogous to hours * 1000
Note that setting the relative time below the current relative time will actually move the clock forward a day. If you require to rewind time, please see
setFullTime(long)
- Parameters:
time
- The new relative time to set the in-game time to (in hours*1000)- See Also:
-
getFullTime
long getFullTime()Gets the full in-game time on this world- Returns:
- The current absolute time
- See Also:
-
setFullTime
void setFullTime(long time) Sets the in-game time on the serverNote that this sets the full time of the world, which may cause adverse effects such as breaking redstone clocks and any scheduled events
- Parameters:
time
- The new absolute time to set this world to- See Also:
-
getGameTime
long getGameTime()Gets the full in-game time on this world since the world generation- Returns:
- The current absolute time since the world generation
- See Also:
-
hasStorm
boolean hasStorm()Returns whether the world has an ongoing storm.- Returns:
- Whether there is an ongoing storm
-
setStorm
void setStorm(boolean hasStorm) Set whether there is a storm. A duration will be set for the new current conditions. This will implicitly callsetClearWeatherDuration(int)
with 0 ticks to reset the world's clear weather.- Parameters:
hasStorm
- Whether there is rain and snow
-
getWeatherDuration
int getWeatherDuration()Get the remaining time in ticks of the current conditions.- Returns:
- Time in ticks
-
setWeatherDuration
void setWeatherDuration(int duration) Set the remaining time in ticks of the current conditions.- Parameters:
duration
- Time in ticks
-
isThundering
boolean isThundering()Returns whether there is thunder.- Returns:
- Whether there is thunder
-
setThundering
void setThundering(boolean thundering) Set whether it is thundering. This will implicitly callsetClearWeatherDuration(int)
with 0 ticks to reset the world's clear weather.- Parameters:
thundering
- Whether it is thundering
-
getThunderDuration
int getThunderDuration()Get the thundering duration.- Returns:
- Duration in ticks
-
setThunderDuration
void setThunderDuration(int duration) Set the thundering duration.- Parameters:
duration
- Duration in ticks
-
isClearWeather
boolean isClearWeather()Returns whether the world has clear weather. This will be true such thatisThundering()
andhasStorm()
are both false.- Returns:
- true if clear weather
-
setClearWeatherDuration
void setClearWeatherDuration(int duration) Set the clear weather duration. The clear weather ticks determine whether or not the world will be allowed to rain or storm. If clear weather ticks are > 0, the world will not naturally do either until the duration has elapsed. This method is equivalent to calling/weather clear
with a set amount of ticks.- Parameters:
duration
- duration in ticks
-
getClearWeatherDuration
int getClearWeatherDuration()Get the clear weather duration.- Returns:
- duration in ticks
-
createExplosion
boolean createExplosion(double x, double y, double z, float power) Creates explosion at given coordinates with given power- Parameters:
x
- X coordinatey
- Y coordinatez
- Z coordinatepower
- The power of explosion, where 4F is TNT- Returns:
- false if explosion was canceled, otherwise true
-
createExplosion
boolean createExplosion(double x, double y, double z, float power, boolean setFire) Creates explosion at given coordinates with given power and optionally setting blocks on fire.- Parameters:
x
- X coordinatey
- Y coordinatez
- Z coordinatepower
- The power of explosion, where 4F is TNTsetFire
- Whether or not to set blocks on fire- Returns:
- false if explosion was canceled, otherwise true
-
createExplosion
boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks) Creates explosion at given coordinates with given power and optionally setting blocks on fire or breaking blocks.- Parameters:
x
- X coordinatey
- Y coordinatez
- Z coordinatepower
- The power of explosion, where 4F is TNTsetFire
- Whether or not to set blocks on firebreakBlocks
- Whether or not to have blocks be destroyed- Returns:
- false if explosion was canceled, otherwise true
-
createExplosion
boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, @Nullable Entity source) Creates explosion at given coordinates with given power and optionally setting blocks on fire or breaking blocks.Note that if a non-null
source
Entity is provided andbreakBlocks
istrue
, the value ofbreakBlocks
will be ignored ifGameRule.MOB_GRIEFING
isfalse
in the world in which the explosion occurs. In other words, the mob griefing gamerule will take priority overbreakBlocks
if explosions are not allowed.- Parameters:
x
- X coordinatey
- Y coordinatez
- Z coordinatepower
- The power of explosion, where 4F is TNTsetFire
- Whether or not to set blocks on firebreakBlocks
- Whether or not to have blocks be destroyedsource
- the source entity, used for tracking damage- Returns:
- false if explosion was canceled, otherwise true
-
createExplosion
Creates explosion at given coordinates with given power- Parameters:
loc
- Location to blow uppower
- The power of explosion, where 4F is TNT- Returns:
- false if explosion was canceled, otherwise true
-
createExplosion
Creates explosion at given coordinates with given power and optionally setting blocks on fire.- Parameters:
loc
- Location to blow uppower
- The power of explosion, where 4F is TNTsetFire
- Whether or not to set blocks on fire- Returns:
- false if explosion was canceled, otherwise true
-
createExplosion
Creates explosion at given coordinates with given power and optionally setting blocks on fire or breaking blocks.- Parameters:
loc
- Location to blow uppower
- The power of explosion, where 4F is TNTsetFire
- Whether or not to set blocks on firebreakBlocks
- Whether or not to have blocks be destroyed- Returns:
- false if explosion was canceled, otherwise true
-
createExplosion
boolean createExplosion(@NotNull Location loc, float power, boolean setFire, boolean breakBlocks, @Nullable Entity source) Creates explosion at given coordinates with given power and optionally setting blocks on fire or breaking blocks.Note that if a non-null
source
Entity is provided andbreakBlocks
istrue
, the value ofbreakBlocks
will be ignored ifGameRule.MOB_GRIEFING
isfalse
in the world in which the explosion occurs. In other words, the mob griefing gamerule will take priority overbreakBlocks
if explosions are not allowed.- Parameters:
loc
- Location to blow uppower
- The power of explosion, where 4F is TNTsetFire
- Whether or not to set blocks on firebreakBlocks
- Whether or not to have blocks be destroyedsource
- the source entity, used for tracking damage- Returns:
- false if explosion was canceled, otherwise true
-
getPVP
boolean getPVP()Gets the current PVP setting for this world.- Returns:
- True if PVP is enabled
-
setPVP
void setPVP(boolean pvp) Sets the PVP setting for this world.- Parameters:
pvp
- True/False whether PVP should be Enabled.
-
getGenerator
Gets the chunk generator for this world- Returns:
- ChunkGenerator associated with this world
-
getBiomeProvider
Gets the biome provider for this world- Returns:
- BiomeProvider associated with this world
-
save
void save()Saves world to disk -
getPopulators
Gets a list of all appliedBlockPopulator
s for this World- Returns:
- List containing any or none BlockPopulators
-
spawn
@NotNull <T extends LivingEntity> T spawn(@NotNull Location location, @NotNull Class<T> clazz, @NotNull CreatureSpawnEvent.SpawnReason spawnReason, boolean randomizeData, @Nullable Consumer<? super T> function) throws IllegalArgumentException Creates a new entity at the givenLocation
with the supplied function run before the entity is added to the world.
Note that when the function is run, the entity will not be actually in the world. Any operation involving such as teleporting the entity is undefined until after this function returns. The passed function however is run after the potential entity's spawn randomization and hence already allows access to the values of the mob, whether or not those were randomized, such as attributes or the entity equipment.- Type Parameters:
T
- the generic type of the entity that is being created.- Parameters:
location
- the location at which the entity will be spawned.clazz
- the class of theLivingEntity
that is to be spawned.spawnReason
- the reason provided during theCreatureSpawnEvent
call.randomizeData
- whether or not the entity's data should be randomised before spawning. By default entities are randomised before spawning in regards to their equipment, age, attributes, etc. An example of this randomization would be the color of a sheep, random enchantments on the equipment of mobs or even a zombie becoming a chicken jockey. If set to false, the entity will not be randomised before spawning, meaning all their data will remain in their default state and not further modifications to the entity will be made. Notably only entities that extend theMob
interface provide randomisation logic for their spawn. This parameter is hence useless for any other type of entity.function
- the function to be run before the entity is spawned.- Returns:
- the spawned entity instance.
- Throws:
IllegalArgumentException
- if either the world or clazz parameter are null.
-
spawnFallingBlock
@NotNull FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull MaterialData data) throws IllegalArgumentException Spawn aFallingBlock
entity at the givenLocation
of the specifiedMaterialData
. The MaterialData dictates what is falling. When the FallingBlock hits the ground, it will place that block.The Material must be a block type, check with
data.getItemType().isBlock()
. The Material may not be air.- Parameters:
location
- TheLocation
to spawn the FallingBlockdata
- The block data- Returns:
- The spawned
FallingBlock
instance - Throws:
IllegalArgumentException
- ifLocation
orMaterialData
are null orMaterial
of theMaterialData
is not a block
-
spawnFallingBlock
@NotNull FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull BlockData data) throws IllegalArgumentException Spawn aFallingBlock
entity at the givenLocation
of the specifiedBlockData
. The BlockData dictates what is falling. When the FallingBlock hits the ground, it will place that block.- Parameters:
location
- TheLocation
to spawn the FallingBlockdata
- TheBlockData
of the FallingBlock to spawn- Returns:
- The spawned
FallingBlock
instance - Throws:
IllegalArgumentException
- ifLocation
orBlockData
are null
-
spawnFallingBlock
@Deprecated @NotNull FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull Material material, byte data) throws IllegalArgumentException Deprecated.Magic valueSpawn aFallingBlock
entity at the givenLocation
of the specifiedMaterial
. The material dictates what is falling. When the FallingBlock hits the ground, it will place that block.The Material must be a block type, check with
material.isBlock()
. The Material may not be air.- Parameters:
location
- TheLocation
to spawn the FallingBlockmaterial
- The blockMaterial
typedata
- The block data- Returns:
- The spawned
FallingBlock
instance - Throws:
IllegalArgumentException
- ifLocation
orMaterial
are null orMaterial
is not a block
-
playEffect
Plays an effect to all players within a default radius around a given location. -
playEffect
Plays an effect to all players within a given radius around a location. -
playEffect
Plays an effect to all players within a default radius around a given location. -
playEffect
<T> void playEffect(@NotNull Location location, @NotNull Effect effect, @Nullable T data, int radius) Plays an effect to all players within a given radius around a location. -
getEmptyChunkSnapshot
@NotNull ChunkSnapshot getEmptyChunkSnapshot(int x, int z, boolean includeBiome, boolean includeBiomeTemp) Get empty chunk snapshot (equivalent to all air blocks), optionally including valid biome data. Used for representing an ungenerated chunk, or for fetching only biome data without loading a chunk.- Parameters:
x
- - chunk x coordinatez
- - chunk z coordinateincludeBiome
- - if true, snapshot includes per-coordinate biome typeincludeBiomeTemp
- - if true, snapshot includes per-coordinate raw biome temperature- Returns:
- The empty snapshot.
-
setSpawnFlags
void setSpawnFlags(boolean allowMonsters, boolean allowAnimals) Sets the spawn flags for this.- Parameters:
allowMonsters
- - if true, monsters are allowed to spawn in this world.allowAnimals
- - if true, animals are allowed to spawn in this world.
-
getAllowAnimals
boolean getAllowAnimals()Gets whether animals can spawn in this world.- Returns:
- whether animals can spawn in this world.
-
getAllowMonsters
boolean getAllowMonsters()Gets whether monsters can spawn in this world.- Returns:
- whether monsters can spawn in this world.
-
getBiome
Deprecated.biomes are now 3-dimensionalGets the biome for the given block coordinates.- Parameters:
x
- X coordinate of the blockz
- Z coordinate of the block- Returns:
- Biome of the requested block
-
setBiome
Deprecated.biomes are now 3-dimensionalSets the biome for the given block coordinates- Parameters:
x
- X coordinate of the blockz
- Z coordinate of the blockbio
- new Biome type for this block
-
getTemperature
Deprecated.biomes are now 3-dimensionalGets the temperature for the given block coordinates.It is safe to run this method when the block does not exist, it will not create the block.
This method will return the raw temperature without adjusting for block height effects.
- Parameters:
x
- X coordinate of the blockz
- Z coordinate of the block- Returns:
- Temperature of the requested block
-
getTemperature
double getTemperature(int x, int y, int z) Gets the temperature for the given block coordinates.It is safe to run this method when the block does not exist, it will not create the block.
This method will return the raw temperature without adjusting for block height effects.
- Parameters:
x
- X coordinate of the blocky
- Y coordinate of the blockz
- Z coordinate of the block- Returns:
- Temperature of the requested block
-
getHumidity
Deprecated.biomes are now 3-dimensionalGets the humidity for the given block coordinates.It is safe to run this method when the block does not exist, it will not create the block.
- Parameters:
x
- X coordinate of the blockz
- Z coordinate of the block- Returns:
- Humidity of the requested block
-
getHumidity
double getHumidity(int x, int y, int z) Gets the humidity for the given block coordinates.It is safe to run this method when the block does not exist, it will not create the block.
- Parameters:
x
- X coordinate of the blocky
- Y coordinate of the blockz
- Z coordinate of the block- Returns:
- Humidity of the requested block
-
getLogicalHeight
int getLogicalHeight()Gets the maximum height to which chorus fruits and nether portals can bring players within this dimension. This excludes portals that were already built above the limit as they still connect normally. May not be greater thanWorldInfo.getMaxHeight()
.- Returns:
- maximum logical height for chorus fruits and nether portals
-
isNatural
boolean isNatural()Gets if this world is natural. When false, compasses spin randomly, and using a bed to set the respawn point or sleep, is disabled. When true, nether portals can spawn zombified piglins.- Returns:
- true if world is natural
-
isBedWorks
boolean isBedWorks()Gets if beds work in this world. A non-working bed will blow up when trying to sleep.isNatural()
defines if a bed can be used to set spawn point.- Returns:
- true if beds work in this world
-
hasSkyLight
boolean hasSkyLight()Gets if this world has skylight access.- Returns:
- true if this world has skylight access
-
hasCeiling
boolean hasCeiling()Gets if this world has a ceiling.- Returns:
- true if this world has a bedrock ceiling
-
isPiglinSafe
boolean isPiglinSafe()Gets if this world allow to piglins to survive without shaking and transforming to zombified piglins.- Returns:
- true if piglins will not transform to zombified piglins
-
isRespawnAnchorWorks
boolean isRespawnAnchorWorks()Gets if this world allows players to charge and use respawn anchors.- Returns:
- true if players can charge and use respawn anchors
-
hasRaids
boolean hasRaids()Gets if players with the bad omen effect in this world will trigger a raid.- Returns:
- true if raids will be triggered
-
isUltraWarm
boolean isUltraWarm()Gets if various water/lava mechanics will be triggered in this world, eg:
- Water is evaporated
- Sponges dry
- Lava spreads faster and further
- Returns:
- true if this world has the above mechanics
-
getSeaLevel
int getSeaLevel()Gets the sea level for this world.This is often half of
WorldInfo.getMaxHeight()
- Returns:
- Sea level
-
getKeepSpawnInMemory
boolean getKeepSpawnInMemory()Gets whether the world's spawn area should be kept loaded into memory or not.- Returns:
- true if the world's spawn area will be kept loaded into memory.
-
setKeepSpawnInMemory
void setKeepSpawnInMemory(boolean keepLoaded) Sets whether the world's spawn area should be kept loaded into memory or not.- Parameters:
keepLoaded
- if true then the world's spawn area will be kept loaded into memory.
-
isAutoSave
boolean isAutoSave()Gets whether or not the world will automatically save- Returns:
- true if the world will automatically save, otherwise false
-
setAutoSave
void setAutoSave(boolean value) Sets whether or not the world will automatically save- Parameters:
value
- true if the world should automatically save, otherwise false
-
setDifficulty
Sets the Difficulty of the world.- Parameters:
difficulty
- the new difficulty you want to set the world to
-
getDifficulty
Gets the Difficulty of the world.- Returns:
- The difficulty of the world.
-
getViewDistance
int getViewDistance()Returns the view distance used for this world.- Returns:
- the view distance used for this world
-
getSimulationDistance
int getSimulationDistance()Returns the simulation distance used for this world.- Returns:
- the simulation distance used for this world
-
getWorldFolder
Gets the folder of this world on disk.- Returns:
- The folder of this world.
-
getWorldType
Deprecated.world type is only used to select the default word generation settings and is not stored in Vanilla worlds, making it impossible for this method to always return the correct value.Gets the type of this world.- Returns:
- Type of this world.
-
canGenerateStructures
boolean canGenerateStructures()Gets whether or not structures are being generated.- Returns:
- True if structures are being generated.
-
isHardcore
boolean isHardcore()Gets whether the world is hardcore or not. In a hardcore world the difficulty is locked to hard.- Returns:
- hardcore status
-
setHardcore
void setHardcore(boolean hardcore) Sets whether the world is hardcore or not. In a hardcore world the difficulty is locked to hard.- Parameters:
hardcore
- Whether the world is hardcore
-
getTicksPerAnimalSpawns
Deprecated.Deprecated in favor ofgetTicksPerSpawns(SpawnCategory)
Gets the world's ticks per animal spawns valueThis value determines how many ticks there are between attempts to spawn animals.
Example Usage:
- A value of 1 will mean the server will attempt to spawn animals in this world every tick.
- A value of 400 will mean the server will attempt to spawn animals in this world every 400th tick.
- A value below 0 will be reset back to Minecraft's default.
Note: If set to 0, animal spawning will be disabled for this world. We recommend using
setSpawnFlags(boolean, boolean)
to control this instead.Minecraft default: 400.
- Returns:
- The world's ticks per animal spawns value
-
setTicksPerAnimalSpawns
Deprecated.Deprecated in favor ofsetTicksPerSpawns(SpawnCategory, int)
Sets the world's ticks per animal spawns valueThis value determines how many ticks there are between attempts to spawn animals.
Example Usage:
- A value of 1 will mean the server will attempt to spawn animals in this world every tick.
- A value of 400 will mean the server will attempt to spawn animals in this world every 400th tick.
- A value below 0 will be reset back to Minecraft's default.
Note: If set to 0, animal spawning will be disabled for this world. We recommend using
setSpawnFlags(boolean, boolean)
to control this instead.Minecraft default: 400.
- Parameters:
ticksPerAnimalSpawns
- the ticks per animal spawns value you want to set the world to
-
getTicksPerMonsterSpawns
Deprecated.Deprecated in favor ofgetTicksPerSpawns(SpawnCategory)
Gets the world's ticks per monster spawns valueThis value determines how many ticks there are between attempts to spawn monsters.
Example Usage:
- A value of 1 will mean the server will attempt to spawn monsters in this world every tick.
- A value of 400 will mean the server will attempt to spawn monsters in this world every 400th tick.
- A value below 0 will be reset back to Minecraft's default.
Note: If set to 0, monsters spawning will be disabled for this world. We recommend using
setSpawnFlags(boolean, boolean)
to control this instead.Minecraft default: 1.
- Returns:
- The world's ticks per monster spawns value
-
setTicksPerMonsterSpawns
Deprecated.Deprecated in favor ofsetTicksPerSpawns(SpawnCategory, int)
Sets the world's ticks per monster spawns valueThis value determines how many ticks there are between attempts to spawn monsters.
Example Usage:
- A value of 1 will mean the server will attempt to spawn monsters in this world on every tick.
- A value of 400 will mean the server will attempt to spawn monsters in this world every 400th tick.
- A value below 0 will be reset back to Minecraft's default.
Note: If set to 0, monsters spawning will be disabled for this world. We recommend using
setSpawnFlags(boolean, boolean)
to control this instead.Minecraft default: 1.
- Parameters:
ticksPerMonsterSpawns
- the ticks per monster spawns value you want to set the world to
-
getTicksPerWaterSpawns
Deprecated.Deprecated in favor ofgetTicksPerSpawns(SpawnCategory)
Gets the world's ticks per water mob spawns valueThis value determines how many ticks there are between attempts to spawn water mobs.
Example Usage:
- A value of 1 will mean the server will attempt to spawn water mobs in this world every tick.
- A value of 400 will mean the server will attempt to spawn water mobs in this world every 400th tick.
- A value below 0 will be reset back to Minecraft's default.
Note: If set to 0, water mobs spawning will be disabled for this world.
Minecraft default: 1.
- Returns:
- The world's ticks per water mob spawns value
-
setTicksPerWaterSpawns
Deprecated.Deprecated in favor ofsetTicksPerSpawns(SpawnCategory, int)
Sets the world's ticks per water mob spawns valueThis value determines how many ticks there are between attempts to spawn water mobs.
Example Usage:
- A value of 1 will mean the server will attempt to spawn water mobs in this world on every tick.
- A value of 400 will mean the server will attempt to spawn water mobs in this world every 400th tick.
- A value below 0 will be reset back to Minecraft's default.
Note: If set to 0, water mobs spawning will be disabled for this world.
Minecraft default: 1.
- Parameters:
ticksPerWaterSpawns
- the ticks per water mob spawns value you want to set the world to
-
getTicksPerWaterAmbientSpawns
Deprecated.Deprecated in favor ofgetTicksPerSpawns(SpawnCategory)
Gets the default ticks per water ambient mob spawns value.Example Usage:
- A value of 1 will mean the server will attempt to spawn water ambient mobs every tick.
- A value of 400 will mean the server will attempt to spawn water ambient mobs every 400th tick.
- A value below 0 will be reset back to Minecraft's default.
Note: If set to 0, ambient mobs spawning will be disabled.
Minecraft default: 1.
- Returns:
- the default ticks per water ambient mobs spawn value
-
setTicksPerWaterAmbientSpawns
Deprecated.Deprecated in favor ofsetTicksPerSpawns(SpawnCategory, int)
Sets the world's ticks per water ambient mob spawns valueThis value determines how many ticks there are between attempts to spawn water ambient mobs.
Example Usage:
- A value of 1 will mean the server will attempt to spawn water ambient mobs in this world on every tick.
- A value of 400 will mean the server will attempt to spawn water ambient mobs in this world every 400th tick.
- A value below 0 will be reset back to Minecraft's default.
Note: If set to 0, water ambient mobs spawning will be disabled for this world.
Minecraft default: 1.
- Parameters:
ticksPerAmbientSpawns
- the ticks per water ambient mob spawns value you want to set the world to
-
getTicksPerWaterUndergroundCreatureSpawns
Deprecated.Deprecated in favor ofgetTicksPerSpawns(SpawnCategory)
Gets the default ticks per water underground creature spawns value.Example Usage:
- A value of 1 will mean the server will attempt to spawn water underground creature every tick.
- A value of 400 will mean the server will attempt to spawn water underground creature every 400th tick.
- A value below 0 will be reset back to Minecraft's default.
Note: If set to 0, water underground creature spawning will be disabled.
Minecraft default: 1.
- Returns:
- the default ticks per water underground creature spawn value
-
setTicksPerWaterUndergroundCreatureSpawns
@Deprecated void setTicksPerWaterUndergroundCreatureSpawns(int ticksPerWaterUndergroundCreatureSpawns) Deprecated.Deprecated in favor ofsetTicksPerSpawns(SpawnCategory, int)
Sets the world's ticks per water underground creature spawns valueThis value determines how many ticks there are between attempts to spawn water underground creature.
Example Usage:
- A value of 1 will mean the server will attempt to spawn water underground creature in this world on every tick.
- A value of 400 will mean the server will attempt to spawn water underground creature in this world every 400th tick.
- A value below 0 will be reset back to Minecraft's default.
Note: If set to 0, water underground creature spawning will be disabled for this world.
Minecraft default: 1.
- Parameters:
ticksPerWaterUndergroundCreatureSpawns
- the ticks per water underground creature spawns value you want to set the world to
-
getTicksPerAmbientSpawns
Deprecated.Deprecated in favor ofgetTicksPerSpawns(SpawnCategory)
Gets the world's ticks per ambient mob spawns valueThis value determines how many ticks there are between attempts to spawn ambient mobs.
Example Usage:
- A value of 1 will mean the server will attempt to spawn ambient mobs in this world every tick.
- A value of 400 will mean the server will attempt to spawn ambient mobs in this world every 400th tick.
- A value below 0 will be reset back to Minecraft's default.
Note: If set to 0, ambient mobs spawning will be disabled for this world.
Minecraft default: 1.
- Returns:
- the default ticks per ambient mobs spawn value
-
setTicksPerAmbientSpawns
Deprecated.Deprecated in favor ofsetTicksPerSpawns(SpawnCategory, int)
Sets the world's ticks per ambient mob spawns valueThis value determines how many ticks there are between attempts to spawn ambient mobs.
Example Usage:
- A value of 1 will mean the server will attempt to spawn ambient mobs in this world on every tick.
- A value of 400 will mean the server will attempt to spawn ambient mobs in this world every 400th tick.
- A value below 0 will be reset back to Minecraft's default.
Note: If set to 0, ambient mobs spawning will be disabled for this world.
Minecraft default: 1.
- Parameters:
ticksPerAmbientSpawns
- the ticks per ambient mob spawns value you want to set the world to
-
getTicksPerSpawns
Gets the world's ticks perSpawnCategory
mob spawns valueThis value determines how many ticks there are between attempts to spawn
SpawnCategory
mobs.Example Usage:
- A value of 1 will mean the server will attempt to spawn
SpawnCategory
mobs in this world every tick. - A value of 400 will mean the server will attempt to spawn
SpawnCategory
mobs in this world every 400th tick. - A value below 0 will be reset back to Minecraft's default.
Note: If set to 0,
SpawnCategory
mobs spawning will be disabled for this world.Minecraft default: 1.
- Parameters:
spawnCategory
- the category spawn- Returns:
- The world's ticks per
SpawnCategory
mob spawns value
- A value of 1 will mean the server will attempt to spawn
-
setTicksPerSpawns
Sets the world's ticks perSpawnCategory
mob spawns valueThis value determines how many ticks there are between attempts to spawn
SpawnCategory
mobs.Example Usage:
- A value of 1 will mean the server will attempt to spawn
SpawnCategory
mobs in this world on every tick. - A value of 400 will mean the server will attempt to spawn
SpawnCategory
mobs in this world every 400th tick. - A value below 0 will be reset back to Minecraft's default.
Note: If set to 0,
SpawnCategory
mobs spawning will be disabled for this world.Minecraft default: 1.
- Parameters:
spawnCategory
- the category spawnticksPerCategorySpawn
- the ticks perSpawnCategory
mob spawns value you want to set the world to
- A value of 1 will mean the server will attempt to spawn
-
getMonsterSpawnLimit
Deprecated.Deprecated in favor ofgetSpawnLimit(SpawnCategory)
Gets limit for number of monsters that can spawn in a chunk in this world- Returns:
- The monster spawn limit
-
setMonsterSpawnLimit
Deprecated.Deprecated in favor ofsetSpawnLimit(SpawnCategory, int)
Sets the limit for number of monsters that can spawn in a chunk in this worldNote: If set to a negative number the world will use the server-wide spawn limit instead.
- Parameters:
limit
- the new mob limit
-
getAnimalSpawnLimit
Deprecated.Deprecated in favor ofgetSpawnLimit(SpawnCategory)
Gets the limit for number of animals that can spawn in a chunk in this world- Returns:
- The animal spawn limit
-
setAnimalSpawnLimit
Deprecated.Deprecated in favor ofgetSpawnLimit(SpawnCategory)
Sets the limit for number of animals that can spawn in a chunk in this worldNote: If set to a negative number the world will use the server-wide spawn limit instead.
- Parameters:
limit
- the new mob limit
-
getWaterAnimalSpawnLimit
Deprecated.Deprecated in favor ofgetSpawnLimit(SpawnCategory)
Gets the limit for number of water animals that can spawn in a chunk in this world- Returns:
- The water animal spawn limit
-
setWaterAnimalSpawnLimit
Deprecated.Deprecated in favor ofsetSpawnLimit(SpawnCategory, int)
Sets the limit for number of water animals that can spawn in a chunk in this worldNote: If set to a negative number the world will use the server-wide spawn limit instead.
- Parameters:
limit
- the new mob limit
-
getWaterUndergroundCreatureSpawnLimit
Deprecated.Deprecated in favor ofgetSpawnLimit(SpawnCategory)
Gets the limit for number of water underground creature that can spawn in a chunk in this world- Returns:
- The water underground creature spawn limit
-
setWaterUndergroundCreatureSpawnLimit
Deprecated.Deprecated in favor ofsetSpawnLimit(SpawnCategory, int)
Sets the limit for number of water underground creature that can spawn in a chunk in this worldNote: If set to a negative number the world will use the server-wide spawn limit instead.
- Parameters:
limit
- the new mob limit
-
getWaterAmbientSpawnLimit
Deprecated.Deprecated in favor ofgetSpawnLimit(SpawnCategory)
Gets user-specified limit for number of water ambient mobs that can spawn in a chunk.- Returns:
- the water ambient spawn limit
-
setWaterAmbientSpawnLimit
Deprecated.Deprecated in favor ofsetSpawnLimit(SpawnCategory, int)
Sets the limit for number of water ambient mobs that can spawn in a chunk in this worldNote: If set to a negative number the world will use the server-wide spawn limit instead.
- Parameters:
limit
- the new mob limit
-
getAmbientSpawnLimit
Deprecated.Deprecated in favor ofgetSpawnLimit(SpawnCategory)
Gets the limit for number of ambient mobs that can spawn in a chunk in this world- Returns:
- The ambient spawn limit
-
setAmbientSpawnLimit
Deprecated.Deprecated in favor ofsetSpawnLimit(SpawnCategory, int)
Sets the limit for number of ambient mobs that can spawn in a chunk in this worldNote: If set to a negative number the world will use the server-wide spawn limit instead.
- Parameters:
limit
- the new mob limit
-
getSpawnLimit
Gets the limit for number ofSpawnCategory
entities that can spawn in a chunk in this world- Parameters:
spawnCategory
- the entity category- Returns:
- The ambient spawn limit
-
setSpawnLimit
Sets the limit for number ofSpawnCategory
entities that can spawn in a chunk in this worldNote: If set to a negative number the world will use the server-wide spawn limit instead.
- Parameters:
spawnCategory
- the entity categorylimit
- the new mob limit
-
playNote
Play a note at the provided Location in the World.
This will work with cake.This method will fail silently when called with
Instrument.CUSTOM_HEAD
.- Parameters:
loc
- The location to play the noteinstrument
- The instrumentnote
- The note
-
playSound
Play a Sound at the provided Location in the World.This function will fail silently if Location or Sound are null.
- Parameters:
location
- The location to play the soundsound
- The sound to playvolume
- The volume of the soundpitch
- The pitch of the sound
-
playSound
Play a Sound at the provided Location in the World.This function will fail silently if Location or Sound are null. No sound will be heard by the players if their clients do not have the respective sound for the value passed.
- Parameters:
location
- The location to play the soundsound
- The internal sound name to playvolume
- The volume of the soundpitch
- The pitch of the sound
-
playSound
void playSound(@NotNull Location location, @NotNull Sound sound, @NotNull SoundCategory category, float volume, float pitch) Play a Sound at the provided Location in the World.This function will fail silently if Location or Sound are null.
- Parameters:
location
- The location to play the soundsound
- The sound to playcategory
- the category of the soundvolume
- The volume of the soundpitch
- The pitch of the sound
-
playSound
void playSound(@NotNull Location location, @NotNull String sound, @NotNull SoundCategory category, float volume, float pitch) Play a Sound at the provided Location in the World.This function will fail silently if Location or Sound are null. No sound will be heard by the players if their clients do not have the respective sound for the value passed.
- Parameters:
location
- The location to play the soundsound
- The internal sound name to playcategory
- The category of the soundvolume
- The volume of the soundpitch
- The pitch of the sound
-
playSound
void playSound(@NotNull Location location, @NotNull Sound sound, @NotNull SoundCategory category, float volume, float pitch, long seed) Play a Sound at the provided Location in the World. For sounds with multiple variations passing the same seed will always play the same variation.This function will fail silently if Location or Sound are null.
- Parameters:
location
- The location to play the soundsound
- The sound to playcategory
- the category of the soundvolume
- The volume of the soundpitch
- The pitch of the soundseed
- The seed for the sound
-
playSound
void playSound(@NotNull Location location, @NotNull String sound, @NotNull SoundCategory category, float volume, float pitch, long seed) Play a Sound at the provided Location in the World. For sounds with multiple variations passing the same seed will always play the same variation.This function will fail silently if Location or Sound are null. No sound will be heard by the players if their clients do not have the respective sound for the value passed.
- Parameters:
location
- The location to play the soundsound
- The internal sound name to playcategory
- the category of the soundvolume
- The volume of the soundpitch
- The pitch of the soundseed
- The seed for the sound
-
playSound
Play a Sound at the location of the provided entity in the World.This function will fail silently if Entity or Sound are null.
- Parameters:
entity
- The entity to play the soundsound
- The sound to playvolume
- The volume of the soundpitch
- The pitch of the sound
-
playSound
Play a Sound at the location of the provided entity in the World.This function will fail silently if Entity or Sound are null.
- Parameters:
entity
- The entity to play the soundsound
- The sound to playvolume
- The volume of the soundpitch
- The pitch of the sound
-
playSound
void playSound(@NotNull Entity entity, @NotNull Sound sound, @NotNull SoundCategory category, float volume, float pitch) Play a Sound at the location of the provided entity in the World.This function will fail silently if Entity or Sound are null.
- Parameters:
entity
- The entity to play the soundsound
- The sound to playcategory
- The category of the soundvolume
- The volume of the soundpitch
- The pitch of the sound
-
playSound
void playSound(@NotNull Entity entity, @NotNull String sound, @NotNull SoundCategory category, float volume, float pitch) Play a Sound at the location of the provided entity in the World.This function will fail silently if Entity or Sound are null.
- Parameters:
entity
- The entity to play the soundsound
- The sound to playcategory
- The category of the soundvolume
- The volume of the soundpitch
- The pitch of the sound
-
playSound
void playSound(@NotNull Entity entity, @NotNull Sound sound, @NotNull SoundCategory category, float volume, float pitch, long seed) Play a Sound at the location of the provided entity in the World. For sounds with multiple variations passing the same seed will always play the same variation.This function will fail silently if Entity or Sound are null.
- Parameters:
entity
- The entity to play the soundsound
- The sound to playcategory
- The category of the soundvolume
- The volume of the soundpitch
- The pitch of the soundseed
- The seed for the sound
-
playSound
void playSound(@NotNull Entity entity, @NotNull String sound, @NotNull SoundCategory category, float volume, float pitch, long seed) Play a Sound at the location of the provided entity in the World. For sounds with multiple variations passing the same seed will always play the same variation.This function will fail silently if Entity or Sound are null.
- Parameters:
entity
- The entity to play the soundsound
- The sound to playcategory
- The category of the soundvolume
- The volume of the soundpitch
- The pitch of the soundseed
- The seed for the sound
-
getGameRules
Get an array containing the names of all theGameRule
s.- Returns:
- An array of
GameRule
names.
-
getGameRuleValue
@Deprecated @Contract("null -> null; !null -> !null") @Nullable String getGameRuleValue(@Nullable String rule) Deprecated.usegetGameRuleValue(GameRule)
insteadGets the current state of the specified ruleWill return null if rule passed is null
- Parameters:
rule
- Rule to look up value of- Returns:
- String value of rule
-
setGameRuleValue
Deprecated.usesetGameRule(GameRule, Object)
instead.Set the specified gamerule to specified value.The rule may attempt to validate the value passed, will return true if value was set.
If rule is null, the function will return false.
- Parameters:
rule
- Rule to setvalue
- Value to set rule to- Returns:
- True if rule was set
-
isGameRule
Checks if string is a valid game rule- Parameters:
rule
- Rule to check- Returns:
- True if rule exists
-
getGameRuleValue
Get the current value for a givenGameRule
.- Type Parameters:
T
- the GameRule's type- Parameters:
rule
- the GameRule to check- Returns:
- the current value
-
getGameRuleDefault
Get the default value for a givenGameRule
. This value is not guaranteed to match the current value.- Type Parameters:
T
- the type of GameRule- Parameters:
rule
- the rule to return a default value for- Returns:
- the default value
-
setGameRule
Set the givenGameRule
's new value.- Type Parameters:
T
- the value type of the GameRule- Parameters:
rule
- the GameRule to updatenewValue
- the new value- Returns:
- true if the value was successfully set
-
getWorldBorder
Gets the world border for this world.- Returns:
- The world border for this world.
-
spawnParticle
Spawns the particle (the number of times specified by count) at the target location.- Parameters:
particle
- the particle to spawnlocation
- the location to spawn atcount
- the number of particles
-
spawnParticle
Spawns the particle (the number of times specified by count) at the target location.- Parameters:
particle
- the particle to spawnx
- the position on the x axis to spawn aty
- the position on the y axis to spawn atz
- the position on the z axis to spawn atcount
- the number of particles
-
spawnParticle
<T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, @Nullable T data) Spawns the particle (the number of times specified by count) at the target location.- Type Parameters:
T
- type of particle data (seeParticle.getDataType()
- Parameters:
particle
- the particle to spawnlocation
- the location to spawn atcount
- the number of particlesdata
- the data to use for the particle or null, the type of this depends onParticle.getDataType()
-
spawnParticle
<T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, @Nullable T data) Spawns the particle (the number of times specified by count) at the target location.- Type Parameters:
T
- type of particle data (seeParticle.getDataType()
- Parameters:
particle
- the particle to spawnx
- the position on the x axis to spawn aty
- the position on the y axis to spawn atz
- the position on the z axis to spawn atcount
- the number of particlesdata
- the data to use for the particle or null, the type of this depends onParticle.getDataType()
-
spawnParticle
void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ) Spawns the particle (the number of times specified by count) at the target location. The position of each particle will be randomized positively and negatively by the offset parameters on each axis.- Parameters:
particle
- the particle to spawnlocation
- the location to spawn atcount
- the number of particlesoffsetX
- the maximum random offset on the X axisoffsetY
- the maximum random offset on the Y axisoffsetZ
- the maximum random offset on the Z axis
-
spawnParticle
void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ) Spawns the particle (the number of times specified by count) at the target location. The position of each particle will be randomized positively and negatively by the offset parameters on each axis.- Parameters:
particle
- the particle to spawnx
- the position on the x axis to spawn aty
- the position on the y axis to spawn atz
- the position on the z axis to spawn atcount
- the number of particlesoffsetX
- the maximum random offset on the X axisoffsetY
- the maximum random offset on the Y axisoffsetZ
- the maximum random offset on the Z axis
-
spawnParticle
<T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, @Nullable T data) Spawns the particle (the number of times specified by count) at the target location. The position of each particle will be randomized positively and negatively by the offset parameters on each axis.- Type Parameters:
T
- type of particle data (seeParticle.getDataType()
- Parameters:
particle
- the particle to spawnlocation
- the location to spawn atcount
- the number of particlesoffsetX
- the maximum random offset on the X axisoffsetY
- the maximum random offset on the Y axisoffsetZ
- the maximum random offset on the Z axisdata
- the data to use for the particle or null, the type of this depends onParticle.getDataType()
-
spawnParticle
<T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, @Nullable T data) Spawns the particle (the number of times specified by count) at the target location. The position of each particle will be randomized positively and negatively by the offset parameters on each axis.- Type Parameters:
T
- type of particle data (seeParticle.getDataType()
- Parameters:
particle
- the particle to spawnx
- the position on the x axis to spawn aty
- the position on the y axis to spawn atz
- the position on the z axis to spawn atcount
- the number of particlesoffsetX
- the maximum random offset on the X axisoffsetY
- the maximum random offset on the Y axisoffsetZ
- the maximum random offset on the Z axisdata
- the data to use for the particle or null, the type of this depends onParticle.getDataType()
-
spawnParticle
void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, double extra) Spawns the particle (the number of times specified by count) at the target location. The position of each particle will be randomized positively and negatively by the offset parameters on each axis.- Parameters:
particle
- the particle to spawnlocation
- the location to spawn atcount
- the number of particlesoffsetX
- the maximum random offset on the X axisoffsetY
- the maximum random offset on the Y axisoffsetZ
- the maximum random offset on the Z axisextra
- the extra data for this particle, depends on the particle used (normally speed)
-
spawnParticle
void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra) Spawns the particle (the number of times specified by count) at the target location. The position of each particle will be randomized positively and negatively by the offset parameters on each axis.- Parameters:
particle
- the particle to spawnx
- the position on the x axis to spawn aty
- the position on the y axis to spawn atz
- the position on the z axis to spawn atcount
- the number of particlesoffsetX
- the maximum random offset on the X axisoffsetY
- the maximum random offset on the Y axisoffsetZ
- the maximum random offset on the Z axisextra
- the extra data for this particle, depends on the particle used (normally speed)
-
spawnParticle
<T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data) Spawns the particle (the number of times specified by count) at the target location. The position of each particle will be randomized positively and negatively by the offset parameters on each axis.- Type Parameters:
T
- type of particle data (seeParticle.getDataType()
- Parameters:
particle
- the particle to spawnlocation
- the location to spawn atcount
- the number of particlesoffsetX
- the maximum random offset on the X axisoffsetY
- the maximum random offset on the Y axisoffsetZ
- the maximum random offset on the Z axisextra
- the extra data for this particle, depends on the particle used (normally speed)data
- the data to use for the particle or null, the type of this depends onParticle.getDataType()
-
spawnParticle
<T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data) Spawns the particle (the number of times specified by count) at the target location. The position of each particle will be randomized positively and negatively by the offset parameters on each axis.- Type Parameters:
T
- type of particle data (seeParticle.getDataType()
- Parameters:
particle
- the particle to spawnx
- the position on the x axis to spawn aty
- the position on the y axis to spawn atz
- the position on the z axis to spawn atcount
- the number of particlesoffsetX
- the maximum random offset on the X axisoffsetY
- the maximum random offset on the Y axisoffsetZ
- the maximum random offset on the Z axisextra
- the extra data for this particle, depends on the particle used (normally speed)data
- the data to use for the particle or null, the type of this depends onParticle.getDataType()
-
spawnParticle
<T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data, boolean force) Spawns the particle (the number of times specified by count) at the target location. The position of each particle will be randomized positively and negatively by the offset parameters on each axis.- Type Parameters:
T
- type of particle data (seeParticle.getDataType()
- Parameters:
particle
- the particle to spawnlocation
- the location to spawn atcount
- the number of particlesoffsetX
- the maximum random offset on the X axisoffsetY
- the maximum random offset on the Y axisoffsetZ
- the maximum random offset on the Z axisextra
- the extra data for this particle, depends on the particle used (normally speed)data
- the data to use for the particle or null, the type of this depends onParticle.getDataType()
force
- whether to send the particle to players within an extended range and encourage their client to render it regardless of settings
-
spawnParticle
<T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data, boolean force) Spawns the particle (the number of times specified by count) at the target location. The position of each particle will be randomized positively and negatively by the offset parameters on each axis.- Type Parameters:
T
- type of particle data (seeParticle.getDataType()
- Parameters:
particle
- the particle to spawnx
- the position on the x axis to spawn aty
- the position on the y axis to spawn atz
- the position on the z axis to spawn atcount
- the number of particlesoffsetX
- the maximum random offset on the X axisoffsetY
- the maximum random offset on the Y axisoffsetZ
- the maximum random offset on the Z axisextra
- the extra data for this particle, depends on the particle used (normally speed)data
- the data to use for the particle or null, the type of this depends onParticle.getDataType()
force
- whether to send the particle to players within an extended range and encourage their client to render it regardless of settings
-
locateNearestStructure
@Nullable @Deprecated Location locateNearestStructure(@NotNull Location origin, @NotNull StructureType structureType, int radius, boolean findUnexplored) Deprecated.Find the closest nearby structure of a givenStructureType
. Finding unexplored structures can, and will, block if the world is looking in chunks that gave not generated yet. This can lead to the world temporarily freezing while locating an unexplored structure.The
radius
is not a rigid square radius. Each structure may alter how many chunks to check for each iteration. Do not assume that only a radius x radius chunk area will be checked. For example,StructureType.WOODLAND_MANSION
can potentially check up to 20,000 blocks away (or more) regardless of the radius used.This will not load or generate chunks. This can also lead to instances where the server can hang if you are only looking for unexplored structures. This is because it will keep looking further and further out in order to find the structure.
- Parameters:
origin
- where to start looking for a structurestructureType
- the type of structure to findradius
- the radius, in chunks, around which to searchfindUnexplored
- true to only find unexplored structures- Returns:
- the closest
Location
, or null if no structure of the specified type exists. - See Also:
-
locateNearestStructure
@Nullable StructureSearchResult locateNearestStructure(@NotNull Location origin, @NotNull StructureType structureType, int radius, boolean findUnexplored) Find the closest nearby structure of a givenStructureType
. Finding unexplored structures can, and will, block if the world is looking in chunks that gave not generated yet. This can lead to the world temporarily freezing while locating an unexplored structure.The
radius
is not a rigid square radius. Each structure may alter how many chunks to check for each iteration. Do not assume that only a radius x radius chunk area will be checked. For example,StructureType.WOODLAND_MANSION
can potentially check up to 20,000 blocks away (or more) regardless of the radius used.This will not load or generate chunks. This can also lead to instances where the server can hang if you are only looking for unexplored structures. This is because it will keep looking further and further out in order to find the structure.
The difference between searching for a
StructureType
and aStructure
is, that aStructureType
can refer to multipleStructures
while searching for aStructure
while only search for the givenStructure
.- Parameters:
origin
- where to start looking for a structurestructureType
- the type of structure to findradius
- the radius, in chunks, around which to searchfindUnexplored
- true to only find unexplored structures- Returns:
- the closest
Location
andStructure
, or null if no structure of the specified type exists. - See Also:
-
locateNearestStructure
@Nullable StructureSearchResult locateNearestStructure(@NotNull Location origin, @NotNull Structure structure, int radius, boolean findUnexplored) Find the closest nearby structure of a givenStructure
. Finding unexplored structures can, and will, block if the world is looking in chunks that gave not generated yet. This can lead to the world temporarily freezing while locating an unexplored structure.The
radius
is not a rigid square radius. Each structure may alter how many chunks to check for each iteration. Do not assume that only a radius x radius chunk area will be checked. For example,Structure.MANSION
can potentially check up to 20,000 blocks away (or more) regardless of the radius used.This will not load or generate chunks. This can also lead to instances where the server can hang if you are only looking for unexplored structures. This is because it will keep looking further and further out in order to find the structure.
The difference between searching for a
StructureType
and aStructure
is, that aStructureType
can refer to multipleStructures
while searching for aStructure
while only search for the givenStructure
. -
spigot
-
locateNearestBiome
@Nullable BiomeSearchResult locateNearestBiome(@NotNull Location origin, int radius, @NotNull Biome... biomes) Find the closest nearby location with a biome matching the providedBiome
(s). Finding biomes can, and will, block if the world is looking in chunks that have not generated yet. This can lead to the world temporarily freezing while locating a biome.Note: This will not reflect changes made to the world after generation, this method only sees the biome at the time of world generation. This will not load or generate chunks.
If multiple biomes are provided
BiomeSearchResult.getBiome()
will indicate which one was located.This method will use a horizontal interval of 32 and a vertical interval of 64, equal to the /locate command.
-
locateNearestBiome
@Nullable BiomeSearchResult locateNearestBiome(@NotNull Location origin, int radius, int horizontalInterval, int verticalInterval, @NotNull Biome... biomes) Find the closest nearby location with a biome matching the providedBiome
(s). Finding biomes can, and will, block if the world is looking in chunks that have not generated yet. This can lead to the world temporarily freezing while locating a biome.Note: This will not reflect changes made to the world after generation, this method only sees the biome at the time of world generation. This will not load or generate chunks.
If multiple biomes are provided
BiomeSearchResult.getBiome()
will indicate which one was located. Higher values forhorizontalInterval
andverticalInterval
will result in faster searches, but may lead to small biomes being missed.- Parameters:
origin
- where to start looking for a biomeradius
- the radius, in blocks, around which to searchhorizontalInterval
- the horizontal distance between each checkverticalInterval
- the vertical distance between each checkbiomes
- the biomes to search for- Returns:
- a BiomeSearchResult containing the closest
Location
andBiome
, or null if no biome was found. - See Also:
-
locateNearestRaid
Finds the nearest raid close to the given location.- Parameters:
location
- the origin locationradius
- the radius- Returns:
- the closest
Raid
, or null if no raids were found
-
getRaids
Gets all raids that are going on over this world.- Returns:
- the list of all active raids
-
getEnderDragonBattle
Get theDragonBattle
associated with this world. If this world's environment is notWorld.Environment.THE_END
, null will be returned.If an end world, a dragon battle instance will be returned regardless of whether or not a dragon is present in the world or a fight sequence has been activated. The dragon battle instance acts as a state holder.
- Returns:
- the dragon battle instance
-
getFeatureFlags
Get allFeatureFlag
enabled in this world.- Returns:
- all enabled
FeatureFlag
-
getStructures
Gets all generated structures that intersect the chunk at the given coordinates.
If no structures are present an empty collection will be returned.- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunk- Returns:
- a collection of placed structures in the chunk at the given coordinates
-
getStructures
Gets all generated structures of a givenStructure
that intersect the chunk at the given coordinates.
If no structures are present an empty collection will be returned.- Parameters:
x
- X-coordinate of the chunkz
- Z-coordinate of the chunkstructure
- the structure to find- Returns:
- a collection of placed structures in the chunk at the given coordinates
-