From 4ec50046c7bc1b3fc7cfe1320116e2b2e16cc343 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 3 Jan 2019 13:15:54 -0500 Subject: [PATCH] object markers: determine tile from menu parameters --- .../objectindicators/ObjectIndicatorsPlugin.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java index 788f30db96..a352d728db 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java @@ -48,6 +48,7 @@ import net.runelite.api.GameState; import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; import net.runelite.api.ObjectComposition; +import net.runelite.api.Scene; import net.runelite.api.Tile; import net.runelite.api.TileObject; import net.runelite.api.coords.WorldPoint; @@ -227,19 +228,26 @@ public class ObjectIndicatorsPlugin extends Plugin implements KeyListener menuEntry.setParam0(event.getActionParam0()); menuEntry.setParam1(event.getActionParam1()); menuEntry.setIdentifier(event.getIdentifier()); - menuEntry.setType(MenuAction.CANCEL.getId()); + menuEntry.setType(MenuAction.RUNELITE.getId()); client.setMenuEntries(menuEntries); } @Subscribe public void onMenuOptionClicked(MenuOptionClicked event) { - if (!event.getMenuOption().equals(MARK)) + if (event.getMenuAction() != MenuAction.RUNELITE || !event.getMenuOption().equals(MARK)) { return; } - TileObject object = findTileObject(client.getSelectedSceneTile(), event.getId()); + Scene scene = client.getScene(); + Tile[][][] tiles = scene.getTiles(); + final int x = event.getActionParam(); + final int y = event.getWidgetId(); + final int z = client.getPlane(); + final Tile tile = tiles[z][x][y]; + + TileObject object = findTileObject(tile, event.getId()); if (object == null) { return;