From 0a9dbec78cb55ae674cd35fe9094f6740945062c Mon Sep 17 00:00:00 2001 From: jstockwin Date: Mon, 21 Jul 2014 21:14:12 +0100 Subject: [PATCH] Stop energy cube core rendering when cube is empty. This will stop it from blocking out other rendering when it's not opaque enough to be visible --- .../render/tileentity/RenderEnergyCube.java | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/src/main/java/mekanism/client/render/tileentity/RenderEnergyCube.java b/src/main/java/mekanism/client/render/tileentity/RenderEnergyCube.java index 2ca6467e3..8ecf5c46e 100644 --- a/src/main/java/mekanism/client/render/tileentity/RenderEnergyCube.java +++ b/src/main/java/mekanism/client/render/tileentity/RenderEnergyCube.java @@ -55,27 +55,32 @@ public class RenderEnergyCube extends TileEntitySpecialRenderer model.render(0.0625F); GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5); - bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "EnergyCore.png")); + if(tileEntity.getEnergy()/tileEntity.getMaxEnergy()>0.1) { - MekanismRenderer.blendOn(); - MekanismRenderer.glowOn(); + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5, y + 0.5, z + 0.5); + bindTexture(MekanismUtils.getResource(ResourceType.RENDER, "EnergyCore.png")); - EnumColor c = tileEntity.tier.color; + MekanismRenderer.blendOn(); + MekanismRenderer.glowOn(); - GL11.glPushMatrix(); - GL11.glScalef(0.4F, 0.4F, 0.4F); - GL11.glColor4f(c.getColor(0), c.getColor(1), c.getColor(2), (float)(tileEntity.getEnergy()/tileEntity.getMaxEnergy())); - GL11.glTranslatef(0, (float)Math.sin(Math.toRadians((MekanismClient.ticksPassed + partialTick) * 3)) / 7, 0); - GL11.glRotatef((MekanismClient.ticksPassed + partialTick) * 4, 0, 1, 0); - GL11.glRotatef(36F + (MekanismClient.ticksPassed + partialTick) * 4, 0, 1, 1); - core.render(0.0625F); - GL11.glPopMatrix(); + EnumColor c = tileEntity.tier.color; - MekanismRenderer.glowOff(); - MekanismRenderer.blendOff(); - GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(0.4F, 0.4F, 0.4F); + GL11.glColor4f(c.getColor(0), c.getColor(1), c.getColor(2), (float) (tileEntity.getEnergy() / tileEntity.getMaxEnergy())); + GL11.glTranslatef(0, (float) Math.sin(Math.toRadians((MekanismClient.ticksPassed + partialTick) * 3)) / 7, 0); + GL11.glRotatef((MekanismClient.ticksPassed + partialTick) * 4, 0, 1, 0); + GL11.glRotatef(36F + (MekanismClient.ticksPassed + partialTick) * 4, 0, 1, 1); + core.render(0.0625F); + GL11.glPopMatrix(); + + + MekanismRenderer.glowOff(); + MekanismRenderer.blendOff(); + + GL11.glPopMatrix(); + } } }