Merge pull request #7719 from Adam-/chatevents

Merge SetMessage and ChatMessage event into one
This commit is contained in:
Adam
2019-02-07 20:55:30 -05:00
committed by GitHub
20 changed files with 179 additions and 211 deletions

View File

@@ -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<Integer, RSChatLineBuffer> 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);
}

View File

@@ -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);
}
}