Can you define what exactly doesn't work?
Assuming you are trying to achieve the same effect as vanilla Minecraft (fancy = transparent block and transparent texture, fast = opaque block/texture), this seems wrong:
public void setGraphicsLevel(boolean par1)
{
this.graphicsLevel = par1;
this.blockIndexInTexture = this.baseIndexInPNG + 1; <---
}
This will always sets the same texture, so you are either always using an opaque or a transparant texture.