Program: 133842
Project: 133842
Buggy source:
@EventHandler(priority=EventPriority.NORMAL,ignoreCancelled=true) public void onPlayerMove(PlayerMoveEvent event){
  if (event.isCancelled()) {
    return;
  }
  Player player=event.getPlayer();
  if (Paralyze.isParalyzed(player)) {
    event.setCancelled(true);
    return;
  }
 else   if (ChiCombo.isParalyzed(player)) {
    event.setCancelled(true);
    return;
  }
 else   if (CoreAbility.hasAbility(player,WaterSpout.class) || CoreAbility.hasAbility(player,AirSpout.class) || CoreAbility.hasAbility(player,SandSpout.class)) {
    Vector vel=new Vector();
    vel.setX(event.getTo().getX() - event.getFrom().getX());
    vel.setZ(event.getTo().getZ() - event.getFrom().getZ());
    double currspeed=vel.length();
    double maxspeed=.2;
    if (currspeed > maxspeed) {
      vel=vel.normalize().multiply(maxspeed);
      event.getPlayer().setVelocity(vel);
    }
  }
 else   if (Bloodbending.isBloodbent(player)) {
    double distance1, distance2;
    Location loc=Bloodbending.getBloodbendingLocation(player);
    distance1=event.getFrom().distance(loc);
    distance2=event.getTo().distance(loc);
    if (distance2 > distance1) {
      player.setVelocity(new Vector(0,0,0));
    }
  }
 else   if (AirFlight.isFlying(event.getPlayer())) {
    if (AirFlight.isHovering(event.getPlayer())) {
      Location loc=event.getFrom();
      Location toLoc=player.getLocation();
      if (loc.getX() != toLoc.getX() || loc.getY() != toLoc.getY() || loc.getZ() != toLoc.getZ()) {
        event.setCancelled(true);
        return;
      }
    }
  }
 else {
    BendingPlayer bPlayer=BendingPlayer.getBendingPlayer(player);
    if (bPlayer != null) {
      if (bPlayer.hasElement(Element.AIR) || bPlayer.hasElement(Element.CHI) || bPlayer.hasElement(Element.EARTH)) {
        PassiveHandler.checkSpeedPassives(player);
      }
      if (bPlayer.hasElement(Element.AIR) || bPlayer.hasElement(Element.CHI)) {
        PassiveHandler.checkJumpPassives(player);
        PassiveHandler.checkExhaustionPassives(player);
      }
    }
  }
  if (event.getTo().getY() > event.getFrom().getY()) {
    if (!(player.getLocation().getBlock().getType() == Material.VINE) && !(player.getLocation().getBlock().getType() == Material.LADDER)) {
      int current=player.getStatistic(Statistic.JUMP);
      int last=JUMPS.get(player);
      if (last != current) {
        JUMPS.put(player,current);
        double yDif=event.getTo().getY() - event.getFrom().getY();
        if ((yDif < 0.035 || yDif > 0.037) && (yDif < 0.116 || yDif > 0.118)) {
          Bukkit.getServer().getPluginManager().callEvent(new PlayerJumpEvent(player,yDif));
        }
      }
    }
  }
}

Fixed version (ground truth):
@EventHandler(priority=EventPriority.NORMAL,ignoreCancelled=true) public void onPlayerMove(PlayerMoveEvent event){
  if (event.isCancelled()) {
    return;
  }
  Player player=event.getPlayer();
  if (Paralyze.isParalyzed(player)) {
    event.setCancelled(true);
    return;
  }
 else   if (ChiCombo.isParalyzed(player)) {
    event.setCancelled(true);
    return;
  }
 else   if (CoreAbility.hasAbility(player,WaterSpout.class) || CoreAbility.hasAbility(player,AirSpout.class) || CoreAbility.hasAbility(player,SandSpout.class)) {
    Vector vel=new Vector();
    vel.setX(event.getTo().getX() - event.getFrom().getX());
    vel.setZ(event.getTo().getZ() - event.getFrom().getZ());
    double currspeed=vel.length();
    double maxspeed=.2;
    if (currspeed > maxspeed) {
      vel=vel.normalize().multiply(maxspeed);
      event.getPlayer().setVelocity(vel);
    }
  }
 else   if (Bloodbending.isBloodbent(player)) {
    double distance1=0;
    double distance2=0;
    Location loc=Bloodbending.getBloodbendingLocation(player);
    if (event.getPlayer().getWorld().equals(loc.getWorld()))     distance1=event.getFrom().distance(loc);
    distance2=event.getTo().distance(loc);
    if (distance2 > distance1) {
      player.setVelocity(new Vector(0,0,0));
    }
  }
 else   if (AirFlight.isFlying(event.getPlayer())) {
    if (AirFlight.isHovering(event.getPlayer())) {
      Location loc=event.getFrom();
      Location toLoc=player.getLocation();
      if (loc.getX() != toLoc.getX() || loc.getY() != toLoc.getY() || loc.getZ() != toLoc.getZ()) {
        event.setCancelled(true);
        return;
      }
    }
  }
 else {
    BendingPlayer bPlayer=BendingPlayer.getBendingPlayer(player);
    if (bPlayer != null) {
      if (bPlayer.hasElement(Element.AIR) || bPlayer.hasElement(Element.CHI) || bPlayer.hasElement(Element.EARTH)) {
        PassiveHandler.checkSpeedPassives(player);
      }
      if (bPlayer.hasElement(Element.AIR) || bPlayer.hasElement(Element.CHI)) {
        PassiveHandler.checkJumpPassives(player);
        PassiveHandler.checkExhaustionPassives(player);
      }
    }
  }
  if (event.getTo().getY() > event.getFrom().getY()) {
    if (!(player.getLocation().getBlock().getType() == Material.VINE) && !(player.getLocation().getBlock().getType() == Material.LADDER)) {
      int current=player.getStatistic(Statistic.JUMP);
      int last=JUMPS.get(player);
      if (last != current) {
        JUMPS.put(player,current);
        double yDif=event.getTo().getY() - event.getFrom().getY();
        if ((yDif < 0.035 || yDif > 0.037) && (yDif < 0.116 || yDif > 0.118)) {
          Bukkit.getServer().getPluginManager().callEvent(new PlayerJumpEvent(player,yDif));
        }
      }
    }
  }
}