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 8c1dde452b..603af9acfb 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -447,4 +447,8 @@ public interface Client extends GameEngine @VisibleForDevtools void setChangedSkillsCount(int i); + + int getTickCount(); + + void setTickCount(int tickCount); } 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 9ca13d7315..33bbd35639 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 @@ -119,6 +119,9 @@ public class Hooks _deferredEventBus.replay(); eventBus.post(tick); + + int tick = client.getTickCount(); + client.setTickCount(tick + 1); } clientThread.invoke(); 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 b2bf89a1e6..3a423d469a 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -105,6 +105,9 @@ public abstract class RSClientMixin implements RSClient @Shadow("clientInstance") private static RSClient client; + @Inject + private static int tickCount; + @Inject private static boolean interpolatePlayerAnimations; @@ -883,4 +886,16 @@ public abstract class RSClientMixin implements RSClient { eventBus.post(new UsernameChanged()); } + + @Override + public int getTickCount() + { + return tickCount; + } + + @Override + public void setTickCount(int tick) + { + tickCount = tick; + } }