From 2e4688801964a28a5784534b3213e9980d715496 Mon Sep 17 00:00:00 2001 From: CarmJos Date: Sun, 27 Feb 2022 18:22:51 +0800 Subject: [PATCH] =?UTF-8?q?[#12]=20=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../userprefix/manager/UserManager.java | 4 ++-- .../userprefix/nametag/UserNameTag.java | 19 +++++++++---------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/main/java/cc/carm/plugin/userprefix/manager/UserManager.java b/src/main/java/cc/carm/plugin/userprefix/manager/UserManager.java index 6c60dbb..00bdc93 100644 --- a/src/main/java/cc/carm/plugin/userprefix/manager/UserManager.java +++ b/src/main/java/cc/carm/plugin/userprefix/manager/UserManager.java @@ -85,7 +85,7 @@ public class UserManager { boolean descOrder = PluginConfig.Functions.NAME_ORDER_DESC.get(); if (onlinePlayerTag != null) { onlinePlayerTag.setPrefix(player, playerPrefix.getContent()); - onlinePlayerTag.setOrder(player, descOrder ? 99999 - playerPrefix.getWeight() : playerPrefix.getWeight()); + onlinePlayerTag.setOrder(player, descOrder ? 999 - playerPrefix.getWeight() : playerPrefix.getWeight()); Main.debug("为玩家 " + onlinePlayer.getName() + " 设置了 " + player.getName() + "的前缀为 #" + playerPrefix.getWeight() + " " + playerPrefix.getName()); } @@ -93,7 +93,7 @@ public class UserManager { if (loadOthers) { ConfiguredPrefix onlinePlayerPrefix = UserManager.getPrefix(onlinePlayer); tag.setPrefix(onlinePlayer, onlinePlayerPrefix.getContent()); - tag.setOrder(onlinePlayer, descOrder ? 99999 - onlinePlayerPrefix.getWeight() : onlinePlayerPrefix.getWeight()); + tag.setOrder(onlinePlayer, descOrder ? 999 - onlinePlayerPrefix.getWeight() : onlinePlayerPrefix.getWeight()); Main.debug("为玩家 " + player.getName() + " 设置了 " + onlinePlayer.getName() + "的前缀为 #" + onlinePlayerPrefix.getWeight() + " " + onlinePlayerPrefix.getName()); } } diff --git a/src/main/java/cc/carm/plugin/userprefix/nametag/UserNameTag.java b/src/main/java/cc/carm/plugin/userprefix/nametag/UserNameTag.java index ed60b51..8e145e8 100644 --- a/src/main/java/cc/carm/plugin/userprefix/nametag/UserNameTag.java +++ b/src/main/java/cc/carm/plugin/userprefix/nametag/UserNameTag.java @@ -4,6 +4,7 @@ import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.scoreboard.Scoreboard; import org.bukkit.scoreboard.Team; +import org.jetbrains.annotations.Range; import java.util.HashMap; import java.util.Map; @@ -12,10 +13,12 @@ import java.util.UUID; public class UserNameTag { + public static final int MAX_ORDER = 999; + private final Player viewer; private Team team; private final Scoreboard sb; - private int order = 99999; + private int order = MAX_ORDER; private final Map targetOrders = new HashMap<>(); private final Map previousTeamNames = new HashMap<>(); @@ -63,11 +66,9 @@ public class UserNameTag { /** * 设置名字在TabList中的顺序 * - * @param order 顺序 (0~99999) + * @param order 顺序 (0~999) */ - public void setOrder(int order) { - if (order < 0 || order > 99999) - throw new IllegalArgumentException("order must be in 0~99999"); + public void setOrder(@Range(from = 0, to = 999) int order) { this.order = order; targetOrders.put(viewer.getUniqueId(), order); update(viewer); @@ -78,9 +79,7 @@ public class UserNameTag { * * @param order 顺序 */ - public void setOrder(Player target, int order) { - if (order < 0 || order > 99999) throw new IllegalArgumentException("order must be in 0~99999"); - + public void setOrder(Player target, @Range(from = 0, to = 999) int order) { Team targetTeam = checkTeam(target); String teamName = order + UUID.randomUUID().toString().substring(0, 10); targetTeam.setDisplayName(teamName); @@ -109,7 +108,7 @@ public class UserNameTag { team = newTeam; } } else { - int order = targetOrders.getOrDefault(target.getUniqueId(), 99999); + int order = targetOrders.getOrDefault(target.getUniqueId(), 999); String previousTeamName = previousTeamNames.get(target.getUniqueId()); if (previousTeamName == null) { return; @@ -137,7 +136,7 @@ public class UserNameTag { } private Team checkTeam(Player target) { - int order = targetOrders.getOrDefault(target.getUniqueId(), 99999); + int order = targetOrders.getOrDefault(target.getUniqueId(), 999); String name = order + target.getUniqueId().toString().substring(0, 10); Team targetTeam = this.sb.getTeam(name); if (targetTeam == null) {