java.lang.Object
api.linlang.tool.LinLocations
世界坐标的无状态转换与比较工具。
-
方法概要
修饰符和类型方法说明static org.bukkit.LocationaddCopy(org.bukkit.Location location, org.bukkit.util.Vector vector) 返回与向量相加后的坐标副本。static org.bukkit.LocationblockCenter(org.bukkit.Location location) 将坐标移动到所在方块的几何中心。static org.bukkit.Locationcenter(org.bukkit.block.Block block) 返回方块中心坐标。static longchunkKey(org.bukkit.Location location) 返回坐标所在区块的打包键。static intchunkX(org.bukkit.Location location) 返回坐标所在区块的 X 坐标。static intchunkZ(org.bukkit.Location location) 返回坐标所在区块的 Z 坐标。static org.bukkit.util.VectordirectionTo(org.bukkit.Location from, org.bukkit.Location target) 计算从起点指向目标点的单位方向向量。static doubledistance(org.bukkit.Location left, org.bukkit.Location right) 计算同一世界中两个坐标的直线距离。static doubledistanceSquared(org.bukkit.Location left, org.bukkit.Location right) 计算同一世界中两个坐标的距离平方。static doublehorizontalDistanceSquared(org.bukkit.Location left, org.bukkit.Location right) 计算同一世界中两个坐标忽略高度后的水平距离平方。static org.bukkit.LocationlookAtCopy(org.bukkit.Location location, org.bukkit.Location target) 返回朝向目标点的坐标副本。static booleansameBlock(org.bukkit.Location left, org.bukkit.Location right) 判断两个坐标是否指向同一方块。static booleansameWorld(org.bukkit.Location left, org.bukkit.Location right) 判断两个坐标是否位于同一世界。static org.bukkit.LocationsubtractCopy(org.bukkit.Location location, org.bukkit.util.Vector vector) 返回与向量相减后的坐标副本。static booleanwithin(org.bukkit.Location left, org.bukkit.Location right, double radius) 判断两个坐标是否位于给定直线距离内。
-
方法详细资料
-
center
public static org.bukkit.Location center(org.bukkit.block.Block block) 返回方块中心坐标。- 参数:
block- 方块- 返回:
- 位于方块几何中心的新坐标
-
blockCenter
public static org.bukkit.Location blockCenter(org.bukkit.Location location) 将坐标移动到所在方块的几何中心。- 参数:
location- 原坐标- 返回:
- 不修改原坐标的新坐标
-
sameWorld
public static boolean sameWorld(org.bukkit.Location left, org.bukkit.Location right) 判断两个坐标是否位于同一世界。- 参数:
left- 左侧坐标right- 右侧坐标- 返回:
- 世界相同时为
true
-
sameBlock
public static boolean sameBlock(org.bukkit.Location left, org.bukkit.Location right) 判断两个坐标是否指向同一方块。- 参数:
left- 左侧坐标right- 右侧坐标- 返回:
- 世界和方块坐标均相同时为
true
-
distanceSquared
public static double distanceSquared(org.bukkit.Location left, org.bukkit.Location right) 计算同一世界中两个坐标的距离平方。- 参数:
left- 左侧坐标right- 右侧坐标- 返回:
- 距离平方
- 抛出:
IllegalArgumentException- 坐标不在同一世界时
-
distance
public static double distance(org.bukkit.Location left, org.bukkit.Location right) 计算同一世界中两个坐标的直线距离。- 参数:
left- 左侧坐标right- 右侧坐标- 返回:
- 直线距离
- 抛出:
IllegalArgumentException- 坐标不在同一世界时
-
horizontalDistanceSquared
public static double horizontalDistanceSquared(org.bukkit.Location left, org.bukkit.Location right) 计算同一世界中两个坐标忽略高度后的水平距离平方。- 参数:
left- 左侧坐标right- 右侧坐标- 返回:
- 水平距离平方
- 抛出:
IllegalArgumentException- 坐标不在同一世界时
-
within
public static boolean within(org.bukkit.Location left, org.bukkit.Location right, double radius) 判断两个坐标是否位于给定直线距离内。- 参数:
left- 左侧坐标right- 右侧坐标radius- 最大距离- 返回:
- 位于同一世界且距离不超过半径时为
true
-
directionTo
public static org.bukkit.util.Vector directionTo(org.bukkit.Location from, org.bukkit.Location target) 计算从起点指向目标点的单位方向向量。- 参数:
from- 起点target- 目标点- 返回:
- 单位方向向量;两点重合时返回零向量
- 抛出:
IllegalArgumentException- 坐标不在同一世界时
-
addCopy
public static org.bukkit.Location addCopy(org.bukkit.Location location, org.bukkit.util.Vector vector) 返回与向量相加后的坐标副本。- 参数:
location- 原坐标vector- 位移向量- 返回:
- 新坐标
-
subtractCopy
public static org.bukkit.Location subtractCopy(org.bukkit.Location location, org.bukkit.util.Vector vector) 返回与向量相减后的坐标副本。- 参数:
location- 原坐标vector- 位移向量- 返回:
- 新坐标
-
lookAtCopy
public static org.bukkit.Location lookAtCopy(org.bukkit.Location location, org.bukkit.Location target) 返回朝向目标点的坐标副本。两点重合时保留原坐标的朝向。
- 参数:
location- 原坐标target- 目标点- 返回:
- 修改朝向后的新坐标
-
chunkX
public static int chunkX(org.bukkit.Location location) 返回坐标所在区块的 X 坐标。- 参数:
location- 坐标- 返回:
- 区块 X 坐标
-
chunkZ
public static int chunkZ(org.bukkit.Location location) 返回坐标所在区块的 Z 坐标。- 参数:
location- 坐标- 返回:
- 区块 Z 坐标
-
chunkKey
public static long chunkKey(org.bukkit.Location location) 返回坐标所在区块的打包键。- 参数:
location- 坐标- 返回:
- 由区块 X、Z 坐标组成的长整数
-