@Override
 public boolean swing() {
   if (getState() == BendingAbilityState.Start) {
     if (canWaterSpout(this.player)) {
       this.height = 0;
       this.blocks = new LinkedList<TempBlock>();
       this.flying = FlyingPlayer.addFlyingPlayer(this.player, this, getMaxMillis());
       if (this.flying != null) {
         spout();
         setState(BendingAbilityState.Progressing);
       }
     }
   } else if (getState() == BendingAbilityState.Progressing) {
     remove();
   }
   return false;
 }
 @Override
 public void stop() {
   revertSpout();
   FlyingPlayer.removeFlyingPlayer(this.player, this);
   this.bender.cooldown(BendingAbilities.WaterSpout, COOLDOWN);
 }