Fix world client leak in TechneMachineRenderer (#233)

This commit is contained in:
Alexdoru authored and GitHub committed 2026-05-03 20:38:04 +02:00
1 parent 372c317077
commit b5a2693d7c
4 files changed
+11 -12

No files matched your search

@@ -29,7 +29,7 @@ import crazypants.enderio.machine.painter.PainterUtil;
@ThreadSafeISBRH(perThread = true)
public class AbstractMachineRenderer implements ISimpleBlockRenderingHandler, IItemRenderer {
private OverlayRenderer overlayRenderer = new OverlayRenderer() {
private final OverlayRenderer overlayRenderer = new OverlayRenderer() {
@Override
public void renderFace(CustomRenderBlocks rb, ForgeDirection face, Block par1Block, double x, double y,
@@ -40,7 +40,7 @@ public class AbstractMachineRenderer implements ISimpleBlockRenderingHandler, II
}
};
private CustomCubeRenderer ccr = new CustomCubeRenderer();
private final CustomCubeRenderer ccr = new CustomCubeRenderer();
private final PaintedBlockRenderer paintedRenderer = new PaintedBlockRenderer(this.getRenderId(), null);
// renderer for
@@ -112,6 +112,7 @@ public class AbstractMachineRenderer implements ISimpleBlockRenderingHandler, II
ccr.renderBlock(world, block, x, y, z, overlayRenderer);
}
ccr.setOverrideTexture(null);
overlayRenderer.setTile(null);
return true;
}
@@ -18,8 +18,8 @@ import crazypants.enderio.EnderIO;
public class TechneMachineRenderer<T extends AbstractMachineEntity> extends TechneModelRenderer {
private CustomCubeRenderer ccr = new CustomCubeRenderer();
private OverlayRenderer overlay = new OverlayRenderer();
private final CustomCubeRenderer ccr = new CustomCubeRenderer();
private final OverlayRenderer overlay = new OverlayRenderer();
public TechneMachineRenderer(AbstractMachineBlock<T> block, String modelPath) {
super(
@@ -51,7 +51,7 @@ public class TechneMachineRenderer<T extends AbstractMachineEntity> extends Tech
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId,
RenderBlocks renderer) {
@SuppressWarnings("unchecked")
T te = (T) world.getTileEntity(x, y, z);
final T te = (T) world.getTileEntity(x, y, z);
if (te != null) {
setFacingDir(te.getFacingDir());
overlay.setTile(te);
@@ -63,6 +63,8 @@ public class TechneMachineRenderer<T extends AbstractMachineEntity> extends Tech
ccr.renderBlock(world, block, x, y, z, overlay);
}
overlay.setTile(null);
return true;
}
@@ -28,10 +28,8 @@ import crazypants.enderio.machine.transceiver.TileTransceiver;
@SideOnly(Side.CLIENT)
public class TransceiverRenderer extends TileEntitySpecialRenderer implements IItemRenderer {
private IModel model;
private BoundingBox bb;
private final IModel model;
private final BoundingBox bb;
private boolean adjustForItem = false;
public TransceiverRenderer() {
@@ -26,9 +26,7 @@ import crazypants.enderio.machine.painter.TileEntityPaintedBlock;
@ThreadSafeISBRH(perThread = false)
public class FusedQuartzRenderer implements ISimpleBlockRenderingHandler {
static int renderPass;
private ConnectedTextureRenderer connectedTextureRenderer = new ConnectedTextureRenderer() {
private final ConnectedTextureRenderer connectedTextureRenderer = new ConnectedTextureRenderer() {
@Override
public boolean matchesMetadata(int meta1, int meta2) {