java.lang.Object
api.linlang.tool.LinPlayers
在线玩家查询与权限判断工具。
-
方法概要
修饰符和类型方法说明static longcurrentExperience(org.bukkit.entity.Player player) 根据玩家等级和经验条进度计算当前累计经验。static longexperienceForNextLevel(int level) 计算指定等级升至下一级所需的完整经验值。static longexperienceToLevel(org.bukkit.entity.Player player, int targetLevel) 计算玩家到达目标等级起点所需的经验差值。static longexperienceToNextLevel(org.bukkit.entity.Player player) 计算玩家距离下一级还需要的经验。static Optional<org.bukkit.entity.Player>findOnline(String name) 按完整名称查找在线玩家。static Optional<org.bukkit.entity.Player>findOnline(UUID id) 按 UUID 查找在线玩家。static booleanhasAllPermissions(org.bukkit.entity.Player player, String... permissions) 判断玩家是否拥有给出的全部权限。static booleanhasAnyPermission(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>online()返回全部在线玩家的快照。static List<org.bukkit.entity.Player>searchOnline(String prefix) 按名称前缀搜索在线玩家。static longtotalExperienceAtLevel(int level) 计算恰好到达指定等级所需的累计经验值。
-
方法详细资料
-
findOnline
按完整名称查找在线玩家。- 参数:
name- 玩家名称- 返回:
- 在线玩家;不存在时为空
-
findOnline
按 UUID 查找在线玩家。- 参数:
id- 玩家 UUID- 返回:
- 在线玩家;不存在时为空
-
online
返回全部在线玩家的快照。- 返回:
- 按服务器玩家顺序排列的不可修改快照
-
searchOnline
按名称前缀搜索在线玩家。- 参数:
prefix- 名称前缀- 返回:
- 按名称排序的匹配玩家快照
-
nearby
查找指定坐标一定半径内的在线玩家。- 参数:
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
查找指定坐标一定半径内最近的在线玩家。- 参数:
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
判断玩家是否拥有给出的全部权限。- 参数:
player- 玩家permissions- 权限节点- 返回:
- 所有非空权限均满足时为
true
-
hasAnyPermission
判断玩家是否拥有给出的任一权限。- 参数:
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- 目标等级- 返回:
- 带方向的经验差值
-