package mekanism.client.render.transmitter;
import mekanism.api.MekanismConfig.client;
import mekanism.client.render.MekanismRenderer;
import mekanism.common.ColourRGBA;
import mekanism.common.multipart.PartPressurizedTube;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.VertexBuffer;
import net.minecraft.util.EnumFacing;
import org.lwjgl.opengl.GL11;
public class RenderPressurizedTube extends RenderTransmitterBase<PartPressurizedTube>
{
public RenderPressurizedTube()
{
super();
}
@Override
public void renderMultipartAt(PartPressurizedTube tube, double x, double y, double z, float partialTick, int destroyStage)
{
if(client.opaqueTransmitters || !tube.getTransmitter().hasTransmitterNetwork() || tube.getTransmitter().getTransmitterNetwork().refGas == null || tube.getTransmitter().getTransmitterNetwork().gasScale == 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)
{
renderGasSide(worldRenderer, side, tube);
}
MekanismRenderer.glowOn(0);
tessellator.draw();
MekanismRenderer.glowOff();
pop();
}
public void renderGasSide(VertexBuffer renderer, EnumFacing side, PartPressurizedTube tube)
{
bindTexture(MekanismRenderer.getBlocksTexture());
renderTransparency(renderer, tube.getTransmitter().getTransmitterNetwork().refGas.getSprite(), getModelForSide(tube, side), new ColourRGBA(1.0, 1.0, 1.0, tube.currentScale));
}
}