Program: 133843
Project: 133843
Buggy source:
private void affect(Entity entity){
  boolean isUser=entity.getUniqueId() == player.getUniqueId();
  if (!isUser || isFromOtherOrigin) {
    pushFactor=pushFactorForOthers;
    Vector velocity=entity.getVelocity();
    double max=speed / speedFactor;
    double factor=pushFactor;
    if (bPlayer.isAvatarState()) {
      max=AvatarState.getValue(max);
      factor=AvatarState.getValue(factor);
    }
    Vector push=direction.clone();
    if (Math.abs(push.getY()) > max && !isUser) {
      if (push.getY() < 0) {
        push.setY(-max);
      }
 else {
        push.setY(max);
      }
    }
    factor*=1 - location.distance(origin) / (2 * range);
    if (isUser && GeneralMethods.isSolid(player.getLocation().add(0,-.5,0).getBlock())) {
      factor*=.5;
    }
    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())) {
        return;
      }
    }
    if (Double.isNaN(velocity.length())) {
      return;
    }
    GeneralMethods.setVelocity(entity,velocity);
    if (source != null) {
      new HorizontalVelocityTracker(entity,player,200l,CoreAbility.getAbility("String_Node_Str"));
    }
 else {
      new HorizontalVelocityTracker(entity,player,200l,this);
    }
    if (!isUser && 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);
    if (source != null && (this.damage > 0 && entity instanceof LivingEntity && !entity.equals(player) && !affectedEntities.contains(entity))) {
      DamageHandler.damageEntity((LivingEntity)entity,damage,CoreAbility.getAbility("String_Node_Str"));
      affectedEntities.add(entity);
    }
 else     if (source == null && (damage > 0 && entity instanceof LivingEntity && !entity.equals(player) && !affectedEntities.contains(entity))) {
      DamageHandler.damageEntity((LivingEntity)entity,damage,this);
      affectedEntities.add(entity);
    }
  }
}

Fixed version (ground truth):
private void affect(Entity entity){
  boolean isUser=entity.getUniqueId() == player.getUniqueId();
  if (!isUser || isFromOtherOrigin) {
    pushFactor=pushFactorForOthers;
    Vector velocity=entity.getVelocity();
    double max=speed / speedFactor;
    double factor=pushFactor;
    if (bPlayer.isAvatarState()) {
      max=AvatarState.getValue(max);
      factor=AvatarState.getValue(factor);
    }
    Vector push=direction.clone();
    if (Math.abs(push.getY()) > max && !isUser) {
      if (push.getY() < 0) {
        push.setY(-max);
      }
 else {
        push.setY(max);
      }
    }
    if (location.getWorld().equals(origin.getWorld())) {
      factor*=1 - location.distance(origin) / (2 * range);
    }
    if (isUser && GeneralMethods.isSolid(player.getLocation().add(0,-.5,0).getBlock())) {
      factor*=.5;
    }
    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())) {
        return;
      }
    }
    if (Double.isNaN(velocity.length())) {
      return;
    }
    GeneralMethods.setVelocity(entity,velocity);
    if (source != null) {
      new HorizontalVelocityTracker(entity,player,200l,CoreAbility.getAbility("String_Node_Str"));
    }
 else {
      new HorizontalVelocityTracker(entity,player,200l,this);
    }
    if (!isUser && 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);
    if (source != null && (this.damage > 0 && entity instanceof LivingEntity && !entity.equals(player) && !affectedEntities.contains(entity))) {
      DamageHandler.damageEntity((LivingEntity)entity,damage,CoreAbility.getAbility("String_Node_Str"));
      affectedEntities.add(entity);
    }
 else     if (source == null && (damage > 0 && entity instanceof LivingEntity && !entity.equals(player) && !affectedEntities.contains(entity))) {
      DamageHandler.damageEntity((LivingEntity)entity,damage,this);
      affectedEntities.add(entity);
    }
  }
}