From 3c19c8165fc899754ec1379ebf72ff2df51501f1 Mon Sep 17 00:00:00 2001 From: Carm Date: Tue, 4 Feb 2025 15:03:39 +0800 Subject: [PATCH] =?UTF-8?q?feat(content):=20=E4=B8=BA=E5=89=8D=E7=BC=80?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E6=94=AF=E6=8C=81PAPI=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../carm/plugin/userprefix/command/admin/ListCommand.java | 2 +- .../carm/plugin/userprefix/conf/prefix/PrefixConfig.java | 7 ++++--- .../carm/plugin/userprefix/hooker/UserPrefixExpansion.java | 6 +++++- .../cc/carm/plugin/userprefix/manager/UserManager.java | 6 +++--- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/cc/carm/plugin/userprefix/command/admin/ListCommand.java b/src/main/java/cc/carm/plugin/userprefix/command/admin/ListCommand.java index c614639..99bd29e 100644 --- a/src/main/java/cc/carm/plugin/userprefix/command/admin/ListCommand.java +++ b/src/main/java/cc/carm/plugin/userprefix/command/admin/ListCommand.java @@ -22,7 +22,7 @@ public Void execute(JavaPlugin plugin, CommandSender sender, String[] args) { PluginMessages.LIST.VALUE.send(sender, value.getWeight(), value.getIdentifier(), value.getName(), value.getPermission(), - value.getContent(), sender.getName() + value.getContent(sender), sender.getName() ); } return null; diff --git a/src/main/java/cc/carm/plugin/userprefix/conf/prefix/PrefixConfig.java b/src/main/java/cc/carm/plugin/userprefix/conf/prefix/PrefixConfig.java index f55da23..decf0d8 100644 --- a/src/main/java/cc/carm/plugin/userprefix/conf/prefix/PrefixConfig.java +++ b/src/main/java/cc/carm/plugin/userprefix/conf/prefix/PrefixConfig.java @@ -1,9 +1,10 @@ package cc.carm.plugin.userprefix.conf.prefix; import cc.carm.lib.easyplugin.gui.configuration.GUIActionConfiguration; -import cc.carm.lib.easyplugin.utils.ColorParser; +import cc.carm.lib.easyplugin.utils.MessageUtils; import cc.carm.lib.mineconfiguration.bukkit.value.item.PreparedItem; import cc.carm.plugin.userprefix.manager.ServiceManager; +import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.Contract; @@ -57,8 +58,8 @@ public String getName() { } @NotNull - public String getContent() { - return ColorParser.parse(content); + public String getContent(CommandSender viewer) { + return MessageUtils.setPlaceholders(viewer, content); } public int getWeight() { diff --git a/src/main/java/cc/carm/plugin/userprefix/hooker/UserPrefixExpansion.java b/src/main/java/cc/carm/plugin/userprefix/hooker/UserPrefixExpansion.java index d086d4f..813c711 100644 --- a/src/main/java/cc/carm/plugin/userprefix/hooker/UserPrefixExpansion.java +++ b/src/main/java/cc/carm/plugin/userprefix/hooker/UserPrefixExpansion.java @@ -42,7 +42,11 @@ public UserPrefixExpansion(@NotNull JavaPlugin plugin, @NotNull String rootIdent public PlaceholderHandler handlePrefix(Function handler) { return handlePlayer((player, args) -> handler.apply(UserPrefixAPI.getUserManager().getPrefix(player))); } - + + public PlaceholderHandler handlePrefix(BiFunction handler) { + return handlePlayer((player, args) -> handler.apply(UserPrefixAPI.getUserManager().getPrefix(player), player)); + } + /** * This is required or else PlaceholderAPI will unregister the Expansion on reload */ 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 7e40c1b..2a5eb5e 100644 --- a/src/main/java/cc/carm/plugin/userprefix/manager/UserManager.java +++ b/src/main/java/cc/carm/plugin/userprefix/manager/UserManager.java @@ -80,7 +80,7 @@ public void updatePrefixView(Player player, boolean loadOthers) { PrefixConfig playerPrefix = getPrefix(player); boolean descOrder = PluginConfig.FUNCTIONS.NAME_PREFIX.ORDER_DESC.getNotNull(); - tag.setPrefix(playerPrefix.getContent()); + tag.setPrefix(playerPrefix.getContent(player)); tag.setOrder(descOrder ? 999 - playerPrefix.getWeight() : playerPrefix.getWeight()); Main.debugging("为玩家 " + player.getName() + " 设置了 " + player.getName() + "的前缀为 #" + playerPrefix.getWeight() + " " + playerPrefix.getName()); @@ -90,7 +90,7 @@ public void updatePrefixView(Player player, boolean loadOthers) { UserNameTag onlinePlayerTag = getNameTag(onlinePlayer); if (onlinePlayerTag != null) { - onlinePlayerTag.setPrefix(player, playerPrefix.getContent()); + onlinePlayerTag.setPrefix(player, playerPrefix.getContent(onlinePlayer)); onlinePlayerTag.setOrder(player, descOrder ? 999 - playerPrefix.getWeight() : playerPrefix.getWeight()); Main.debugging("为玩家 " + onlinePlayer.getName() + " 设置了 " + player.getName() + "的前缀为 #" + playerPrefix.getWeight() + " " + playerPrefix.getName()); @@ -98,7 +98,7 @@ public void updatePrefixView(Player player, boolean loadOthers) { if (loadOthers) { PrefixConfig onlinePlayerPrefix = getPrefix(onlinePlayer); - tag.setPrefix(onlinePlayer, onlinePlayerPrefix.getContent()); + tag.setPrefix(onlinePlayer, onlinePlayerPrefix.getContent(player)); tag.setOrder(onlinePlayer, descOrder ? 999 - onlinePlayerPrefix.getWeight() : onlinePlayerPrefix.getWeight()); Main.debugging("为玩家 " + player.getName() + " 设置了 " + onlinePlayer.getName() + "的前缀为 #" + onlinePlayerPrefix.getWeight() + " " + onlinePlayerPrefix.getName()); }