From f6fbc1953bddd79ab288525f75ac8c15d80181da Mon Sep 17 00:00:00 2001 From: Seth Date: Fri, 16 Mar 2018 16:38:33 -0500 Subject: [PATCH 1/2] poh plugin: change gameobject map to tile object --- .../net/runelite/client/plugins/poh/BurnerOverlay.java | 8 ++++---- .../java/net/runelite/client/plugins/poh/PohPlugin.java | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/poh/BurnerOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/poh/BurnerOverlay.java index 126569476d..e539d717b5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/poh/BurnerOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/poh/BurnerOverlay.java @@ -29,9 +29,9 @@ import java.awt.Dimension; import java.awt.Graphics2D; import javax.inject.Inject; import net.runelite.api.Client; -import net.runelite.api.GameObject; import net.runelite.api.Perspective; import net.runelite.api.Point; +import net.runelite.api.TileObject; import static net.runelite.client.plugins.poh.PohPlugin.BURNER_LIT; import static net.runelite.client.plugins.poh.PohPlugin.BURNER_UNLIT; import net.runelite.client.ui.overlay.Overlay; @@ -82,9 +82,9 @@ public class BurnerOverlay extends Overlay return null; } - private void drawBurner(Graphics2D graphics, String text, GameObject gameObject, Color color, java.awt.Point parent) + private void drawBurner(Graphics2D graphics, String text, TileObject tileObject, Color color, java.awt.Point parent) { - Point canvasText = Perspective.getCanvasTextLocation(client, graphics, gameObject.getLocalLocation(), text, 200); + Point canvasText = Perspective.getCanvasTextLocation(client, graphics, tileObject.getLocalLocation(), text, 200); if (canvasText == null) { @@ -97,6 +97,6 @@ public class BurnerOverlay extends Overlay textComponent.render(graphics, parent); //render tile - OverlayUtil.renderPolygon(graphics, gameObject.getCanvasTilePoly(), color); + OverlayUtil.renderPolygon(graphics, tileObject.getCanvasTilePoly(), color); } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/poh/PohPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/poh/PohPlugin.java index a5263d7cde..e3d34436f0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/poh/PohPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/poh/PohPlugin.java @@ -44,6 +44,7 @@ import static net.runelite.api.ObjectID.INCENSE_BURNER_13211; import static net.runelite.api.ObjectID.INCENSE_BURNER_13212; import static net.runelite.api.ObjectID.INCENSE_BURNER_13213; import net.runelite.api.Tile; +import net.runelite.api.TileObject; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameObjectSpawned; @@ -62,7 +63,7 @@ public class PohPlugin extends Plugin static final Set BURNER_LIT = Sets.newHashSet(INCENSE_BURNER_13209, INCENSE_BURNER_13211, INCENSE_BURNER_13213); @Getter(AccessLevel.PACKAGE) - private final Map pohObjects = new HashMap<>(); + private final Map pohObjects = new HashMap<>(); @Inject private PohOverlay overlay; From cbc484b0484ca6e1880496b340b2af54358c176a Mon Sep 17 00:00:00 2001 From: Seth Date: Fri, 16 Mar 2018 16:41:21 -0500 Subject: [PATCH 2/2] pog plugin: fix mounted glory minimap icon mounted glory is a decoration object, not game object --- .../client/plugins/poh/PohPlugin.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/poh/PohPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/poh/PohPlugin.java index e3d34436f0..444c6ba904 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/poh/PohPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/poh/PohPlugin.java @@ -35,6 +35,7 @@ import java.util.Set; import javax.inject.Inject; import lombok.AccessLevel; import lombok.Getter; +import net.runelite.api.DecorativeObject; import net.runelite.api.GameObject; import net.runelite.api.GameState; import static net.runelite.api.ObjectID.INCENSE_BURNER; @@ -46,6 +47,8 @@ import static net.runelite.api.ObjectID.INCENSE_BURNER_13213; import net.runelite.api.Tile; import net.runelite.api.TileObject; import net.runelite.api.events.ConfigChanged; +import net.runelite.api.events.DecorativeObjectDespawned; +import net.runelite.api.events.DecorativeObjectSpawned; import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameStateChanged; @@ -118,6 +121,23 @@ public class PohPlugin extends Plugin pohObjects.remove(gameObject); } + @Subscribe + public void onDecorativeObjectSpawned(DecorativeObjectSpawned event) + { + DecorativeObject decorativeObject = event.getDecorativeObject(); + if (PohIcons.getIcon(decorativeObject.getId()) != null) + { + pohObjects.put(decorativeObject, event.getTile()); + } + } + + @Subscribe + public void onDecorativeObjectDespawned(DecorativeObjectDespawned event) + { + DecorativeObject decorativeObject = event.getDecorativeObject(); + pohObjects.remove(decorativeObject); + } + @Subscribe public void onGameStateChanged(GameStateChanged event) {