package mekanism.client.render.transmitter;
import mekanism.api.MekanismConfig.client;
import mekanism.client.render.ColourTemperature;
import mekanism.client.render.MekanismRenderer;
import mekanism.common.multipart.PartThermodynamicConductor;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.VertexBuffer;
import net.minecraft.util.EnumFacing;
import org.lwjgl.opengl.GL11;
public class RenderThermodynamicConductor extends RenderTransmitterBase<PartThermodynamicConductor>
{
public RenderThermodynamicConductor()
{
super();
}
@Override
public void renderMultipartAt(PartThermodynamicConductor transmitter, double x, double y, double z, float partialTick, int destroyStage)
{
if(client.opaqueTransmitters)
{
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)
{
renderHeatSide(worldRenderer, side, transmitter);
}
MekanismRenderer.glowOn();
tessellator.draw();
MekanismRenderer.glowOff();
pop();
}
public void renderHeatSide(VertexBuffer renderer, EnumFacing side, PartThermodynamicConductor cable)
{
bindTexture(MekanismRenderer.getBlocksTexture());
renderTransparency(renderer, MekanismRenderer.heatIcon, getModelForSide(cable, side), ColourTemperature.fromTemperature(cable.temperature, cable.getBaseColour()));
}
}