From acb840cffb2e5b6e723810cb2220a73ed2f76c7f Mon Sep 17 00:00:00 2001 From: TheStonedTurtle <29030969+TheStonedTurtle@users.noreply.github.com> Date: Fri, 14 Dec 2018 08:39:37 -0800 Subject: [PATCH] clanchat plugin: add CC rank icons to oublic and private messages --- .../plugins/clanchat/ClanChatConfig.java | 22 ++++++++ .../plugins/clanchat/ClanChatPlugin.java | 50 +++++++++++++++---- 2 files changed, 63 insertions(+), 9 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatConfig.java index cfddcb84a5..5fdd7996be 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatConfig.java @@ -104,4 +104,26 @@ public interface ClanChatConfig extends Config { return ClanMemberRank.UNRANKED; } + + @ConfigItem( + keyName = "privateMessageIcons", + name = "Private Message Icons", + description = "Add clan chat rank icons to private messages received from clan mates.", + position = 6 + ) + default boolean privateMessageIcons() + { + return false; + } + + @ConfigItem( + keyName = "publicChatIcons", + name = "Public Chat Icons", + description = "Add clan chat rank icons to public chat messages from clan mates.", + position = 7 + ) + default boolean publicChatIcons() + { + return false; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java index 3e57a0723f..ef1f27e3cf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java @@ -353,10 +353,38 @@ public class ClanChatPlugin extends Plugin return; } - if (chatMessage.getType() == ChatMessageType.CLANCHAT && client.getClanChatCount() > 0) + if (client.getClanChatCount() <= 0) { - insertClanRankIcon(chatMessage); + return; } + + switch (chatMessage.getType()) + { + case PRIVATE_MESSAGE_RECEIVED: + case PRIVATE_MESSAGE_RECEIVED_MOD: + if (!config.privateMessageIcons()) + { + return; + } + break; + case PUBLIC: + case PUBLIC_MOD: + if (!config.publicChatIcons()) + { + return; + } + break; + case CLANCHAT: + if (!config.clanChatIcons()) + { + return; + } + break; + default: + return; + } + + insertClanRankIcon(chatMessage); } @Subscribe @@ -431,18 +459,22 @@ public class ClanChatPlugin extends Plugin private void insertClanRankIcon(final ChatMessage message) { - if (!config.clanChatIcons()) - { - return; - } - final ClanMemberRank rank = clanManager.getRank(message.getName()); if (rank != null && rank != ClanMemberRank.UNRANKED) { int iconNumber = clanManager.getIconNumber(rank); - message.getMessageNode() - .setSender(message.getMessageNode().getSender() + " "); + final String img = ""; + if (message.getType() == ChatMessageType.CLANCHAT) + { + message.getMessageNode() + .setSender(message.getMessageNode().getSender() + " " + img); + } + else + { + message.getMessageNode() + .setName(img + message.getMessageNode().getName()); + } client.refreshChat(); } }