diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index 7a0cedc82b..af447b33a9 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -2035,4 +2035,14 @@ public interface Client extends GameShell * Gets values related to jagex compliance */ boolean getComplianceValue(@Nonnull String key); + + /** + * Gets the status of client mirror + */ + boolean isMirrored(); + + /** + * Sets the status of client mirror + */ + void setMirrored(boolean isMirrored); } diff --git a/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java b/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java index 58b195dc44..ea267e4bd2 100644 --- a/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java +++ b/runelite-client/src/main/java/net/runelite/client/callback/Hooks.java @@ -395,8 +395,11 @@ public class Hooks implements Callbacks finalImage = image; } - drawFinishedEvent.image = finalImage; - eventBus.post(DrawFinished.class, drawFinishedEvent); + if (client.isMirrored()) + { + drawFinishedEvent.image = finalImage; + eventBus.post(DrawFinished.class, drawFinishedEvent); + } try { diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java index 9ff781927b..b8c9f01a6d 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -222,6 +222,9 @@ public abstract class RSClientMixin implements RSClient @Inject private static Set unhiddenCasts = new HashSet(); + @Inject + private boolean isMirrored = false; + @Inject @Override public void setPrintMenuActions(boolean yes) @@ -1937,5 +1940,19 @@ public abstract class RSClientMixin implements RSClient { setStopTimeMs(1); } + + @Inject + @Override + public boolean isMirrored() + { + return isMirrored; + }; + + @Inject + @Override + public void setMirrored(boolean isMirrored) + { + this.isMirrored = isMirrored; + }; }