Metadatable
, PluginMessageRecipient
public interface World extends PluginMessageRecipient, Metadatable
Modifier and Type | Interface | Description |
---|---|---|
static interface |
World.ChunkLoadCallback |
Deprecated.
Use either the Future or the Consumer based methods
|
static class |
World.Environment |
Represents various map environment types that a world may be
|
static class |
World.Spigot |
Modifier and Type | Method | Description |
---|---|---|
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 power
|
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.
|
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.
|
default boolean |
createExplosion(Entity source,
float power) |
Creates explosion at given entities location with given power and optionally
setting blocks on fire, with the specified entity as the source.
|
default boolean |
createExplosion(Entity source,
float power,
boolean setFire) |
Creates explosion at given entities location with given power and optionally
setting blocks on fire, with the specified entity as the source.
|
default boolean |
createExplosion(Entity source,
float power,
boolean setFire,
boolean breakBlocks) |
Creates explosion at given entities location with given power and optionally
setting blocks on fire, with the specified entity as the source.
|
default boolean |
createExplosion(Entity source,
Location loc,
float power) |
Creates explosion at given location with given power, with the specified entity as the source.
|
default boolean |
createExplosion(Entity source,
Location loc,
float power,
boolean setFire) |
Creates explosion at given location with given power and optionally
setting blocks on fire, with the specified entity as the source.
|
boolean |
createExplosion(Entity source,
Location loc,
float power,
boolean setFire,
boolean breakBlocks) |
Creates explosion at given location with given power and optionally
setting blocks on fire, with the specified entity as the source.
|
boolean |
createExplosion(Location loc,
float power) |
Creates explosion at given coordinates with given power
|
boolean |
createExplosion(Location loc,
float power,
boolean setFire) |
Creates explosion at given coordinates with given power and optionally
setting blocks on fire.
|
default boolean |
createExplosion(Location loc,
float power,
boolean setFire,
boolean breakBlocks) |
Creates explosion at given location with given power and optionally
setting blocks on fire or breaking blocks.
|
Item |
dropItem(Location location,
ItemStack item) |
Drops an item at the specified
Location |
Item |
dropItemNaturally(Location location,
ItemStack item) |
Drops an item at the specified
Location with a random offset |
boolean |
generateTree(Location location,
TreeType type) |
Creates a tree at the given
Location |
boolean |
generateTree(Location loc,
TreeType type,
BlockChangeDelegate delegate) |
Creates a tree at the given
Location |
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 world
|
int |
getAnimalSpawnLimit() |
Gets the limit for number of animals that can spawn in a chunk in this
world
|
Biome |
getBiome(int x,
int z) |
Gets the biome for the given block coordinates.
|
Block |
getBlockAt(int x,
int y,
int z) |
Gets the
Block at the given coordinates |
Block |
getBlockAt(Location location) |
|
default Block |
getBlockAtKey(long key) |
Gets the
Block at the given block key |
Chunk |
getChunkAt(int x,
int z) |
Gets the
Chunk at the given coordinates |
default Chunk |
getChunkAt(long chunkKey) |
Gets the chunk at the specified chunk key, which is the X and Z packed into a long.
|
Chunk |
getChunkAt(Block block) |
|
Chunk |
getChunkAt(Location location) |
|
default CompletableFuture<Chunk> |
getChunkAtAsync(int x,
int z) |
Requests a
Chunk to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time. |
CompletableFuture<Chunk> |
getChunkAtAsync(int x,
int z,
boolean gen) |
Requests a
Chunk to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time. |
default void |
getChunkAtAsync(int x,
int z,
boolean gen,
Consumer<Chunk> cb) |
Requests a
Chunk to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time. |
default void |
getChunkAtAsync(int x,
int z,
Consumer<Chunk> cb) |
Requests a
Chunk to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time. |
default void |
getChunkAtAsync(int x,
int z,
World.ChunkLoadCallback cb) |
Deprecated.
Use either the Future or the Consumer based methods
|
default CompletableFuture<Chunk> |
getChunkAtAsync(Block block) |
Requests a
Chunk to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time. |
default CompletableFuture<Chunk> |
getChunkAtAsync(Block block,
boolean gen) |
Requests a
Chunk to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time. |
default void |
getChunkAtAsync(Block block,
boolean gen,
Consumer<Chunk> cb) |
|
default void |
getChunkAtAsync(Block block,
Consumer<Chunk> cb) |
|
default void |
getChunkAtAsync(Block block,
World.ChunkLoadCallback cb) |
Deprecated.
Use either the Future or the Consumer based methods
|
default CompletableFuture<Chunk> |
getChunkAtAsync(Location loc) |
Requests a
Chunk to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time. |
default CompletableFuture<Chunk> |
getChunkAtAsync(Location loc,
boolean gen) |
Requests a
Chunk to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time. |
default void |
getChunkAtAsync(Location loc,
boolean gen,
Consumer<Chunk> cb) |
|
default void |
getChunkAtAsync(Location loc,
Consumer<Chunk> cb) |
|
default void |
getChunkAtAsync(Location loc,
World.ChunkLoadCallback cb) |
Deprecated.
Use either the Future or the Consumer based methods
|
int |
getChunkCount() |
|
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.
|
List<Entity> |
getEntities() |
Get a list of all entities in this World
|
<T extends Entity> |
getEntitiesByClass(Class<T> cls) |
Get a collection of all entities in this World matching the given
class/interface
|
<T extends Entity> |
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/interfaces
|
Entity |
getEntity(UUID uuid) |
Gets an entity in this world by its UUID
|
int |
getEntityCount() |
|
World.Environment |
getEnvironment() |
Gets the
World.Environment type of this world |
Collection<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 given
GameRule . |
String[] |
getGameRules() |
Get an array containing the names of all the
GameRule s. |
String |
getGameRuleValue(String rule) |
Deprecated.
use
getGameRuleValue(GameRule) instead |
<T> T |
getGameRuleValue(GameRule<T> rule) |
Get the current value for a given
GameRule . |
ChunkGenerator |
getGenerator() |
Gets the chunk generator for this world
|
Block |
getHighestBlockAt(int x,
int z) |
Gets the lowest block at the given coordinates such that the block and
all blocks above it are transparent for lighting purposes.
|
default Block |
getHighestBlockAt(int x,
int z,
HeightmapType heightmap) |
Returns the highest
Block at the specified block coordinates that match the specified heightmap's conditions. |
Block |
getHighestBlockAt(Location location) |
Gets the lowest block at the given
Location such that the block
and all blocks above it are transparent for lighting purposes. |
default Block |
getHighestBlockAt(Location location,
HeightmapType heightmap) |
Returns the highest
Block at the specified block coordinates that match the specified heightmap's conditions. |
int |
getHighestBlockYAt(int x,
int z) |
Gets the y coordinate of the lowest block at this position such that the
block and all blocks above it are transparent for lighting purposes.
|
int |
getHighestBlockYAt(int x,
int z,
HeightmapType heightmap) |
Returns the highest block's y-coordinate at the specified block coordinates that match the specified heightmap's conditions.
|
int |
getHighestBlockYAt(Location location) |
Gets the y coordinate of the lowest block at the given
Location
such that the block and all blocks above it are transparent for lighting
purposes. |
default int |
getHighestBlockYAt(Location location,
HeightmapType heightmap) |
Returns the highest block's y-coordinate at the specified block coordinates that match the specified heightmap's conditions.
|
double |
getHumidity(int x,
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 World
|
Chunk[] |
getLoadedChunks() |
Gets an array of all loaded
Chunk s |
default Location |
getLocationAtKey(long key) |
Gets the
Location at the given block key |
int |
getMaxHeight() |
Gets the maximum height of this world.
|
int |
getMonsterSpawnLimit() |
Gets limit for number of monsters that can spawn in a chunk in this
world
|
String |
getName() |
Gets the unique name of this world
|
Collection<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.
|
default <T extends Entity> |
getNearbyEntitiesByType(Class<? extends Entity> clazz,
Location loc,
double xRadius,
double yRadius,
double zRadius,
Predicate<T> predicate) |
Gets all nearby entities of the specified type, within the specified radius (bounding box)
|
default <T extends Entity> |
getNearbyEntitiesByType(Class<? extends T> clazz,
Location loc,
double radius) |
Gets all nearby entities of the specified type, within the specified radius (bounding box)
|
default <T extends Entity> |
getNearbyEntitiesByType(Class<? extends T> clazz,
Location loc,
double xzRadius,
double yRadius) |
Gets all nearby entities of the specified type, within the specified radius, with x and x radius matching (bounding box)
|
default <T extends Entity> |
getNearbyEntitiesByType(Class<? extends T> clazz,
Location loc,
double xRadius,
double yRadius,
double zRadius) |
Gets all nearby entities of the specified type, within the specified radius (bounding box)
|
default <T extends Entity> |
getNearbyEntitiesByType(Class<? extends T> clazz,
Location loc,
double xzRadius,
double yRadius,
Predicate<T> predicate) |
Gets all nearby entities of the specified type, within the specified radius, with x and x radius matching (bounding box)
|
default <T extends Entity> |
getNearbyEntitiesByType(Class<? extends T> clazz,
Location loc,
double radius,
Predicate<T> predicate) |
Gets all nearby entities of the specified type, within the specified radius (bounding box)
|
default Collection<LivingEntity> |
getNearbyLivingEntities(Location loc,
double radius) |
Gets nearby players within the specified radius (bounding box)
|
default Collection<LivingEntity> |
getNearbyLivingEntities(Location loc,
double xzRadius,
double yRadius) |
Gets nearby players within the specified radius (bounding box)
|
default Collection<LivingEntity> |
getNearbyLivingEntities(Location loc,
double xRadius,
double yRadius,
double zRadius) |
Gets nearby players within the specified radius (bounding box)
|
default Collection<LivingEntity> |
getNearbyLivingEntities(Location loc,
double xRadius,
double yRadius,
double zRadius,
Predicate<LivingEntity> predicate) |
Gets nearby players within the specified radius (bounding box)
|
default Collection<LivingEntity> |
getNearbyLivingEntities(Location loc,
double xzRadius,
double yRadius,
Predicate<LivingEntity> predicate) |
Gets nearby players within the specified radius (bounding box)
|
default Collection<LivingEntity> |
getNearbyLivingEntities(Location loc,
double radius,
Predicate<LivingEntity> predicate) |
Gets nearby players within the specified radius (bounding box)
|
default Collection<Player> |
getNearbyPlayers(Location loc,
double radius) |
Gets nearby players within the specified radius (bounding box)
|
default Collection<Player> |
getNearbyPlayers(Location loc,
double xzRadius,
double yRadius) |
Gets nearby players within the specified radius (bounding box)
|
default Collection<Player> |
getNearbyPlayers(Location loc,
double xRadius,
double yRadius,
double zRadius) |
Gets nearby players within the specified radius (bounding box)
|
default Collection<Player> |
getNearbyPlayers(Location loc,
double xRadius,
double yRadius,
double zRadius,
Predicate<Player> predicate) |
Gets nearby players within the specified radius (bounding box)
|
default Collection<Player> |
getNearbyPlayers(Location loc,
double xzRadius,
double yRadius,
Predicate<Player> predicate) |
Gets nearby players within the specified radius (bounding box)
|
default Collection<Player> |
getNearbyPlayers(Location loc,
double radius,
Predicate<Player> predicate) |
Gets nearby players within the specified radius (bounding box)
|
int |
getPlayerCount() |
|
List<Player> |
getPlayers() |
Get a list of all players in this World
|
List<BlockPopulator> |
getPopulators() |
Gets a list of all applied
BlockPopulator s for this World |
boolean |
getPVP() |
Gets the current PVP setting for this world.
|
int |
getSeaLevel() |
Gets the sea level for this world.
|
long |
getSeed() |
Gets the Seed for this world.
|
Location |
getSpawnLocation() |
Gets the default spawn
Location of this world |
double |
getTemperature(int x,
int z) |
Gets the temperature for the given block coordinates.
|
int |
getThunderDuration() |
Get the thundering duration.
|
int |
getTickableTileEntityCount() |
|
long |
getTicksPerAnimalSpawns() |
Gets the world's ticks per animal spawns value
|
long |
getTicksPerMonsterSpawns() |
Gets the world's ticks per monster spawns value
|
int |
getTileEntityCount() |
|
long |
getTime() |
Gets the relative in-game time of this world.
|
UUID |
getUID() |
Gets the Unique ID of this world
|
int |
getWaterAnimalSpawnLimit() |
Gets the limit for number of water animals that can spawn in a chunk in
this world
|
int |
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() |
Gets the type of this world.
|
boolean |
hasStorm() |
Returns whether the world has an ongoing storm.
|
boolean |
isAutoSave() |
Gets whether or not the world will automatically save
|
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 the
Chunk at the specified coordinates is generated |
default boolean |
isChunkGenerated(long chunkKey) |
Checks if a
Chunk has been generated at the specified chunk key,
which is the X and Z packed into a long. |
boolean |
isChunkInUse(int x,
int z) |
Checks if the
Chunk at the specified coordinates is loaded and
in use by one or more players |
boolean |
isChunkLoaded(int x,
int z) |
Checks if the
Chunk at the specified coordinates is loaded |
boolean |
isChunkLoaded(Chunk chunk) |
Checks if the specified
Chunk is loaded |
boolean |
isDayTime() |
Check if it is currently daytime in this world
|
boolean |
isGameRule(String rule) |
Checks if string is a valid game rule
|
boolean |
isThundering() |
Returns whether there is thunder.
|
void |
loadChunk(int x,
int z) |
Loads the
Chunk at the specified coordinates |
boolean |
loadChunk(int x,
int z,
boolean generate) |
Loads the
Chunk at the specified coordinates |
void |
loadChunk(Chunk chunk) |
Loads the specified
Chunk |
Location |
locateNearestStructure(Location origin,
StructureType structureType,
int radius,
boolean findUnexplored) |
Find the closest nearby structure of a given
StructureType . |
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 World
|
void |
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.
|
void |
save() |
Saves world to disk
|
void |
setAmbientSpawnLimit(int limit) |
Sets the limit for number of ambient mobs that can spawn in a chunk in
this world
|
void |
setAnimalSpawnLimit(int limit) |
Sets the limit for number of animals that can spawn in a chunk in this
world
|
void |
setAutoSave(boolean value) |
Sets whether or not the world will automatically save
|
void |
setBiome(int x,
int z,
Biome bio) |
Sets the biome for the given block coordinates
|
void |
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 given
GameRule 's new value. |
boolean |
setGameRuleValue(String rule,
String value) |
Deprecated.
use
setGameRule(GameRule, Object) instead. |
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
world
|
void |
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 world
|
boolean |
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 |
setTicksPerAnimalSpawns(int ticksPerAnimalSpawns) |
Sets the world's ticks per animal spawns value
|
void |
setTicksPerMonsterSpawns(int ticksPerMonsterSpawns) |
Sets the world's ticks per monster spawns value
|
void |
setTime(long time) |
Sets the relative in-game time on the server.
|
void |
setWaterAnimalSpawnLimit(int limit) |
Sets the limit for number of water animals that can spawn in a chunk in
this world
|
void |
setWeatherDuration(int duration) |
Set the remaining time in ticks of the current conditions.
|
<T extends Entity> |
spawn(Location location,
Class<T> clazz) |
Spawn an entity of a specific class at the given
Location |
<T extends Entity> |
spawn(Location location,
Class<T> clazz,
Consumer<T> function) |
Spawn an entity of a specific class at the given
Location , 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 Arrow> |
spawnArrow(Location location,
Vector direction,
float speed,
float spread,
Class<T> clazz) |
Creates an arrow entity of the given class at the given
Location |
Entity |
spawnEntity(Location loc,
EntityType type) |
Creates a entity at the given
Location |
FallingBlock |
spawnFallingBlock(Location location,
BlockData data) |
|
FallingBlock |
spawnFallingBlock(Location location,
MaterialData data) |
|
FallingBlock |
spawnFallingBlock(Location location,
Material material,
byte data) |
Deprecated.
Magic value
|
void |
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.
|
default <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.
|
default <T> void |
spawnParticle(Particle particle,
List<Player> receivers,
Player source,
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,
List<Player> receivers,
Player source,
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.
|
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 given
Location |
LightningStrike |
strikeLightningEffect(Location loc) |
Strikes lightning at the given
Location without doing damage |
boolean |
unloadChunk(int x,
int z) |
Safely unloads and saves the
Chunk at the specified coordinates |
boolean |
unloadChunk(int x,
int z,
boolean save) |
Safely unloads and optionally saves the
Chunk at the specified
coordinates |
boolean |
unloadChunk(int x,
int z,
boolean save,
boolean safe) |
Deprecated.
it is never safe to remove a chunk in use
|
boolean |
unloadChunk(Chunk chunk) |
Safely unloads and saves the
Chunk at the specified coordinates |
boolean |
unloadChunkRequest(int x,
int z) |
Safely queues the
Chunk at the specified coordinates for
unloading |
boolean |
unloadChunkRequest(int x,
int z,
boolean safe) |
Deprecated.
it is never safe to remove a chunk in use
|
getMetadata, hasMetadata, removeMetadata, setMetadata
getListeningPluginChannels, sendPluginMessage
int getEntityCount()
int getTileEntityCount()
int getTickableTileEntityCount()
int getChunkCount()
int getPlayerCount()
@NotNull Block getBlockAt(int x, int y, int z)
Block
at the given coordinatesx
- X-coordinate of the blocky
- Y-coordinate of the blockz
- Z-coordinate of the block@NotNull Block getBlockAt(@NotNull Location location)
location
- Location of the block@NotNull default Block getBlockAtKey(long key)
Block
at the given block keykey
- The block key. See Block.getBlockKey()
Block.getBlockKey(int, int, int)
@NotNull default Location getLocationAtKey(long key)
Location
at the given block keykey
- The block key. See Location.toBlockKey()
Block.getBlockKey(int, int, int)
int getHighestBlockYAt(int x, int z)
x
- X-coordinate of the blocksz
- Z-coordinate of the blocksint getHighestBlockYAt(@NotNull Location location)
Location
such that the block and all blocks above it are transparent for lighting
purposes.location
- Location of the blocks@NotNull Block getHighestBlockAt(int x, int z)
x
- X-coordinate of the blockz
- Z-coordinate of the block@NotNull Block getHighestBlockAt(@NotNull Location location)
Location
such that the block
and all blocks above it are transparent for lighting purposes.location
- Coordinates to get the highest blockint getHighestBlockYAt(int x, int z, @NotNull HeightmapType heightmap) throws UnsupportedOperationException
implNote: Implementations are recommended to use an iterative search as a fallback before resorting to
throwing an UnsupportedOperationException
.
x
- The block's x-coordinate.z
- The block's z-coordinate.heightmap
- The specified heightmap to use. See HeightmapType
UnsupportedOperationException
- If the heightmap type is not supported.HeightmapType
default int getHighestBlockYAt(@NotNull Location location, @NotNull HeightmapType heightmap) throws UnsupportedOperationException
implNote: Implementations are recommended to use an iterative search as a fallback before resorting to
throwing an UnsupportedOperationException
.
location
- The specified block coordinates.heightmap
- The specified heightmap to use. See HeightmapType
location
that matches the specified heightmap's conditions.UnsupportedOperationException
- If the heightmap type is not supported.HeightmapType
@NotNull default Block getHighestBlockAt(int x, int z, @NotNull HeightmapType heightmap) throws UnsupportedOperationException
Block
at the specified block coordinates that match the specified heightmap's conditions.
implNote: Implementations are recommended to use an iterative search as a fallback before resorting to
throwing an UnsupportedOperationException
.
x
- The block's x-coordinate.z
- The block's z-coordinate.heightmap
- The specified heightmap to use. See HeightmapType
Block
at (x, z) that matches the specified heightmap's conditions.UnsupportedOperationException
- If the heightmap type is not supported.HeightmapType
@NotNull default Block getHighestBlockAt(@NotNull Location location, @NotNull HeightmapType heightmap) throws UnsupportedOperationException
Block
at the specified block coordinates that match the specified heightmap's conditions.
Note that the y-coordinate of the specified location is ignored.
implNote: Implementations are recommended to use an iterative search as a fallback before resorting to
throwing an UnsupportedOperationException
.
location
- The specified block coordinates.heightmap
- The specified heightmap to use. See HeightmapType
Block
at location
that matches the specified heightmap's conditions.UnsupportedOperationException
- If the heightmap type is not supported.HeightmapType
@NotNull Chunk getChunkAt(int x, int z)
Chunk
at the given coordinatesx
- X-coordinate of the chunkz
- Z-coordinate of the chunk@NotNull Chunk getChunkAt(@NotNull Location location)
location
- Location of the chunk@NotNull Chunk getChunkAt(@NotNull Block block)
block
- Block to get the containing chunk from@NotNull default Chunk getChunkAt(long chunkKey)
Chunk.getChunkKey()
for easy access to the key, or you may calculate it as:
long chunkKey = (long) chunkX & 0xffffffffL | ((long) chunkZ & 0xffffffffL) >> 32;chunkKey
- The Chunk Key to look up the chunk bydefault boolean isChunkGenerated(long chunkKey)
Chunk
has been generated at the specified chunk key,
which is the X and Z packed into a long.chunkKey
- The Chunk Key to look up the chunk by@Deprecated default void getChunkAtAsync(int x, int z, @NotNull World.ChunkLoadCallback cb)
Chunk
to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time.
You should use this method if you need a chunk but do not need it
immediately, and you wish to let the server control the speed
of chunk loads, keeping performance in mind.
The World.ChunkLoadCallback
will always be executed synchronously
on the main Server Thread.x
- Chunk X-coordinate of the chunk - (world coordinate / 16)z
- Chunk Z-coordinate of the chunk - (world coordinate / 16)cb
- Callback to receive the chunk when it is loaded.
will be executed synchronously@Deprecated default void getChunkAtAsync(@NotNull Location loc, @NotNull World.ChunkLoadCallback cb)
Chunk
to be loaded at the given Location
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time.
You should use this method if you need a chunk but do not need it
immediately, and you wish to let the server control the speed
of chunk loads, keeping performance in mind.
The World.ChunkLoadCallback
will always be executed synchronously
on the main Server Thread.loc
- Location of the chunkcb
- Callback to receive the chunk when it is loaded.
will be executed synchronously@Deprecated default void getChunkAtAsync(@NotNull Block block, @NotNull World.ChunkLoadCallback cb)
Chunk
to be loaded that contains the given Block
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time.
You should use this method if you need a chunk but do not need it
immediately, and you wish to let the server control the speed
of chunk loads, keeping performance in mind.
The World.ChunkLoadCallback
will always be executed synchronously
on the main Server Thread.block
- Block to get the containing chunk fromcb
- Callback to receive the chunk when it is loaded.
will be executed synchronouslydefault void getChunkAtAsync(int x, int z, @NotNull Consumer<Chunk> cb)
Chunk
to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time.
You should use this method if you need a chunk but do not need it
immediately, and you wish to let the server control the speed
of chunk loads, keeping performance in mind.
The Consumer
will always be executed synchronously
on the main Server Thread.x
- Chunk X-coordinate of the chunk - (world coordinate / 16)z
- Chunk Z-coordinate of the chunk - (world coordinate / 16)cb
- Callback to receive the chunk when it is loaded.
will be executed synchronouslydefault void getChunkAtAsync(int x, int z, boolean gen, @NotNull Consumer<Chunk> cb)
Chunk
to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time.
You should use this method if you need a chunk but do not need it
immediately, and you wish to let the server control the speed
of chunk loads, keeping performance in mind.
The Consumer
will always be executed synchronously
on the main Server Thread.x
- Chunk X-coordinate of the chunk - (world coordinate / 16)z
- Chunk Z-coordinate of the chunk - (world coordinate / 16)gen
- Should we generate a chunk if it doesn't exists or notcb
- Callback to receive the chunk when it is loaded.
will be executed synchronouslydefault void getChunkAtAsync(@NotNull Location loc, @NotNull Consumer<Chunk> cb)
Chunk
to be loaded at the given Location
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time.
You should use this method if you need a chunk but do not need it
immediately, and you wish to let the server control the speed
of chunk loads, keeping performance in mind.
The Consumer
will always be executed synchronously
on the main Server Thread.loc
- Location of the chunkcb
- Callback to receive the chunk when it is loaded.
will be executed synchronouslydefault void getChunkAtAsync(@NotNull Location loc, boolean gen, @NotNull Consumer<Chunk> cb)
Chunk
to be loaded at the given Location
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time.
You should use this method if you need a chunk but do not need it
immediately, and you wish to let the server control the speed
of chunk loads, keeping performance in mind.
The Consumer
will always be executed synchronously
on the main Server Thread.loc
- Location of the chunkgen
- Should the chunk generatecb
- Callback to receive the chunk when it is loaded.
will be executed synchronouslydefault void getChunkAtAsync(@NotNull Block block, @NotNull Consumer<Chunk> cb)
Chunk
to be loaded that contains the given Block
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time.
You should use this method if you need a chunk but do not need it
immediately, and you wish to let the server control the speed
of chunk loads, keeping performance in mind.
The Consumer
will always be executed synchronously
on the main Server Thread.block
- Block to get the containing chunk fromcb
- Callback to receive the chunk when it is loaded.
will be executed synchronouslydefault void getChunkAtAsync(@NotNull Block block, boolean gen, @NotNull Consumer<Chunk> cb)
Chunk
to be loaded that contains the given Block
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time.
You should use this method if you need a chunk but do not need it
immediately, and you wish to let the server control the speed
of chunk loads, keeping performance in mind.
The Consumer
will always be executed synchronously
on the main Server Thread.block
- Block to get the containing chunk fromgen
- Should the chunk generatecb
- Callback to receive the chunk when it is loaded.
will be executed synchronously@NotNull default CompletableFuture<Chunk> getChunkAtAsync(@NotNull Location loc)
Chunk
to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time.
You should use this method if you need a chunk but do not need it
immediately, and you wish to let the server control the speed
of chunk loads, keeping performance in mind.
The future will always be executed synchronously
on the main Server Thread.loc
- Location to load the corresponding chunk from@NotNull default CompletableFuture<Chunk> getChunkAtAsync(@NotNull Location loc, boolean gen)
Chunk
to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time.
You should use this method if you need a chunk but do not need it
immediately, and you wish to let the server control the speed
of chunk loads, keeping performance in mind.
The future will always be executed synchronously
on the main Server Thread.loc
- Location to load the corresponding chunk fromgen
- Should the chunk generate@NotNull default CompletableFuture<Chunk> getChunkAtAsync(@NotNull Block block)
Chunk
to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time.
You should use this method if you need a chunk but do not need it
immediately, and you wish to let the server control the speed
of chunk loads, keeping performance in mind.
The future will always be executed synchronously
on the main Server Thread.block
- Block to load the corresponding chunk from@NotNull default CompletableFuture<Chunk> getChunkAtAsync(@NotNull Block block, boolean gen)
Chunk
to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time.
You should use this method if you need a chunk but do not need it
immediately, and you wish to let the server control the speed
of chunk loads, keeping performance in mind.
The future will always be executed synchronously
on the main Server Thread.block
- Block to load the corresponding chunk fromgen
- Should the chunk generate@NotNull default CompletableFuture<Chunk> getChunkAtAsync(int x, int z)
Chunk
to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time.
You should use this method if you need a chunk but do not need it
immediately, and you wish to let the server control the speed
of chunk loads, keeping performance in mind.
The future will always be executed synchronously
on the main Server Thread.x
- X Coordz
- Z Coord@NotNull CompletableFuture<Chunk> getChunkAtAsync(int x, int z, boolean gen)
Chunk
to be loaded at the given coordinates
This method makes no guarantee on how fast the chunk will load,
and will return the chunk to the callback at a later time.
You should use this method if you need a chunk but do not need it
immediately, and you wish to let the server control the speed
of chunk loads, keeping performance in mind.
The future will always be executed synchronously
on the main Server Thread.x
- Chunk X-coordinate of the chunk - (world coordinate / 16)z
- Chunk Z-coordinate of the chunk - (world coordinate / 16)gen
- Should we generate a chunk if it doesn't exists or notboolean isChunkLoaded(@NotNull Chunk chunk)
Chunk
is loadedchunk
- The chunk to check@NotNull Chunk[] getLoadedChunks()
Chunk
svoid loadChunk(@NotNull Chunk chunk)
Chunk
chunk
- The chunk to loadboolean isChunkLoaded(int x, int z)
Chunk
at the specified coordinates is loadedx
- X-coordinate of the chunkz
- Z-coordinate of the chunkboolean isChunkGenerated(int x, int z)
Chunk
at the specified coordinates is generatedx
- X-coordinate of the chunkz
- Z-coordinate of the chunkboolean isChunkInUse(int x, int z)
Chunk
at the specified coordinates is loaded and
in use by one or more playersx
- X-coordinate of the chunkz
- Z-coordinate of the chunkvoid loadChunk(int x, int z)
Chunk
at the specified coordinates
If the chunk does not exist, it will be generated.
This method is analogous to loadChunk(int, int, boolean)
where
generate is true.
x
- X-coordinate of the chunkz
- Z-coordinate of the chunkboolean loadChunk(int x, int z, boolean generate)
Chunk
at the specified coordinatesx
- X-coordinate of the chunkz
- Z-coordinate of the chunkgenerate
- Whether or not to generate a chunk if it doesn't
already existboolean unloadChunk(@NotNull Chunk chunk)
Chunk
at the specified coordinates
This method is analogous to unloadChunk(int, int, boolean,
boolean)
where safe and save is true
chunk
- the chunk to unloadboolean unloadChunk(int x, int z)
Chunk
at the specified coordinates
This method is analogous to unloadChunk(int, int, boolean,
boolean)
where safe and saveis true
x
- X-coordinate of the chunkz
- Z-coordinate of the chunkboolean unloadChunk(int x, int z, boolean save)
Chunk
at the specified
coordinates
This method is analogous to unloadChunk(int, int, boolean,
boolean)
where save is true
x
- X-coordinate of the chunkz
- Z-coordinate of the chunksave
- Whether or not to save the chunk@Deprecated boolean unloadChunk(int x, int z, boolean save, boolean safe)
Chunk
at the specified
coordinatesx
- X-coordinate of the chunkz
- Z-coordinate of the chunksave
- Controls whether the chunk is savedsafe
- Controls whether to unload the chunk when players are
nearbyboolean unloadChunkRequest(int x, int z)
Chunk
at the specified coordinates for
unloading
This method is analogous to unloadChunkRequest(int, int,
boolean)
where safe is true
x
- X-coordinate of the chunkz
- Z-coordinate of the chunk@Deprecated boolean unloadChunkRequest(int x, int z, boolean safe)
Chunk
at the specified coordinates for unloadingx
- X-coordinate of the chunkz
- Z-coordinate of the chunksafe
- Controls whether to queue the chunk when players are nearby@Deprecated boolean regenerateChunk(int x, int z)
Chunk
at the specified coordinatesx
- X-coordinate of the chunkz
- Z-coordinate of the chunk@Deprecated boolean refreshChunk(int x, int z)
Chunk
to all clientsx
- X-coordinate of the chunkz
- Z-coordinate of the chunkboolean isChunkForceLoaded(int x, int z)
A force loaded chunk will not be unloaded due to lack of player activity.
x
- X-coordinate of the chunkz
- Z-coordinate of the chunkvoid setChunkForceLoaded(int x, int z, boolean forced)
A force loaded chunk will not be unloaded due to lack of player activity.
x
- X-coordinate of the chunkz
- Z-coordinate of the chunkforced
- @NotNull Collection<Chunk> getForceLoadedChunks()
A force loaded chunk will not be unloaded due to lack of player activity.
@NotNull Item dropItem(@NotNull Location location, @NotNull ItemStack item)
Location
location
- Location to drop the itemitem
- ItemStack to drop@NotNull Item dropItemNaturally(@NotNull Location location, @NotNull ItemStack item)
Location
with a random offsetlocation
- Location to drop the itemitem
- ItemStack to drop@NotNull Arrow spawnArrow(@NotNull Location location, @NotNull Vector direction, float speed, float spread)
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@NotNull <T extends Arrow> T spawnArrow(@NotNull Location location, @NotNull Vector direction, float speed, float spread, @NotNull Class<T> clazz)
Location
T
- type of arrow to spawnlocation
- 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 arrow
SpectralArrow
,Arrow
,TippedArrow
boolean generateTree(@NotNull Location location, @NotNull TreeType type)
Location
location
- Location to spawn the treetype
- Type of the tree to createboolean generateTree(@NotNull Location loc, @NotNull TreeType type, @NotNull BlockChangeDelegate delegate)
Location
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@NotNull Entity spawnEntity(@NotNull Location loc, @NotNull EntityType type)
Location
loc
- The location to spawn the entitytype
- The entity to spawn@NotNull LightningStrike strikeLightning(@NotNull Location loc)
Location
loc
- The location to strike lightning@NotNull LightningStrike strikeLightningEffect(@NotNull Location loc)
Location
without doing damageloc
- The location to strike lightning@NotNull List<Entity> getEntities()
@NotNull List<LivingEntity> getLivingEntities()
@Deprecated @NotNull <T extends Entity> Collection<T> getEntitiesByClass(@NotNull Class<T>... classes)
T
- an entity subclassclasses
- The classes representing the types of entity to match@NotNull <T extends Entity> Collection<T> getEntitiesByClass(@NotNull Class<T> cls)
T
- an entity subclasscls
- The class representing the type of entity to match@NotNull Collection<Entity> getEntitiesByClasses(@NotNull Class<?>... classes)
classes
- The classes representing the types of entity to match@NotNull default Collection<LivingEntity> getNearbyLivingEntities(@NotNull Location loc, double radius)
loc
- Center locationradius
- Radius@NotNull default Collection<LivingEntity> getNearbyLivingEntities(@NotNull Location loc, double xzRadius, double yRadius)
loc
- Center locationxzRadius
- X/Z RadiusyRadius
- Y Radius@NotNull default Collection<LivingEntity> getNearbyLivingEntities(@NotNull Location loc, double xRadius, double yRadius, double zRadius)
loc
- Center locationxRadius
- X RadiusyRadius
- Y RadiuszRadius
- Z radius@NotNull default Collection<LivingEntity> getNearbyLivingEntities(@NotNull Location loc, double radius, @Nullable Predicate<LivingEntity> predicate)
loc
- Center locationradius
- X Radiuspredicate
- a predicate used to filter results@NotNull default Collection<LivingEntity> getNearbyLivingEntities(@NotNull Location loc, double xzRadius, double yRadius, @Nullable Predicate<LivingEntity> predicate)
loc
- Center locationxzRadius
- X/Z RadiusyRadius
- Y Radiuspredicate
- a predicate used to filter results@NotNull default Collection<LivingEntity> getNearbyLivingEntities(@NotNull Location loc, double xRadius, double yRadius, double zRadius, @Nullable Predicate<LivingEntity> predicate)
loc
- Center locationxRadius
- X RadiusyRadius
- Y RadiuszRadius
- Z radiuspredicate
- a predicate used to filter results@NotNull default Collection<Player> getNearbyPlayers(@NotNull Location loc, double radius)
loc
- Center locationradius
- X/Y/Z Radius@NotNull default Collection<Player> getNearbyPlayers(@NotNull Location loc, double xzRadius, double yRadius)
loc
- Center locationxzRadius
- X/Z RadiusyRadius
- Y Radius@NotNull default Collection<Player> getNearbyPlayers(@NotNull Location loc, double xRadius, double yRadius, double zRadius)
loc
- Center locationxRadius
- X RadiusyRadius
- Y RadiuszRadius
- Z Radius@NotNull default Collection<Player> getNearbyPlayers(@NotNull Location loc, double radius, @Nullable Predicate<Player> predicate)
loc
- Center locationradius
- X/Y/Z Radiuspredicate
- a predicate used to filter results@NotNull default Collection<Player> getNearbyPlayers(@NotNull Location loc, double xzRadius, double yRadius, @Nullable Predicate<Player> predicate)
loc
- Center locationxzRadius
- X/Z RadiusyRadius
- Y Radiuspredicate
- a predicate used to filter results@NotNull default Collection<Player> getNearbyPlayers(@NotNull Location loc, double xRadius, double yRadius, double zRadius, @Nullable Predicate<Player> predicate)
loc
- Center locationxRadius
- X RadiusyRadius
- Y RadiuszRadius
- Z Radiuspredicate
- a predicate used to filter results@NotNull default <T extends Entity> Collection<T> getNearbyEntitiesByType(@Nullable Class<? extends T> clazz, @NotNull Location loc, double radius)
T
- the entity typeclazz
- Type to filter byloc
- Center locationradius
- X/Y/Z radius to search within@NotNull default <T extends Entity> Collection<T> getNearbyEntitiesByType(@Nullable Class<? extends T> clazz, @NotNull Location loc, double xzRadius, double yRadius)
T
- the entity typeclazz
- Type to filter byloc
- Center locationxzRadius
- X/Z radius to search withinyRadius
- Y radius to search within@NotNull default <T extends Entity> Collection<T> getNearbyEntitiesByType(@Nullable Class<? extends T> clazz, @NotNull Location loc, double xRadius, double yRadius, double zRadius)
T
- the entity typeclazz
- Type to filter byloc
- Center locationxRadius
- X RadiusyRadius
- Y RadiuszRadius
- Z Radius@NotNull default <T extends Entity> Collection<T> getNearbyEntitiesByType(@Nullable Class<? extends T> clazz, @NotNull Location loc, double radius, @Nullable Predicate<T> predicate)
T
- the entity typeclazz
- Type to filter byloc
- Center locationradius
- X/Y/Z radius to search withinpredicate
- a predicate used to filter results@NotNull default <T extends Entity> Collection<T> getNearbyEntitiesByType(@Nullable Class<? extends T> clazz, @NotNull Location loc, double xzRadius, double yRadius, @Nullable Predicate<T> predicate)
T
- the entity typeclazz
- Type to filter byloc
- Center locationxzRadius
- X/Z radius to search withinyRadius
- Y radius to search withinpredicate
- a predicate used to filter results@NotNull default <T extends Entity> Collection<T> getNearbyEntitiesByType(@Nullable Class<? extends Entity> clazz, @NotNull Location loc, double xRadius, double yRadius, double zRadius, @Nullable Predicate<T> predicate)
T
- the entity typeclazz
- Type to filter byloc
- Center locationxRadius
- X RadiusyRadius
- Y RadiuszRadius
- Z Radiuspredicate
- a predicate used to filter results@NotNull List<Player> getPlayers()
@NotNull Collection<Entity> getNearbyEntities(@NotNull Location location, double x, double y, double z)
This may not consider entities in currently unloaded chunks. Some implementations may impose artificial restrictions on the size of the search bounding box.
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@Nullable Entity getEntity(@NotNull UUID uuid)
uuid
- the UUID of the entity@NotNull Collection<Entity> getNearbyEntities(@NotNull Location location, double x, double y, double z, @Nullable Predicate<Entity> filter)
This may not consider entities in currently unloaded chunks. Some implementations may impose artificial restrictions on the size of the search bounding box.
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,
or null
to consider all entities@NotNull Collection<Entity> getNearbyEntities(@NotNull BoundingBox boundingBox)
This may not consider entities in currently unloaded chunks. Some implementations may impose artificial restrictions on the size of the search bounding box.
boundingBox
- the bounding box@NotNull Collection<Entity> getNearbyEntities(@NotNull BoundingBox boundingBox, @Nullable Predicate<Entity> filter)
This may not consider entities in currently unloaded chunks. Some implementations may impose artificial restrictions on the size of the search bounding box.
boundingBox
- the bounding boxfilter
- only entities that fulfill this predicate are considered,
or null
to consider all entities@Nullable RayTraceResult rayTraceEntities(@NotNull Location start, @NotNull Vector direction, double maxDistance)
This may not consider entities in currently unloaded chunks. Some implementations may impose artificial restrictions on the maximum distance.
start
- the start positiondirection
- the ray directionmaxDistance
- the maximum distancenull
if there
is no hitrayTraceEntities(Location, Vector, double, double, Predicate)
@Nullable RayTraceResult rayTraceEntities(@NotNull Location start, @NotNull Vector direction, double maxDistance, double raySize)
This may not consider entities in currently unloaded chunks. Some implementations may impose artificial restrictions on the maximum distance.
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 checksnull
if there
is no hitrayTraceEntities(Location, Vector, double, double, Predicate)
@Nullable RayTraceResult rayTraceEntities(@NotNull Location start, @NotNull Vector direction, double maxDistance, @Nullable Predicate<Entity> filter)
This may not consider entities in currently unloaded chunks. Some implementations may impose artificial restrictions on the maximum distance.
start
- the start positiondirection
- the ray directionmaxDistance
- the maximum distancefilter
- only entities that fulfill this predicate are considered,
or null
to consider all entitiesnull
if there
is no hitrayTraceEntities(Location, Vector, double, double, Predicate)
@Nullable RayTraceResult rayTraceEntities(@NotNull Location start, @NotNull Vector direction, double maxDistance, double raySize, @Nullable Predicate<Entity> filter)
This may not consider entities in currently unloaded chunks. Some implementations may impose artificial restrictions on the maximum distance.
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,
or null
to consider all entitiesnull
if there
is no hit@Nullable RayTraceResult rayTraceBlocks(@NotNull Location start, @NotNull Vector direction, double maxDistance)
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.
start
- the start locationdirection
- the ray directionmaxDistance
- the maximum distancenull
if there is no hitrayTraceBlocks(Location, Vector, double, FluidCollisionMode, boolean)
@Nullable RayTraceResult rayTraceBlocks(@NotNull Location start, @NotNull Vector direction, double maxDistance, @NotNull FluidCollisionMode fluidCollisionMode)
This takes collisions with passable blocks into account.
This may cause loading of chunks! Some implementations may impose artificial restrictions on the maximum distance.
start
- the start locationdirection
- the ray directionmaxDistance
- the maximum distancefluidCollisionMode
- the fluid collision modenull
if there is no hitrayTraceBlocks(Location, Vector, double, FluidCollisionMode, boolean)
@Nullable RayTraceResult rayTraceBlocks(@NotNull Location start, @NotNull Vector direction, double maxDistance, @NotNull FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks)
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.
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, ..)null
if there is no hit@Nullable RayTraceResult rayTrace(@NotNull Location start, @NotNull Vector direction, double maxDistance, @NotNull FluidCollisionMode fluidCollisionMode, boolean ignorePassableBlocks, double raySize, @Nullable Predicate<Entity> filter)
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.
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,
or null
to consider all entitiesnull
if there is no hit@NotNull String getName()
@NotNull UUID getUID()
@NotNull Location getSpawnLocation()
Location
of this world@NotNull boolean setSpawnLocation(@NotNull Location location)
location
- The Location
to set the spawn for this world at.boolean setSpawnLocation(int x, int y, int z)
x
- X coordinatey
- Y coordinatez
- Z coordinatelong getTime()
The relative time is analogous to hours * 1000
Returns an absolute time of this world
void setTime(long time)
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)
time
- The new relative time to set the in-game time to (in
hours*1000)Sets the absolute time of this world
long getFullTime()
Returns a relative time of this world
void setFullTime(long time)
Note that this sets the full time of the world, which may cause adverse effects such as breaking redstone clocks and any scheduled events
time
- The new absolute time to set this world toSets the relative time of this world
boolean isDayTime()
boolean hasStorm()
void setStorm(boolean hasStorm)
hasStorm
- Whether there is rain and snowint getWeatherDuration()
void setWeatherDuration(int duration)
duration
- Time in ticksboolean isThundering()
void setThundering(boolean thundering)
thundering
- Whether it is thunderingint getThunderDuration()
void setThunderDuration(int duration)
duration
- Duration in ticksboolean createExplosion(double x, double y, double z, float power)
x
- X coordinatey
- Y coordinatez
- Z coordinatepower
- The power of explosion, where 4F is TNTboolean createExplosion(double x, double y, double z, float power, boolean setFire)
x
- X coordinatey
- Y coordinatez
- Z coordinatepower
- The power of explosion, where 4F is TNTsetFire
- Whether or not to set blocks on fireboolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks)
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 destroyedboolean createExplosion(@NotNull Location loc, float power)
loc
- Location to blow uppower
- The power of explosion, where 4F is TNTboolean createExplosion(@NotNull Location loc, float power, boolean setFire)
loc
- Location to blow uppower
- The power of explosion, where 4F is TNTsetFire
- Whether or not to set blocks on fireboolean createExplosion(@Nullable Entity source, @NotNull Location loc, float power, boolean setFire, boolean breakBlocks)
source
- The source entity of the explosionloc
- 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 destroyeddefault boolean createExplosion(@Nullable Entity source, @NotNull Location loc, float power, boolean setFire)
source
- The source entity of the explosionloc
- Location to blow uppower
- The power of explosion, where 4F is TNTsetFire
- Whether or not to set blocks on firedefault boolean createExplosion(@Nullable Entity source, @NotNull Location loc, float power)
source
- The source entity of the explosionloc
- Location to blow uppower
- The power of explosion, where 4F is TNTdefault boolean createExplosion(@NotNull Entity source, float power, boolean setFire, boolean breakBlocks)
source
- The source entity of the explosionpower
- The power of explosion, where 4F is TNTsetFire
- Whether or not to set blocks on firebreakBlocks
- Whether or not to have blocks be destroyeddefault boolean createExplosion(@NotNull Entity source, float power, boolean setFire)
source
- The source entity of the explosionpower
- The power of explosion, where 4F is TNTsetFire
- Whether or not to set blocks on firedefault boolean createExplosion(@NotNull Entity source, float power)
source
- The source entity of the explosionpower
- The power of explosion, where 4F is TNTdefault boolean createExplosion(@NotNull Location loc, float power, boolean setFire, boolean breakBlocks)
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@NotNull World.Environment getEnvironment()
World.Environment
type of this worldlong getSeed()
boolean getPVP()
void setPVP(boolean pvp)
pvp
- True/False whether PVP should be Enabled.@Nullable ChunkGenerator getGenerator()
void save()
@NotNull List<BlockPopulator> getPopulators()
BlockPopulator
s for this World@NotNull <T extends Entity> T spawn(@NotNull Location location, @NotNull Class<T> clazz) throws IllegalArgumentException
Location
T
- the class of the Entity
to spawnlocation
- the Location
to spawn the entity atclazz
- the class of the Entity
to spawnEntity
IllegalArgumentException
- if either parameter is null or the
Entity
requested cannot be spawned@NotNull <T extends Entity> T spawn(@NotNull Location location, @NotNull Class<T> clazz, @Nullable Consumer<T> function) throws IllegalArgumentException
Location
, with
the supplied function run before the entity is added to the world.
T
- the class of the Entity
to spawnlocation
- the Location
to spawn the entity atclazz
- the class of the Entity
to spawnfunction
- the function to be run before the entity is spawned.Entity
IllegalArgumentException
- if either parameter is null or the
Entity
requested cannot be spawned@NotNull FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull MaterialData data) throws IllegalArgumentException
FallingBlock
entity at the given Location
of
the specified Material
. 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.
location
- The Location
to spawn the FallingBlockdata
- The block dataFallingBlock
instanceIllegalArgumentException
- if Location
or MaterialData
are null or Material
of the MaterialData
is not a block@NotNull FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull BlockData data) throws IllegalArgumentException
FallingBlock
entity at the given Location
of
the specified Material
. 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.
location
- The Location
to spawn the FallingBlockdata
- The block dataFallingBlock
instanceIllegalArgumentException
- if Location
or BlockData
are null@Deprecated @NotNull FallingBlock spawnFallingBlock(@NotNull Location location, @NotNull Material material, byte data) throws IllegalArgumentException
FallingBlock
entity at the given Location
of the
specified Material
. 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.
location
- The Location
to spawn the FallingBlockmaterial
- The block Material
typedata
- The block dataFallingBlock
instanceIllegalArgumentException
- if Location
or Material
are null or Material
is not a blockvoid playEffect(@NotNull Location location, @NotNull Effect effect, int data)
void playEffect(@NotNull Location location, @NotNull Effect effect, int data, int radius)
<T> void playEffect(@NotNull Location location, @NotNull Effect effect, @Nullable T data)
<T> void playEffect(@NotNull Location location, @NotNull Effect effect, @Nullable T data, int radius)
@NotNull ChunkSnapshot getEmptyChunkSnapshot(int x, int z, boolean includeBiome, boolean includeBiomeTemp)
x
- - chunk x coordinatez
- - chunk z coordinateincludeBiome
- - if true, snapshot includes per-coordinate biome
typeincludeBiomeTemp
- - if true, snapshot includes per-coordinate
raw biome temperaturevoid setSpawnFlags(boolean allowMonsters, boolean allowAnimals)
allowMonsters
- - if true, monsters are allowed to spawn in this
world.allowAnimals
- - if true, animals are allowed to spawn in this
world.boolean getAllowAnimals()
boolean getAllowMonsters()
@NotNull Biome getBiome(int x, int z)
x
- X coordinate of the blockz
- Z coordinate of the blockvoid setBiome(int x, int z, @NotNull Biome bio)
x
- X coordinate of the blockz
- Z coordinate of the blockbio
- new Biome type for this blockdouble getTemperature(int x, int z)
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.
x
- X coordinate of the blockz
- Z coordinate of the blockdouble getHumidity(int x, int z)
It is safe to run this method when the block does not exist, it will not create the block.
x
- X coordinate of the blockz
- Z coordinate of the blockint getMaxHeight()
If the max height is 100, there are only blocks from y=0 to y=99.
int getSeaLevel()
This is often half of getMaxHeight()
boolean getKeepSpawnInMemory()
void setKeepSpawnInMemory(boolean keepLoaded)
keepLoaded
- if true then the world's spawn area will be kept
loaded into memory.boolean isAutoSave()
void setAutoSave(boolean value)
value
- true if the world should automatically save, otherwise
falsevoid setDifficulty(@NotNull Difficulty difficulty)
difficulty
- the new difficulty you want to set the world to@NotNull Difficulty getDifficulty()
@NotNull File getWorldFolder()
@Nullable WorldType getWorldType()
boolean canGenerateStructures()
long getTicksPerAnimalSpawns()
This value determines how many ticks there are between attempts to spawn animals.
Example Usage:
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.
void setTicksPerAnimalSpawns(int ticksPerAnimalSpawns)
This value determines how many ticks there are between attempts to spawn animals.
Example Usage:
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.
ticksPerAnimalSpawns
- the ticks per animal spawns value you want
to set the world tolong getTicksPerMonsterSpawns()
This value determines how many ticks there are between attempts to spawn monsters.
Example Usage:
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.
void setTicksPerMonsterSpawns(int ticksPerMonsterSpawns)
This value determines how many ticks there are between attempts to spawn monsters.
Example Usage:
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.
ticksPerMonsterSpawns
- the ticks per monster spawns value you
want to set the world toint getMonsterSpawnLimit()
void setMonsterSpawnLimit(int limit)
Note: If set to a negative number the world will use the server-wide spawn limit instead.
limit
- the new mob limitint getAnimalSpawnLimit()
void setAnimalSpawnLimit(int limit)
Note: If set to a negative number the world will use the server-wide spawn limit instead.
limit
- the new mob limitint getWaterAnimalSpawnLimit()
void setWaterAnimalSpawnLimit(int limit)
Note: If set to a negative number the world will use the server-wide spawn limit instead.
limit
- the new mob limitint getAmbientSpawnLimit()
void setAmbientSpawnLimit(int limit)
Note: If set to a negative number the world will use the server-wide spawn limit instead.
limit
- the new mob limitvoid playSound(@NotNull Location location, @NotNull Sound sound, float volume, float pitch)
This function will fail silently if Location or Sound are null.
location
- The location to play the soundsound
- The sound to playvolume
- The volume of the soundpitch
- The pitch of the soundvoid playSound(@NotNull Location location, @NotNull String sound, float volume, float pitch)
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.
location
- the location to play the soundsound
- the internal sound name to playvolume
- the volume of the soundpitch
- the pitch of the soundvoid playSound(@NotNull Location location, @NotNull Sound sound, @NotNull SoundCategory category, float volume, float pitch)
This function will fail silently if Location or Sound are null.
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 soundvoid playSound(@NotNull Location location, @NotNull String sound, @NotNull SoundCategory category, float volume, float pitch)
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.
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@NotNull String[] getGameRules()
GameRule
s.GameRule
names.@Deprecated @Contract("null -> null; !null -> !null") @Nullable String getGameRuleValue(@Nullable String rule)
getGameRuleValue(GameRule)
insteadWill return null if rule passed is null
rule
- Rule to look up value of@Deprecated boolean setGameRuleValue(@NotNull String rule, @NotNull String value)
setGameRule(GameRule, Object)
instead.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.
rule
- Rule to setvalue
- Value to set rule toboolean isGameRule(@NotNull String rule)
rule
- Rule to check@Nullable <T> T getGameRuleValue(@NotNull GameRule<T> rule)
GameRule
.T
- the GameRule's typerule
- the GameRule to check@Nullable <T> T getGameRuleDefault(@NotNull GameRule<T> rule)
GameRule
. This value is not
guaranteed to match the current value.T
- the type of GameRulerule
- the rule to return a default value for<T> boolean setGameRule(@NotNull GameRule<T> rule, @NotNull T newValue)
GameRule
's new value.T
- the value type of the GameRulerule
- the GameRule to updatenewValue
- the new value@NotNull WorldBorder getWorldBorder()
void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count)
particle
- the particle to spawnlocation
- the location to spawn atcount
- the number of particlesvoid spawnParticle(@NotNull Particle particle, double x, double y, double z, int count)
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<T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, @Nullable T data)
T
- Typeparticle
- 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 on Particle.getDataType()
<T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, @Nullable T data)
T
- Typeparticle
- 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 on Particle.getDataType()
void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ)
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 axisvoid spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ)
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<T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, @Nullable T data)
T
- Typeparticle
- 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 on Particle.getDataType()
<T> void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, @Nullable T data)
T
- Typeparticle
- 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 on Particle.getDataType()
void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, double extra)
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)void spawnParticle(@NotNull Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra)
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)<T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data)
T
- Typeparticle
- 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 on Particle.getDataType()
default <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)
T
- Typeparticle
- 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 on Particle.getDataType()
default <T> void spawnParticle(@NotNull Particle particle, @Nullable List<Player> receivers, @NotNull Player source, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data)
T
- Typeparticle
- the particle to spawnreceivers
- List of players to receive the particles, or null for all in worldsource
- Source of the particles to be used in visibility checks, or null if no player sourcex
- 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 on Particle.getDataType()
<T> void spawnParticle(@NotNull Particle particle, @Nullable List<Player> receivers, @Nullable Player source, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data, boolean force)
T
- Typeparticle
- the particle to spawnreceivers
- List of players to receive the particles, or null for all in worldsource
- Source of the particles to be used in visibility checks, or null if no player sourcex
- 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 on Particle.getDataType()
force
- allows the particle to be seen further away from the player
and shows to players using any vanilla client particle settings<T> void spawnParticle(@NotNull Particle particle, @NotNull Location location, int count, double offsetX, double offsetY, double offsetZ, double extra, @Nullable T data, boolean force)
T
- Particle data typeparticle
- 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 on Particle.getDataType()
force
- whether to send the particle to players within an extended
range and encourage their client to render it regardless of
settings<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)
T
- Particle data typeparticle
- 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 on Particle.getDataType()
force
- whether to send the particle to players within an extended
range and encourage their client to render it regardless of
settings@Nullable Location locateNearestStructure(@NotNull Location origin, @NotNull StructureType structureType, int radius, boolean findUnexplored)
StructureType
.
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.
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 structuresLocation
, or null if no structure of the
specified type exists.@NotNull World.Spigot spigot()
Copyright © 2020. All rights reserved.