From e58530f5876dac7fe5b19356c963eaa1bca2f491 Mon Sep 17 00:00:00 2001 From: Alexdoru <57050655+Alexdoru@users.noreply.github.com> Date: Tue, 3 Jun 2025 21:00:30 +0200 Subject: [PATCH] Fix WorldClient memory leak (#9) Co-authored-by: Maya <10861407+serenibyss@users.noreply.github.com> --- src/main/scala/mrtjp/relocation/events.scala | 4 +++- src/main/scala/mrtjp/relocation/renders.scala | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/scala/mrtjp/relocation/events.scala b/src/main/scala/mrtjp/relocation/events.scala index 9db4603..bbbdf09 100644 --- a/src/main/scala/mrtjp/relocation/events.scala +++ b/src/main/scala/mrtjp/relocation/events.scala @@ -52,7 +52,9 @@ object RelocationClientEventHandler { @SubscribeEvent def clientTick(event: TickEvent.ClientTickEvent) { - if (event.phase == TickEvent.Phase.END) + if (event.phase == TickEvent.Phase.END) { MovementManager2.onTick(true) + MovingRenderer.onTick() + } } } diff --git a/src/main/scala/mrtjp/relocation/renders.scala b/src/main/scala/mrtjp/relocation/renders.scala index 64084a8..ca6c43e 100644 --- a/src/main/scala/mrtjp/relocation/renders.scala +++ b/src/main/scala/mrtjp/relocation/renders.scala @@ -106,6 +106,13 @@ object MovingRenderer { render(b.x, b.y, b.z, renderPos(s, frame)) } + def onTick() = { + if (oldWorld != null && world == null) { + oldWorld = null + renderBlocks = null + } + } + def onPreRenderTick(time: Float) { isRendering = true frame = time