Program: 133847
Project: 133847
Buggy source:
@Override public void progress(){
  if (player.isDead() || !player.isOnline()) {
    remove();
    return;
  }
 else   if (GeneralMethods.isRegionProtectedFromBuild(player,"String_Node_Str",location)) {
    remove();
    return;
  }
  ticks++;
  if (ticks > MAX_TICKS) {
    remove();
    return;
  }
 else   if ((location.distanceSquared(origin) > range * range) || (location.distanceSquared(origin) <= 1)) {
    remove();
    return;
  }
  for (  Entity entity : GeneralMethods.getEntitiesAroundPoint(location,radius)) {
    if (entity.getEntityId() != player.getEntityId() || hasOtherOrigin) {
      Vector velocity=entity.getVelocity();
      double max=speed;
      double factor=pushFactor;
      if (bPlayer.isAvatarState()) {
        max=AvatarState.getValue(max);
        factor=AvatarState.getValue(factor);
      }
      Vector push=direction.clone();
      if (Math.abs(push.getY()) > max && entity.getEntityId() != player.getEntityId()) {
        if (push.getY() < 0) {
          push.setY(-max);
        }
 else {
          push.setY(max);
        }
      }
      factor*=1 - location.distance(origin) / (2 * range);
      double comp=velocity.dot(push.clone().normalize());
      if (comp > factor) {
        velocity.multiply(.5);
        velocity.add(push.clone().normalize().multiply(velocity.clone().dot(push.clone().normalize())));
      }
 else       if (comp + factor * .5 > factor) {
        velocity.add(push.clone().multiply(factor - comp));
      }
 else {
        velocity.add(push.clone().multiply(factor * .5));
      }
      if (entity instanceof Player) {
        if (Commands.invincible.contains(((Player)entity).getName())) {
          continue;
        }
      }
      GeneralMethods.setVelocity(entity,velocity);
      new HorizontalVelocityTracker(entity,player,200l,this);
      entity.setFallDistance(0);
      if (entity.getEntityId() != player.getEntityId() && entity instanceof Player) {
        new Flight((Player)entity,player);
      }
      if (entity.getFireTicks() > 0) {
        entity.getWorld().playEffect(entity.getLocation(),Effect.EXTINGUISH,0);
      }
      entity.setFireTicks(0);
      breakBreathbendingHold(entity);
    }
  }
  advanceLocation();
}

Fixed version (ground truth):
@Override public void progress(){
  if (player.isDead() || !player.isOnline()) {
    remove();
    return;
  }
 else   if (GeneralMethods.isRegionProtectedFromBuild(player,"String_Node_Str",location)) {
    remove();
    return;
  }
  ticks++;
  if (ticks > MAX_TICKS) {
    remove();
    return;
  }
 else   if ((location.distanceSquared(origin) > range * range) || (location.distanceSquared(origin) <= 1)) {
    remove();
    return;
  }
  for (  Entity entity : GeneralMethods.getEntitiesAroundPoint(location,radius)) {
    if (entity.getEntityId() != player.getEntityId() || hasOtherOrigin) {
      Vector velocity=entity.getVelocity();
      double max=speed;
      double factor=pushFactor;
      if (bPlayer.isAvatarState()) {
        max=AvatarState.getValue(max);
        factor=AvatarState.getValue(factor);
      }
      Vector push=direction.clone();
      if (Math.abs(push.getY()) > max && entity.getEntityId() != player.getEntityId()) {
        if (push.getY() < 0) {
          push.setY(-max);
        }
 else {
          push.setY(max);
        }
      }
      if (location.getWorld().equals(origin.getWorld())) {
        factor*=1 - location.distance(origin) / (2 * range);
      }
      double comp=velocity.dot(push.clone().normalize());
      if (comp > factor) {
        velocity.multiply(.5);
        velocity.add(push.clone().normalize().multiply(velocity.clone().dot(push.clone().normalize())));
      }
 else       if (comp + factor * .5 > factor) {
        velocity.add(push.clone().multiply(factor - comp));
      }
 else {
        velocity.add(push.clone().multiply(factor * .5));
      }
      if (entity instanceof Player) {
        if (Commands.invincible.contains(((Player)entity).getName())) {
          continue;
        }
      }
      GeneralMethods.setVelocity(entity,velocity);
      new HorizontalVelocityTracker(entity,player,200l,this);
      entity.setFallDistance(0);
      if (entity.getEntityId() != player.getEntityId() && entity instanceof Player) {
        new Flight((Player)entity,player);
      }
      if (entity.getFireTicks() > 0) {
        entity.getWorld().playEffect(entity.getLocation(),Effect.EXTINGUISH,0);
      }
      entity.setFireTicks(0);
      breakBreathbendingHold(entity);
    }
  }
  advanceLocation();
}