diff --git a/runelite-api/src/main/java/net/runelite/api/events/ChatMessage.java b/runelite-api/src/main/java/net/runelite/api/events/ChatMessage.java
index 9b5e12b6fd..0f5182e22b 100644
--- a/runelite-api/src/main/java/net/runelite/api/events/ChatMessage.java
+++ b/runelite-api/src/main/java/net/runelite/api/events/ChatMessage.java
@@ -26,7 +26,9 @@ package net.runelite.api.events;
import lombok.AllArgsConstructor;
import lombok.Data;
+import lombok.NoArgsConstructor;
import net.runelite.api.ChatMessageType;
+import net.runelite.api.MessageNode;
/**
* An event where a new chat message is received.
@@ -38,8 +40,13 @@ import net.runelite.api.ChatMessageType;
*/
@Data
@AllArgsConstructor
+@NoArgsConstructor
public class ChatMessage
{
+ /**
+ * The underlying MessageNode for the message.
+ */
+ private MessageNode messageNode;
/**
* The type of message received.
*/
@@ -59,4 +66,8 @@ public class ChatMessage
* current name of the clan chat the client is in.
*/
private String sender;
+ /**
+ * Timestamp of the message.
+ */
+ private int timestamp;
}
diff --git a/runelite-api/src/main/java/net/runelite/api/events/SetMessage.java b/runelite-api/src/main/java/net/runelite/api/events/SetMessage.java
deleted file mode 100644
index 0dde863bcc..0000000000
--- a/runelite-api/src/main/java/net/runelite/api/events/SetMessage.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package net.runelite.api.events;
-
-import lombok.Data;
-import net.runelite.api.ChatMessageType;
-import net.runelite.api.MessageNode;
-
-/**
- * An event where a {@link MessageNode} has had its message set.
- *
- * Called whenever a message is received in the chat box.
- *
- * Editing the {@link #messageNode} properties will reflect the change when
- * the message in the chat is rendered. The original values of the message
- * are held by the other fields of this event.
- */
-@Data
-public class SetMessage
-{
- /**
- * The updated message node.
- */
- private MessageNode messageNode;
- /**
- * The set message type.
- */
- private ChatMessageType type;
- /**
- * The name of the player that sent the message.
- */
- private String name;
- /**
- * The sender of the message (ie. clan name).
- */
- private String sender;
- /**
- * The new message value.
- */
- private String value;
- /**
- * Timestamp of the message.
- */
- private int timestamp;
-}
diff --git a/runelite-client/src/main/java/net/runelite/client/chat/ChatCommand.java b/runelite-client/src/main/java/net/runelite/client/chat/ChatCommand.java
index fb2de339a3..6b4fb9eec2 100644
--- a/runelite-client/src/main/java/net/runelite/client/chat/ChatCommand.java
+++ b/runelite-client/src/main/java/net/runelite/client/chat/ChatCommand.java
@@ -28,7 +28,7 @@ import java.util.function.BiConsumer;
import java.util.function.BiPredicate;
import lombok.AllArgsConstructor;
import lombok.Getter;
-import net.runelite.api.events.SetMessage;
+import net.runelite.api.events.ChatMessage;
import net.runelite.client.events.ChatInput;
@AllArgsConstructor
@@ -37,6 +37,6 @@ class ChatCommand
{
private final String name;
private boolean async;
- private final BiConsumer execute;
+ private final BiConsumer execute;
private final BiPredicate input;
}
diff --git a/runelite-client/src/main/java/net/runelite/client/chat/ChatCommandManager.java b/runelite-client/src/main/java/net/runelite/client/chat/ChatCommandManager.java
index 4d062d5c91..415afd8d80 100644
--- a/runelite-client/src/main/java/net/runelite/client/chat/ChatCommandManager.java
+++ b/runelite-client/src/main/java/net/runelite/client/chat/ChatCommandManager.java
@@ -34,7 +34,7 @@ import javax.inject.Singleton;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.GameState;
-import net.runelite.api.events.SetMessage;
+import net.runelite.api.events.ChatMessage;
import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.ChatInput;
@@ -59,22 +59,22 @@ public class ChatCommandManager implements ChatboxInputListener
commandManager.register(this);
}
- public void registerCommand(String command, BiConsumer execute)
+ public void registerCommand(String command, BiConsumer execute)
{
registerCommand(command, execute, null);
}
- public void registerCommand(String command, BiConsumer execute, BiPredicate input)
+ public void registerCommand(String command, BiConsumer execute, BiPredicate input)
{
commands.put(command.toLowerCase(), new ChatCommand(command, false, execute, input));
}
- public void registerCommandAsync(String command, BiConsumer execute)
+ public void registerCommandAsync(String command, BiConsumer execute)
{
registerCommandAsync(command, execute, null);
}
- public void registerCommandAsync(String command, BiConsumer execute, BiPredicate input)
+ public void registerCommandAsync(String command, BiConsumer execute, BiPredicate input)
{
commands.put(command.toLowerCase(), new ChatCommand(command, true, execute, input));
}
@@ -85,14 +85,14 @@ public class ChatCommandManager implements ChatboxInputListener
}
@Subscribe
- public void onSetMessage(SetMessage setMessage)
+ public void onChatMessage(ChatMessage chatMessage)
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
- switch (setMessage.getType())
+ switch (chatMessage.getType())
{
case PUBLIC:
case PUBLIC_MOD:
@@ -104,7 +104,7 @@ public class ChatCommandManager implements ChatboxInputListener
return;
}
- String message = setMessage.getValue();
+ String message = chatMessage.getMessage();
String command = extractCommand(message);
if (command == null)
@@ -120,11 +120,11 @@ public class ChatCommandManager implements ChatboxInputListener
if (chatCommand.isAsync())
{
- scheduledExecutorService.execute(() -> chatCommand.getExecute().accept(setMessage, message));
+ scheduledExecutorService.execute(() -> chatCommand.getExecute().accept(chatMessage, message));
}
else
{
- chatCommand.getExecute().accept(setMessage, message);
+ chatCommand.getExecute().accept(chatMessage, message);
}
}
diff --git a/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java b/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java
index b563773915..0dc2d7de1d 100644
--- a/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java
+++ b/runelite-client/src/main/java/net/runelite/client/chat/ChatMessageManager.java
@@ -42,10 +42,10 @@ import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.MessageNode;
import net.runelite.api.Varbits;
+import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.ResizeableChanged;
import net.runelite.api.events.ScriptCallbackEvent;
-import net.runelite.api.events.SetMessage;
import net.runelite.api.events.VarbitChanged;
import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ChatColorConfig;
@@ -103,10 +103,10 @@ public class ChatMessageManager
}
@Subscribe
- public void onSetMessage(SetMessage setMessage)
+ public void onChatMessage(ChatMessage chatMessage)
{
- MessageNode messageNode = setMessage.getMessageNode();
- ChatMessageType chatMessageType = setMessage.getType();
+ MessageNode messageNode = chatMessage.getMessageNode();
+ ChatMessageType chatMessageType = chatMessage.getType();
boolean isChatboxTransparent = client.isResized() && client.getVar(Varbits.TRANSPARENT_CHATBOX) == 1;
Color usernameColor = null;
@@ -125,7 +125,7 @@ public class ChatMessageManager
case PUBLIC:
case PUBLIC_MOD:
{
- boolean isFriend = client.isFriended(setMessage.getName(), true) && !client.getLocalPlayer().getName().equals(setMessage.getName());
+ boolean isFriend = client.isFriended(chatMessage.getName(), true) && !client.getLocalPlayer().getName().equals(chatMessage.getName());
if (isFriend)
{
@@ -149,7 +149,7 @@ public class ChatMessageManager
messageNode.setName(ColorUtil.wrapWithColorTag(messageNode.getName(), usernameColor));
}
- String sender = setMessage.getSender();
+ String sender = chatMessage.getSender();
if (senderColor != null && !Strings.isNullOrEmpty(sender))
{
messageNode.setSender(ColorUtil.wrapWithColorTag(sender, senderColor));
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java
index a927782809..42a3a9baba 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java
@@ -43,7 +43,6 @@ import net.runelite.api.MessageNode;
import net.runelite.api.VarPlayer;
import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.GameTick;
-import net.runelite.api.events.SetMessage;
import net.runelite.api.events.VarbitChanged;
import net.runelite.api.events.WidgetLoaded;
import net.runelite.api.vars.AccountType;
@@ -360,14 +359,14 @@ public class ChatCommandsPlugin extends Plugin
return true;
}
- private void killCountLookup(SetMessage setMessage, String message)
+ private void killCountLookup(ChatMessage chatMessage, String message)
{
if (!config.killcount())
{
return;
}
- ChatMessageType type = setMessage.getType();
+ ChatMessageType type = chatMessage.getType();
String search = message.substring(KILLCOUNT_COMMAND_STRING.length() + 1);
final String player;
@@ -377,7 +376,7 @@ public class ChatCommandsPlugin extends Plugin
}
else
{
- player = sanitize(setMessage.getName());
+ player = sanitize(chatMessage.getName());
}
search = longBossName(search);
@@ -403,20 +402,20 @@ public class ChatCommandsPlugin extends Plugin
.build();
log.debug("Setting response {}", response);
- final MessageNode messageNode = setMessage.getMessageNode();
+ final MessageNode messageNode = chatMessage.getMessageNode();
messageNode.setRuneLiteFormatMessage(response);
chatMessageManager.update(messageNode);
client.refreshChat();
}
- private void questPointsLookup(SetMessage setMessage, String message)
+ private void questPointsLookup(ChatMessage chatMessage, String message)
{
if (!config.qp())
{
return;
}
- ChatMessageType type = setMessage.getType();
+ ChatMessageType type = chatMessage.getType();
final String player;
if (type.equals(ChatMessageType.PRIVATE_MESSAGE_SENT))
@@ -425,7 +424,7 @@ public class ChatCommandsPlugin extends Plugin
}
else
{
- player = sanitize(setMessage.getName());
+ player = sanitize(chatMessage.getName());
}
int qp;
@@ -447,7 +446,7 @@ public class ChatCommandsPlugin extends Plugin
.build();
log.debug("Setting response {}", response);
- final MessageNode messageNode = setMessage.getMessageNode();
+ final MessageNode messageNode = chatMessage.getMessageNode();
messageNode.setRuneLiteFormatMessage(response);
chatMessageManager.update(messageNode);
client.refreshChat();
@@ -477,14 +476,14 @@ public class ChatCommandsPlugin extends Plugin
return true;
}
- private void personalBestLookup(SetMessage setMessage, String message)
+ private void personalBestLookup(ChatMessage chatMessage, String message)
{
if (!config.pb())
{
return;
}
- ChatMessageType type = setMessage.getType();
+ ChatMessageType type = chatMessage.getType();
String search = message.substring(PB_COMMAND.length() + 1);
final String player;
@@ -494,7 +493,7 @@ public class ChatCommandsPlugin extends Plugin
}
else
{
- player = sanitize(setMessage.getName());
+ player = sanitize(chatMessage.getName());
}
search = longBossName(search);
@@ -523,7 +522,7 @@ public class ChatCommandsPlugin extends Plugin
.build();
log.debug("Setting response {}", response);
- final MessageNode messageNode = setMessage.getMessageNode();
+ final MessageNode messageNode = chatMessage.getMessageNode();
messageNode.setRuneLiteFormatMessage(response);
chatMessageManager.update(messageNode);
client.refreshChat();
@@ -565,17 +564,17 @@ public class ChatCommandsPlugin extends Plugin
* Looks up the item price and changes the original message to the
* response.
*
- * @param setMessage The chat message containing the command.
+ * @param chatMessage The chat message containing the command.
* @param message The chat message
*/
- private void itemPriceLookup(SetMessage setMessage, String message)
+ private void itemPriceLookup(ChatMessage chatMessage, String message)
{
if (!config.price())
{
return;
}
- MessageNode messageNode = setMessage.getMessageNode();
+ MessageNode messageNode = chatMessage.getMessageNode();
String search = message.substring(PRICE_COMMAND_STRING.length() + 1);
List results = itemManager.search(search);
@@ -621,10 +620,10 @@ public class ChatCommandsPlugin extends Plugin
* Looks up the player skill and changes the original message to the
* response.
*
- * @param setMessage The chat message containing the command.
+ * @param chatMessage The chat message containing the command.
* @param message The chat message
*/
- private void playerSkillLookup(SetMessage setMessage, String message)
+ private void playerSkillLookup(ChatMessage chatMessage, String message)
{
if (!config.lvl())
{
@@ -652,7 +651,7 @@ public class ChatCommandsPlugin extends Plugin
return;
}
- final HiscoreLookup lookup = getCorrectLookupFor(setMessage);
+ final HiscoreLookup lookup = getCorrectLookupFor(chatMessage);
try
{
@@ -682,7 +681,7 @@ public class ChatCommandsPlugin extends Plugin
.build();
log.debug("Setting response {}", response);
- final MessageNode messageNode = setMessage.getMessageNode();
+ final MessageNode messageNode = chatMessage.getMessageNode();
messageNode.setRuneLiteFormatMessage(response);
chatMessageManager.update(messageNode);
client.refreshChat();
@@ -693,14 +692,14 @@ public class ChatCommandsPlugin extends Plugin
}
}
- private void combatLevelLookup(SetMessage setMessage, String message)
+ private void combatLevelLookup(ChatMessage chatMessage, String message)
{
if (!config.lvl())
{
return;
}
- ChatMessageType type = setMessage.getType();
+ ChatMessageType type = chatMessage.getType();
String player;
if (type == ChatMessageType.PRIVATE_MESSAGE_SENT)
@@ -709,7 +708,7 @@ public class ChatCommandsPlugin extends Plugin
}
else
{
- player = sanitize(setMessage.getName());
+ player = sanitize(chatMessage.getName());
}
try
@@ -767,7 +766,7 @@ public class ChatCommandsPlugin extends Plugin
.build();
log.debug("Setting response {}", response);
- final MessageNode messageNode = setMessage.getMessageNode();
+ final MessageNode messageNode = chatMessage.getMessageNode();
messageNode.setRuneLiteFormatMessage(response);
chatMessageManager.update(messageNode);
client.refreshChat();
@@ -778,7 +777,7 @@ public class ChatCommandsPlugin extends Plugin
}
}
- private void clueLookup(SetMessage setMessage, String message)
+ private void clueLookup(ChatMessage chatMessage, String message)
{
if (!config.clue())
{
@@ -799,7 +798,7 @@ public class ChatCommandsPlugin extends Plugin
try
{
final Skill hiscoreSkill;
- final HiscoreLookup lookup = getCorrectLookupFor(setMessage);
+ final HiscoreLookup lookup = getCorrectLookupFor(chatMessage);
final HiscoreResult result = hiscoreClient.lookup(lookup.getName(), lookup.getEndpoint());
if (result == null)
@@ -858,7 +857,7 @@ public class ChatCommandsPlugin extends Plugin
String response = chatMessageBuilder.build();
log.debug("Setting response {}", response);
- final MessageNode messageNode = setMessage.getMessageNode();
+ final MessageNode messageNode = chatMessage.getMessageNode();
messageNode.setRuneLiteFormatMessage(response);
chatMessageManager.update(messageNode);
client.refreshChat();
@@ -872,22 +871,22 @@ public class ChatCommandsPlugin extends Plugin
/**
* Gets correct lookup data for message
*
- * @param setMessage chat message
+ * @param chatMessage chat message
* @return hiscore lookup data
*/
- private HiscoreLookup getCorrectLookupFor(final SetMessage setMessage)
+ private HiscoreLookup getCorrectLookupFor(final ChatMessage chatMessage)
{
final String player;
final HiscoreEndpoint ironmanStatus;
- if (setMessage.getType().equals(ChatMessageType.PRIVATE_MESSAGE_SENT))
+ if (chatMessage.getType().equals(ChatMessageType.PRIVATE_MESSAGE_SENT))
{
player = client.getLocalPlayer().getName();
ironmanStatus = hiscoreEndpoint;
}
else
{
- player = sanitize(setMessage.getName());
+ player = sanitize(chatMessage.getName());
if (player.equals(client.getLocalPlayer().getName()))
{
@@ -897,7 +896,7 @@ public class ChatCommandsPlugin extends Plugin
else
{
// Get ironman status from their icon in chat
- ironmanStatus = getHiscoreEndpointByName(setMessage.getName());
+ ironmanStatus = getHiscoreEndpointByName(chatMessage.getName());
}
}
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java
index 4f2ae79818..6ac89bf605 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java
@@ -30,8 +30,8 @@ import java.util.Queue;
import java.util.Set;
import javax.inject.Inject;
import net.runelite.api.ChatMessageType;
+import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.MenuOptionClicked;
-import net.runelite.api.events.SetMessage;
import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.chat.QueuedMessage;
import net.runelite.client.eventbus.Subscribe;
@@ -76,11 +76,11 @@ public class ChatHistoryPlugin extends Plugin
}
@Subscribe
- public void onSetMessage(SetMessage message)
+ public void onChatMessage(ChatMessage chatMessage)
{
// Start sending old messages right after the welcome message, as that is most reliable source
// of information that chat history was reset
- if (message.getValue().equals(WELCOME_MESSAGE))
+ if (chatMessage.getMessage().equals(WELCOME_MESSAGE))
{
QueuedMessage queuedMessage;
@@ -92,15 +92,15 @@ public class ChatHistoryPlugin extends Plugin
return;
}
- if (ALLOWED_HISTORY.contains(message.getType()))
+ if (ALLOWED_HISTORY.contains(chatMessage.getType()))
{
final QueuedMessage queuedMessage = QueuedMessage.builder()
- .type(message.getType())
- .name(message.getName())
- .sender(message.getSender())
- .value(nbsp(message.getValue()))
- .runeLiteFormattedMessage(nbsp(message.getMessageNode().getRuneLiteFormatMessage()))
- .timestamp(message.getTimestamp())
+ .type(chatMessage.getType())
+ .name(chatMessage.getName())
+ .sender(chatMessage.getSender())
+ .value(nbsp(chatMessage.getMessage()))
+ .runeLiteFormattedMessage(nbsp(chatMessage.getMessageNode().getRuneLiteFormatMessage()))
+ .timestamp(chatMessage.getTimestamp())
.build();
if (!messageQueue.contains(queuedMessage))
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java
index fd148c1e90..0bfd952e01 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java
@@ -35,9 +35,9 @@ import java.util.stream.Collectors;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.MessageNode;
+import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
-import net.runelite.api.events.SetMessage;
import net.runelite.client.Notifier;
import net.runelite.client.RuneLiteProperties;
import net.runelite.client.chat.ChatColorType;
@@ -124,29 +124,29 @@ public class ChatNotificationsPlugin extends Plugin
}
@Subscribe
- public void onSetMessage(SetMessage event)
+ public void onChatMessage(ChatMessage chatMessage)
{
- MessageNode messageNode = event.getMessageNode();
+ MessageNode messageNode = chatMessage.getMessageNode();
String nodeValue = Text.removeTags(messageNode.getValue());
boolean update = false;
- switch (event.getType())
+ switch (chatMessage.getType())
{
case TRADE:
- if (event.getValue().contains("wishes to trade with you.") && config.notifyOnTrade())
+ if (chatMessage.getMessage().contains("wishes to trade with you.") && config.notifyOnTrade())
{
- notifier.notify(event.getValue());
+ notifier.notify(chatMessage.getMessage());
}
break;
case DUEL:
- if (event.getValue().contains("wishes to duel with you.") && config.notifyOnDuel())
+ if (chatMessage.getMessage().contains("wishes to duel with you.") && config.notifyOnDuel())
{
- notifier.notify(event.getValue());
+ notifier.notify(chatMessage.getMessage());
}
break;
case GAME:
// Don't notify for notification messages
- if (event.getName().equals(runeLiteProperties.getTitle()))
+ if (chatMessage.getName().equals(runeLiteProperties.getTitle()))
{
return;
}
@@ -170,7 +170,7 @@ public class ChatNotificationsPlugin extends Plugin
if (config.notifyOnOwnName())
{
- sendNotification(event);
+ sendNotification(chatMessage);
}
}
}
@@ -196,7 +196,7 @@ public class ChatNotificationsPlugin extends Plugin
if (config.notifyOnHighlight())
{
- sendNotification(event);
+ sendNotification(chatMessage);
}
}
}
@@ -208,7 +208,7 @@ public class ChatNotificationsPlugin extends Plugin
}
}
- private void sendNotification(SetMessage message)
+ private void sendNotification(ChatMessage message)
{
String name = Text.removeTags(message.getName());
String sender = message.getSender();
@@ -224,7 +224,7 @@ public class ChatNotificationsPlugin extends Plugin
stringBuilder.append(name).append(": ");
}
- stringBuilder.append(Text.removeTags(message.getValue()));
+ stringBuilder.append(Text.removeTags(message.getMessage()));
String notification = stringBuilder.toString();
notifier.notify(notification);
}
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 b5ee817198..0b738c3f4b 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
@@ -35,13 +35,13 @@ import net.runelite.api.ClanMemberRank;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.VarClientStr;
-import net.runelite.api.widgets.WidgetType;
+import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameTick;
-import net.runelite.api.events.SetMessage;
import net.runelite.api.events.VarClientStrChanged;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
+import net.runelite.api.widgets.WidgetType;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.game.ClanManager;
@@ -134,20 +134,20 @@ public class ClanChatPlugin extends Plugin
}
@Subscribe
- public void onSetMessage(SetMessage setMessage)
+ public void onChatMessage(ChatMessage chatMessage)
{
if (client.getGameState() != GameState.LOADING && client.getGameState() != GameState.LOGGED_IN)
{
return;
}
- if (setMessage.getType() == ChatMessageType.CLANCHAT && client.getClanChatCount() > 0)
+ if (chatMessage.getType() == ChatMessageType.CLANCHAT && client.getClanChatCount() > 0)
{
- insertClanRankIcon(setMessage);
+ insertClanRankIcon(chatMessage);
}
}
- private void insertClanRankIcon(final SetMessage message)
+ private void insertClanRankIcon(final ChatMessage message)
{
final ClanMemberRank rank = clanManager.getRank(message.getName());
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java
index 3d3d64b25b..ff8d6e39bb 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java
@@ -60,7 +60,6 @@ import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick;
import net.runelite.api.events.NpcDespawned;
import net.runelite.api.events.NpcSpawned;
-import net.runelite.api.events.SetMessage;
import net.runelite.api.vars.SlayerUnlock;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
@@ -724,14 +723,14 @@ public class SlayerPlugin extends Plugin
counter = null;
}
- void taskLookup(SetMessage setMessage, String message)
+ void taskLookup(ChatMessage chatMessage, String message)
{
if (!config.taskCommand())
{
return;
}
- ChatMessageType type = setMessage.getType();
+ ChatMessageType type = chatMessage.getType();
final String player;
if (type.equals(ChatMessageType.PRIVATE_MESSAGE_SENT))
@@ -740,7 +739,7 @@ public class SlayerPlugin extends Plugin
}
else
{
- player = Text.removeTags(setMessage.getName())
+ player = Text.removeTags(chatMessage.getName())
.replace('\u00A0', ' ');
}
@@ -787,7 +786,7 @@ public class SlayerPlugin extends Plugin
.append(sb.toString())
.build();
- final MessageNode messageNode = setMessage.getMessageNode();
+ final MessageNode messageNode = chatMessage.getMessageNode();
messageNode.setRuneLiteFormatMessage(response);
chatMessageManager.update(messageNode);
client.refreshChat();
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtPlugin.java
index 32605d4ed0..f0da75dc18 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtPlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/wintertodt/WintertodtPlugin.java
@@ -32,7 +32,21 @@ import javax.inject.Inject;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
-import static net.runelite.api.AnimationID.*;
+import static net.runelite.api.AnimationID.CONSTRUCTION;
+import static net.runelite.api.AnimationID.FIREMAKING;
+import static net.runelite.api.AnimationID.FLETCHING_BOW_CUTTING;
+import static net.runelite.api.AnimationID.IDLE;
+import static net.runelite.api.AnimationID.LOOKING_INTO;
+import static net.runelite.api.AnimationID.WOODCUTTING_3A_AXE;
+import static net.runelite.api.AnimationID.WOODCUTTING_ADAMANT;
+import static net.runelite.api.AnimationID.WOODCUTTING_BLACK;
+import static net.runelite.api.AnimationID.WOODCUTTING_BRONZE;
+import static net.runelite.api.AnimationID.WOODCUTTING_DRAGON;
+import static net.runelite.api.AnimationID.WOODCUTTING_INFERNAL;
+import static net.runelite.api.AnimationID.WOODCUTTING_IRON;
+import static net.runelite.api.AnimationID.WOODCUTTING_MITHRIL;
+import static net.runelite.api.AnimationID.WOODCUTTING_RUNE;
+import static net.runelite.api.AnimationID.WOODCUTTING_STEEL;
import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.InventoryID;
@@ -43,9 +57,9 @@ import static net.runelite.api.ItemID.BRUMA_ROOT;
import net.runelite.api.MessageNode;
import net.runelite.api.Player;
import net.runelite.api.events.AnimationChanged;
+import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.GameTick;
import net.runelite.api.events.ItemContainerChanged;
-import net.runelite.api.events.SetMessage;
import net.runelite.client.Notifier;
import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.config.ConfigManager;
@@ -192,21 +206,21 @@ public class WintertodtPlugin extends Plugin
}
@Subscribe
- public void onSetMessage(SetMessage setMessage)
+ public void onSetMessage(ChatMessage chatMessage)
{
if (!isInWintertodt)
{
return;
}
- ChatMessageType chatMessageType = setMessage.getType();
+ ChatMessageType chatMessageType = chatMessage.getType();
if (chatMessageType != ChatMessageType.SERVER && chatMessageType != ChatMessageType.FILTERED)
{
return;
}
- MessageNode messageNode = setMessage.getMessageNode();
+ MessageNode messageNode = chatMessage.getMessageNode();
final WintertodtInterruptType interruptType;
if (messageNode.getValue().startsWith("The cold of"))
diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java
index 74e5fc25ae..cc6703db91 100644
--- a/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java
+++ b/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java
@@ -80,7 +80,7 @@ public class ChatCommandsPluginTest
{
when(client.getUsername()).thenReturn("Adam");
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "", "Your Corporeal Beast kill count is: 4.", null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "", "Your Corporeal Beast kill count is: 4.", null, 0);
chatCommandsPlugin.onChatMessage(chatMessageEvent);
verify(configManager).setConfiguration("killcount.adam", "corporeal beast", 4);
@@ -91,7 +91,7 @@ public class ChatCommandsPluginTest
{
when(client.getUsername()).thenReturn("Adam");
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "", "Your completed Theatre of Blood count is: 73.", null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "", "Your completed Theatre of Blood count is: 73.", null, 0);
chatCommandsPlugin.onChatMessage(chatMessageEvent);
verify(configManager).setConfiguration("killcount.adam", "theatre of blood", 73);
@@ -102,7 +102,7 @@ public class ChatCommandsPluginTest
{
when(client.getUsername()).thenReturn("Adam");
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "", "Your subdued Wintertodt count is: 4.", null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "", "Your subdued Wintertodt count is: 4.", null, 0);
chatCommandsPlugin.onChatMessage(chatMessageEvent);
verify(configManager).setConfiguration("killcount.adam", "wintertodt", 4);
@@ -113,7 +113,7 @@ public class ChatCommandsPluginTest
{
when(client.getUsername()).thenReturn("Adam");
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "", "Your Kree'arra kill count is: 4.", null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "", "Your Kree'arra kill count is: 4.", null, 0);
chatCommandsPlugin.onChatMessage(chatMessageEvent);
verify(configManager).setConfiguration("killcount.adam", "kree'arra", 4);
@@ -124,7 +124,7 @@ public class ChatCommandsPluginTest
{
when(client.getUsername()).thenReturn("Adam");
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "", "Your Barrows chest count is: 277.", null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "", "Your Barrows chest count is: 277.", null, 0);
chatCommandsPlugin.onChatMessage(chatMessageEvent);
verify(configManager).setConfiguration("killcount.adam", "barrows chests", 277);
@@ -138,10 +138,10 @@ public class ChatCommandsPluginTest
when(client.getUsername()).thenReturn("Adam");
// This sets lastBoss
- ChatMessage chatMessage = new ChatMessage(SERVER, "", "Your Kree'arra kill count is: 4.", null);
+ ChatMessage chatMessage = new ChatMessage(null, SERVER, "", "Your Kree'arra kill count is: 4.", null, 0);
chatCommandsPlugin.onChatMessage(chatMessage);
- chatMessage = new ChatMessage(SERVER, "", FIGHT_DURATION, null);
+ chatMessage = new ChatMessage(null, SERVER, "", FIGHT_DURATION, null, 0);
chatCommandsPlugin.onChatMessage(chatMessage);
verify(configManager).setConfiguration(eq("personalbest.adam"), eq("kree'arra"), eq(79));
@@ -155,10 +155,10 @@ public class ChatCommandsPluginTest
when(client.getUsername()).thenReturn("Adam");
// This sets lastBoss
- ChatMessage chatMessage = new ChatMessage(SERVER, "", "Your Zulrah kill count is: 4.", null);
+ ChatMessage chatMessage = new ChatMessage(null, SERVER, "", "Your Zulrah kill count is: 4.", null, 0);
chatCommandsPlugin.onChatMessage(chatMessage);
- chatMessage = new ChatMessage(SERVER, "", FIGHT_DURATION, null);
+ chatMessage = new ChatMessage(null, SERVER, "", FIGHT_DURATION, null, 0);
chatCommandsPlugin.onChatMessage(chatMessage);
verify(configManager).setConfiguration(eq("personalbest.adam"), eq("zulrah"), eq(55));
@@ -172,10 +172,10 @@ public class ChatCommandsPluginTest
when(client.getUsername()).thenReturn("Adam");
// This sets lastBoss
- ChatMessage chatMessage = new ChatMessage(SERVER, "", "Your Kree'arra kill count is: 4.", null);
+ ChatMessage chatMessage = new ChatMessage(null, SERVER, "", "Your Kree'arra kill count is: 4.", null, 0);
chatCommandsPlugin.onChatMessage(chatMessage);
- chatMessage = new ChatMessage(SERVER, "", NEW_PB, null);
+ chatMessage = new ChatMessage(null, SERVER, "", NEW_PB, null, 0);
chatCommandsPlugin.onChatMessage(chatMessage);
verify(configManager).setConfiguration(eq("personalbest.adam"), eq("kree'arra"), eq(181));
diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPluginTest.java
index a120339da0..2105f089ef 100644
--- a/runelite-client/src/test/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPluginTest.java
+++ b/runelite-client/src/test/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPluginTest.java
@@ -33,7 +33,7 @@ import javax.inject.Inject;
import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.MessageNode;
-import net.runelite.api.events.SetMessage;
+import net.runelite.api.events.ChatMessage;
import net.runelite.client.Notifier;
import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.util.Text;
@@ -83,12 +83,12 @@ public class ChatNotificationsPluginTest
MessageNode messageNode = mock(MessageNode.class);
when(messageNode.getValue()).thenReturn("Deathbeam, Deathbeam OSRS");
- SetMessage setMessage = new SetMessage();
- setMessage.setType(ChatMessageType.PUBLIC);
- setMessage.setMessageNode(messageNode);
+ ChatMessage chatMessage = new ChatMessage();
+ chatMessage.setType(ChatMessageType.PUBLIC);
+ chatMessage.setMessageNode(messageNode);
chatNotificationsPlugin.startUp(); // load highlight config
- chatNotificationsPlugin.onSetMessage(setMessage);
+ chatNotificationsPlugin.onChatMessage(chatMessage);
verify(messageNode).setValue("Deathbeam, Deathbeam OSRS");
}
diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/cooking/CookingPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/cooking/CookingPluginTest.java
index 33b969015d..024a4de8b3 100644
--- a/runelite-client/src/test/java/net/runelite/client/plugins/cooking/CookingPluginTest.java
+++ b/runelite-client/src/test/java/net/runelite/client/plugins/cooking/CookingPluginTest.java
@@ -79,7 +79,7 @@ public class CookingPluginTest
{
for (String message : COOKING_MESSAGES)
{
- ChatMessage chatMessage = new ChatMessage(ChatMessageType.FILTERED, "", message, "");
+ ChatMessage chatMessage = new ChatMessage(null, ChatMessageType.FILTERED, "", message, "", 0);
cookingPlugin.onChatMessage(chatMessage);
}
diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/examine/ExaminePluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/examine/ExaminePluginTest.java
index 7c00bab4a9..f7416f4aad 100644
--- a/runelite-client/src/test/java/net/runelite/client/plugins/examine/ExaminePluginTest.java
+++ b/runelite-client/src/test/java/net/runelite/client/plugins/examine/ExaminePluginTest.java
@@ -94,7 +94,7 @@ public class ExaminePluginTest
menuOptionClicked.setId(ItemID.ABYSSAL_WHIP);
examinePlugin.onMenuOptionClicked(menuOptionClicked);
- ChatMessage chatMessage = new ChatMessage(ChatMessageType.EXAMINE_ITEM, "", "A weapon from the abyss.", "");
+ ChatMessage chatMessage = new ChatMessage(null, ChatMessageType.EXAMINE_ITEM, "", "A weapon from the abyss.", "", 0);
examinePlugin.onChatMessage(chatMessage);
// This passes due to not mocking the ItemComposition for the whip
@@ -112,7 +112,7 @@ public class ExaminePluginTest
menuOptionClicked.setId(ItemID.ABYSSAL_WHIP);
examinePlugin.onMenuOptionClicked(menuOptionClicked);
- ChatMessage chatMessage = new ChatMessage(ChatMessageType.EXAMINE_ITEM, "", "100000 x Abyssal whip", "");
+ ChatMessage chatMessage = new ChatMessage(null, ChatMessageType.EXAMINE_ITEM, "", "100000 x Abyssal whip", "", 0);
examinePlugin.onChatMessage(chatMessage);
verify(examineClient, never()).submitItem(anyInt(), anyString());
diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/itemcharges/ItemChargePluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/itemcharges/ItemChargePluginTest.java
index 36ffcf643e..b8fc81a16a 100644
--- a/runelite-client/src/test/java/net/runelite/client/plugins/itemcharges/ItemChargePluginTest.java
+++ b/runelite-client/src/test/java/net/runelite/client/plugins/itemcharges/ItemChargePluginTest.java
@@ -76,19 +76,19 @@ public class ItemChargePluginTest
@Test
public void testOnChatMessage()
{
- ChatMessage chatMessage = new ChatMessage(ChatMessageType.SERVER, "", CHECK, "");
+ ChatMessage chatMessage = new ChatMessage(null, ChatMessageType.SERVER, "", CHECK, "", 0);
itemChargePlugin.onChatMessage(chatMessage);
assertEquals(10, itemChargePlugin.getDodgyCharges());
- chatMessage = new ChatMessage(ChatMessageType.SERVER, "", PROTECT, "");
+ chatMessage = new ChatMessage(null, ChatMessageType.SERVER, "", PROTECT, "", 0);
itemChargePlugin.onChatMessage(chatMessage);
assertEquals(9, itemChargePlugin.getDodgyCharges());
- chatMessage = new ChatMessage(ChatMessageType.SERVER, "", PROTECT_1, "");
+ chatMessage = new ChatMessage(null, ChatMessageType.SERVER, "", PROTECT_1, "", 0);
itemChargePlugin.onChatMessage(chatMessage);
assertEquals(1, itemChargePlugin.getDodgyCharges());
- chatMessage = new ChatMessage(ChatMessageType.SERVER, "", BREAK, "");
+ chatMessage = new ChatMessage(null, ChatMessageType.SERVER, "", BREAK, "", 0);
itemChargePlugin.onChatMessage(chatMessage);
assertEquals(10, itemChargePlugin.getDodgyCharges());
}
diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java
index 18e6e23700..be5b08e71b 100644
--- a/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java
+++ b/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java
@@ -110,7 +110,7 @@ public class ScreenshotPluginTest
@Test
public void testClueScroll()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "Seth", CLUE_SCROLL, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "Seth", CLUE_SCROLL, null, 0);
screenshotPlugin.onChatMessage(chatMessageEvent);
assertEquals("medium", screenshotPlugin.getClueType());
@@ -120,7 +120,7 @@ public class ScreenshotPluginTest
@Test
public void testBarrowsChest()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "Seth", BARROWS_CHEST, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "Seth", BARROWS_CHEST, null, 0);
screenshotPlugin.onChatMessage(chatMessageEvent);
assertEquals(310, screenshotPlugin.getBarrowsNumber());
@@ -129,7 +129,7 @@ public class ScreenshotPluginTest
@Test
public void testChambersOfXericChest()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "Seth", CHAMBERS_OF_XERIC_CHEST, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "Seth", CHAMBERS_OF_XERIC_CHEST, null, 0);
screenshotPlugin.onChatMessage(chatMessageEvent);
assertEquals(489, screenshotPlugin.getChambersOfXericNumber());
@@ -138,7 +138,7 @@ public class ScreenshotPluginTest
@Test
public void testTheatreOfBloodChest()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "Magic fTail", THEATRE_OF_BLOOD_CHEST, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "Magic fTail", THEATRE_OF_BLOOD_CHEST, null, 0);
screenshotPlugin.onChatMessage(chatMessageEvent);
assertEquals(73, screenshotPlugin.gettheatreOfBloodNumber());
@@ -147,7 +147,7 @@ public class ScreenshotPluginTest
@Test
public void testValuableDrop()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "", VALUABLE_DROP, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "", VALUABLE_DROP, null, 0);
screenshotPlugin.onChatMessage(chatMessageEvent);
verify(drawManager).requestNextFrameListener(Matchers.any(Consumer.class));
@@ -156,7 +156,7 @@ public class ScreenshotPluginTest
@Test
public void testUntradeableDrop()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "", UNTRADEABLE_DROP, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "", UNTRADEABLE_DROP, null, 0);
screenshotPlugin.onChatMessage(chatMessageEvent);
verify(drawManager).requestNextFrameListener(Matchers.any(Consumer.class));
diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java
index c0a16d3df0..6bfa00f4f2 100644
--- a/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java
+++ b/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java
@@ -38,7 +38,6 @@ import net.runelite.api.Player;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.GameTick;
-import net.runelite.api.events.SetMessage;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.Notifier;
@@ -255,7 +254,7 @@ public class SlayerPluginTest
@Test
public void testPartnerTask()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "", TASK_NEW_FROM_PARTNER, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "", TASK_NEW_FROM_PARTNER, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
assertEquals("Dust Devils", slayerPlugin.getTaskName());
@@ -265,7 +264,7 @@ public class SlayerPluginTest
@Test
public void testCheckSlayerGem()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "", TASK_CHECKSLAYERGEM, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "", TASK_CHECKSLAYERGEM, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
assertEquals("Suqahs", slayerPlugin.getTaskName());
assertEquals(211, slayerPlugin.getAmount());
@@ -274,7 +273,7 @@ public class SlayerPluginTest
@Test
public void testCheckSlayerGemWildernessTask()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "", TASK_CHECKSLAYERGEM_WILDERNESS, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "", TASK_CHECKSLAYERGEM_WILDERNESS, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
assertEquals("Suqahs", slayerPlugin.getTaskName());
assertEquals(211, slayerPlugin.getAmount());
@@ -284,7 +283,7 @@ public class SlayerPluginTest
@Test
public void testCheckSlayerGemKonarTask()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "", TASK_CHECKSLAYERGEM_KONAR, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "", TASK_CHECKSLAYERGEM_KONAR, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
assertEquals("Blue dragons", slayerPlugin.getTaskName());
@@ -322,7 +321,7 @@ public class SlayerPluginTest
@Test
public void testOneTask()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "Perterter", TASK_ONE, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "Perterter", TASK_ONE, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
assertEquals(1, slayerPlugin.getStreak());
@@ -333,7 +332,7 @@ public class SlayerPluginTest
@Test
public void testNoPoints()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "Perterter", TASK_COMPLETE_NO_POINTS, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "Perterter", TASK_COMPLETE_NO_POINTS, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
assertEquals(3, slayerPlugin.getStreak());
@@ -344,7 +343,7 @@ public class SlayerPluginTest
@Test
public void testPoints()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "Perterter", TASK_POINTS, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "Perterter", TASK_POINTS, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
assertEquals(9, slayerPlugin.getStreak());
@@ -356,7 +355,7 @@ public class SlayerPluginTest
@Test
public void testLargeStreak()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "Perterter", TASK_LARGE_STREAK, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "Perterter", TASK_LARGE_STREAK, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
assertEquals(2465, slayerPlugin.getStreak());
@@ -371,7 +370,7 @@ public class SlayerPluginTest
slayerPlugin.setTaskName("cows");
slayerPlugin.setAmount(42);
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "Perterter", TASK_COMPLETE, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "Perterter", TASK_COMPLETE, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
assertEquals("", slayerPlugin.getTaskName());
@@ -384,7 +383,7 @@ public class SlayerPluginTest
slayerPlugin.setTaskName("cows");
slayerPlugin.setAmount(42);
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "Perterter", TASK_CANCELED, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "Perterter", TASK_CANCELED, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
assertEquals("", slayerPlugin.getTaskName());
@@ -394,7 +393,7 @@ public class SlayerPluginTest
@Test
public void testSuperiorNotification()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "Superior", SUPERIOR_MESSAGE, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "Superior", SUPERIOR_MESSAGE, null, 0);
when(slayerConfig.showSuperiorNotification()).thenReturn(true);
slayerPlugin.onChatMessage(chatMessageEvent);
@@ -408,7 +407,7 @@ public class SlayerPluginTest
@Test
public void testBraceletSlaughter()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "", BRACLET_SLAUGHTER, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "", BRACLET_SLAUGHTER, null, 0);
slayerPlugin.setAmount(42);
slayerPlugin.setSlaughterChargeCount(10);
@@ -418,18 +417,18 @@ public class SlayerPluginTest
assertEquals(9, slayerPlugin.getSlaughterChargeCount());
assertEquals(43, slayerPlugin.getAmount());
- chatMessageEvent = new ChatMessage(SERVER, "", CHAT_BRACELET_SLAUGHTER_CHARGE, null);
+ chatMessageEvent = new ChatMessage(null, SERVER, "", CHAT_BRACELET_SLAUGHTER_CHARGE, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
assertEquals(12, slayerPlugin.getSlaughterChargeCount());
- chatMessageEvent = new ChatMessage(SERVER, "", CHAT_BRACELET_SLAUGHTER_CHARGE_ONE, null);
+ chatMessageEvent = new ChatMessage(null, SERVER, "", CHAT_BRACELET_SLAUGHTER_CHARGE_ONE, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
assertEquals(1, slayerPlugin.getSlaughterChargeCount());
slayerPlugin.setSlaughterChargeCount(1);
- chatMessageEvent = new ChatMessage(SERVER, "", BRACLET_SLAUGHTER_V3, null);
+ chatMessageEvent = new ChatMessage(null, SERVER, "", BRACLET_SLAUGHTER_V3, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
assertEquals(30, slayerPlugin.getSlaughterChargeCount());
@@ -442,7 +441,7 @@ public class SlayerPluginTest
slayerPlugin.onGameTick(new GameTick());
assertEquals(30, slayerPlugin.getSlaughterChargeCount());
- chatMessageEvent = new ChatMessage(SERVER, "", BRACLET_SLAUGHTER_V2, null);
+ chatMessageEvent = new ChatMessage(null, SERVER, "", BRACLET_SLAUGHTER_V2, null, 0);
slayerPlugin.setAmount(42);
slayerPlugin.setSlaughterChargeCount(2);
@@ -456,7 +455,7 @@ public class SlayerPluginTest
@Test
public void testBraceletExpeditious()
{
- ChatMessage chatMessageEvent = new ChatMessage(SERVER, "", BRACLET_EXPEDITIOUS, null);
+ ChatMessage chatMessageEvent = new ChatMessage(null, SERVER, "", BRACLET_EXPEDITIOUS, null, 0);
slayerPlugin.setAmount(42);
slayerPlugin.setExpeditiousChargeCount(10);
@@ -466,18 +465,18 @@ public class SlayerPluginTest
assertEquals(41, slayerPlugin.getAmount());
assertEquals(9, slayerPlugin.getExpeditiousChargeCount());
- chatMessageEvent = new ChatMessage(SERVER, "", CHAT_BRACELET_EXPEDITIOUS_CHARGE, null);
+ chatMessageEvent = new ChatMessage(null, SERVER, "", CHAT_BRACELET_EXPEDITIOUS_CHARGE, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
assertEquals(12, slayerPlugin.getExpeditiousChargeCount());
- chatMessageEvent = new ChatMessage(SERVER, "", CHAT_BRACELET_EXPEDITIOUS_CHARGE_ONE, null);
+ chatMessageEvent = new ChatMessage(null, SERVER, "", CHAT_BRACELET_EXPEDITIOUS_CHARGE_ONE, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
assertEquals(1, slayerPlugin.getExpeditiousChargeCount());
slayerPlugin.setExpeditiousChargeCount(1);
- chatMessageEvent = new ChatMessage(SERVER, "", BRACLET_EXPEDITIOUS_V3, null);
+ chatMessageEvent = new ChatMessage(null, SERVER, "", BRACLET_EXPEDITIOUS_V3, null, 0);
slayerPlugin.onChatMessage(chatMessageEvent);
assertEquals(30, slayerPlugin.getExpeditiousChargeCount());
@@ -490,7 +489,7 @@ public class SlayerPluginTest
slayerPlugin.onGameTick(new GameTick());
assertEquals(30, slayerPlugin.getExpeditiousChargeCount());
- chatMessageEvent = new ChatMessage(SERVER, "", BRACLET_EXPEDITIOUS_V2, null);
+ chatMessageEvent = new ChatMessage(null, SERVER, "", BRACLET_EXPEDITIOUS_V2, null, 0);
slayerPlugin.setAmount(42);
slayerPlugin.setExpeditiousChargeCount(2);
@@ -511,7 +510,7 @@ public class SlayerPluginTest
slayerPlugin.setTaskName("Suqahs");
slayerPlugin.setAmount(231);
- ChatMessage chatMessage = new ChatMessage(SERVER, "", TASK_UPDATE_COMBAT_BRACELET, null);
+ ChatMessage chatMessage = new ChatMessage(null, SERVER, "", TASK_UPDATE_COMBAT_BRACELET, null, 0);
slayerPlugin.onChatMessage(chatMessage);
assertEquals("Suqahs", slayerPlugin.getTaskName());
@@ -531,7 +530,7 @@ public class SlayerPluginTest
when(slayerConfig.taskCommand()).thenReturn(true);
when(chatClient.getTask(anyString())).thenReturn(task);
- SetMessage setMessage = new SetMessage();
+ ChatMessage setMessage = new ChatMessage();
setMessage.setType(ChatMessageType.PUBLIC);
setMessage.setName("Adam");
setMessage.setMessageNode(mock(MessageNode.class));
@@ -553,12 +552,12 @@ public class SlayerPluginTest
when(slayerConfig.taskCommand()).thenReturn(true);
when(chatClient.getTask(anyString())).thenReturn(task);
- SetMessage setMessage = new SetMessage();
- setMessage.setType(ChatMessageType.PUBLIC);
- setMessage.setName("Adam");
- setMessage.setMessageNode(mock(MessageNode.class));
+ ChatMessage chatMessage = new ChatMessage();
+ chatMessage.setType(ChatMessageType.PUBLIC);
+ chatMessage.setName("Adam");
+ chatMessage.setMessageNode(mock(MessageNode.class));
- slayerPlugin.taskLookup(setMessage, "!task");
+ slayerPlugin.taskLookup(chatMessage, "!task");
verify(chatMessageManager, never()).update(any(MessageNode.class));
}
diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java
index 0c99443490..b67eea80ab 100644
--- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java
+++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java
@@ -27,6 +27,7 @@ package net.runelite.mixins;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
+import java.util.Map;
import javax.annotation.Nullable;
import javax.inject.Named;
import net.runelite.api.ChatMessageType;
@@ -51,6 +52,7 @@ import static net.runelite.api.MenuAction.PLAYER_SEVENTH_OPTION;
import static net.runelite.api.MenuAction.PLAYER_SIXTH_OPTION;
import static net.runelite.api.MenuAction.PLAYER_THIRD_OPTION;
import net.runelite.api.MenuEntry;
+import net.runelite.api.MessageNode;
import net.runelite.api.NPC;
import net.runelite.api.Node;
import net.runelite.api.PacketBuffer;
@@ -100,6 +102,7 @@ import net.runelite.api.mixins.Shadow;
import net.runelite.api.vars.AccountType;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
+import net.runelite.rs.api.RSChatLineBuffer;
import net.runelite.rs.api.RSClanMemberManager;
import net.runelite.rs.api.RSClient;
import net.runelite.rs.api.RSDeque;
@@ -1236,7 +1239,7 @@ public abstract class RSClientMixin implements RSClient
}
@Inject
- @MethodHook("addChatMessage")
+ @MethodHook(value = "addChatMessage", end = true)
public static void onAddChatMessage(int type, String name, String message, String sender)
{
Logger logger = client.getLogger();
@@ -1245,8 +1248,13 @@ public abstract class RSClientMixin implements RSClient
logger.debug("Chat message type {}: {}", ChatMessageType.of(type), message);
}
+ // Get the message node which was added
+ Map chatLineMap = client.getChatLineMap();
+ RSChatLineBuffer chatLineBuffer = chatLineMap.get(type);
+ MessageNode messageNode = chatLineBuffer.getLines()[0];
+
final ChatMessageType chatMessageType = ChatMessageType.of(type);
- final ChatMessage chatMessage = new ChatMessage(chatMessageType, name, message, sender);
+ final ChatMessage chatMessage = new ChatMessage(messageNode, chatMessageType, name, message, sender, messageNode.getTimestamp());
client.getCallbacks().post(chatMessage);
}
diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSMessageNodeMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSMessageNodeMixin.java
index c8ed6cc772..da716252e7 100644
--- a/runelite-mixins/src/main/java/net/runelite/mixins/RSMessageNodeMixin.java
+++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSMessageNodeMixin.java
@@ -25,7 +25,6 @@
package net.runelite.mixins;
import net.runelite.api.ChatMessageType;
-import net.runelite.api.events.SetMessage;
import net.runelite.api.mixins.Inject;
import net.runelite.api.mixins.MethodHook;
import net.runelite.api.mixins.Mixin;
@@ -49,15 +48,6 @@ public abstract class RSMessageNodeMixin implements RSMessageNode
RSMessageNodeMixin()
{
rl$timestamp = (int) (System.currentTimeMillis() / 1000L);
-
- final SetMessage setMessage = new SetMessage();
- setMessage.setMessageNode(this);
- setMessage.setType(getType());
- setMessage.setName(getName());
- setMessage.setSender(getSender());
- setMessage.setValue(getValue());
- setMessage.setTimestamp(rl$timestamp);
- client.getCallbacks().post(setMessage);
}
@Inject
@@ -103,14 +93,5 @@ public abstract class RSMessageNodeMixin implements RSMessageNode
// Clear the runelite formatted message then.
runeLiteFormatMessage = null;
rl$timestamp = (int) (System.currentTimeMillis() / 1000L);
-
- final SetMessage setMessage = new SetMessage();
- setMessage.setMessageNode(this);
- setMessage.setType(ChatMessageType.of(type));
- setMessage.setName(name);
- setMessage.setSender(sender);
- setMessage.setValue(value);
- setMessage.setTimestamp(rl$timestamp);
- client.getCallbacks().post(setMessage);
}
}