@Override
 public void setupStandardGoals() {
   try {
     Mind mind = this.getRemoteEntity().getMind();
     mind.addMovementDesires(getDefaultMovementDesires());
     mind.addTargetingDesires(getDefaultTargetingDesires());
   } catch (Exception e) {
     e.printStackTrace();
   }
 }
 public static DesireItem[] getDefaultMovementDesires() {
   try {
     return new DesireItem[] {
       new DesireItem(new DesireSwim(), 0),
       new DesireItem(new DesireAvoidSpecific(8f, 0.6D, 0.6D, EntityZombie.class), 1),
       new DesireItem(new DesireTradeWithPlayer(), 1),
       new DesireItem(new DesireLookAtTrader(8), 1),
       new DesireItem(new DesireMoveIndoors(), 2),
       new DesireItem(new DesireRestrictOpenDoor(), 3),
       new DesireItem(new DesireOpenDoor(true, false), 4),
       new DesireItem(new DesireMoveTowardsRestriction(), 5),
       new DesireItem(new DesireMakeLove(), 6),
       new DesireItem(new DesireAcceptFlower(), 7),
       new DesireItem(new DesirePlay(0.32D), 8),
       new DesireItem(new DesireInteract(EntityHuman.class, 3, 1f), 9),
       new DesireItem(new DesireInteract(EntityVillager.class, 5, 0.2f), 9),
       new DesireItem(new DesireWanderAround(), 9),
       new DesireItem(new DesireLookAtNearest(EntityInsentient.class, 8), 10)
     };
   } catch (Exception e) {
     e.printStackTrace();
     return new DesireItem[0];
   }
 }