From 3fedc22899ab53bc783c753d9272cfd717573bf7 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Wed, 15 Apr 2020 18:42:39 +0200 Subject: [PATCH] Execute task queue even when rendering a paused replay (fixes #129) The task queue is executed by MC each frame, not just each tick, so we should do so as well. Most async actions also rely on it to re-synchronize with the rendering thread, e.g. skins won't load if we never poll the task queue. --- .../java/com/replaymod/render/rendering/VideoRenderer.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/replaymod/render/rendering/VideoRenderer.java b/src/main/java/com/replaymod/render/rendering/VideoRenderer.java index 954abdd8..63de6e60 100644 --- a/src/main/java/com/replaymod/render/rendering/VideoRenderer.java +++ b/src/main/java/com/replaymod/render/rendering/VideoRenderer.java @@ -224,6 +224,8 @@ public class VideoRenderer implements RenderInfo { //#endif ); + executeTaskQueue(); + //#if MC<10800 //$$ if (guiOpeningReplay != null) { //$$ guiOpeningReplay.handleInput(); @@ -384,7 +386,7 @@ public class VideoRenderer implements RenderInfo { //#endif } - private void tick() { + private void executeTaskQueue() { //#if MC>=11400 ((MCVer.MinecraftMethodAccessor) mc).replayModExecuteTaskQueue(); //#else @@ -404,6 +406,9 @@ public class VideoRenderer implements RenderInfo { //#endif mc.currentScreen = gui.toMinecraft(); + } + + private void tick() { //#if MC>=10800 && MC<11400 //$$ try { //$$ mc.runTick();