private boolean renderBlockRepeater(Block block, int i, int j, int k) {
        int l = this.blockAccess.getBlockMetadata(i, j, k);
        int i1 = l & 3;
        int j1 = (l & 12) >> 2;

        this.renderStandardBlock(block, i, j, k);
        Tessellator tessellator = Tessellator.instance;
        float f = block.getBlockBrightness(this.blockAccess, i, j, k);

        if (Block.lightValue[block.blockID] > 0) {
            f = (f + 1.0F) * 0.5F;
        }

        tessellator.setColorOpaque_F(f, f, f);
        double d = -0.1875D;
        double d1 = 0.0D;
        double d2 = 0.0D;
        double d3 = 0.0D;
        double d4 = 0.0D;

        switch (i1) {
            case 0:
                d4 = -0.3125D;
                d2 = BlockRedstoneRepeater.repeaterTorchOffset[j1];
                break;

            case 1:
                d3 = 0.3125D;
                d1 = -BlockRedstoneRepeater.repeaterTorchOffset[j1];
                break;

            case 2:
                d4 = 0.3125D;
                d2 = -BlockRedstoneRepeater.repeaterTorchOffset[j1];
                break;

            case 3:
                d3 = -0.3125D;
                d1 = BlockRedstoneRepeater.repeaterTorchOffset[j1];
        }

        this.renderTorchAtAngle(block, (double) i + d1, (double) j + d, (double) k + d2, 0.0D, 0.0D);
        this.renderTorchAtAngle(block, (double) i + d3, (double) j + d, (double) k + d4, 0.0D, 0.0D);
        int k1 = block.getBlockTextureFromSide(1);
        int l1 = (k1 & 15) << 4;
        int i2 = k1 & 240;
        double d5 = (double) ((float) l1 / 256.0F);
        double d6 = (double) (((float) l1 + 15.99F) / 256.0F);
        double d7 = (double) ((float) i2 / 256.0F);
        double d8 = (double) (((float) i2 + 15.99F) / 256.0F);
        float f1 = 0.125F;
        float f2 = (float) (i + 1);
        float f3 = (float) (i + 1);
        float f4 = (float) (i + 0);
        float f5 = (float) (i + 0);
        float f6 = (float) (k + 0);
        float f7 = (float) (k + 1);
        float f8 = (float) (k + 1);
        float f9 = (float) (k + 0);
        float f10 = (float) j + f1;

        if (i1 == 2) {
            f2 = f3 = (float) (i + 0);
            f4 = f5 = (float) (i + 1);
            f6 = f9 = (float) (k + 1);
            f7 = f8 = (float) (k + 0);
        } else if (i1 == 3) {
            f2 = f5 = (float) (i + 0);
            f3 = f4 = (float) (i + 1);
            f6 = f7 = (float) (k + 0);
            f8 = f9 = (float) (k + 1);
        } else if (i1 == 1) {
            f2 = f5 = (float) (i + 1);
            f3 = f4 = (float) (i + 0);
            f6 = f7 = (float) (k + 1);
            f8 = f9 = (float) (k + 0);
        }

        tessellator.addVertexWithUV((double) f5, (double) f10, (double) f9, d5, d7);
        tessellator.addVertexWithUV((double) f4, (double) f10, (double) f8, d5, d8);
        tessellator.addVertexWithUV((double) f3, (double) f10, (double) f7, d6, d8);
        tessellator.addVertexWithUV((double) f2, (double) f10, (double) f6, d6, d7);
        return true;
    }