Program: 22313
Project: 22313
Buggy source:
public void addTraceableCuboids(List<IndexedCuboid6> cuboids){
  float min=BlockPipe.BASE_MIN;
  float max=BlockPipe.BASE_MAX;
  int x=pos.getX();
  int y=pos.getY();
  int z=pos.getZ();
  IBlockState actualState=worldObj.getBlockState(pos).getActualState(worldObj,pos);
{
    int connectDown=canConnectSide(EnumFacing.DOWN);
    if (connectDown > 0 || isPipeFacing(actualState,BlockPipe.DOWN,BlockPipe.UP)) {
      float bottom=connectDown == 2 ? -5F / 16F : 0F;
      cuboids.add(new IndexedCuboid6(0,new Cuboid6(x + min,y + bottom,z + min,x + max,y + max,z + max)));
    }
  }
{
    int connectUp=canConnectSide(EnumFacing.UP);
    if (connectUp > 0 || isPipeFacing(actualState,BlockPipe.UP,BlockPipe.DOWN)) {
      float top=connectUp == 2 ? 21F / 16F : 1F;
      cuboids.add(new IndexedCuboid6(1,new Cuboid6(x + min,y + min,z + min,x + max,y + top,z + max)));
    }
  }
{
    int connectNorth=canConnectSide(EnumFacing.NORTH);
    if (connectNorth > 0 || isPipeFacing(actualState,BlockPipe.NORTH,BlockPipe.SOUTH)) {
      float bottom=connectNorth == 2 ? -5F / 16F : 0F;
      cuboids.add(new IndexedCuboid6(2,new Cuboid6(x + min,y + min,z + bottom,x + max,y + max,z + max)));
    }
  }
{
    int connectSouth=canConnectSide(EnumFacing.SOUTH);
    if (connectSouth > 0 || isPipeFacing(actualState,BlockPipe.SOUTH,BlockPipe.NORTH)) {
      float top=connectSouth == 2 ? 21F / 16F : 1F;
      cuboids.add(new IndexedCuboid6(3,new Cuboid6(x + min,y + min,z + min,x + max,y + max,z + top)));
    }
  }
{
    int connectWest=canConnectSide(EnumFacing.WEST);
    if (connectWest > 0 || isPipeFacing(actualState,BlockPipe.WEST,BlockPipe.EAST)) {
      float bottom=connectWest == 2 ? -5F / 16F : 0F;
      cuboids.add(new IndexedCuboid6(4,new Cuboid6(x + bottom,y + min,z + min,x + max,y + max,z + max)));
    }
  }
{
    int connectEast=canConnectSide(EnumFacing.EAST);
    if (connectEast > 0 || isPipeFacing(actualState,BlockPipe.EAST,BlockPipe.WEST)) {
      float top=connectEast == 2 ? 21F / 16F : 1F;
      cuboids.add(new IndexedCuboid6(5,new Cuboid6(x + min,y + min,z + min,x + top,y + max,z + max)));
    }
  }
  cuboids.add(new IndexedCuboid6(6,new Cuboid6(x + min,y + min,z + min,x + 12F / 16F,y + 12F / 16F,z + 12F / 16F)));
}

Fixed version (ground truth):
public void addTraceableCuboids(List<IndexedCuboid6> cuboids){
  float min=BlockPipe.BASE_MIN;
  float max=BlockPipe.BASE_MAX;
  int x=pos.getX();
  int y=pos.getY();
  int z=pos.getZ();
  IBlockState actualState=worldObj.getBlockState(pos).getActualState(worldObj,pos);
  boolean hasDown=actualState.getValue(BlockPipe.DOWN);
  boolean hasUp=actualState.getValue(BlockPipe.UP);
  boolean hasNorth=actualState.getValue(BlockPipe.NORTH);
  boolean hasSouth=actualState.getValue(BlockPipe.SOUTH);
  boolean hasWest=actualState.getValue(BlockPipe.WEST);
  boolean hasEast=actualState.getValue(BlockPipe.EAST);
  int numDirs=getMyDirections().size();
  if (shouldStretchInDirection(hasDown,hasUp,numDirs)) {
    int connectDown=canConnectSide(EnumFacing.DOWN);
    float bottom=connectDown == 2 ? -5F / 16F : 0F;
    cuboids.add(new IndexedCuboid6(0,new Cuboid6(x + min,y + bottom,z + min,x + max,y + max,z + max)));
  }
  if (shouldStretchInDirection(hasUp,hasDown,numDirs)) {
    int connectUp=canConnectSide(EnumFacing.UP);
    float top=connectUp == 2 ? 21F / 16F : 1F;
    cuboids.add(new IndexedCuboid6(1,new Cuboid6(x + min,y + min,z + min,x + max,y + top,z + max)));
  }
  if (shouldStretchInDirection(hasNorth,hasSouth,numDirs)) {
    int connectNorth=canConnectSide(EnumFacing.NORTH);
    float bottom=connectNorth == 2 ? -5F / 16F : 0F;
    cuboids.add(new IndexedCuboid6(2,new Cuboid6(x + min,y + min,z + bottom,x + max,y + max,z + max)));
  }
  if (shouldStretchInDirection(hasSouth,hasNorth,numDirs)) {
    int connectSouth=canConnectSide(EnumFacing.SOUTH);
    float top=connectSouth == 2 ? 21F / 16F : 1F;
    cuboids.add(new IndexedCuboid6(3,new Cuboid6(x + min,y + min,z + min,x + max,y + max,z + top)));
  }
  if (shouldStretchInDirection(hasWest,hasEast,numDirs)) {
    int connectWest=canConnectSide(EnumFacing.WEST);
    float bottom=connectWest == 2 ? -5F / 16F : 0F;
    cuboids.add(new IndexedCuboid6(4,new Cuboid6(x + bottom,y + min,z + min,x + max,y + max,z + max)));
  }
  if (shouldStretchInDirection(hasEast,hasWest,numDirs)) {
    int connectEast=canConnectSide(EnumFacing.EAST);
    float top=connectEast == 2 ? 21F / 16F : 1F;
    cuboids.add(new IndexedCuboid6(5,new Cuboid6(x + min,y + min,z + min,x + top,y + max,z + max)));
  }
  cuboids.add(new IndexedCuboid6(6,new Cuboid6(x + min,y + min,z + min,x + 12F / 16F,y + 12F / 16F,z + 12F / 16F)));
}