From 24d211b7a51ec8b7e2e9246fe1e8c242ad441ab5 Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Wed, 24 Mar 2021 20:29:34 +0000 Subject: [PATCH] mixins: make good mixin --- .../net/runelite/mixins/RSTileObjectMixin.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSTileObjectMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSTileObjectMixin.java index 5ca9f46545..36df9e4a19 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSTileObjectMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSTileObjectMixin.java @@ -56,7 +56,19 @@ public abstract class RSTileObjectMixin implements TileObject @Inject public WorldPoint getWorldLocation() { - return WorldPoint.fromLocal(client, getX(), getY(), getPlane()); + if (this instanceof RSGameObject) + { + RSGameObject gameObject = (RSGameObject) this; + int startX = gameObject.getStartX(); + int startY = gameObject.getStartY(); + int diffX = gameObject.getEndX() - startX; + int diffY = gameObject.getEndY() - startY; + return WorldPoint.fromScene(client, startX + diffX / 2, startY + diffY / 2, getPlane()); + } + else + { + return WorldPoint.fromLocal(client, getX(), getY(), getPlane()); + } } @Override