From b8618b6165816f7a3f9f8140ba34353778fc70b3 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Mon, 13 Jul 2020 19:22:28 +0200 Subject: [PATCH] Fix dead-lock when rendering outside of loaded chunks (fixes #197) --- .../com/replaymod/render/mixin/Mixin_ForceChunkLoading.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/replaymod/render/mixin/Mixin_ForceChunkLoading.java b/src/main/java/com/replaymod/render/mixin/Mixin_ForceChunkLoading.java index d2e9293b..f7b8b80b 100644 --- a/src/main/java/com/replaymod/render/mixin/Mixin_ForceChunkLoading.java +++ b/src/main/java/com/replaymod/render/mixin/Mixin_ForceChunkLoading.java @@ -79,7 +79,10 @@ public abstract class Mixin_ForceChunkLoading { // Schedule all chunks which need rebuilding (we schedule even important rebuilds because we wait for // all of them anyway and this way we can take advantage of threading) for (ChunkBuilder.BuiltChunk builtChunk : this.chunksToRebuild) { - builtChunk.scheduleRebuild(this.chunkBuilder); + // MC sometimes schedules invalid chunks when you're outside of loaded chunks (e.g. y > 256) + if (builtChunk.shouldBuild()) { + builtChunk.scheduleRebuild(this.chunkBuilder); + } builtChunk.cancelRebuild(); } this.chunksToRebuild.clear();