From ac071771b076abd398af3efe76552e310c8d2b54 Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 21 Nov 2017 17:35:10 -0500 Subject: [PATCH] runelite-api: add getRegionMin/MaxLocation for GameObject --- .../main/java/net/runelite/api/GameObject.java | 15 +++++++++++++++ .../net/runelite/mixins/RSGameObjectMixin.java | 15 +++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/GameObject.java b/runelite-api/src/main/java/net/runelite/api/GameObject.java index 07cd9680ff..1fa5c11891 100644 --- a/runelite-api/src/main/java/net/runelite/api/GameObject.java +++ b/runelite-api/src/main/java/net/runelite/api/GameObject.java @@ -32,5 +32,20 @@ import java.awt.Polygon; */ public interface GameObject extends TileObject { + /** + * Returns the min x,y for this game object + * + * @return + */ + Point getRegionMinLocation(); + + /** + * Returns the max x,y for this game object. This is different from + * {@link #getRegionMinLocation()} for objects larger than 1 tile. + * + * @return + */ + Point getRegionMaxLocation(); + Polygon getConvexHull(); } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSGameObjectMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSGameObjectMixin.java index 4c549c5235..1f509ca478 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSGameObjectMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSGameObjectMixin.java @@ -26,6 +26,7 @@ package net.runelite.mixins; import java.awt.Polygon; import net.runelite.api.Model; +import net.runelite.api.Point; import net.runelite.api.Renderable; import net.runelite.api.mixins.Inject; import net.runelite.api.mixins.Mixin; @@ -34,6 +35,20 @@ import net.runelite.rs.api.RSGameObject; @Mixin(RSGameObject.class) public abstract class RSGameObjectMixin implements RSGameObject { + @Inject + @Override + public Point getRegionMinLocation() + { + return new Point(getRelativeX(), getRelativeY()); + } + + @Inject + @Override + public Point getRegionMaxLocation() + { + return new Point(getOffsetX(), getOffsetY()); + } + @Inject @Override public Polygon getConvexHull()