Example usage for org.lwjgl.opengl GL11 glEnable

List of usage examples for org.lwjgl.opengl GL11 glEnable

Introduction

In this page you can find the example usage for org.lwjgl.opengl GL11 glEnable.

Prototype

public static void glEnable(@NativeType("GLenum") int target) 

Source Link

Document

Enables the specified OpenGL state.

Usage

From source file:buildcraft.core.RenderEntityBlock.java

License:Minecraft Mod Public

public void doRenderBlock(EntityBlock entity, double i, double j, double k) {
    if (entity.isDead)
        return;/*from  w w  w  .  j  a  v a  2 s  .c o m*/

    shadowSize = entity.shadowSize;
    World world = entity.worldObj;
    BlockInterface util = new BlockInterface();
    util.texture = entity.texture;

    for (int iBase = 0; iBase < entity.iSize; ++iBase)
        for (int jBase = 0; jBase < entity.jSize; ++jBase)
            for (int kBase = 0; kBase < entity.kSize; ++kBase) {

                util.minX = 0;
                util.minY = 0;
                util.minZ = 0;

                double remainX = entity.iSize - iBase;
                double remainY = entity.jSize - jBase;
                double remainZ = entity.kSize - kBase;

                util.maxX = (remainX > 1.0 ? 1.0 : remainX);
                util.maxY = (remainY > 1.0 ? 1.0 : remainY);
                util.maxZ = (remainZ > 1.0 ? 1.0 : remainZ);

                GL11.glPushMatrix();
                GL11.glTranslatef((float) i + 0.5F, (float) j + 0.5F, (float) k + 0.5F);
                GL11.glRotatef(entity.rotationX, 1, 0, 0);
                GL11.glRotatef(entity.rotationY, 0, 1, 0);
                GL11.glRotatef(entity.rotationZ, 0, 0, 1);
                GL11.glTranslatef(iBase, jBase, kBase);

                MinecraftForgeClient.bindTexture(DefaultProps.TEXTURE_BLOCKS);

                int lightX, lightY, lightZ;

                lightX = (int) (Math.floor(entity.posX) + iBase);
                lightY = (int) (Math.floor(entity.posY) + jBase);
                lightZ = (int) (Math.floor(entity.posZ) + kBase);

                GL11.glDisable(2896 /* GL_LIGHTING */);
                renderBlock(util, world, lightX, lightY, lightZ, false, true);
                GL11.glEnable(2896 /* GL_LIGHTING */);
                GL11.glPopMatrix();

            }
}

From source file:buildcraft.energy.render.RenderEnergyEmitter.java

License:Minecraft Mod Public

public void renderTileEntityAt2(TileEntity tileentity, double x, double y, double z, float f) {

    if (BuildCraftCore.render == RenderMode.NoDynamic) {
        return;// w  w  w  .  j av a2  s .  c om
    }

    GL11.glPushMatrix();
    GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
    GL11.glEnable(GL11.GL_LIGHTING);
    GL11.glDisable(GL11.GL_BLEND);
    GL11.glEnable(GL11.GL_CULL_FACE);
    GL11.glColor3f(1, 1, 1);

    GL11.glTranslatef((float) x, (float) y, (float) z);

    float step;

    float[] angle = { 0, 0, 0 };

    box.rotateAngleX = angle[0];
    box.rotateAngleY = angle[1];
    box.rotateAngleZ = angle[2];

    float factor = (float) (1.0 / 16.0);

    //bindTexture(EntityLaser.LASER_TEXTURES[3]);
    bindTexture(CHAMBER_TEXTURE);

    box.render(factor);

    GL11.glPopAttrib();
    GL11.glPopMatrix();
}

From source file:buildcraft.energy.render.RenderEnergyEmitter.java

License:Minecraft Mod Public

@Override
public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) {
    TileEnergyEmitter emitter = (TileEnergyEmitter) tileentity;

    if (emitter != null) {
        GL11.glPushMatrix();/*  w  w w .  ja va2s .  c  o m*/
        GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
        GL11.glEnable(GL11.GL_CULL_FACE);
        GL11.glEnable(GL11.GL_LIGHTING);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);

        GL11.glTranslated(x, y, z);

        for (Target t : emitter.targets.values()) {
            GL11.glPushMatrix();
            GL11.glTranslated(0.5F, 0.5F, 0.5F);
            RenderLaser.doRenderLaserWave(TileEntityRendererDispatcher.instance.field_147553_e, t.data,
                    EntityLaser.LASER_TEXTURES[3]);
            GL11.glPopMatrix();
        }

        //GL11.glEnable(GL11.GL_LIGHTING);
        GL11.glPopAttrib();
        GL11.glPopMatrix();
    }
}

From source file:buildcraft.energy.render.RenderEngine.java

License:Minecraft Mod Public

private void render(float progress, ForgeDirection orientation, ResourceLocation baseTexture,
        ResourceLocation chamberTexture, ResourceLocation trunkTexture, double x, double y, double z) {

    if (BuildCraftCore.render == RenderMode.NoDynamic) {
        return;//from  ww w.ja v a  2 s . c om
    }

    GL11.glPushMatrix();
    GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
    GL11.glEnable(GL11.GL_LIGHTING);
    GL11.glDisable(GL11.GL_BLEND);
    GL11.glEnable(GL11.GL_CULL_FACE);
    GL11.glColor3f(1, 1, 1);

    GL11.glTranslatef((float) x, (float) y, (float) z);

    float step;

    if (progress > 0.5) {
        step = 7.99F - (progress - 0.5F) * 2F * 7.99F;
    } else {
        step = progress * 2F * 7.99F;
    }

    float translatefact = step / 16;

    float[] angle = { 0, 0, 0 };
    float[] translate = { orientation.offsetX, orientation.offsetY, orientation.offsetZ };

    switch (orientation) {
    case EAST:
    case WEST:
    case DOWN:
        angle[2] = angleMap[orientation.ordinal()];
        break;
    case SOUTH:
    case NORTH:
    default:
        angle[0] = angleMap[orientation.ordinal()];
        break;
    }

    box.rotateAngleX = angle[0];
    box.rotateAngleY = angle[1];
    box.rotateAngleZ = angle[2];

    trunk.rotateAngleX = angle[0];
    trunk.rotateAngleY = angle[1];
    trunk.rotateAngleZ = angle[2];

    movingBox.rotateAngleX = angle[0];
    movingBox.rotateAngleY = angle[1];
    movingBox.rotateAngleZ = angle[2];

    chamber.rotateAngleX = angle[0];
    chamber.rotateAngleY = angle[1];
    chamber.rotateAngleZ = angle[2];

    float factor = (float) (1.0 / 16.0);

    bindTexture(baseTexture);

    box.render(factor);

    GL11.glTranslatef(translate[0] * translatefact, translate[1] * translatefact, translate[2] * translatefact);
    movingBox.render(factor);
    GL11.glTranslatef(-translate[0] * translatefact, -translate[1] * translatefact,
            -translate[2] * translatefact);

    bindTexture(chamberTexture);

    float chamberf = 2F / 16F;

    for (int i = 0; i <= step + 2; i += 2) {
        chamber.render(factor);
        GL11.glTranslatef(translate[0] * chamberf, translate[1] * chamberf, translate[2] * chamberf);
    }

    for (int i = 0; i <= step + 2; i += 2) {
        GL11.glTranslatef(-translate[0] * chamberf, -translate[1] * chamberf, -translate[2] * chamberf);
    }

    bindTexture(trunkTexture);

    trunk.render(factor);

    GL11.glPopAttrib();
    GL11.glPopMatrix();
}

From source file:buildcraft.energy.RenderEngine.java

License:Minecraft Mod Public

private void render(EnergyStage energy, float progress, Orientations orientation, String baseTexture, double x,
        double y, double z) {

    if (BuildCraftCore.render == RenderMode.NoDynamic)
        return;/*from w w  w  . j av  a  2 s .c o m*/

    GL11.glPushMatrix();
    GL11.glDisable(2896 /* GL_LIGHTING */);

    GL11.glTranslatef((float) x, (float) y, (float) z);

    float step;

    if (progress > 0.5)
        step = 7.99F - (progress - 0.5F) * 2F * 7.99F;
    else
        step = progress * 2F * 7.99F;

    float[] angle = { 0, 0, 0 };
    float[] translate = { 0, 0, 0 };
    float translatefact = step / 16;

    switch (orientation) {
    case XPos:
        angle[2] = (float) -Math.PI / 2;
        translate[0] = 1;
        break;
    case XNeg:
        angle[2] = (float) Math.PI / 2;
        translate[0] = -1;
        break;
    case YPos:
        translate[1] = 1;
        break;
    case YNeg:
        angle[2] = (float) Math.PI;
        translate[1] = -1;
        break;
    case ZPos:
        angle[0] = (float) Math.PI / 2;
        translate[2] = 1;
        break;
    case ZNeg:
        angle[0] = (float) -Math.PI / 2;
        translate[2] = -1;
        break;
    }

    box.rotateAngleX = angle[0];
    box.rotateAngleY = angle[1];
    box.rotateAngleZ = angle[2];

    trunk.rotateAngleX = angle[0];
    trunk.rotateAngleY = angle[1];
    trunk.rotateAngleZ = angle[2];

    movingBox.rotateAngleX = angle[0];
    movingBox.rotateAngleY = angle[1];
    movingBox.rotateAngleZ = angle[2];

    chamber.rotateAngleX = angle[0];
    chamber.rotateAngleY = angle[1];
    chamber.rotateAngleZ = angle[2];

    float factor = (float) (1.0 / 16.0);

    MinecraftForgeClient.bindTexture(baseTexture);

    box.render(factor);

    GL11.glTranslatef(translate[0] * translatefact, translate[1] * translatefact, translate[2] * translatefact);
    movingBox.render(factor);
    GL11.glTranslatef(-translate[0] * translatefact, -translate[1] * translatefact,
            -translate[2] * translatefact);

    MinecraftForgeClient.bindTexture(DefaultProps.TEXTURE_PATH_BLOCKS + "/chamber.png");

    float chamberf = 2F / 16F;

    for (int i = 0; i <= step + 2; i += 2) {
        chamber.render(factor);
        GL11.glTranslatef(translate[0] * chamberf, translate[1] * chamberf, translate[2] * chamberf);
    }

    for (int i = 0; i <= step + 2; i += 2)
        GL11.glTranslatef(-translate[0] * chamberf, -translate[1] * chamberf, -translate[2] * chamberf);

    String texture = "";

    switch (energy) {
    case Blue:
        texture = DefaultProps.TEXTURE_PATH_BLOCKS + "/trunk_blue.png";
        break;
    case Green:
        texture = DefaultProps.TEXTURE_PATH_BLOCKS + "/trunk_green.png";
        break;
    case Yellow:
        texture = DefaultProps.TEXTURE_PATH_BLOCKS + "/trunk_yellow.png";
        break;
    default:
        texture = DefaultProps.TEXTURE_PATH_BLOCKS + "/trunk_red.png";
        break;
    }

    MinecraftForgeClient.bindTexture(texture);

    trunk.render(factor);

    GL11.glEnable(2896 /* GL_LIGHTING */);
    GL11.glPopMatrix();
}

From source file:buildcraft.factory.render.RenderHopper.java

License:Minecraft Mod Public

private void render(double x, double y, double z) {
    if (BuildCraftCore.render == RenderMode.NoDynamic) {
        return;//w w w .  ja v  a2  s . com
    }

    GL11.glPushMatrix();
    GL11.glDisable(GL11.GL_LIGHTING);

    GL11.glTranslated(x, y, z);
    bindTexture(HOPPER_TEXTURE);
    top.render((float) (1.0 / 16.0));
    bottom.render((float) (1.0 / 16.0));
    bindTexture(HOPPER_MIDDLE_TEXTURE);
    middle.render(Tessellator.instance, 1F / 16F);

    GL11.glEnable(GL11.GL_LIGHTING);
    GL11.glPopMatrix();
}

From source file:buildcraft.factory.render.RenderRefinery.java

License:Minecraft Mod Public

private void render(TileRefinery tile, double x, double y, double z) {
    FluidStack liquid1 = null, liquid2 = null, liquidResult = null;
    int color1 = 0xFFFFFF, color2 = 0xFFFFFF, colorResult = 0xFFFFFF;

    float anim = 0;
    int angle = 0;
    ModelRenderer theMagnet = magnet[0];
    if (tile != null) {
        if (tile.tank1.getFluid() != null) {
            liquid1 = tile.tank1.getFluid();
            color1 = tile.tank1.colorRenderCache;
        }// w w w .  java 2s  .  co  m

        if (tile.tank2.getFluid() != null) {
            liquid2 = tile.tank2.getFluid();
            color2 = tile.tank2.colorRenderCache;
        }

        if (tile.result.getFluid() != null) {
            liquidResult = tile.result.getFluid();
            colorResult = tile.result.colorRenderCache;
        }

        anim = tile.getAnimationStage();

        angle = 0;
        switch (tile.getWorldObj().getBlockMetadata(tile.xCoord, tile.yCoord, tile.zCoord)) {
        case 2:
            angle = 90;
            break;
        case 3:
            angle = 270;
            break;
        case 4:
            angle = 180;
            break;
        case 5:
            angle = 0;
            break;
        }

        if (tile.animationSpeed <= 1) {
            theMagnet = magnet[0];
        } else if (tile.animationSpeed <= 2.5) {
            theMagnet = magnet[1];
        } else if (tile.animationSpeed <= 4.5) {
            theMagnet = magnet[2];
        } else {
            theMagnet = magnet[3];
        }
    }

    GL11.glPushMatrix();
    GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
    GL11.glEnable(GL11.GL_LIGHTING);
    GL11.glDisable(GL11.GL_CULL_FACE);

    GL11.glTranslatef((float) x + 0.5F, (float) y + 0.5F, (float) z + 0.5F);
    GL11.glScalef(0.99F, 0.99F, 0.99F);

    GL11.glRotatef(angle, 0, 1, 0);

    bindTexture(TEXTURE);

    GL11.glPushMatrix();
    GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
    GL11.glTranslatef(-4F * pixel, 0, -4F * pixel);
    tank.render(pixel);
    GL11.glTranslatef(4F * pixel, 0, 4F * pixel);

    GL11.glTranslatef(-4F * pixel, 0, 4F * pixel);
    tank.render(pixel);
    GL11.glTranslatef(4F * pixel, 0, -4F * pixel);

    GL11.glTranslatef(4F * pixel, 0, 0);
    tank.render(pixel);
    GL11.glTranslatef(-4F * pixel, 0, 0);
    GL11.glPopMatrix();

    float trans1, trans2;

    if (anim <= 100) {
        trans1 = 12F * pixel * anim / 100F;
        trans2 = 0;
    } else if (anim <= 200) {
        trans1 = 12F * pixel - (12F * pixel * (anim - 100F) / 100F);
        trans2 = 12F * pixel * (anim - 100F) / 100F;
    } else {
        trans1 = 12F * pixel * (anim - 200F) / 100F;
        trans2 = 12F * pixel - (12F * pixel * (anim - 200F) / 100F);
    }

    GL11.glPushMatrix();
    GL11.glScalef(0.99F, 0.99F, 0.99F);
    GL11.glTranslatef(-0.51F, trans1 - 0.5F, -0.5F);
    theMagnet.render(pixel);
    GL11.glPopMatrix();

    GL11.glPushMatrix();
    GL11.glScalef(0.99F, 0.99F, 0.99F);
    GL11.glTranslatef(-0.51F, trans2 - 0.5F, 12F * pixel - 0.5F);
    theMagnet.render(pixel);
    GL11.glPopMatrix();

    if (tile != null) {
        GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
        GL11.glEnable(GL11.GL_CULL_FACE);
        GL11.glDisable(GL11.GL_LIGHTING);
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);

        GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
        GL11.glScalef(0.5F, 1, 0.5F);

        if (liquid1 != null && liquid1.amount > 0) {
            int[] list1 = FluidRenderer.getFluidDisplayLists(liquid1, tile.getWorldObj(), false);

            if (list1 != null) {
                bindTexture(FluidRenderer.getFluidSheet(liquid1));
                RenderUtils.setGLColorFromInt(color1);
                GL11.glCallList(list1[getDisplayListIndex(tile.tank1)]);
            }
        }

        if (liquid2 != null && liquid2.amount > 0) {
            int[] list2 = FluidRenderer.getFluidDisplayLists(liquid2, tile.getWorldObj(), false);

            if (list2 != null) {
                GL11.glPushMatrix();
                GL11.glTranslatef(0, 0, 1);
                bindTexture(FluidRenderer.getFluidSheet(liquid2));
                RenderUtils.setGLColorFromInt(color2);
                GL11.glCallList(list2[getDisplayListIndex(tile.tank2)]);
                GL11.glPopMatrix();
            }
        }

        if (liquidResult != null && liquidResult.amount > 0) {
            int[] list3 = FluidRenderer.getFluidDisplayLists(liquidResult, tile.getWorldObj(), false);

            if (list3 != null) {
                GL11.glPushMatrix();
                GL11.glTranslatef(1, 0, 0.5F);
                bindTexture(FluidRenderer.getFluidSheet(liquidResult));
                RenderUtils.setGLColorFromInt(colorResult);
                GL11.glCallList(list3[getDisplayListIndex(tile.result)]);
                GL11.glPopMatrix();
            }
        }
        GL11.glPopAttrib();
    }

    GL11.glPopAttrib();
    GL11.glPopMatrix();
}

From source file:buildcraft.factory.render.RenderTank.java

License:Minecraft Mod Public

@Override
public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) {

    TileTank tank = (TileTank) tileentity;

    FluidStack liquid = tank.tank.getFluid();
    int color = tank.tank.colorRenderCache;
    if (liquid == null || liquid.amount <= 0) {
        return;/* www. j ava 2s .  co  m*/
    }

    int[] displayList = FluidRenderer.getFluidDisplayLists(liquid, tileentity.getWorldObj(), false);
    if (displayList == null) {
        return;
    }

    GL11.glPushMatrix();
    GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
    GL11.glEnable(GL11.GL_CULL_FACE);
    GL11.glDisable(GL11.GL_LIGHTING);
    GL11.glEnable(GL11.GL_BLEND);
    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);

    bindTexture(FluidRenderer.getFluidSheet(liquid));
    RenderUtils.setGLColorFromInt(color);

    GL11.glTranslatef((float) x + 0.125F, (float) y + 0.5F, (float) z + 0.125F);
    GL11.glScalef(0.75F, 0.999F, 0.75F);
    GL11.glTranslatef(0, -0.5F, 0);

    GL11.glCallList(displayList[(int) ((float) liquid.amount / (float) (tank.tank.getCapacity())
            * (FluidRenderer.DISPLAY_STAGES - 1))]);

    GL11.glPopAttrib();
    GL11.glPopMatrix();
}

From source file:buildcraft.factory.RenderRefinery.java

License:Minecraft Mod Public

private void render(TileRefinery tile, double x, double y, double z) {

    int liquid1 = 0, liquid2 = 0, liquid3 = 0;
    int qty1 = 0, qty2 = 0, qty3 = 0;
    float anim = 0;
    int angle = 0;
    ModelRenderer theMagnet = magnet[0];

    if (tile != null) {
        liquid1 = tile.slot1.liquidId;/* ww w .j  a  v  a  2  s . co m*/
        qty1 = tile.slot1.quantity;

        liquid2 = tile.slot2.liquidId;
        qty2 = tile.slot2.quantity;

        liquid3 = tile.result.liquidId;
        qty3 = tile.result.quantity;

        anim = tile.getAnimationStage();

        switch (tile.worldObj.getBlockMetadata(tile.xCoord, tile.yCoord, tile.zCoord)) {
        case 2:
            angle = 90;
            break;
        case 3:
            angle = 270;
            break;
        case 4:
            angle = 180;
            break;
        case 5:
            angle = 0;
            break;
        }

        if (tile.animationSpeed <= 1)
            theMagnet = magnet[0];
        else if (tile.animationSpeed <= 2.5)
            theMagnet = magnet[1];
        else if (tile.animationSpeed <= 4.5)
            theMagnet = magnet[2];
        else
            theMagnet = magnet[3];

    }

    GL11.glPushMatrix();
    GL11.glDisable(2896 /* GL_LIGHTING */);

    GL11.glTranslatef((float) x, (float) y, (float) z);

    GL11.glTranslatef(0.5F, 0.5F, 0.5F);
    GL11.glRotatef(angle, 0, 1, 0);
    GL11.glTranslatef(-0.5F, -0.5F, -0.5F);

    MinecraftForgeClient.bindTexture(DefaultProps.TEXTURE_PATH_BLOCKS + "/refinery.png");
    GL11.glTranslatef(-4F * factor, 0, -4F * factor);
    tank.render(factor);
    GL11.glTranslatef(4F * factor, 0, 4F * factor);

    GL11.glTranslatef(-4F * factor, 0, 4F * factor);
    tank.render(factor);
    GL11.glTranslatef(4F * factor, 0, -4F * factor);

    GL11.glTranslatef(4F * factor, 0, 0);
    tank.render(factor);
    GL11.glTranslatef(-4F * factor, 0, 0);

    float trans1, trans2;

    if (anim <= 100) {
        trans1 = 12F * factor * anim / 100F;
        trans2 = 0;
    } else if (anim <= 200) {
        trans1 = 12F * factor - (12F * factor * (anim - 100F) / 100F);
        trans2 = 12F * factor * (anim - 100F) / 100F;
    } else {
        trans1 = 12F * factor * (anim - 200F) / 100F;
        trans2 = 12F * factor - (12F * factor * (anim - 200F) / 100F);
    }

    GL11.glTranslatef(0, trans1, 0);
    theMagnet.render(factor);
    GL11.glTranslatef(0, -trans1, 0);

    GL11.glTranslatef(0, trans2, 12F * factor);
    theMagnet.render(factor);
    GL11.glTranslatef(0, -trans2, -12F * factor);

    GL11.glTranslatef(0.5F, 0.5F, 0.5F);

    GL11.glTranslatef(-4F * factor, 0, -4F * factor);
    if (qty1 > 0) {
        int[] list1 = getDisplayLists(liquid1, tile.worldObj);

        if (list1 != null) {
            setTextureFor(liquid1);
            GL11.glCallList(
                    list1[(int) ((float) qty1 / (float) TileRefinery.LIQUID_PER_SLOT * (displayStages - 1))]);
        }
    }
    GL11.glTranslatef(4F * factor, 0, 4F * factor);

    GL11.glTranslatef(-4F * factor, 0, 4F * factor);
    if (qty2 > 0) {
        int[] list2 = getDisplayLists(liquid2, tile.worldObj);

        if (list2 != null) {
            setTextureFor(liquid2);
            GL11.glCallList(
                    list2[(int) ((float) qty2 / (float) TileRefinery.LIQUID_PER_SLOT * (displayStages - 1))]);
        }
    }
    GL11.glTranslatef(4F * factor, 0, -4F * factor);

    GL11.glTranslatef(4F * factor, 0, 0);
    if (qty3 > 0) {
        int[] list3 = getDisplayLists(liquid3, tile.worldObj);

        if (list3 != null) {
            setTextureFor(liquid3);
            GL11.glCallList(getDisplayLists(liquid3, tile.worldObj)[(int) ((float) qty3
                    / (float) TileRefinery.LIQUID_PER_SLOT * (displayStages - 1))]);
        }
    }
    GL11.glTranslatef(-4F * factor, 0, 0);

    GL11.glEnable(2896 /* GL_LIGHTING */);
    GL11.glPopMatrix();
}

From source file:buildcraft.factory.RenderTank.java

License:Minecraft Mod Public

@Override
public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) {

    TileTank tank = ((TileTank) tileentity);

    LiquidStack liquid = tank.tank.getLiquid();

    if (liquid == null || liquid.amount <= 0 || liquid.itemID <= 0)
        return;//from  ww w . j  a v a  2  s.co  m

    int[] displayList = getDisplayLists(liquid.itemID, liquid.itemMeta, tileentity.worldObj);

    GL11.glPushMatrix();
    GL11.glDisable(2896 /* GL_LIGHTING */);

    Object obj = null;

    if (liquid.itemID < Block.blocksList.length && Block.blocksList[liquid.itemID] != null)
        obj = Block.blocksList[liquid.itemID];
    else
        obj = Item.itemsList[liquid.itemID];

    if (obj instanceof ITextureProvider)
        MinecraftForgeClient.bindTexture(((ITextureProvider) obj).getTextureFile());
    else
        MinecraftForgeClient.bindTexture("/terrain.png");

    GL11.glTranslatef((float) x + 0.5F, (float) y + 0.5F, (float) z + 0.5F);

    GL11.glCallList(displayList[(int) ((float) liquid.amount / (float) (tank.tank.getCapacity())
            * (displayStages - 1))]);

    GL11.glEnable(2896 /* GL_LIGHTING */);
    GL11.glPopMatrix();
}