Fix prefix display logic and add updateall admin command for display names
This commit is contained in:
parent
cc8f4b0f92
commit
64c672c02e
2 changed files with 21 additions and 2 deletions
|
|
@ -84,6 +84,9 @@ public class GradientAdminCommand implements CommandExecutor, TabCompleter {
|
||||||
case "prefixoff" -> handlePrefixToggle(sender, args, false, msg);
|
case "prefixoff" -> handlePrefixToggle(sender, args, false, msg);
|
||||||
case "resetcolor" -> handleResetColor(sender, args, msg);
|
case "resetcolor" -> handleResetColor(sender, args, msg);
|
||||||
case "resetprefix" -> handleResetPrefix(sender, args, msg);
|
case "resetprefix" -> handleResetPrefix(sender, args, msg);
|
||||||
|
case "updateall" -> {
|
||||||
|
handleUpdateAll(sender, msg);
|
||||||
|
}
|
||||||
default -> sendHelp(sender);
|
default -> sendHelp(sender);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,6 +103,7 @@ public class GradientAdminCommand implements CommandExecutor, TabCompleter {
|
||||||
sender.sendMessage("§e/aprefix prefixon/prefixoff <игрок> §7— вкл/выкл префикс");
|
sender.sendMessage("§e/aprefix prefixon/prefixoff <игрок> §7— вкл/выкл префикс");
|
||||||
sender.sendMessage("§e/aprefix resetcolor <игрок> §7— сбросить цвет");
|
sender.sendMessage("§e/aprefix resetcolor <игрок> §7— сбросить цвет");
|
||||||
sender.sendMessage("§e/aprefix resetprefix <игрок> §7— сбросить префикс");
|
sender.sendMessage("§e/aprefix resetprefix <игрок> §7— сбросить префикс");
|
||||||
|
sender.sendMessage("§e/aprefix updateall §7— обновить display names всех игроков");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleInfo(CommandSender sender, String playerName, GradientMessages msg) {
|
private void handleInfo(CommandSender sender, String playerName, GradientMessages msg) {
|
||||||
|
|
@ -315,6 +319,17 @@ public class GradientAdminCommand implements CommandExecutor, TabCompleter {
|
||||||
sender.sendMessage("§aПрефикс для игрока §f" + args[1] + " §aсброшен");
|
sender.sendMessage("§aПрефикс для игрока §f" + args[1] + " §aсброшен");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void handleUpdateAll(CommandSender sender, GradientMessages msg) {
|
||||||
|
int count = 0;
|
||||||
|
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||||
|
GradientPlayerData data = module.getDataManager().getPlayerData(player.getUniqueId());
|
||||||
|
FoliaUtil.runEntityTask(module.getPlugin(), player,
|
||||||
|
() -> DisplayNameUtil.updateDisplayName(module, player, data));
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
sender.sendMessage("§aОбновлены display names для §f" + count + " §aигроков");
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command,
|
public @Nullable List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command,
|
||||||
@NotNull String alias, @NotNull String[] args) {
|
@NotNull String alias, @NotNull String[] args) {
|
||||||
|
|
@ -322,7 +337,7 @@ public class GradientAdminCommand implements CommandExecutor, TabCompleter {
|
||||||
|
|
||||||
if (args.length == 1) {
|
if (args.length == 1) {
|
||||||
return Arrays.asList("reload", "info", "setcolor", "setprefix", "coloron", "coloroff",
|
return Arrays.asList("reload", "info", "setcolor", "setprefix", "coloron", "coloroff",
|
||||||
"prefixon", "prefixoff", "resetcolor", "resetprefix").stream()
|
"prefixon", "prefixoff", "resetcolor", "resetprefix", "updateall").stream()
|
||||||
.filter(s -> s.startsWith(args[0].toLowerCase()))
|
.filter(s -> s.startsWith(args[0].toLowerCase()))
|
||||||
.toList();
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,9 +31,12 @@ public final class DisplayNameUtil {
|
||||||
String prefix = null;
|
String prefix = null;
|
||||||
String prefixFormat = cfg.getPrefixFormat();
|
String prefixFormat = cfg.getPrefixFormat();
|
||||||
|
|
||||||
|
// Определяем префикс: сначала кастомный, потом LuckPerms
|
||||||
if (data.isPrefixEnabled() && data.hasPrefix()) {
|
if (data.isPrefixEnabled() && data.hasPrefix()) {
|
||||||
|
// Есть кастомный префикс
|
||||||
prefix = data.getPrefix();
|
prefix = data.getPrefix();
|
||||||
} else {
|
} else if (module.getLuckPermsHook().isEnabled()) {
|
||||||
|
// Нет кастомного префикса, проверяем LuckPerms
|
||||||
String lpPrefix = module.getLuckPermsHook().getActivePrefix(player);
|
String lpPrefix = module.getLuckPermsHook().getActivePrefix(player);
|
||||||
if (lpPrefix != null && !lpPrefix.isEmpty()) {
|
if (lpPrefix != null && !lpPrefix.isEmpty()) {
|
||||||
String displayName = buildWithLuckPermsPrefix(
|
String displayName = buildWithLuckPermsPrefix(
|
||||||
|
|
@ -52,6 +55,7 @@ public final class DisplayNameUtil {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Строим display name с кастомным префиксом или без префикса
|
||||||
String displayName = GradientUtil.buildDisplayName(
|
String displayName = GradientUtil.buildDisplayName(
|
||||||
prefix,
|
prefix,
|
||||||
player.getName(),
|
player.getName(),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue