Program: 109821
Project: 109821
Buggy source:
public void readNBT(String level){
  levelData=null;
  try {
    NBTTagCompound nbttagcompound=CompressedStreamTools.readCompressed(new FileInputStream(level + "String_Node_Str"));
    levelData=nbttagcompound;
    newFormat=nbttagcompound.getBoolean("String_Node_Str");
    if (nbttagcompound.hasKey("String_Node_Str")) {
      version=nbttagcompound.getString("String_Node_Str");
    }
 else {
    }
    if (newFormat) {
      NBTTagCompound nbtMapping=nbttagcompound.getCompoundTag("String_Node_Str");
      if (getVersion().equals("String_Node_Str")) {
        this.blockMappingInternalIDToBlock=genBlockIDSchemToBlockWithUnlocalizedName(nbtMapping);
      }
 else       if (getVersion().equals("String_Node_Str")) {
        this.blockMappingInternalIDToBlock=genBlockIDSchemToBlockWithRegistry(nbtMapping);
      }
 else {
        System.out.println("String_Node_Str" + getVersion());
      }
    }
 else {
      System.out.println("String_Node_Str");
      NBTTagCompound nbtFallbackLookup=CompressedStreamTools.readCompressed(new FileInputStream(CoroUtilFile.getSaveFolderPath() + "String_Node_Str"));
      this.blockMappingInternalIDToBlock=genBlockIDSchemToBlockWithUnlocalizedName(nbtFallbackLookup.getCompoundTag("String_Node_Str"));
    }
    tileEntities=nbttagcompound.getTagList("String_Node_Str",10);
    entities=nbttagcompound.getTagList("String_Node_Str",10);
    int sizeX=map_sizeX=nbttagcompound.getShort("String_Node_Str");
    int sizeZ=map_sizeZ=nbttagcompound.getShort("String_Node_Str");
    int sizeY=map_sizeY=nbttagcompound.getShort("String_Node_Str");
    map_surfaceOffset=nbttagcompound.getShort("String_Node_Str");
    int bPosX=0;
    int bPosY=0;
    int bPosZ=0;
    build_blockIDArr=new Block[sizeX][sizeY][sizeZ];
    build_blockMetaArr=new int[sizeX][sizeY][sizeZ];
    if (newFormat) {
      int metadata[]=nbttagcompound.getIntArray("String_Node_Str");
      int blockids[]=nbttagcompound.getIntArray("String_Node_Str");
      for (int xx=0; xx < sizeX; xx++) {
        for (int yy=0; yy < sizeY; yy++) {
          for (int zz=0; zz < sizeZ; zz++) {
            int index=yy * sizeX * sizeZ + zz * sizeX + xx;
            build_blockMetaArr[xx][yy][zz]=metadata[index];
            int internalID=blockids[index];
            Block block=getConvertInternalIDToBlock(internalID);
            if (block != null) {
            }
 else {
              System.out.println("String_Node_Str" + getVersion() + "String_Node_Str");
              block=Blocks.AIR;
            }
            build_blockIDArr[xx][yy][zz]=block;
          }
        }
      }
    }
 else {
      System.out.println("String_Node_Str");
      byte metadata[]=nbttagcompound.getByteArray("String_Node_Str");
      byte blockids[]=nbttagcompound.getByteArray("String_Node_Str");
      for (int xx=0; xx < sizeX; xx++) {
        for (int yy=0; yy < sizeY; yy++) {
          for (int zz=0; zz < sizeZ; zz++) {
            int index=yy * sizeX * sizeZ + zz * sizeX + xx;
            build_blockMetaArr[xx][yy][zz]=metadata[index];
            int internalID=blockids[index];
            if (internalID < 0) {
              internalID+=256;
            }
            Block block=getConvertInternalIDToBlock(internalID);
            if (block != null) {
            }
 else {
              System.out.println("String_Node_Str" + getVersion() + "String_Node_Str");
              block=Blocks.AIR;
            }
            build_blockIDArr[xx][yy][zz]=block;
          }
        }
      }
    }
    file=level;
  }
 catch (  Exception ex) {
    ex.printStackTrace();
  }
}

Fixed version (ground truth):
public void readNBT(String level){
  levelData=null;
  try {
    NBTTagCompound nbttagcompound=CompressedStreamTools.readCompressed(new FileInputStream(level + "String_Node_Str"));
    levelData=nbttagcompound;
    newFormat=nbttagcompound.getBoolean("String_Node_Str");
    if (nbttagcompound.hasKey("String_Node_Str")) {
      version=nbttagcompound.getString("String_Node_Str");
    }
 else {
    }
    if (newFormat) {
      NBTTagCompound nbtMapping=nbttagcompound.getCompoundTag("String_Node_Str");
      if (getVersion().equals("String_Node_Str")) {
        this.blockMappingInternalIDToBlock=genBlockIDSchemToBlockWithUnlocalizedName(nbtMapping);
      }
 else       if (getVersion().equals("String_Node_Str")) {
        this.blockMappingInternalIDToBlock=genBlockIDSchemToBlockWithRegistry(nbtMapping);
      }
 else {
        System.out.println("String_Node_Str" + getVersion());
      }
    }
 else {
      System.out.println("String_Node_Str");
      NBTTagCompound nbtFallbackLookup=CompressedStreamTools.readCompressed(new FileInputStream(UtilBuild.getSaveFolderPath() + "String_Node_Str"));
      this.blockMappingInternalIDToBlock=genBlockIDSchemToBlockWithUnlocalizedName(nbtFallbackLookup.getCompoundTag("String_Node_Str"));
    }
    tileEntities=nbttagcompound.getTagList("String_Node_Str",10);
    entities=nbttagcompound.getTagList("String_Node_Str",10);
    int sizeX=map_sizeX=nbttagcompound.getShort("String_Node_Str");
    int sizeZ=map_sizeZ=nbttagcompound.getShort("String_Node_Str");
    int sizeY=map_sizeY=nbttagcompound.getShort("String_Node_Str");
    map_surfaceOffset=nbttagcompound.getShort("String_Node_Str");
    int bPosX=0;
    int bPosY=0;
    int bPosZ=0;
    build_blockIDArr=new Block[sizeX][sizeY][sizeZ];
    build_blockMetaArr=new int[sizeX][sizeY][sizeZ];
    if (newFormat) {
      int metadata[]=nbttagcompound.getIntArray("String_Node_Str");
      int blockids[]=nbttagcompound.getIntArray("String_Node_Str");
      for (int xx=0; xx < sizeX; xx++) {
        for (int yy=0; yy < sizeY; yy++) {
          for (int zz=0; zz < sizeZ; zz++) {
            int index=yy * sizeX * sizeZ + zz * sizeX + xx;
            build_blockMetaArr[xx][yy][zz]=metadata[index];
            int internalID=blockids[index];
            Block block=getConvertInternalIDToBlock(internalID);
            if (block != null) {
            }
 else {
              System.out.println("String_Node_Str" + getVersion() + "String_Node_Str");
              block=Blocks.AIR;
            }
            build_blockIDArr[xx][yy][zz]=block;
          }
        }
      }
    }
 else {
      System.out.println("String_Node_Str");
      byte metadata[]=nbttagcompound.getByteArray("String_Node_Str");
      byte blockids[]=nbttagcompound.getByteArray("String_Node_Str");
      for (int xx=0; xx < sizeX; xx++) {
        for (int yy=0; yy < sizeY; yy++) {
          for (int zz=0; zz < sizeZ; zz++) {
            int index=yy * sizeX * sizeZ + zz * sizeX + xx;
            build_blockMetaArr[xx][yy][zz]=metadata[index];
            int internalID=blockids[index];
            if (internalID < 0) {
              internalID+=256;
            }
            Block block=getConvertInternalIDToBlock(internalID);
            if (block != null) {
            }
 else {
              System.out.println("String_Node_Str" + getVersion() + "String_Node_Str");
              block=Blocks.AIR;
            }
            build_blockIDArr[xx][yy][zz]=block;
          }
        }
      }
    }
    file=level;
  }
 catch (  Exception ex) {
    ex.printStackTrace();
  }
}