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

@@ -43,7 +43,6 @@ import net.runelite.api.Client;
import net.runelite.api.GraphicsObject;
import net.runelite.api.MainBufferProvider;
import net.runelite.api.MenuAction;
import net.runelite.api.MessageNode;
import net.runelite.api.Projectile;
import net.runelite.api.Region;
import net.runelite.api.RenderOverview;
@@ -55,7 +54,6 @@ import net.runelite.api.events.GameTick;
import net.runelite.api.events.GraphicsObjectCreated;
import net.runelite.api.events.MenuOptionClicked;
import net.runelite.api.events.ProjectileMoved;
import net.runelite.api.events.SetMessage;
import net.runelite.api.widgets.Widget;
import static net.runelite.api.widgets.WidgetInfo.WORLD_MAP_VIEW;
import net.runelite.client.Notifier;
@@ -407,18 +405,6 @@ public class Hooks
eventBus.post(projectileMoved);
}
public static void setMessage(MessageNode messageNode, int type, String name, String sender, String value)
{
SetMessage setMessage = new SetMessage();
setMessage.setMessageNode(messageNode);
setMessage.setType(ChatMessageType.of(type));
setMessage.setName(name);
setMessage.setSender(sender);
setMessage.setValue(value);
eventBus.post(setMessage);
}
public static void updateNpcs()
{
// The NPC update event seem to run every server tick,

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