Program: 166035
Project: 166035
Buggy source:
public GenericChunkProvider(World world,long seed){
  this.worldObj=world;
  dimensionInformation=RfToolsDimensionManager.getDimensionManager(world).getDimensionInformation(world.provider.dimensionId);
  this.worldType=world.getWorldInfo().getTerrainType();
  if (dimensionInformation.getTerrainType() == TerrainType.TERRAIN_AMPLIFIED) {
    worldType=WorldType.AMPLIFIED;
  }
 else   if (dimensionInformation.getTerrainType() == TerrainType.TERRAIN_FLAT) {
    worldType=WorldType.FLAT;
  }
  this.seed=seed;
  this.rand=new Random((seed + 516) * 314);
  terrainGeneratorMap.get(dimensionInformation.getTerrainType()).setup(world,this);
  extraSpawns=new ArrayList<BiomeGenBase.SpawnListEntry>();
  extraSpawnsMax=new ArrayList<Integer>();
  for (  MobDescriptor mob : dimensionInformation.getExtraMobs()) {
    Class<? extends EntityLiving> entityClass=mob.getEntityClass();
    extraSpawns.add(new BiomeGenBase.SpawnListEntry(entityClass,mob.getSpawnChance(),mob.getMinGroup(),mob.getMaxGroup()));
    extraSpawnsMax.add(mob.getMaxLoaded());
    System.out.println("String_Node_Str" + entityClass);
  }
}

Fixed version (ground truth):
public GenericChunkProvider(World world,long seed){
  this.worldObj=world;
  dimensionInformation=RfToolsDimensionManager.getDimensionManager(world).getDimensionInformation(world.provider.dimensionId);
  this.worldType=world.getWorldInfo().getTerrainType();
  if (dimensionInformation.getTerrainType() == TerrainType.TERRAIN_AMPLIFIED) {
    worldType=WorldType.AMPLIFIED;
  }
 else   if (dimensionInformation.getTerrainType() == TerrainType.TERRAIN_FLAT) {
    worldType=WorldType.FLAT;
  }
  this.seed=seed;
  this.rand=new Random((seed + 516) * 314);
switch (dimensionInformation.getTerrainType()) {
case TERRAIN_VOID:
    terrainGenerator=new VoidTerrainGenerator();
  break;
case TERRAIN_FLAT:
terrainGenerator=new FlatTerrainGenerator();
break;
case TERRAIN_AMPLIFIED:
terrainGenerator=new AmplifiedTerrainGenerator();
break;
case TERRAIN_NORMAL:
terrainGenerator=new NormalTerrainGenerator();
break;
case TERRAIN_CAVERN_OLD:
terrainGenerator=new CavernTerrainGenerator(CavernTerrainGenerator.CavernHeight.HEIGHT_256);
break;
case TERRAIN_ISLAND:
terrainGenerator=new IslandTerrainGenerator(IslandTerrainGenerator.NORMAL);
break;
case TERRAIN_ISLANDS:
terrainGenerator=new IslandTerrainGenerator(IslandTerrainGenerator.ISLANDS);
break;
case TERRAIN_CHAOTIC:
terrainGenerator=new IslandTerrainGenerator(IslandTerrainGenerator.CHAOTIC);
break;
case TERRAIN_PLATEAUS:
terrainGenerator=new IslandTerrainGenerator(IslandTerrainGenerator.PLATEAUS);
break;
case TERRAIN_GRID:
terrainGenerator=new GridTerrainGenerator();
break;
case TERRAIN_CAVERN:
terrainGenerator=new CavernTerrainGenerator(null);
break;
case TERRAIN_LOW_CAVERN:
terrainGenerator=new CavernTerrainGenerator(CavernTerrainGenerator.CavernHeight.HEIGHT_128);
break;
case TERRAIN_FLOODED_CAVERN:
terrainGenerator=new CavernTerrainGenerator(CavernTerrainGenerator.CavernHeight.HEIGHT_128);
break;
default :
terrainGenerator=new VoidTerrainGenerator();
break;
}
terrainGenerator.setup(world,this);
extraSpawns=new ArrayList<BiomeGenBase.SpawnListEntry>();
extraSpawnsMax=new ArrayList<Integer>();
for (MobDescriptor mob : dimensionInformation.getExtraMobs()) {
Class<? extends EntityLiving> entityClass=mob.getEntityClass();
extraSpawns.add(new BiomeGenBase.SpawnListEntry(entityClass,mob.getSpawnChance(),mob.getMinGroup(),mob.getMaxGroup()));
extraSpawnsMax.add(mob.getMaxLoaded());
System.out.println("String_Node_Str" + entityClass);
}
}