From b8cf7e6df4619278e552028524c32a6a9dd21af3 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Wed, 2 Mar 2022 17:58:10 +0100 Subject: [PATCH] Fix scrolling while replay paused on 1.12.2 and below (fixes #590) --- .../java/com/replaymod/core/mixin/MixinMinecraft.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/replaymod/core/mixin/MixinMinecraft.java b/src/main/java/com/replaymod/core/mixin/MixinMinecraft.java index 62682744..754cd090 100644 --- a/src/main/java/com/replaymod/core/mixin/MixinMinecraft.java +++ b/src/main/java/com/replaymod/core/mixin/MixinMinecraft.java @@ -63,6 +63,7 @@ public abstract class MixinMinecraft PostRenderCallback.EVENT.invoker().postRender(); } //#else + //$$ @Shadow long systemTime; //#if MC>=10904 //$$ @Shadow protected abstract void runTickKeyboard() throws IOException; //$$ @Shadow protected abstract void runTickMouse() throws IOException; @@ -80,6 +81,8 @@ public abstract class MixinMinecraft //$$ public void replayModRunTickMouse() { //$$ try { //$$ runTickMouse(); + //$$ // Update last tick time (MC ignores inputs when there hasn't been a tick in 200ms) + //$$ systemTime = Minecraft.getSystemTime(); //$$ } catch (IOException e) { //$$ e.printStackTrace(); //$$ } @@ -94,7 +97,12 @@ public abstract class MixinMinecraft //$$ //$$ @Inject(method = "runTick", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;sendClickBlockToController(Z)V"), cancellable = true) //$$ private void doEarlyReturnFromRunTick(CallbackInfo ci) { - //$$ if (earlyReturn) ci.cancel(); + //$$ if (earlyReturn) { + //$$ ci.cancel(); + //$$ + //$$ // Update last tick time (MC ignores inputs when there hasn't been a tick in 200ms) + //$$ systemTime = Minecraft.getSystemTime(); + //$$ } //$$ } //#endif //$$ @Redirect(