Program: 30507
Project: 30507
Buggy source:
@Override public boolean renderInWorld(AEBaseBlock block,IBlockAccess world,BlockPos pos,ModelGenerator renderer){
  IOrientable te=((IOrientableBlock)block).getOrientable(world,pos);
  float Point2=6.0f / 16.0f;
  float Point3=7.0f / 16.0f;
  float Point13=10.0f / 16.0f;
  float Point12=9.0f / 16.0f;
  float singlePixel=1.0f / 16.0f;
  float renderBottom=5.0f / 16.0f;
  float renderTop=10.0f / 16.0f;
  float bottom=7.0f / 16.0f;
  float top=8.0f / 16.0f;
  float xOff=0.0f;
  float yOff=0.0f;
  float zOff=0.0f;
  renderer.renderAllFaces=true;
  if (te != null) {
    AEPartLocation forward=AEPartLocation.fromFacing(te.getUp());
    xOff=forward.xOffset * -(4.0f / 16.0f);
    yOff=forward.yOffset * -(4.0f / 16.0f);
    zOff=forward.zOffset * -(4.0f / 16.0f);
  }
  renderer.setRenderBounds(Point3 + xOff,renderBottom + yOff,Point3 + zOff,Point12 + xOff,renderTop + yOff,Point12 + zOff);
  super.renderInWorld(blk,world,pos,renderer);
  int r=(pos.getX() + pos.getY() + pos.getZ()) % 2;
  if (r == 0) {
    renderer.setRenderBounds(Point3 + xOff,renderTop + yOff,Point3 + zOff,Point3 + singlePixel + xOff,renderTop + singlePixel + yOff,Point3 + singlePixel + zOff);
    super.renderInWorld(blk,world,pos,renderer);
    renderer.setRenderBounds(Point12 - singlePixel + xOff,renderBottom - singlePixel + yOff,Point12 - singlePixel + zOff,Point12 + xOff,renderBottom + yOff,Point12 + zOff);
    super.renderInWorld(blk,world,pos,renderer);
  }
 else {
    renderer.setRenderBounds(Point3 + xOff,renderBottom - singlePixel + yOff,Point3 + zOff,Point3 + singlePixel + xOff,renderBottom + yOff,Point3 + singlePixel + zOff);
    super.renderInWorld(blk,world,pos,renderer);
    renderer.setRenderBounds(Point12 - singlePixel + xOff,renderTop + yOff,Point12 - singlePixel + zOff,Point12 + xOff,renderTop + singlePixel + yOff,Point12 + zOff);
    super.renderInWorld(blk,world,pos,renderer);
  }
  block.getRendererInstance().setTemporaryRenderIcon(renderer.getIcon(Blocks.hopper.getDefaultState())[0]);
  renderer.setRenderBounds(Point2 + xOff,bottom + yOff,Point2 + zOff,Point13 + xOff,top + yOff,Point3 + zOff);
  boolean out=renderer.renderStandardBlock(block,pos);
  renderer.setRenderBounds(Point2 + xOff,bottom + yOff,Point12 + zOff,Point13 + xOff,top + yOff,Point13 + zOff);
  renderer.renderStandardBlock(block,pos);
  renderer.setRenderBounds(Point2 + xOff,bottom + yOff,Point3 + zOff,Point3 + xOff,top + yOff,Point12 + zOff);
  renderer.renderStandardBlock(block,pos);
  renderer.setRenderBounds(Point12 + xOff,bottom + yOff,Point3 + zOff,Point13 + xOff,top + yOff,Point12 + zOff);
  renderer.renderStandardBlock(block,pos);
  if (te != null) {
    AEPartLocation forward=AEPartLocation.fromFacing(te.getUp());
switch (forward) {
case EAST:
      renderer.setRenderBounds(0,bottom + yOff,bottom + zOff,Point2 + xOff,top + yOff,top + zOff);
    renderer.renderStandardBlock(block,pos);
  break;
case WEST:
renderer.setRenderBounds(Point13 + xOff,bottom + yOff,bottom + zOff,1.0,top + yOff,top + zOff);
renderer.renderStandardBlock(block,pos);
break;
case NORTH:
renderer.setRenderBounds(bottom + xOff,bottom + yOff,Point13 + zOff,top + xOff,top + yOff,1.0);
renderer.renderStandardBlock(block,pos);
break;
case SOUTH:
renderer.setRenderBounds(bottom + xOff,bottom + yOff,0,top + xOff,top + yOff,Point2 + zOff);
renderer.renderStandardBlock(block,pos);
break;
case UP:
renderer.setRenderBounds(Point2,0,Point2,Point3,bottom + yOff,Point3);
renderer.renderStandardBlock(block,pos);
renderer.setRenderBounds(Point2,0,Point12,Point3,bottom + yOff,Point13);
renderer.renderStandardBlock(block,pos);
renderer.setRenderBounds(Point12,0,Point2,Point13,bottom + yOff,Point3);
renderer.renderStandardBlock(block,pos);
renderer.setRenderBounds(Point12,0,Point12,Point13,bottom + yOff,Point13);
renderer.renderStandardBlock(block,pos);
break;
case DOWN:
renderer.setRenderBounds(Point2,top + yOff,Point2,Point3,1.0,Point3);
renderer.renderStandardBlock(block,pos);
renderer.setRenderBounds(Point2,top + yOff,Point12,Point3,1.0,Point13);
renderer.renderStandardBlock(block,pos);
renderer.setRenderBounds(Point12,top + yOff,Point2,Point13,1.0,Point3);
renderer.renderStandardBlock(block,pos);
renderer.setRenderBounds(Point12,top + yOff,Point12,Point13,1.0,Point13);
renderer.renderStandardBlock(block,pos);
break;
default :
}
}
renderer.renderAllFaces=false;
block.getRendererInstance().setTemporaryRenderIcon(null);
return out;
}

Fixed version (ground truth):
@Override public boolean renderInWorld(AEBaseBlock block,IBlockAccess world,BlockPos pos,ModelGenerator renderer){
  IOrientable te=((IOrientableBlock)block).getOrientable(world,pos);
  float Point2=6.0f / 16.0f;
  float Point3=7.0f / 16.0f;
  float Point13=10.0f / 16.0f;
  float Point12=9.0f / 16.0f;
  float singlePixel=1.0f / 16.0f;
  float renderBottom=5.0f / 16.0f;
  float renderTop=10.0f / 16.0f;
  float bottom=7.0f / 16.0f;
  float top=8.0f / 16.0f;
  float xOff=0.0f;
  float yOff=0.0f;
  float zOff=0.0f;
  renderer.renderAllFaces=true;
  if (te != null) {
    AEPartLocation forward=AEPartLocation.fromFacing(te.getUp());
    xOff=forward.xOffset * -(4.0f / 16.0f);
    yOff=forward.yOffset * -(4.0f / 16.0f);
    zOff=forward.zOffset * -(4.0f / 16.0f);
  }
  renderer.setRenderBounds(Point3 + xOff,renderBottom + yOff,Point3 + zOff,Point12 + xOff,renderTop + yOff,Point12 + zOff);
  super.renderInWorld(block,world,pos,renderer);
  int r=(pos.getX() + pos.getY() + pos.getZ()) % 2;
  if (r == 0) {
    renderer.setRenderBounds(Point3 + xOff,renderTop + yOff,Point3 + zOff,Point3 + singlePixel + xOff,renderTop + singlePixel + yOff,Point3 + singlePixel + zOff);
    super.renderInWorld(block,world,pos,renderer);
    renderer.setRenderBounds(Point12 - singlePixel + xOff,renderBottom - singlePixel + yOff,Point12 - singlePixel + zOff,Point12 + xOff,renderBottom + yOff,Point12 + zOff);
    super.renderInWorld(block,world,pos,renderer);
  }
 else {
    renderer.setRenderBounds(Point3 + xOff,renderBottom - singlePixel + yOff,Point3 + zOff,Point3 + singlePixel + xOff,renderBottom + yOff,Point3 + singlePixel + zOff);
    super.renderInWorld(block,world,pos,renderer);
    renderer.setRenderBounds(Point12 - singlePixel + xOff,renderTop + yOff,Point12 - singlePixel + zOff,Point12 + xOff,renderTop + singlePixel + yOff,Point12 + zOff);
    super.renderInWorld(block,world,pos,renderer);
  }
  block.getRendererInstance().setTemporaryRenderIcon(renderer.getIcon(Blocks.hopper.getDefaultState())[0]);
  renderer.setRenderBounds(Point2 + xOff,bottom + yOff,Point2 + zOff,Point13 + xOff,top + yOff,Point3 + zOff);
  boolean out=renderer.renderStandardBlock(block,pos);
  renderer.setRenderBounds(Point2 + xOff,bottom + yOff,Point12 + zOff,Point13 + xOff,top + yOff,Point13 + zOff);
  renderer.renderStandardBlock(block,pos);
  renderer.setRenderBounds(Point2 + xOff,bottom + yOff,Point3 + zOff,Point3 + xOff,top + yOff,Point12 + zOff);
  renderer.renderStandardBlock(block,pos);
  renderer.setRenderBounds(Point12 + xOff,bottom + yOff,Point3 + zOff,Point13 + xOff,top + yOff,Point12 + zOff);
  renderer.renderStandardBlock(block,pos);
  if (te != null) {
    AEPartLocation forward=AEPartLocation.fromFacing(te.getUp());
switch (forward) {
case EAST:
      renderer.setRenderBounds(0,bottom + yOff,bottom + zOff,Point2 + xOff,top + yOff,top + zOff);
    renderer.renderStandardBlock(block,pos);
  break;
case WEST:
renderer.setRenderBounds(Point13 + xOff,bottom + yOff,bottom + zOff,1.0,top + yOff,top + zOff);
renderer.renderStandardBlock(block,pos);
break;
case NORTH:
renderer.setRenderBounds(bottom + xOff,bottom + yOff,Point13 + zOff,top + xOff,top + yOff,1.0);
renderer.renderStandardBlock(block,pos);
break;
case SOUTH:
renderer.setRenderBounds(bottom + xOff,bottom + yOff,0,top + xOff,top + yOff,Point2 + zOff);
renderer.renderStandardBlock(block,pos);
break;
case UP:
renderer.setRenderBounds(Point2,0,Point2,Point3,bottom + yOff,Point3);
renderer.renderStandardBlock(block,pos);
renderer.setRenderBounds(Point2,0,Point12,Point3,bottom + yOff,Point13);
renderer.renderStandardBlock(block,pos);
renderer.setRenderBounds(Point12,0,Point2,Point13,bottom + yOff,Point3);
renderer.renderStandardBlock(block,pos);
renderer.setRenderBounds(Point12,0,Point12,Point13,bottom + yOff,Point13);
renderer.renderStandardBlock(block,pos);
break;
case DOWN:
renderer.setRenderBounds(Point2,top + yOff,Point2,Point3,1.0,Point3);
renderer.renderStandardBlock(block,pos);
renderer.setRenderBounds(Point2,top + yOff,Point12,Point3,1.0,Point13);
renderer.renderStandardBlock(block,pos);
renderer.setRenderBounds(Point12,top + yOff,Point2,Point13,1.0,Point3);
renderer.renderStandardBlock(block,pos);
renderer.setRenderBounds(Point12,top + yOff,Point12,Point13,1.0,Point13);
renderer.renderStandardBlock(block,pos);
break;
default :
}
}
renderer.renderAllFaces=false;
block.getRendererInstance().setTemporaryRenderIcon(null);
return out;
}