diff --git a/server/src/main/java/dev/plex/command/impl/AdminChatCMD.java b/server/src/main/java/dev/plex/command/impl/AdminChatCMD.java index 30cf163..d8d9d94 100644 --- a/server/src/main/java/dev/plex/command/impl/AdminChatCMD.java +++ b/server/src/main/java/dev/plex/command/impl/AdminChatCMD.java @@ -10,6 +10,7 @@ import dev.plex.util.PlexUtils; import dev.plex.util.minimessage.SafeMiniMessage; import dev.plex.util.redis.MessageUtil; import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; import org.bukkit.command.CommandSender; @@ -26,20 +27,31 @@ public class AdminChatCMD extends PlexCommand @Override protected Component execute(@NotNull CommandSender sender, @Nullable Player playerSender, String[] args) { + PlexPlayer player; if (args.length == 0) { if (playerSender != null) { - PlexPlayer player = DataUtils.getPlayer(playerSender.getUniqueId()); + player = plugin.getPlayerCache().getPlexPlayer(playerSender.getUniqueId()); player.setStaffChat(!player.isStaffChat()); return messageComponent("adminChatToggled", BooleanUtils.toStringOnOff(player.isStaffChat())); } return usage(); } + String prefix; + if (playerSender != null) + { + player = plugin.getPlayerCache().getPlexPlayer(playerSender.getUniqueId()); + prefix = player.getPrefix(); + } + else + { + prefix = messageString(LegacyComponentSerializer.legacyAmpersand().serialize(mmString("[Console adminChat(String senderName, String message, UUID... ignore) + public static List adminChat(String senderName, String prefix, String message, UUID... ignore) { List sent = Lists.newArrayList(); for (Player player : Bukkit.getOnlinePlayers()) @@ -295,7 +295,7 @@ public class PlexUtils implements PlexBase } if (player.hasPermission("plex.adminchat")) { - player.sendMessage(PlexUtils.messageComponent("adminChatFormat", senderName, message).replaceText(ChatListener.URL_REPLACEMENT_CONFIG)); + player.sendMessage(PlexUtils.messageComponent("adminChatFormat", senderName, prefix, message).replaceText(ChatListener.URL_REPLACEMENT_CONFIG)); sent.add(player.getUniqueId()); } } diff --git a/server/src/main/java/dev/plex/util/redis/MessageUtil.java b/server/src/main/java/dev/plex/util/redis/MessageUtil.java index b58a805..0b98021 100644 --- a/server/src/main/java/dev/plex/util/redis/MessageUtil.java +++ b/server/src/main/java/dev/plex/util/redis/MessageUtil.java @@ -16,6 +16,7 @@ import redis.clients.jedis.JedisPubSub; import java.util.UUID; +import static dev.plex.PlexBase.plugin; import static dev.plex.util.PlexUtils.messageComponent; public class MessageUtil @@ -40,7 +41,7 @@ public class MessageUtil { }.getType()); String sender = object.getString("sender").isEmpty() ? "CONSOLE" : object.getString("sender"); - PlexUtils.adminChat(sender, object.getString("message"), ignore); + PlexUtils.adminChat(sender, plugin.getPlayerCache().getPlexPlayer(Bukkit.getPlayer(sender).getUniqueId()).getPrefix(), object.getString("message"), ignore); String[] server = object.getString("server").split(":"); if (!Bukkit.getServer().getIp().equalsIgnoreCase(server[0]) || Bukkit.getServer().getPort() != Integer.parseInt(server[1])) { diff --git a/server/src/main/resources/messages.yml b/server/src/main/resources/messages.yml index e481f57..9e94133 100644 --- a/server/src/main/resources/messages.yml +++ b/server/src/main/resources/messages.yml @@ -130,8 +130,9 @@ toggleCommandSpy: "CommandSpy has been" enabled: "enabled." disabled: "disabled." # 0 - The admin / staff member -# 1 - The message -adminChatFormat: '[AdminChat] {0} » {1}' +# 1 - The player's prefix +# 2 - The message +adminChatFormat: '[AdminChat] {0} {1} » {2}' # 0 - Whether it was toggled on or off adminChatToggled: 'AdminChat was toggled {0}' # 0 - Maximum length, configured in config.yml