Merge remote-tracking branch 'upstream/master' into runelite
# Conflicts: # cache-client/pom.xml # cache-updater/pom.xml # cache/pom.xml # http-api/pom.xml # http-service/pom.xml # pom.xml # runelite-api/pom.xml # runelite-api/src/main/java/net/runelite/api/Client.java # runelite-api/src/main/java/net/runelite/api/FarmingTrackerTest.java # runelite-client/pom.xml # runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperConfig.java # runelite-client/src/test/java/net/runelite/client/chat/ChatMessageManagerTest.java # runelite-client/src/test/java/net/runelite/client/plugins/cluescrolls/ClueScrollPluginTest.java # runelite-client/src/test/java/net/runelite/client/plugins/emojis/EmojiPluginTest.java # runelite-client/src/test/java/net/runelite/client/plugins/grounditems/GroundItemsPluginTest.java # runelite-client/src/test/java/net/runelite/client/plugins/idlenotifier/IdleNotifierPluginTest.java # runelite-script-assembler-plugin/pom.xml
This commit is contained in:
@@ -536,17 +536,36 @@ public abstract class RSClientMixin implements RSClient
|
||||
}
|
||||
|
||||
@Inject
|
||||
public void addChatMessage(int type, String name, String message, String sender)
|
||||
public MessageNode addChatMessage(ChatMessageType type, String name, String message, String sender, boolean postEvent)
|
||||
{
|
||||
assert this.isClientThread() : "addChatMessage must be called on client thread";
|
||||
addRSChatMessage(type, name, message, sender);
|
||||
copy$addChatMessage(type.getType(), name, message, sender);
|
||||
|
||||
Logger logger = client.getLogger();
|
||||
if (logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("Chat message type {}: {}", type.name(), message);
|
||||
}
|
||||
|
||||
// Get the message node which was added
|
||||
@SuppressWarnings("unchecked") Map<Integer, RSChatChannel> chatLineMap = client.getChatLineMap();
|
||||
RSChatChannel chatLineBuffer = chatLineMap.get(type.getType());
|
||||
MessageNode messageNode = chatLineBuffer.getLines()[0];
|
||||
|
||||
if (postEvent)
|
||||
{
|
||||
final ChatMessage chatMessage = new ChatMessage(messageNode, type, name, message, sender, messageNode.getTimestamp());
|
||||
client.getCallbacks().post(chatMessage);
|
||||
}
|
||||
|
||||
return messageNode;
|
||||
}
|
||||
|
||||
@Inject
|
||||
@Override
|
||||
public void addChatMessage(ChatMessageType type, String name, String message, String sender)
|
||||
public MessageNode addChatMessage(ChatMessageType type, String name, String message, String sender)
|
||||
{
|
||||
addChatMessage(type.getType(), name, message, sender);
|
||||
return addChatMessage(type, name, message, sender, true);
|
||||
}
|
||||
|
||||
@Inject
|
||||
@@ -1484,14 +1503,17 @@ public abstract class RSClientMixin implements RSClient
|
||||
client.getCallbacks().updateNpcs();
|
||||
}
|
||||
|
||||
@Inject
|
||||
@MethodHook(value = "addChatMessage", end = true)
|
||||
public static void onAddChatMessage(int type, String name, String message, String sender)
|
||||
@Copy("addChatMessage")
|
||||
@Replace("addChatMessage")
|
||||
public static void copy$addChatMessage(int type, String name, String message, String sender)
|
||||
{
|
||||
copy$addChatMessage(type, name, message, sender);
|
||||
|
||||
Logger logger = client.getLogger();
|
||||
if (logger.isDebugEnabled())
|
||||
{
|
||||
logger.debug("Chat message type {}: {}", ChatMessageType.of(type), message);
|
||||
ChatMessageType msgType = ChatMessageType.of(type);
|
||||
logger.debug("Chat message type {}: {}", msgType == ChatMessageType.UNKNOWN ? String.valueOf(type) : msgType.name(), message);
|
||||
}
|
||||
|
||||
// Get the message node which was added
|
||||
|
||||
Reference in New Issue
Block a user