Program: 30586
Project: 30586
Buggy source:
@Override public void renderFaceZNeg(Block par1Block,double par2,double par4,double par6,IIcon par8Icon){
  if (faces.contains(ForgeDirection.NORTH)) {
    if (!renderFaces.contains(ForgeDirection.NORTH))     return;
    if (isFacade) {
      Tessellator tessellator=Tessellator.instance;
      double d3=(double)par8Icon.getInterpolatedU(this.renderMinX * 16.0D);
      double d4=(double)par8Icon.getInterpolatedU(this.renderMaxX * 16.0D);
      double d5=(double)par8Icon.getInterpolatedV(16.0D - this.renderMaxY * 16.0D);
      double d6=(double)par8Icon.getInterpolatedV(16.0D - this.renderMinY * 16.0D);
      double d11=par2 + this.renderMinX;
      double d12=par2 + this.renderMaxX;
      double d13=par4 + this.renderMinY;
      double d14=par4 + this.renderMaxY;
      double d15=par6 + this.renderMinZ;
      if (this.enableAO) {
        partialLightingColoring(renderMaxY,1.0 - renderMinX);
        tessellator.addVertexWithUV(d11,d14,d15,d3,d5);
        partialLightingColoring(renderMaxY,1.0 - renderMaxX);
        tessellator.addVertexWithUV(d12,d14,d15,d4,d5);
        partialLightingColoring(renderMinY,1.0 - renderMaxX);
        tessellator.addVertexWithUV(d12,d13,d15,d4,d6);
        partialLightingColoring(renderMinY,1.0 - renderMinX);
        tessellator.addVertexWithUV(d11,d13,d15,d3,d6);
      }
 else {
        tessellator.addVertexWithUV(d11,d14,d15,d3,d5);
        tessellator.addVertexWithUV(d12,d14,d15,d4,d5);
        tessellator.addVertexWithUV(d12,d13,d15,d4,d6);
        tessellator.addVertexWithUV(d11,d13,d15,d3,d6);
      }
    }
 else     super.renderFaceZNeg(par1Block,par2,par4,par6,par8Icon);
  }
 else {
    lightState.isAO=enableAO;
    lightState.rZNeg=par8Icon;
    saveAO(lightState.aoZNeg,lightState.foZNeg);
    lightState.bZNeg=getCurrentBrightness();
  }
}

Fixed version (ground truth):
@Override public void renderFaceZNeg(Block par1Block,double par2,double par4,double par6,IIcon par8Icon){
  if (faces.contains(ForgeDirection.NORTH)) {
    if (!renderFaces.contains(ForgeDirection.NORTH))     return;
    if (isFacade) {
      Tessellator tessellator=Tessellator.instance;
      double d4=(double)par8Icon.getInterpolatedU(this.renderMinX * 16.0D);
      double d3=(double)par8Icon.getInterpolatedU(this.renderMaxX * 16.0D);
      double d5=(double)par8Icon.getInterpolatedV(16.0D - this.renderMaxY * 16.0D);
      double d6=(double)par8Icon.getInterpolatedV(16.0D - this.renderMinY * 16.0D);
      double d11=par2 + this.renderMinX;
      double d12=par2 + this.renderMaxX;
      double d13=par4 + this.renderMinY;
      double d14=par4 + this.renderMaxY;
      double d15=par6 + this.renderMinZ;
      if (this.enableAO) {
        partialLightingColoring(renderMaxY,1.0 - renderMinX);
        tessellator.addVertexWithUV(d11,d14,d15,d3,d5);
        partialLightingColoring(renderMaxY,1.0 - renderMaxX);
        tessellator.addVertexWithUV(d12,d14,d15,d4,d5);
        partialLightingColoring(renderMinY,1.0 - renderMaxX);
        tessellator.addVertexWithUV(d12,d13,d15,d4,d6);
        partialLightingColoring(renderMinY,1.0 - renderMinX);
        tessellator.addVertexWithUV(d11,d13,d15,d3,d6);
      }
 else {
        tessellator.addVertexWithUV(d11,d14,d15,d3,d5);
        tessellator.addVertexWithUV(d12,d14,d15,d4,d5);
        tessellator.addVertexWithUV(d12,d13,d15,d4,d6);
        tessellator.addVertexWithUV(d11,d13,d15,d3,d6);
      }
    }
 else     super.renderFaceZNeg(par1Block,par2,par4,par6,par8Icon);
  }
 else {
    lightState.isAO=enableAO;
    lightState.rZNeg=par8Icon;
    saveAO(lightState.aoZNeg,lightState.foZNeg);
    lightState.bZNeg=getCurrentBrightness();
  }
}