public boolean renderBlockRepeater(Block par1Block, int par2, int par3, int par4)
    {
        int var5 = this.blockAccess.getBlockMetadata(par2, par3, par4);
        int var6 = var5 & 3;
        int var7 = (var5 & 12) >> 2;
        this.renderStandardBlock(par1Block, par2, par3, par4);
        Tessellator var8 = Tessellator.instance;
        var8.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4));
        var8.setColorOpaque_F(1.0F, 1.0F, 1.0F);
        double var9 = -0.1875D;
        double var11 = 0.0D;
        double var13 = 0.0D;
        double var15 = 0.0D;
        double var17 = 0.0D;

        switch (var6)
        {
            case 0:
                var17 = -0.3125D;
                var13 = BlockRedstoneRepeater.repeaterTorchOffset[var7];
                break;

            case 1:
                var15 = 0.3125D;
                var11 = -BlockRedstoneRepeater.repeaterTorchOffset[var7];
                break;

            case 2:
                var17 = 0.3125D;
                var13 = -BlockRedstoneRepeater.repeaterTorchOffset[var7];
                break;

            case 3:
                var15 = -0.3125D;
                var11 = BlockRedstoneRepeater.repeaterTorchOffset[var7];
        }

        this.renderTorchAtAngle(par1Block, (double)par2 + var11, (double)par3 + var9, (double)par4 + var13, 0.0D, 0.0D);
        this.renderTorchAtAngle(par1Block, (double)par2 + var15, (double)par3 + var9, (double)par4 + var17, 0.0D, 0.0D);
        int var19 = par1Block.getBlockTextureFromSide(1);
        int var20 = (var19 & 15) << 4;
        int var21 = var19 & 240;
        double var22 = (double)((float)var20 / 256.0F);
        double var24 = (double)(((float)var20 + 15.99F) / 256.0F);
        double var26 = (double)((float)var21 / 256.0F);
        double var28 = (double)(((float)var21 + 15.99F) / 256.0F);
        double var30 = 0.125D;
        double var32 = (double)(par2 + 1);
        double var34 = (double)(par2 + 1);
        double var36 = (double)(par2 + 0);
        double var38 = (double)(par2 + 0);
        double var40 = (double)(par4 + 0);
        double var42 = (double)(par4 + 1);
        double var44 = (double)(par4 + 1);
        double var46 = (double)(par4 + 0);
        double var48 = (double)par3 + var30;

        if (var6 == 2)
        {
            var32 = var34 = (double)(par2 + 0);
            var36 = var38 = (double)(par2 + 1);
            var40 = var46 = (double)(par4 + 1);
            var42 = var44 = (double)(par4 + 0);
        }
        else if (var6 == 3)
        {
            var32 = var38 = (double)(par2 + 0);
            var34 = var36 = (double)(par2 + 1);
            var40 = var42 = (double)(par4 + 0);
            var44 = var46 = (double)(par4 + 1);
        }
        else if (var6 == 1)
        {
            var32 = var38 = (double)(par2 + 1);
            var34 = var36 = (double)(par2 + 0);
            var40 = var42 = (double)(par4 + 1);
            var44 = var46 = (double)(par4 + 0);
        }

        var8.addVertexWithUV(var38, var48, var46, var22, var26);
        var8.addVertexWithUV(var36, var48, var44, var22, var28);
        var8.addVertexWithUV(var34, var48, var42, var24, var28);
        var8.addVertexWithUV(var32, var48, var40, var24, var26);
        return true;
    }