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:
ThatGamerBlue
2021-02-14 00:31:56 +00:00
81 changed files with 3354 additions and 657 deletions

View File

@@ -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