public boolean renderBlockMinecartTrack(BlockRail par1BlockRail, int par2, int par3, int par4)
    {
        Tessellator var5 = Tessellator.instance;
        int var6 = this.blockAccess.getBlockMetadata(par2, par3, par4);
        int var7 = par1BlockRail.getBlockTextureFromSideAndMetadata(0, var6);

        if (this.overrideBlockTexture >= 0)
        {
            var7 = this.overrideBlockTexture;
        }

        if (par1BlockRail.isPowered())
        {
            var6 &= 7;
        }

        var5.setBrightness(par1BlockRail.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4));
        var5.setColorOpaque_F(1.0F, 1.0F, 1.0F);
        int var8 = (var7 & 15) << 4;
        int var9 = var7 & 240;
        double var10 = (double)((float)var8 / 256.0F);
        double var12 = (double)(((float)var8 + 15.99F) / 256.0F);
        double var14 = (double)((float)var9 / 256.0F);
        double var16 = (double)(((float)var9 + 15.99F) / 256.0F);
        double var18 = 0.0625D;
        double var20 = (double)(par2 + 1);
        double var22 = (double)(par2 + 1);
        double var24 = (double)(par2 + 0);
        double var26 = (double)(par2 + 0);
        double var28 = (double)(par4 + 0);
        double var30 = (double)(par4 + 1);
        double var32 = (double)(par4 + 1);
        double var34 = (double)(par4 + 0);
        double var36 = (double)par3 + var18;
        double var38 = (double)par3 + var18;
        double var40 = (double)par3 + var18;
        double var42 = (double)par3 + var18;

        if (var6 != 1 && var6 != 2 && var6 != 3 && var6 != 7)
        {
            if (var6 == 8)
            {
                var20 = var22 = (double)(par2 + 0);
                var24 = var26 = (double)(par2 + 1);
                var28 = var34 = (double)(par4 + 1);
                var30 = var32 = (double)(par4 + 0);
            }
            else if (var6 == 9)
            {
                var20 = var26 = (double)(par2 + 0);
                var22 = var24 = (double)(par2 + 1);
                var28 = var30 = (double)(par4 + 0);
                var32 = var34 = (double)(par4 + 1);
            }
        }
        else
        {
            var20 = var26 = (double)(par2 + 1);
            var22 = var24 = (double)(par2 + 0);
            var28 = var30 = (double)(par4 + 1);
            var32 = var34 = (double)(par4 + 0);
        }

        if (var6 != 2 && var6 != 4)
        {
            if (var6 == 3 || var6 == 5)
            {
                ++var38;
                ++var40;
            }
        }
        else
        {
            ++var36;
            ++var42;
        }

        var5.addVertexWithUV(var20, var36, var28, var12, var14);
        var5.addVertexWithUV(var22, var38, var30, var12, var16);
        var5.addVertexWithUV(var24, var40, var32, var10, var16);
        var5.addVertexWithUV(var26, var42, var34, var10, var14);
        var5.addVertexWithUV(var26, var42, var34, var10, var14);
        var5.addVertexWithUV(var24, var40, var32, var10, var16);
        var5.addVertexWithUV(var22, var38, var30, var12, var16);
        var5.addVertexWithUV(var20, var36, var28, var12, var14);
        return true;
    }