Move setMessage to mixins

Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
Tomas Slusny
2018-06-22 10:58:42 +02:00
committed by Adam
parent 4241e4384f
commit 3835f005f6
2 changed files with 28 additions and 14 deletions

View File

@@ -25,8 +25,11 @@
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;
import static net.runelite.client.callback.Hooks.eventBus;
import net.runelite.rs.api.RSMessageNode;
@Mixin(RSMessageNode.class)
@@ -35,6 +38,18 @@ public abstract class RSMessageNodeMixin implements RSMessageNode
@Inject
private String runeLiteFormatMessage;
@Inject
RSMessageNodeMixin()
{
final SetMessage setMessage = new SetMessage();
setMessage.setMessageNode(this);
setMessage.setType(getType());
setMessage.setName(getName());
setMessage.setSender(getSender());
setMessage.setValue(getValue());
eventBus.post(setMessage);
}
@Inject
@Override
public ChatMessageType getType()
@@ -55,4 +70,17 @@ public abstract class RSMessageNodeMixin implements RSMessageNode
{
this.runeLiteFormatMessage = runeLiteFormatMessage;
}
@Inject
@MethodHook(value = "setMessage", end = true)
public void setMessage(int type, String name, String sender, String value)
{
final SetMessage setMessage = new SetMessage();
setMessage.setMessageNode(this);
setMessage.setType(ChatMessageType.of(type));
setMessage.setName(name);
setMessage.setSender(sender);
setMessage.setValue(value);
eventBus.post(setMessage);
}
}