Program: 81215
Project: 81215
Buggy source:
@Override public void generate(Random random,int chunkX,int chunkZ,World world,IChunkProvider chunkGenerator,IChunkProvider chunkProvider){
  if (!world.provider.isSurfaceWorld()) {
    return;
  }
  if (Config.generateAmethyst) {
    this.addOreToGenerate(Config.veinCountAmethyst,Config.veinSizeAmethyst,Config.minAmethystY,Config.maxAmethystY,BPBlocks.amethyst_ore,world,chunkX,chunkZ);
  }
  if (Config.generateRuby) {
    this.addOreToGenerate(Config.veinCountRuby,Config.veinSizeRuby,Config.minRubyY,Config.maxRubyY,BPBlocks.ruby_ore,world,chunkX,chunkZ);
  }
  if (Config.generateSapphire) {
    this.addOreToGenerate(Config.veinCountSapphire,Config.veinSizeSapphire,Config.minSapphireY,Config.maxSapphireY,BPBlocks.sapphire_ore,world,chunkX,chunkZ);
  }
  if (Config.generateSilver) {
    this.addOreToGenerate(Config.veinCountSilver,Config.veinSizeSilver,Config.minSilverY,Config.maxSilverY,BPBlocks.silver_ore,world,chunkX,chunkZ);
  }
  if (Config.generateNikolite) {
    this.addOreToGenerate(Config.veinCountNikolite,Config.veinSizeNikolite,Config.minNikoliteY,Config.maxNikoliteY,BPBlocks.nikolite_ore,world,chunkX,chunkZ);
  }
  if (Config.generateTin) {
    this.addOreToGenerate(Config.veinCountTin,Config.veinSizeTin,Config.minTinY,Config.maxTinY,BPBlocks.tin_ore,world,chunkX,chunkZ);
  }
  if (Config.generateCopper) {
    this.addOreToGenerate(Config.veinCountCopper,Config.veinSizeCopper,Config.minCopperY,Config.maxCopperY,BPBlocks.copper_ore,world,chunkX,chunkZ);
  }
  BiomeGenBase bgb=world.getWorldChunkManager().getBiomeGenAt(chunkX * 16 + 16,chunkZ * 16 + 16);
  int n=0;
  if (bgb == BiomeGenBase.birchForest)   n=1;
 else   if (bgb == BiomeGenBase.birchForestHills)   n=1;
 else   if (bgb == BiomeGenBase.plains)   n=1;
 else   if (bgb == BiomeGenBase.forest)   n=4;
 else   if (bgb == BiomeGenBase.roofedForest)   n=4;
  for (int i=0; i < n; i++) {
    int x=chunkX * 16 + random.nextInt(16) + 8;
    int y=random.nextInt(128);
    int z=chunkZ * 16 + random.nextInt(16) + 8;
    new WorldGenFlowers(BPBlocks.indigo_flower).generate(world,random,x,y,z);
  }
  for (int i=0; i < 4; i++) {
    int x=chunkX * 16 + random.nextInt(16);
    int y=32 + random.nextInt(32);
    int z=chunkZ * 16 + random.nextInt(16);
    new WorldGenMarble(BPBlocks.marble,random.nextInt(4096)).generate(world,random,x,y,z);
  }
  if (random.nextDouble() < Config.volcanoSpawnChance) {
    int x=chunkX * 16 + random.nextInt(16);
    int z=chunkZ * 16 + random.nextInt(16);
    int y=world.getHeightValue(x,z) + 20 + random.nextInt(10);
    if (world.getBlock(x,10,z) == Blocks.lava)     new WorldGenVolcano().generate(world,random,x,y,z);
  }
}

Fixed version (ground truth):
@Override public void generate(Random random,int chunkX,int chunkZ,World world,IChunkProvider chunkGenerator,IChunkProvider chunkProvider){
  if (!world.provider.isSurfaceWorld()) {
    return;
  }
  if (Config.generateAmethyst) {
    this.addOreToGenerate(random,Config.veinCountAmethyst,Config.veinSizeAmethyst,Config.minAmethystY,Config.maxAmethystY,BPBlocks.amethyst_ore,world,chunkX,chunkZ);
  }
  if (Config.generateRuby) {
    this.addOreToGenerate(random,Config.veinCountRuby,Config.veinSizeRuby,Config.minRubyY,Config.maxRubyY,BPBlocks.ruby_ore,world,chunkX,chunkZ);
  }
  if (Config.generateSapphire) {
    this.addOreToGenerate(random,Config.veinCountSapphire,Config.veinSizeSapphire,Config.minSapphireY,Config.maxSapphireY,BPBlocks.sapphire_ore,world,chunkX,chunkZ);
  }
  if (Config.generateSilver) {
    this.addOreToGenerate(random,Config.veinCountSilver,Config.veinSizeSilver,Config.minSilverY,Config.maxSilverY,BPBlocks.silver_ore,world,chunkX,chunkZ);
  }
  if (Config.generateNikolite) {
    this.addOreToGenerate(random,Config.veinCountNikolite,Config.veinSizeNikolite,Config.minNikoliteY,Config.maxNikoliteY,BPBlocks.nikolite_ore,world,chunkX,chunkZ);
  }
  if (Config.generateTin) {
    this.addOreToGenerate(random,Config.veinCountTin,Config.veinSizeTin,Config.minTinY,Config.maxTinY,BPBlocks.tin_ore,world,chunkX,chunkZ);
  }
  if (Config.generateCopper) {
    this.addOreToGenerate(random,Config.veinCountCopper,Config.veinSizeCopper,Config.minCopperY,Config.maxCopperY,BPBlocks.copper_ore,world,chunkX,chunkZ);
  }
  BiomeGenBase bgb=world.getWorldChunkManager().getBiomeGenAt(chunkX * 16 + 16,chunkZ * 16 + 16);
  int n=0;
  if (bgb == BiomeGenBase.birchForest)   n=1;
 else   if (bgb == BiomeGenBase.birchForestHills)   n=1;
 else   if (bgb == BiomeGenBase.plains)   n=1;
 else   if (bgb == BiomeGenBase.forest)   n=4;
 else   if (bgb == BiomeGenBase.roofedForest)   n=4;
  for (int i=0; i < n; i++) {
    int x=chunkX * 16 + random.nextInt(16) + 8;
    int y=random.nextInt(128);
    int z=chunkZ * 16 + random.nextInt(16) + 8;
    new WorldGenFlowers(BPBlocks.indigo_flower).generate(world,random,x,y,z);
  }
  for (int i=0; i < 4; i++) {
    int x=chunkX * 16 + random.nextInt(16);
    int y=32 + random.nextInt(32);
    int z=chunkZ * 16 + random.nextInt(16);
    new WorldGenMarble(BPBlocks.marble,random.nextInt(4096)).generate(world,random,x,y,z);
  }
  if (random.nextDouble() < Config.volcanoSpawnChance) {
    int x=chunkX * 16 + random.nextInt(16);
    int z=chunkZ * 16 + random.nextInt(16);
    int y=world.getHeightValue(x,z) + 20 + random.nextInt(10);
    if (world.getBlock(x,10,z) == Blocks.lava)     new WorldGenVolcano().generate(world,random,x,y,z);
  }
}