Merge pull request #6943 from TheStonedTurtle/PM-CC-Icons

Add CC icons to Public Chat & Private Messages
This commit is contained in:
Adam
2019-03-03 20:58:29 -05:00
committed by GitHub
2 changed files with 63 additions and 9 deletions

View File

@@ -104,4 +104,26 @@ public interface ClanChatConfig extends Config
{ {
return ClanMemberRank.UNRANKED; 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;
}
} }

View File

@@ -353,10 +353,38 @@ public class ClanChatPlugin extends Plugin
return; 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 @Subscribe
@@ -431,18 +459,22 @@ public class ClanChatPlugin extends Plugin
private void insertClanRankIcon(final ChatMessage message) private void insertClanRankIcon(final ChatMessage message)
{ {
if (!config.clanChatIcons())
{
return;
}
final ClanMemberRank rank = clanManager.getRank(message.getName()); final ClanMemberRank rank = clanManager.getRank(message.getName());
if (rank != null && rank != ClanMemberRank.UNRANKED) if (rank != null && rank != ClanMemberRank.UNRANKED)
{ {
int iconNumber = clanManager.getIconNumber(rank); int iconNumber = clanManager.getIconNumber(rank);
message.getMessageNode() final String img = "<img=" + iconNumber + ">";
.setSender(message.getMessageNode().getSender() + " <img=" + iconNumber + ">"); if (message.getType() == ChatMessageType.CLANCHAT)
{
message.getMessageNode()
.setSender(message.getMessageNode().getSender() + " " + img);
}
else
{
message.getMessageNode()
.setName(img + message.getMessageNode().getName());
}
client.refreshChat(); client.refreshChat();
} }
} }