package mekanism.client.render.transmitter;
import mekanism.api.MekanismConfig.client;
import mekanism.client.render.MekanismRenderer;
import mekanism.common.ColourRGBA;
import mekanism.common.multipart.PartUniversalCable;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.VertexBuffer;
import net.minecraft.util.EnumFacing;
import org.lwjgl.opengl.GL11;
public class RenderUniversalCable extends RenderTransmitterBase<PartUniversalCable>
{
public RenderUniversalCable()
{
super();
}
@Override
public void renderMultipartAt(PartUniversalCable cable, double x, double y, double z, float partialTick, int destroyStage)
{
if(client.opaqueTransmitters || cable.currentPower == 0)
{
return;
}
push();
Tessellator tessellator = Tessellator.getInstance();
VertexBuffer worldRenderer = tessellator.getBuffer();
GL11.glTranslated(x + 0.5, y+0.5, z + 0.5);
for(EnumFacing side : EnumFacing.VALUES)
{
renderEnergySide(worldRenderer, side, cable);
}
MekanismRenderer.glowOn();
tessellator.draw();
MekanismRenderer.glowOff();
pop();
}
public void renderEnergySide(VertexBuffer renderer, EnumFacing side, PartUniversalCable cable)
{
bindTexture(MekanismRenderer.getBlocksTexture());
renderTransparency(renderer, MekanismRenderer.energyIcon, getModelForSide(cable, side), new ColourRGBA(1.0, 1.0, 1.0, cable.currentPower));
}
}