public boolean renderBlockLadder(Block block, int i, int j, int k) {
        Tessellator tessellator = Tessellator.instance;
        int l = block.getBlockTextureFromSide(0);

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

        float f = block.getBlockBrightness(this.blockAccess, i, j, k);

        tessellator.setColorOpaque_F(f, f, f);
        int i1 = (l & 15) << 4;
        int j1 = l & 240;
        double d = (double) ((float) i1 / 256.0F);
        double d1 = (double) (((float) i1 + 15.99F) / 256.0F);
        double d2 = (double) ((float) j1 / 256.0F);
        double d3 = (double) (((float) j1 + 15.99F) / 256.0F);
        int k1 = this.blockAccess.getBlockMetadata(i, j, k);
        float f1 = 0.0F;
        float f2 = 0.05F;

        if (k1 == 5) {
            tessellator.addVertexWithUV((double) ((float) i + f2), (double) ((float) (j + 1) + f1), (double) ((float) (k + 1) + f1), d, d2);
            tessellator.addVertexWithUV((double) ((float) i + f2), (double) ((float) (j + 0) - f1), (double) ((float) (k + 1) + f1), d, d3);
            tessellator.addVertexWithUV((double) ((float) i + f2), (double) ((float) (j + 0) - f1), (double) ((float) (k + 0) - f1), d1, d3);
            tessellator.addVertexWithUV((double) ((float) i + f2), (double) ((float) (j + 1) + f1), (double) ((float) (k + 0) - f1), d1, d2);
        }

        if (k1 == 4) {
            tessellator.addVertexWithUV((double) ((float) (i + 1) - f2), (double) ((float) (j + 0) - f1), (double) ((float) (k + 1) + f1), d1, d3);
            tessellator.addVertexWithUV((double) ((float) (i + 1) - f2), (double) ((float) (j + 1) + f1), (double) ((float) (k + 1) + f1), d1, d2);
            tessellator.addVertexWithUV((double) ((float) (i + 1) - f2), (double) ((float) (j + 1) + f1), (double) ((float) (k + 0) - f1), d, d2);
            tessellator.addVertexWithUV((double) ((float) (i + 1) - f2), (double) ((float) (j + 0) - f1), (double) ((float) (k + 0) - f1), d, d3);
        }

        if (k1 == 3) {
            tessellator.addVertexWithUV((double) ((float) (i + 1) + f1), (double) ((float) (j + 0) - f1), (double) ((float) k + f2), d1, d3);
            tessellator.addVertexWithUV((double) ((float) (i + 1) + f1), (double) ((float) (j + 1) + f1), (double) ((float) k + f2), d1, d2);
            tessellator.addVertexWithUV((double) ((float) (i + 0) - f1), (double) ((float) (j + 1) + f1), (double) ((float) k + f2), d, d2);
            tessellator.addVertexWithUV((double) ((float) (i + 0) - f1), (double) ((float) (j + 0) - f1), (double) ((float) k + f2), d, d3);
        }

        if (k1 == 2) {
            tessellator.addVertexWithUV((double) ((float) (i + 1) + f1), (double) ((float) (j + 1) + f1), (double) ((float) (k + 1) - f2), d, d2);
            tessellator.addVertexWithUV((double) ((float) (i + 1) + f1), (double) ((float) (j + 0) - f1), (double) ((float) (k + 1) - f2), d, d3);
            tessellator.addVertexWithUV((double) ((float) (i + 0) - f1), (double) ((float) (j + 0) - f1), (double) ((float) (k + 1) - f2), d1, d3);
            tessellator.addVertexWithUV((double) ((float) (i + 0) - f1), (double) ((float) (j + 1) + f1), (double) ((float) (k + 1) - f2), d1, d2);
        }

        return true;
    }