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

类 LinPlayers

java.lang.Object
api.linlang.tool.LinPlayers

public final class LinPlayers extends Object
在线玩家查询与权限判断工具。
  • 方法概要

    修饰符和类型
    方法
    说明
    static long
    currentExperience(org.bukkit.entity.Player player)
    根据玩家等级和经验条进度计算当前累计经验。
    static long
    计算指定等级升至下一级所需的完整经验值。
    static long
    experienceToLevel(org.bukkit.entity.Player player, int targetLevel)
    计算玩家到达目标等级起点所需的经验差值。
    static long
    experienceToNextLevel(org.bukkit.entity.Player player)
    计算玩家距离下一级还需要的经验。
    static Optional<org.bukkit.entity.Player>
    按完整名称查找在线玩家。
    static Optional<org.bukkit.entity.Player>
    按 UUID 查找在线玩家。
    static boolean
    hasAllPermissions(org.bukkit.entity.Player player, String... permissions)
    判断玩家是否拥有给出的全部权限。
    static boolean
    hasAnyPermission(org.bukkit.entity.Player player, String... permissions)
    判断玩家是否拥有给出的任一权限。
    static List<org.bukkit.entity.Player>
    nearby(org.bukkit.Location origin, double radius)
    查找指定坐标一定半径内的在线玩家。
    static List<org.bukkit.entity.Player>
    nearby(org.bukkit.Location origin, double radius, org.bukkit.entity.Player excluded)
    查找指定坐标一定半径内的在线玩家,并排除指定玩家。
    static Optional<org.bukkit.entity.Player>
    nearest(org.bukkit.Location origin, double radius)
    查找指定坐标一定半径内最近的在线玩家。
    static Optional<org.bukkit.entity.Player>
    nearest(org.bukkit.Location origin, double radius, org.bukkit.entity.Player excluded)
    查找指定坐标一定半径内最近的在线玩家,并排除指定玩家。
    static List<org.bukkit.entity.Player>
    返回全部在线玩家的快照。
    static List<org.bukkit.entity.Player>
    按名称前缀搜索在线玩家。
    static long
    计算恰好到达指定等级所需的累计经验值。

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

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

    • findOnline

      public static Optional<org.bukkit.entity.Player> findOnline(String name)
      按完整名称查找在线玩家。
      参数:
      name - 玩家名称
      返回:
      在线玩家;不存在时为空
    • findOnline

      public static Optional<org.bukkit.entity.Player> findOnline(UUID id)
      按 UUID 查找在线玩家。
      参数:
      id - 玩家 UUID
      返回:
      在线玩家;不存在时为空
    • online

      public static List<org.bukkit.entity.Player> online()
      返回全部在线玩家的快照。
      返回:
      按服务器玩家顺序排列的不可修改快照
    • searchOnline

      public static List<org.bukkit.entity.Player> searchOnline(String prefix)
      按名称前缀搜索在线玩家。
      参数:
      prefix - 名称前缀
      返回:
      按名称排序的匹配玩家快照
    • nearby

      public static List<org.bukkit.entity.Player> nearby(org.bukkit.Location origin, double radius)
      查找指定坐标一定半径内的在线玩家。
      参数:
      origin - 中心坐标
      radius - 半径
      返回:
      按服务器玩家顺序排列的快照
    • nearby

      public static List<org.bukkit.entity.Player> nearby(org.bukkit.Location origin, double radius, org.bukkit.entity.Player excluded)
      查找指定坐标一定半径内的在线玩家,并排除指定玩家。
      参数:
      origin - 中心坐标
      radius - 半径
      excluded - 需要排除的玩家,可为 null
      返回:
      按服务器玩家顺序排列的快照
    • nearest

      public static Optional<org.bukkit.entity.Player> nearest(org.bukkit.Location origin, double radius)
      查找指定坐标一定半径内最近的在线玩家。
      参数:
      origin - 中心坐标
      radius - 半径
      返回:
      最近玩家;范围内没有在线玩家时为空
    • nearest

      public static Optional<org.bukkit.entity.Player> nearest(org.bukkit.Location origin, double radius, org.bukkit.entity.Player excluded)
      查找指定坐标一定半径内最近的在线玩家,并排除指定玩家。
      参数:
      origin - 中心坐标
      radius - 半径
      excluded - 需要排除的玩家,可为 null
      返回:
      最近玩家;范围内没有在线玩家时为空
    • hasAllPermissions

      public static boolean hasAllPermissions(org.bukkit.entity.Player player, String... permissions)
      判断玩家是否拥有给出的全部权限。
      参数:
      player - 玩家
      permissions - 权限节点
      返回:
      所有非空权限均满足时为 true
    • hasAnyPermission

      public static boolean hasAnyPermission(org.bukkit.entity.Player player, String... permissions)
      判断玩家是否拥有给出的任一权限。
      参数:
      player - 玩家
      permissions - 权限节点
      返回:
      至少一个非空权限满足时为 true
    • experienceForNextLevel

      public static long experienceForNextLevel(int level)
      计算指定等级升至下一级所需的完整经验值。
      参数:
      level - 当前等级
      返回:
      升至下一级所需经验
    • totalExperienceAtLevel

      public static long totalExperienceAtLevel(int level)
      计算恰好到达指定等级所需的累计经验值。
      参数:
      level - 目标等级
      返回:
      该等级起点对应的累计经验
      抛出:
      ArithmeticException - 结果超过 long 范围时
    • currentExperience

      public static long currentExperience(org.bukkit.entity.Player player)
      根据玩家等级和经验条进度计算当前累计经验。

      该方法不使用可能与等级状态脱节的 Player.getTotalExperience()。

      参数:
      player - 玩家
      返回:
      当前等级状态对应的累计经验
    • experienceToNextLevel

      public static long experienceToNextLevel(org.bukkit.entity.Player player)
      计算玩家距离下一级还需要的经验。
      参数:
      player - 玩家
      返回:
      需要增加的经验值
    • experienceToLevel

      public static long experienceToLevel(org.bukkit.entity.Player player, int targetLevel)
      计算玩家到达目标等级起点所需的经验差值。

      正数表示需要增加经验,负数表示需要扣除经验,零表示已经位于目标等级起点。

      参数:
      player - 玩家
      targetLevel - 目标等级
      返回:
      带方向的经验差值