From 7d89544290bb39ae531a4a0a8586d66cb3d57ae7 Mon Sep 17 00:00:00 2001 From: Retoxified Date: Sat, 25 Aug 2018 15:21:04 +0200 Subject: [PATCH] Add Hop-To option in chat --- .../worldhopper/WorldHopperPlugin.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java index 620c43c666..4619e3543f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java @@ -102,6 +102,8 @@ public class WorldHopperPlugin extends Plugin private static final ImmutableList BEFORE_OPTIONS = ImmutableList.of("Add friend", "Remove friend", KICK_OPTION); private static final ImmutableList AFTER_OPTIONS = ImmutableList.of("Message"); + private static final ImmutableList BEFORE_OPTIONS_CHAT = ImmutableList.of("Report"); + @Inject private Client client; @@ -326,6 +328,30 @@ public class WorldHopperPlugin extends Plugin insertMenuEntry(hopTo, client.getMenuEntries(), after); } + else if (groupId == WidgetInfo.CHATBOX.getGroupId()) + { + if (!BEFORE_OPTIONS_CHAT.contains(option)) + { + return; + } + + // Don't add entry if user is offline + ChatPlayer player = getChatPlayerFromName(event.getTarget()); + + if (player == null || player.getWorld() == 0 || player.getWorld() == client.getWorld()) + { + return; + } + + final MenuEntry hopTo = new MenuEntry(); + hopTo.setOption(HOP_TO); + hopTo.setTarget(event.getTarget()); + hopTo.setType(MenuAction.RUNELITE.getId()); + hopTo.setParam0(event.getActionParam0()); + hopTo.setParam1(event.getActionParam1()); + + insertMenuEntry(hopTo, client.getMenuEntries(), false); + } } private void insertMenuEntry(MenuEntry newEntry, MenuEntry[] entries, boolean after)