@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); }