Program: 174585
Project: 174585
Buggy source:
public EntityPearl(World worldIn){
  super(worldIn);
  this.setSize(0.6F,1.9F);
  this.initGemStorage();
  this.seePastDoors();
  this.setValidCut(GemCuts.CABOCHON);
  this.setValidPlacement(GemPlacements.BACK_OF_HEAD);
  this.setValidPlacement(GemPlacements.FOREHEAD);
  this.setValidPlacement(GemPlacements.BACK);
  this.setValidPlacement(GemPlacements.CHEST);
  this.setValidPlacement(GemPlacements.BELLY);
  this.stayAI=new EntityAIStay(this);
  this.tasks.addTask(1,new EntityAIAvoidEntity<EntityCreeper>(this,EntityCreeper.class,new Predicate<EntityCreeper>(){
    public boolean apply(    EntityCreeper input){
      return ((EntityCreeper)input).getCreeperState() == 1;
    }
  }
,6.0F,1.0D,1.2D));
  this.tasks.addTask(1,new EntityAIPickUpItems(this,0.9D));
  this.tasks.addTask(2,new EntityAIFollowDiamond(this,1.0D));
  this.tasks.addTask(4,new EntityAIOpenDoor(this,true));
  this.tasks.addTask(5,new EntityAISitStill(this,1.0D));
  this.tasks.addTask(6,new EntityAIWatchClosest(this,EntityPlayer.class,16.0F));
  this.tasks.addTask(7,new EntityAILookIdle(this));
  this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(40.0D);
  this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(1.0D);
  this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.4D);
  this.droppedGemItem=ModItems.PEARL_GEM;
  this.droppedCrackedGemItem=ModItems.CRACKED_PEARL_GEM;
  this.dataManager.register(COLOR,this.rand.nextInt(16));
  this.dataManager.register(HAIR_COLOR,this.dataManager.get(COLOR));
  this.dataManager.register(DRESS_STYLE,1);
  this.dataManager.register(NAKED,false);
}

Fixed version (ground truth):
public EntityPearl(World worldIn){
  super(worldIn);
  this.setSize(0.6F,1.9F);
  this.initGemStorage();
  this.seePastDoors();
  this.setCutPlacement(GemCuts.CABOCHON,GemPlacements.BACK_OF_HEAD);
  this.setCutPlacement(GemCuts.CABOCHON,GemPlacements.FOREHEAD);
  this.setCutPlacement(GemCuts.CABOCHON,GemPlacements.BACK);
  this.setCutPlacement(GemCuts.CABOCHON,GemPlacements.CHEST);
  this.setCutPlacement(GemCuts.CABOCHON,GemPlacements.BELLY);
  this.stayAI=new EntityAIStay(this);
  this.tasks.addTask(1,new EntityAIAvoidEntity<EntityCreeper>(this,EntityCreeper.class,new Predicate<EntityCreeper>(){
    public boolean apply(    EntityCreeper input){
      return ((EntityCreeper)input).getCreeperState() == 1;
    }
  }
,6.0F,1.0D,1.2D));
  this.tasks.addTask(1,new EntityAIPickUpItems(this,0.9D));
  this.tasks.addTask(2,new EntityAIFollowDiamond(this,1.0D));
  this.tasks.addTask(4,new EntityAIOpenDoor(this,true));
  this.tasks.addTask(5,new EntityAISitStill(this,1.0D));
  this.tasks.addTask(6,new EntityAIWatchClosest(this,EntityPlayer.class,16.0F));
  this.tasks.addTask(7,new EntityAILookIdle(this));
  this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(40.0D);
  this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(1.0D);
  this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.4D);
  this.droppedGemItem=ModItems.PEARL_GEM;
  this.droppedCrackedGemItem=ModItems.CRACKED_PEARL_GEM;
  this.dataManager.register(COLOR,this.rand.nextInt(16));
  this.dataManager.register(HAIR_COLOR,this.dataManager.get(COLOR));
  this.dataManager.register(DRESS_STYLE,1);
  this.dataManager.register(NAKED,false);
}