diff --git a/src/com/projectkorra/projectkorra/airbending/AirScooter.java b/src/com/projectkorra/projectkorra/airbending/AirScooter.java index 02f0dd59..89803cb2 100644 --- a/src/com/projectkorra/projectkorra/airbending/AirScooter.java +++ b/src/com/projectkorra/projectkorra/airbending/AirScooter.java @@ -20,6 +20,7 @@ public class AirScooter extends AirAbility { private double speed; private double interval; private double radius; + private long cooldown; private double maxHeightFromGround; private Block floorblock; private Random random; @@ -30,18 +31,21 @@ public class AirScooter extends AirAbility { public AirScooter(Player player) { super(player); - if (check(player)) { + + if (check(player)) return; - } else if (!player.isSprinting() || GeneralMethods.isSolid(player.getEyeLocation().getBlock()) - || player.getEyeLocation().getBlock().isLiquid()) { + else if (!player.isSprinting() || GeneralMethods.isSolid(player.getEyeLocation().getBlock()) + || player.getEyeLocation().getBlock().isLiquid()) return; - } else if (GeneralMethods.isSolid(player.getLocation().add(0, -.5, 0).getBlock())) { + else if (GeneralMethods.isSolid(player.getLocation().add(0, -.5, 0).getBlock())) + return; + else if (bPlayer.isOnCooldown(this)) return; - } this.speed = getConfig().getDouble("Abilities.Air.AirScooter.Speed"); this.interval = getConfig().getDouble("Abilities.Air.AirScooter.Interval"); this.radius = getConfig().getDouble("Abilities.Air.AirScooter.Radius"); + this.cooldown = getConfig().getLong("Abilities.Air.AirScooter.Cooldown"); this.maxHeightFromGround = getConfig().getDouble("Abilities.Air.AirScooter.MaxHeightFromGround"); this.random = new Random(); this.angles = new ArrayList<>(); @@ -138,6 +142,7 @@ public class AirScooter extends AirAbility { @Override public void remove() { super.remove(); + bPlayer.addCooldown(this); player.setAllowFlight(canFly); player.setFlying(hadFly); } @@ -169,7 +174,7 @@ public class AirScooter extends AirAbility { @Override public long getCooldown() { - return 0; + return cooldown; } @Override @@ -222,4 +227,8 @@ public class AirScooter extends AirAbility { public void setFloorblock(Block floorblock) { this.floorblock = floorblock; } + + public void setCooldown(long cooldown) { + this.cooldown = cooldown; + } } diff --git a/src/com/projectkorra/projectkorra/configuration/ConfigManager.java b/src/com/projectkorra/projectkorra/configuration/ConfigManager.java index 19f50022..ca0fcca3 100644 --- a/src/com/projectkorra/projectkorra/configuration/ConfigManager.java +++ b/src/com/projectkorra/projectkorra/configuration/ConfigManager.java @@ -284,6 +284,7 @@ public class ConfigManager { config.addDefault("Abilities.Air.AirScooter.Speed", 0.675); config.addDefault("Abilities.Air.AirScooter.Interval", 100); config.addDefault("Abilities.Air.AirScooter.Radius", 1); + config.addDefault("Abilities.Air.AirScooter.Cooldown", 7000); config.addDefault("Abilities.Air.AirScooter.MaxHeightFromGround", 7); config.addDefault("Abilities.Air.Tornado.Enabled", true);