模块 linlang.api
程序包 api.linlang.tool

类 LinLocations

java.lang.Object
api.linlang.tool.LinLocations

public final class LinLocations extends Object
世界坐标的无状态转换与比较工具。
  • 方法概要

    修饰符和类型
    方法
    说明
    static org.bukkit.Location
    addCopy(org.bukkit.Location location, org.bukkit.util.Vector vector)
    返回与向量相加后的坐标副本。
    static org.bukkit.Location
    blockCenter(org.bukkit.Location location)
    将坐标移动到所在方块的几何中心。
    static org.bukkit.Location
    center(org.bukkit.block.Block block)
    返回方块中心坐标。
    static long
    chunkKey(org.bukkit.Location location)
    返回坐标所在区块的打包键。
    static int
    chunkX(org.bukkit.Location location)
    返回坐标所在区块的 X 坐标。
    static int
    chunkZ(org.bukkit.Location location)
    返回坐标所在区块的 Z 坐标。
    static org.bukkit.util.Vector
    directionTo(org.bukkit.Location from, org.bukkit.Location target)
    计算从起点指向目标点的单位方向向量。
    static double
    distance(org.bukkit.Location left, org.bukkit.Location right)
    计算同一世界中两个坐标的直线距离。
    static double
    distanceSquared(org.bukkit.Location left, org.bukkit.Location right)
    计算同一世界中两个坐标的距离平方。
    static double
    horizontalDistanceSquared(org.bukkit.Location left, org.bukkit.Location right)
    计算同一世界中两个坐标忽略高度后的水平距离平方。
    static org.bukkit.Location
    lookAtCopy(org.bukkit.Location location, org.bukkit.Location target)
    返回朝向目标点的坐标副本。
    static boolean
    sameBlock(org.bukkit.Location left, org.bukkit.Location right)
    判断两个坐标是否指向同一方块。
    static boolean
    sameWorld(org.bukkit.Location left, org.bukkit.Location right)
    判断两个坐标是否位于同一世界。
    static org.bukkit.Location
    subtractCopy(org.bukkit.Location location, org.bukkit.util.Vector vector)
    返回与向量相减后的坐标副本。
    static boolean
    within(org.bukkit.Location left, org.bukkit.Location right, double radius)
    判断两个坐标是否位于给定直线距离内。

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 方法详细资料

    • 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 坐标组成的长整数