Interface World
- All Superinterfaces:
Metadatable
,PluginMessageRecipient
public interface World extends PluginMessageRecipient, Metadatable
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
World.Environment
Represents various map environment types that a world may bestatic class
World.Spigot
-
Method Summary
Modifier and Type Method Description boolean
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
canGenerateStructures()
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.Item
dropItem(Location location, ItemStack item)
Drops an item at the specifiedLocation
Item
dropItemNaturally(Location location, ItemStack item)
Drops an item at the specifiedLocation
with a random offsetboolean
generateTree(Location location, TreeType type)
Creates a tree at the givenLocation
boolean
generateTree(Location loc, TreeType type, BlockChangeDelegate delegate)
Creates a tree at the givenLocation
boolean
getAllowAnimals()
Gets whether animals can spawn in this world.boolean
getAllowMonsters()
Gets whether monsters can spawn in this world.int
getAmbientSpawnLimit()
Gets the limit for number of ambient mobs that can spawn in a chunk in this worldint
getAnimalSpawnLimit()
Gets the limit for number of animals that can spawn in a chunk in this worldBiome
getBiome(int x, int z)
Deprecated.biomes are now 3-dimensionalBiome
getBiome(int x, int y, int z)
Gets the biome for the given block coordinates.Block
getBlockAt(int x, int y, int z)
Gets theBlock
at the given coordinatesBlock
getBlockAt(Location location)
Chunk
getChunkAt(int x, int z)
Gets theChunk
at the given coordinatesChunk
getChunkAt(Block block)
Chunk
getChunkAt(Location location)
Difficulty
getDifficulty()
Gets the Difficulty of the world.ChunkSnapshot
getEmptyChunkSnapshot(int x, int z, boolean includeBiome, boolean includeBiomeTemp)
Get empty chunk snapshot (equivalent to all air blocks), optionally including valid biome data.DragonBattle
getEnderDragonBattle()
Get theDragonBattle
associated with this world.List<Entity>
getEntities()
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.Collection<Entity>
getEntitiesByClasses(Class<?>... classes)
Get a collection of all entities in this World matching any of the given classes/interfacesWorld.Environment
getEnvironment()
Gets theWorld.Environment
type of this worldCollection<Chunk>
getForceLoadedChunks()
Returns all force loaded chunks in this world.long
getFullTime()
Gets the full in-game time on this world<T> T
getGameRuleDefault(GameRule<T> rule)
Get the default value for a givenGameRule
.String[]
getGameRules()
Get an array containing the names of all theGameRule
s.String
getGameRuleValue(String rule)
Deprecated.usegetGameRuleValue(GameRule)
instead<T> T
getGameRuleValue(GameRule<T> rule)
Get the current value for a givenGameRule
.ChunkGenerator
getGenerator()
Gets the chunk generator for this worldBlock
getHighestBlockAt(int x, int z)
Gets the highest non-empty (impassable) block at the given coordinates.Block
getHighestBlockAt(int x, int z, HeightMap heightMap)
Gets the highest block corresponding to theHeightMap
at the given coordinates.Block
getHighestBlockAt(Location location)
Gets the highest non-empty (impassable) block at the given coordinates.Block
getHighestBlockAt(Location location, HeightMap heightMap)
Gets the highest block corresponding to theHeightMap
at the given coordinates.int
getHighestBlockYAt(int x, int z)
Gets the highest non-empty (impassable) coordinate at the given coordinates.int
getHighestBlockYAt(int x, int z, HeightMap heightMap)
Gets the highest coordinate corresponding to theHeightMap
at the given coordinates.int
getHighestBlockYAt(Location location)
Gets the highest non-empty (impassable) coordinate at the givenLocation
.int
getHighestBlockYAt(Location location, HeightMap heightMap)
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.boolean
getKeepSpawnInMemory()
Gets whether the world's spawn area should be kept loaded into memory or not.List<LivingEntity>
getLivingEntities()
Get a list of all living entities in this WorldChunk[]
getLoadedChunks()
Gets an array of all loadedChunk
sint
getMaxHeight()
Gets the maximum height of this world.int
getMonsterSpawnLimit()
Gets limit for number of monsters that can spawn in a chunk in this worldString
getName()
Gets the unique name of this worldCollection<Entity>
getNearbyEntities(Location location, double x, double y, double z)
Returns a list of entities within a bounding box centered around a Location.Collection<Entity>
getNearbyEntities(Location location, double x, double y, double z, Predicate<Entity> filter)
Returns a list of entities within a bounding box centered around a Location.Collection<Entity>
getNearbyEntities(BoundingBox boundingBox)
Returns a list of entities within the given bounding box.Collection<Entity>
getNearbyEntities(BoundingBox boundingBox, Predicate<Entity> filter)
Returns a list of entities within the given bounding box.List<Player>
getPlayers()
Get a list of all players in this WorldMap<Plugin,Collection<Chunk>>
getPluginChunkTickets()
Returns a map of which plugins have tickets for what chunks.Collection<Plugin>
getPluginChunkTickets(int x, int z)
Retrieves a collection specifying which plugins have tickets for the specified chunk.List<BlockPopulator>
getPopulators()
Gets a list of all appliedBlockPopulator
s for this Worldboolean
getPVP()
Gets the current PVP setting for this world.List<Raid>
getRaids()
Gets all raids that are going on over this world.int
getSeaLevel()
Gets the sea level for this world.long
getSeed()
Gets the Seed for this world.Location
getSpawnLocation()
Gets the default spawnLocation
of this worlddouble
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
getThunderDuration()
Get the thundering duration.long
getTicksPerAmbientSpawns()
Gets the world's ticks per ambient mob spawns valuelong
getTicksPerAnimalSpawns()
Gets the world's ticks per animal spawns valuelong
getTicksPerMonsterSpawns()
Gets the world's ticks per monster spawns valuelong
getTicksPerWaterAmbientSpawns()
Gets the default ticks per water ambient mob spawns value.long
getTicksPerWaterSpawns()
Gets the world's ticks per water mob spawns valuelong
getTime()
Gets the relative in-game time of this world.UUID
getUID()
Gets the Unique ID of this worldint
getViewDistance()
Returns the view distance used for this world.int
getWaterAmbientSpawnLimit()
Gets user-specified limit for number of water ambient mobs that can spawn in a chunk.int
getWaterAnimalSpawnLimit()
Gets the limit for number of water animals that can spawn in a chunk in this worldint
getWeatherDuration()
Get the remaining time in ticks of the current conditions.WorldBorder
getWorldBorder()
Gets the world border for this world.File
getWorldFolder()
Gets the folder of this world on disk.WorldType
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.boolean
hasStorm()
Returns whether the world has an ongoing storm.boolean
isAutoSave()
Gets whether or not the world will automatically saveboolean
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
isGameRule(String rule)
Checks if string is a valid game ruleboolean
isHardcore()
Gets whether the world is hardcore or not.boolean
isThundering()
Returns whether there is thunder.void
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
loadChunk(Chunk chunk)
Loads the specifiedChunk
.Raid
locateNearestRaid(Location location, int radius)
Finds the nearest raid close to the given location.Location
locateNearestStructure(Location origin, StructureType structureType, int radius, boolean findUnexplored)
Find the closest nearby structure of a givenStructureType
.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
playSound(Location location, String sound, 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)
Play a Sound at the provided Location in the World.void
playSound(Location location, Sound sound, float volume, float pitch)
Play a Sound at the provided Location in the Worldvoid
playSound(Location location, Sound sound, SoundCategory category, float volume, float pitch)
Play a Sound at the provided Location in the World.RayTraceResult
rayTrace(Location start, Vector direction, double maxDistance, FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks, double raySize, Predicate<Entity> filter)
Performs a ray trace that checks for both block and entity collisions.RayTraceResult
rayTraceBlocks(Location start, Vector direction, double maxDistance)
Performs a ray trace that checks for block collisions using the blocks' precise collision shapes.RayTraceResult
rayTraceBlocks(Location start, Vector direction, double maxDistance, FluidCollisionMode fluidCollisionMode)
Performs a ray trace that checks for block collisions using the blocks' precise collision shapes.RayTraceResult
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.RayTraceResult
rayTraceEntities(Location start, Vector direction, double maxDistance)
Performs a ray trace that checks for entity collisions.RayTraceResult
rayTraceEntities(Location start, Vector direction, double maxDistance, double raySize)
Performs a ray trace that checks for entity collisions.RayTraceResult
rayTraceEntities(Location start, Vector direction, double maxDistance, double raySize, Predicate<Entity> filter)
Performs a ray trace that checks for entity collisions.RayTraceResult
rayTraceEntities(Location start, Vector direction, double maxDistance, Predicate<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)
Sets the limit for number of ambient mobs that can spawn in a chunk in this worldvoid
setAnimalSpawnLimit(int limit)
Sets the limit for number of animals that can spawn in a chunk in this worldvoid
setAutoSave(boolean value)
Sets whether or not the world will automatically savevoid
setBiome(int x, int y, int z, Biome bio)
Sets the biome for the given block coordinatesvoid
setBiome(int x, int z, Biome bio)
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
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)
Sets the limit for number of monsters that can spawn in a chunk in this worldvoid
setPVP(boolean pvp)
Sets the PVP setting for this world.void
setSpawnFlags(boolean allowMonsters, boolean allowAnimals)
Sets the spawn flags for this.boolean
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)
Sets the world's ticks per ambient mob spawns valuevoid
setTicksPerAnimalSpawns(int ticksPerAnimalSpawns)
Sets the world's ticks per animal spawns valuevoid
setTicksPerMonsterSpawns(int ticksPerMonsterSpawns)
Sets the world's ticks per monster spawns valuevoid
setTicksPerWaterAmbientSpawns(int ticksPerAmbientSpawns)
Sets the world's ticks per water ambient mob spawns valuevoid
setTicksPerWaterSpawns(int ticksPerWaterSpawns)
Sets the world's ticks per water mob spawns valuevoid
setTime(long time)
Sets the relative in-game time on the server.void
setWaterAmbientSpawnLimit(int limit)
Sets the limit for number of water ambient mobs that can spawn in a chunk in this worldvoid
setWaterAnimalSpawnLimit(int limit)
Sets the limit for number of water animals that can spawn in a chunk in this worldvoid
setWeatherDuration(int duration)
Set the remaining time in ticks of the current conditions.<T extends Entity>
Tspawn(Location location, Class<T> clazz)
Spawn an entity of a specific class at the givenLocation
<T extends Entity>
Tspawn(Location location, Class<T> clazz, Consumer<T> function)
Spawn an entity of a specific class at the givenLocation
, with the supplied function run before the entity is added to the world.Arrow
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
Entity
spawnEntity(Location loc, EntityType type)
Creates a entity at the givenLocation
FallingBlock
spawnFallingBlock(Location location, BlockData data)
FallingBlock
spawnFallingBlock(Location location, MaterialData data)
FallingBlock
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.World.Spigot
spigot()
LightningStrike
strikeLightning(Location loc)
Strikes lightning at the givenLocation
LightningStrike
strikeLightningEffect(Location loc)
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.plugin.messaging.PluginMessageRecipient
getListeningPluginChannels, sendPluginMessage
-
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
-
getHighestBlockYAt
int getHighestBlockYAt(int x, int z)Gets the highest non-empty (impassable) coordinate at the given coordinates.- Parameters:
x
- X-coordinate of the blocksz
- Z-coordinate of the blocks- Returns:
- Y-coordinate of the highest non-empty block
-
getHighestBlockYAt
Gets the highest non-empty (impassable) coordinate at the givenLocation
.- Parameters:
location
- Location of the blocks- Returns:
- Y-coordinate of the highest non-empty block
-
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
-
getHighestBlockYAt
Gets the highest coordinate corresponding to theHeightMap
at the given coordinates.- Parameters:
x
- X-coordinate of the blocksz
- Z-coordinate of the blocksheightMap
- the heightMap that is used to determine the highest point- Returns:
- Y-coordinate of the highest block corresponding to the
HeightMap
-
getHighestBlockYAt
- Parameters:
location
- Location of the blocksheightMap
- the heightMap that is used to determine the highest point- Returns:
- Y-coordinate of the highest block corresponding to the
HeightMap
-
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
- 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(int, int, Plugin)
-
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:
addPluginChunkTicket(int, int, Plugin)
-
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:
addPluginChunkTicket(int, int, Plugin)
,removePluginChunkTicket(int, int, Plugin)
-
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:
addPluginChunkTicket(int, int, Plugin)
,removePluginChunkTicket(int, int, Plugin)
-
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:
addPluginChunkTicket(int, int, Plugin)
,removePluginChunkTicket(int, int, Plugin)
-
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
-
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
-
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
boolean generateTree(@NotNull Location loc, @NotNull TreeType type, @NotNull BlockChangeDelegate delegate)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
-
spawnEntity
Creates a entity at the givenLocation
- Parameters:
loc
- The location to spawn the entitytype
- The entity to spawn- Returns:
- Resulting Entity of this method, or null if it was unsuccessful
-
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- Returns:
- A List of all Entities currently residing in this world
-
getLivingEntities
Get a list of all living entities in this World- 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- 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- 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<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<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.
- 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(Location, Vector, double, double, Predicate)
-
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 shrinked) by this value before doing collision checks- Returns:
- the closest ray trace hit result, or
null
if there is no hit - See Also:
rayTraceEntities(Location, Vector, double, double, Predicate)
-
rayTraceEntities
@Nullable RayTraceResult rayTraceEntities(@NotNull Location start, @NotNull Vector direction, double maxDistance, @Nullable Predicate<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 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(Location, Vector, double, double, Predicate)
-
rayTraceEntities
@Nullable RayTraceResult rayTraceEntities(@NotNull Location start, @NotNull Vector direction, double maxDistance, double raySize, @Nullable Predicate<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 shrinked) 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(Location, Vector, double, FluidCollisionMode, boolean)
-
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(Location, Vector, double, FluidCollisionMode, boolean)
-
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<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 shrinked) 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
-
getName
Gets the unique name of this world- Returns:
- Name of this world
-
getUID
Gets the Unique ID of this world- Returns:
- Unique ID of this world.
-
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:
Returns an absolute time of this world
-
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:
Sets the absolute time of this world
-
getFullTime
long getFullTime()Gets the full in-game time on this world- Returns:
- The current absolute time
- See Also:
Returns a relative time of this world
-
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:
Sets the relative time of this world
-
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.- 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.- 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
-
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.- 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.- 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
-
getEnvironment
Gets theWorld.Environment
type of this world- Returns:
- This worlds Environment type
-
getSeed
long getSeed()Gets the Seed for this world.- Returns:
- This worlds Seed
-
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
-
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 Entity> T spawn(@NotNull Location location, @NotNull Class<T> clazz) throws IllegalArgumentExceptionSpawn an entity of a specific class at the givenLocation
- Type Parameters:
T
- the class of theEntity
to spawn- Parameters:
location
- theLocation
to spawn the entity atclazz
- the class of theEntity
to spawn- Returns:
- an instance of the spawned
Entity
- Throws:
IllegalArgumentException
- if either parameter is null or theEntity
requested cannot be spawned
-
spawn
@NotNull <T extends Entity> T spawn(@NotNull Location location, @NotNull Class<T> clazz, @Nullable Consumer<T> function) throws IllegalArgumentExceptionSpawn an entity of a specific class 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.- Type Parameters:
T
- the class of theEntity
to spawn- Parameters:
location
- theLocation
to spawn the entity atclazz
- the class of theEntity
to spawnfunction
- the function to be run before the entity is spawned.- Returns:
- an instance of the spawned
Entity
- Throws:
IllegalArgumentException
- if either parameter is null or theEntity
requested cannot be spawned
-
spawnFallingBlock
@NotNull FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull MaterialData data) throws IllegalArgumentExceptionSpawn 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 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 IllegalArgumentExceptionSpawn 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 FallingBlockdata
- The block data- 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 IllegalArgumentExceptionDeprecated.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
-
getBiome
Gets the biome for the given block coordinates.- Parameters:
x
- X coordinate of the blocky
- Y 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
-
setBiome
Sets the biome for the given block coordinates- Parameters:
x
- X coordinate of the blocky
- Y 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
-
getMaxHeight
int getMaxHeight()Gets the maximum height of this world.If the max height is 100, there are only blocks from y=0 to y=99.
- Returns:
- Maximum height of the world
-
getSeaLevel
int getSeaLevel()Gets the sea level for this world.This is often half of
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.
-
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
long getTicksPerAnimalSpawns()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
void setTicksPerAnimalSpawns(int ticksPerAnimalSpawns)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
long getTicksPerMonsterSpawns()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
void setTicksPerMonsterSpawns(int ticksPerMonsterSpawns)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
long getTicksPerWaterSpawns()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
void setTicksPerWaterSpawns(int ticksPerWaterSpawns)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
long getTicksPerWaterAmbientSpawns()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
void setTicksPerWaterAmbientSpawns(int ticksPerAmbientSpawns)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 weater 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
-
getTicksPerAmbientSpawns
long getTicksPerAmbientSpawns()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 world's ticks per ambient mob spawns value
-
setTicksPerAmbientSpawns
void setTicksPerAmbientSpawns(int ticksPerAmbientSpawns)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
-
getMonsterSpawnLimit
int getMonsterSpawnLimit()Gets limit for number of monsters that can spawn in a chunk in this world- Returns:
- The monster spawn limit
-
setMonsterSpawnLimit
void setMonsterSpawnLimit(int limit)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
int getAnimalSpawnLimit()Gets the limit for number of animals that can spawn in a chunk in this world- Returns:
- The animal spawn limit
-
setAnimalSpawnLimit
void setAnimalSpawnLimit(int limit)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
int getWaterAnimalSpawnLimit()Gets the limit for number of water animals that can spawn in a chunk in this world- Returns:
- The water animal spawn limit
-
setWaterAnimalSpawnLimit
void setWaterAnimalSpawnLimit(int limit)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
-
getWaterAmbientSpawnLimit
int getWaterAmbientSpawnLimit()Gets user-specified limit for number of water ambient mobs that can spawn in a chunk.- Returns:
- the water ambient spawn limit
-
setWaterAmbientSpawnLimit
void setWaterAmbientSpawnLimit(int limit)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
int getAmbientSpawnLimit()Gets the limit for number of ambient mobs that can spawn in a chunk in this world- Returns:
- The ambient spawn limit
-
setAmbientSpawnLimit
void setAmbientSpawnLimit(int limit)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
-
playSound
Play a Sound at the provided Location in the WorldThis 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
-
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 Location 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.
- 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.
-
getViewDistance
int getViewDistance()Returns the view distance used for this world.- Returns:
- the view distance used for this world
-
spigot
-
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
-