Package org.bukkit
Class Location
java.lang.Object
org.bukkit.Location
 All Implemented Interfaces:
Cloneable
,ConfigurationSerializable
public class Location extends Object implements Cloneable, ConfigurationSerializable
Represents a 3dimensional position in a world.
No constraints are placed on any angular values other than that they be specified in degrees. This means that negative angles or angles of greater magnitude than 360 are valid, but may be normalized to any other equivalent representation by the implementation.
No constraints are placed on any angular values other than that they be specified in degrees. This means that negative angles or angles of greater magnitude than 360 are valid, but may be normalized to any other equivalent representation by the implementation.

Constructor Summary

Method Summary
Modifier and Type Method Description Location
add(double x, double y, double z)
Adds the location by another.Location
add(Location vec)
Adds the location by another.Location
add(Vector vec)
Adds the location by a vector.void
checkFinite()
Check if each component of this Location is finite.Location
clone()
static Location
deserialize(Map<String,Object> args)
Required method for deserializationdouble
distance(Location o)
Get the distance between this location and another.double
distanceSquared(Location o)
Get the squared distance between this location and another.boolean
equals(Object obj)
Block
getBlock()
Gets the block at the represented locationint
getBlockX()
Gets the floored value of the X component, indicating the block that this location is contained with.int
getBlockY()
Gets the floored value of the Y component, indicating the block that this location is contained with.int
getBlockZ()
Gets the floored value of the Z component, indicating the block that this location is contained with.Chunk
getChunk()
Gets the chunk at the represented locationVector
getDirection()
Gets a unitvector pointing in the direction that this Location is facing.float
getPitch()
Gets the pitch of this location, measured in degrees.World
getWorld()
Gets the world that this location resides indouble
getX()
Gets the xcoordinate of this locationdouble
getY()
Gets the ycoordinate of this locationfloat
getYaw()
Gets the yaw of this location, measured in degrees.double
getZ()
Gets the zcoordinate of this locationint
hashCode()
boolean
isWorldLoaded()
Checks if world in this location is present and loaded.double
length()
Gets the magnitude of the location, defined as sqrt(x^2+y^2+z^2).double
lengthSquared()
Gets the magnitude of the location squared.static int
locToBlock(double loc)
Safely converts a double (location coordinate) to an int (block coordinate)Location
multiply(double m)
Performs scalar multiplication, multiplying all components with a scalar.static float
normalizePitch(float pitch)
Normalizes the given pitch angle to a value between+/90
degrees.static float
normalizeYaw(float yaw)
Normalizes the given yaw angle to a value between+/180
degrees.Map<String,Object>
serialize()
Creates a Map representation of this class.Location
setDirection(Vector vector)
void
setPitch(float pitch)
Sets the pitch of this location, measured in degrees.void
setWorld(World world)
Sets the world that this location resides invoid
setX(double x)
Sets the xcoordinate of this locationvoid
setY(double y)
Sets the ycoordinate of this locationvoid
setYaw(float yaw)
Sets the yaw of this location, measured in degrees.void
setZ(double z)
Sets the zcoordinate of this locationLocation
subtract(double x, double y, double z)
Subtracts the location by another.Location
subtract(Location vec)
Subtracts the location by another.Location
subtract(Vector vec)
Subtracts the location by a vector.String
toString()
Vector
toVector()
Constructs a newVector
based on this LocationLocation
zero()
Zero this location's components.

Constructor Details

Location
Constructs a new Location with the given coordinates Parameters:
world
 The world in which this location residesx
 The xcoordinate of this new locationy
 The ycoordinate of this new locationz
 The zcoordinate of this new location

Location
Constructs a new Location with the given coordinates and direction Parameters:
world
 The world in which this location residesx
 The xcoordinate of this new locationy
 The ycoordinate of this new locationz
 The zcoordinate of this new locationyaw
 The absolute rotation on the xplane, in degreespitch
 The absolute rotation on the yplane, in degrees


Method Details

setWorld
Sets the world that this location resides in Parameters:
world
 New world that this location resides in

isWorldLoaded
public boolean isWorldLoaded()Checks if world in this location is present and loaded. Returns:
 true if is loaded, otherwise false

getWorld
Gets the world that this location resides in Returns:
 World that contains this location, or
null
if it is not set  Throws:
IllegalArgumentException
 when world is unloaded See Also:
isWorldLoaded()

getChunk
Gets the chunk at the represented location Returns:
 Chunk at the represented location

getBlock
Gets the block at the represented location Returns:
 Block at the represented location

setX
public void setX(double x)Sets the xcoordinate of this location Parameters:
x
 Xcoordinate

getX
public double getX()Gets the xcoordinate of this location Returns:
 xcoordinate

getBlockX
public int getBlockX()Gets the floored value of the X component, indicating the block that this location is contained with. Returns:
 block X

setY
public void setY(double y)Sets the ycoordinate of this location Parameters:
y
 ycoordinate

getY
public double getY()Gets the ycoordinate of this location Returns:
 ycoordinate

getBlockY
public int getBlockY()Gets the floored value of the Y component, indicating the block that this location is contained with. Returns:
 block y

setZ
public void setZ(double z)Sets the zcoordinate of this location Parameters:
z
 zcoordinate

getZ
public double getZ()Gets the zcoordinate of this location Returns:
 zcoordinate

getBlockZ
public int getBlockZ()Gets the floored value of the Z component, indicating the block that this location is contained with. Returns:
 block z

setYaw
public void setYaw(float yaw)Sets the yaw of this location, measured in degrees. A yaw of 0 or 360 represents the positive z direction.
 A yaw of 180 represents the negative z direction.
 A yaw of 90 represents the negative x direction.
 A yaw of 270 represents the positive x direction.
 Parameters:
yaw
 new rotation's yaw

getYaw
public float getYaw()Gets the yaw of this location, measured in degrees. A yaw of 0 or 360 represents the positive z direction.
 A yaw of 180 represents the negative z direction.
 A yaw of 90 represents the negative x direction.
 A yaw of 270 represents the positive x direction.
 Returns:
 the rotation's yaw

setPitch
public void setPitch(float pitch)Sets the pitch of this location, measured in degrees. A pitch of 0 represents level forward facing.
 A pitch of 90 represents downward facing, or negative y direction.
 A pitch of 90 represents upward facing, or positive y direction.
 Parameters:
pitch
 new incline's pitch

getPitch
public float getPitch()Gets the pitch of this location, measured in degrees. A pitch of 0 represents level forward facing.
 A pitch of 90 represents downward facing, or negative y direction.
 A pitch of 90 represents upward facing, or positive y direction.
 Returns:
 the incline's pitch

getDirection
Gets a unitvector pointing in the direction that this Location is facing. 
setDirection
 Parameters:
vector
 the direction vector Returns:
 the same location

add
Adds the location by another. Parameters:
vec
 The other location Returns:
 the same location
 Throws:
IllegalArgumentException
 for differing worlds See Also:
Vector

add
Adds the location by a vector. Parameters:
vec
 Vector to use Returns:
 the same location
 See Also:
Vector

add
Adds the location by another. Not worldaware. Parameters:
x
 X coordinatey
 Y coordinatez
 Z coordinate Returns:
 the same location
 See Also:
Vector

subtract
Subtracts the location by another. Parameters:
vec
 The other location Returns:
 the same location
 Throws:
IllegalArgumentException
 for differing worlds See Also:
Vector

subtract
Subtracts the location by a vector. Parameters:
vec
 The vector to use Returns:
 the same location
 See Also:
Vector

subtract
Subtracts the location by another. Not worldaware and orientation independent. Parameters:
x
 X coordinatey
 Y coordinatez
 Z coordinate Returns:
 the same location
 See Also:
Vector

length
public double length()Gets the magnitude of the location, defined as sqrt(x^2+y^2+z^2). The value of this method is not cached and uses a costly squareroot function, so do not repeatedly call this method to get the location's magnitude. NaN will be returned if the inner result of the sqrt() function overflows, which will be caused if the length is too long. Not worldaware and orientation independent. Returns:
 the magnitude
 See Also:
Vector

lengthSquared
public double lengthSquared()Gets the magnitude of the location squared. Not worldaware and orientation independent. Returns:
 the magnitude
 See Also:
Vector

distance
Get the distance between this location and another. The value of this method is not cached and uses a costly squareroot function, so do not repeatedly call this method to get the location's magnitude. NaN will be returned if the inner result of the sqrt() function overflows, which will be caused if the distance is too long. Parameters:
o
 The other location Returns:
 the distance
 Throws:
IllegalArgumentException
 for differing worlds See Also:
Vector

distanceSquared
Get the squared distance between this location and another. Parameters:
o
 The other location Returns:
 the distance
 Throws:
IllegalArgumentException
 for differing worlds See Also:
Vector

multiply
Performs scalar multiplication, multiplying all components with a scalar. Not worldaware. Parameters:
m
 The factor Returns:
 the same location
 See Also:
Vector

zero
Zero this location's components. Not worldaware. Returns:
 the same location
 See Also:
Vector

equals

hashCode
public int hashCode() 
toString

toVector
Constructs a newVector
based on this Location Returns:
 New Vector containing the coordinates represented by this Location

clone

checkFinite
Check if each component of this Location is finite. Throws:
IllegalArgumentException
 if any component is not finite

locToBlock
public static int locToBlock(double loc)Safely converts a double (location coordinate) to an int (block coordinate) Parameters:
loc
 Precise coordinate Returns:
 Block coordinate

serialize
Description copied from interface:ConfigurationSerializable
Creates a Map representation of this class.This class must provide a method to restore this class, as defined in the
ConfigurationSerializable
interface javadocs. Specified by:
serialize
in interfaceConfigurationSerializable
 Returns:
 Map containing the current state of this class

deserialize
Required method for deserialization Parameters:
args
 map to deserialize Returns:
 deserialized location
 Throws:
IllegalArgumentException
 if the world don't exists See Also:
ConfigurationSerializable

normalizeYaw
public static float normalizeYaw(float yaw)Normalizes the given yaw angle to a value between+/180
degrees. Parameters:
yaw
 the yaw in degrees Returns:
 the normalized yaw in degrees
 See Also:
getYaw()

normalizePitch
public static float normalizePitch(float pitch)Normalizes the given pitch angle to a value between+/90
degrees. Parameters:
pitch
 the pitch in degrees Returns:
 the normalized pitch in degrees
 See Also:
getPitch()
