From a12d2bb4b029bbe4b7425abe7f7d850260a97dc6 Mon Sep 17 00:00:00 2001 From: Alexdoru <57050655+Alexdoru@users.noreply.github.com> Date: Wed, 11 Nov 2026 21:33:01 +0100 Subject: [PATCH] fix world client leak in MixinRenderBlockConnectedTexturesEthereal (#2360) --- ...xinRenderBlockConnectedTexturesEthereal.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/client/extrautils/MixinRenderBlockConnectedTexturesEthereal.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/client/extrautils/MixinRenderBlockConnectedTexturesEthereal.java index 17b16e559..9a0ccf10d 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/client/extrautils/MixinRenderBlockConnectedTexturesEthereal.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/client/extrautils/MixinRenderBlockConnectedTexturesEthereal.java @@ -33,12 +33,17 @@ public abstract class MixinRenderBlockConnectedTexturesEthereal extends RenderBl block.setBlockBoundsBasedOnState(getFakeRender().blockAccess, x, y, z); getFakeRender().setRenderBoundsFromBlock(block); boolean render = getFakeRender().renderStandardBlock(block, x, y, z); - newFakeRenderEthereal.setWorld(renderer.blockAccess); - newFakeRenderEthereal.curBlock = getFakeRender().curBlock; - newFakeRenderEthereal.curMeta = getFakeRender().curMeta; - double h = 0.05D; - newFakeRenderEthereal.setRenderBounds(h, h, h, 1.0D - h, 1.0D - h, 1.0D - h); - render &= newFakeRenderEthereal.renderStandardBlock(block, x, y, z); + try { + newFakeRenderEthereal.setWorld(renderer.blockAccess); + newFakeRenderEthereal.curBlock = getFakeRender().curBlock; + newFakeRenderEthereal.curMeta = getFakeRender().curMeta; + double h = 0.05D; + newFakeRenderEthereal.setRenderBounds(h, h, h, 1.0D - h, 1.0D - h, 1.0D - h); + render &= newFakeRenderEthereal.renderStandardBlock(block, x, y, z); + } finally { + getFakeRender().setWorld(null); + newFakeRenderEthereal.setWorld(null); + } return render; } }