From 766948610395c0fc55ff2da6343d8285b7fe97de Mon Sep 17 00:00:00 2001 From: OmniCypher Date: Sat, 17 Oct 2015 10:17:21 -0700 Subject: [PATCH] Various fixes; Perm water & ice, reloadVariables Removes reloadVariable() from all constructors Fixes Surge perm ice and water Removes Water Passive (extremely inefficient) Alters playIceBendingSound() to make PhaseChange more bearable Fixes NPE's in Flight Fixes NPE in DisplayCommand Light overall cleanup (Unused imports/dead code) Fixes memory leak in ComboManager --- .../projectkorra/GeneralMethods.java | 2 -- .../projectkorra/projectkorra/PKListener.java | 2 +- .../ability/combo/ComboManager.java | 12 ++++++---- .../projectkorra/airbending/AirBlast.java | 2 +- .../projectkorra/airbending/AirBubble.java | 2 +- .../projectkorra/airbending/AirBurst.java | 2 +- .../projectkorra/airbending/AirCombo.java | 3 ++- .../projectkorra/airbending/AirScooter.java | 3 ++- .../projectkorra/airbending/AirShield.java | 2 +- .../projectkorra/airbending/AirSpout.java | 2 +- .../projectkorra/airbending/AirSuction.java | 2 +- .../projectkorra/airbending/AirSwipe.java | 2 +- .../projectkorra/airbending/Suffocate.java | 2 +- .../projectkorra/airbending/Tornado.java | 2 +- .../projectkorra/command/DisplayCommand.java | 2 +- .../projectkorra/earthbending/Catapult.java | 2 +- .../projectkorra/firebending/ArcOfFire.java | 2 +- .../projectkorra/firebending/Combustion.java | 2 +- .../projectkorra/firebending/Cook.java | 2 +- .../projectkorra/firebending/Extinguish.java | 2 +- .../projectkorra/firebending/FireBlast.java | 2 +- .../projectkorra/firebending/FireBurst.java | 2 +- .../projectkorra/firebending/FireCombo.java | 2 +- .../projectkorra/firebending/FireJet.java | 2 +- .../projectkorra/firebending/FireShield.java | 2 +- .../projectkorra/firebending/Fireball.java | 2 +- .../projectkorra/firebending/HeatMelt.java | 2 +- .../firebending/Illumination.java | 2 +- .../projectkorra/firebending/Lightning.java | 2 +- .../projectkorra/firebending/RingOfFire.java | 2 +- .../projectkorra/util/Flight.java | 22 +++++++++---------- .../projectkorra/waterbending/FreezeMelt.java | 1 + .../waterbending/WaterMethods.java | 2 +- .../waterbending/WaterPassive.java | 18 +++++++-------- .../projectkorra/waterbending/WaterWall.java | 2 ++ .../projectkorra/waterbending/Wave.java | 3 +++ 36 files changed, 65 insertions(+), 55 deletions(-) diff --git a/src/com/projectkorra/projectkorra/GeneralMethods.java b/src/com/projectkorra/projectkorra/GeneralMethods.java index 65db5a21..22d30609 100644 --- a/src/com/projectkorra/projectkorra/GeneralMethods.java +++ b/src/com/projectkorra/projectkorra/GeneralMethods.java @@ -293,8 +293,6 @@ public class GeneralMethods { return false; if (!bPlayer.isToggled()) return false; - if (p == null) - return false; if (p.getGameMode() == GameMode.SPECTATOR) return false; if (cooldowns.containsKey(p.getName())) { diff --git a/src/com/projectkorra/projectkorra/PKListener.java b/src/com/projectkorra/projectkorra/PKListener.java index 1c5d5d79..d45400c3 100644 --- a/src/com/projectkorra/projectkorra/PKListener.java +++ b/src/com/projectkorra/projectkorra/PKListener.java @@ -1295,7 +1295,7 @@ public class PKListener implements Listener { ComboManager.addComboAbility(player, ClickType.LEFT_CLICK); if (Suffocate.isBreathbent(player)) { - if (!GeneralMethods.getBoundAbility(player).equalsIgnoreCase("AirSwipe") || !GeneralMethods.getBoundAbility(player).equalsIgnoreCase("FireBlast") || !GeneralMethods.getBoundAbility(player).equalsIgnoreCase("EarthBlast") || !GeneralMethods.getBoundAbility(player).equalsIgnoreCase("WaterManipulation")) { + if (GeneralMethods.getBoundAbility(player) != null || !GeneralMethods.getBoundAbility(player).equalsIgnoreCase("AirSwipe") || !GeneralMethods.getBoundAbility(player).equalsIgnoreCase("FireBlast") || !GeneralMethods.getBoundAbility(player).equalsIgnoreCase("EarthBlast") || !GeneralMethods.getBoundAbility(player).equalsIgnoreCase("WaterManipulation")) { event.setCancelled(true); } } diff --git a/src/com/projectkorra/projectkorra/ability/combo/ComboManager.java b/src/com/projectkorra/projectkorra/ability/combo/ComboManager.java index fc982141..b63f6339 100644 --- a/src/com/projectkorra/projectkorra/ability/combo/ComboManager.java +++ b/src/com/projectkorra/projectkorra/ability/combo/ComboManager.java @@ -16,11 +16,10 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; import java.util.HashMap; -import java.util.HashSet; import java.util.concurrent.ConcurrentHashMap; public class ComboManager { - private static final long CLEANUP_DELAY = 20 * 60 * 60; + private static final long CLEANUP_DELAY = 20 * 30; public static ConcurrentHashMap> recentlyUsedAbilities = new ConcurrentHashMap>(); public static HashMap comboAbilityList = new HashMap(); public static HashMap authors = new HashMap(); @@ -205,6 +204,7 @@ public class ComboManager { list = new ArrayList(); list.add(info); recentlyUsedAbilities.put(name, list); + //Bukkit.broadcastMessage("recentlyUsedAbilities: " + recentlyUsedAbilities.get(name).size()); } /** @@ -244,8 +244,11 @@ public class ComboManager { Enumeration keys = recentlyUsedAbilities.keys(); while (keys.hasMoreElements()) { String name = keys.nextElement(); - ArrayList usedAbilities = recentlyUsedAbilities.get(name); - usedAbilities.clear(); + //ArrayList usedAbilities = recentlyUsedAbilities.get(name); + if(recentlyUsedAbilities.get(name).size() > 75) { + recentlyUsedAbilities.get(name).clear(); + //Bukkit.broadcastMessage(name + " recentlyUsed Cleared"); + } } } @@ -293,6 +296,7 @@ public class ComboManager { new BukkitRunnable() { public void run() { cleanupOldCombos(); + //Bukkit.broadcastMessage("Cleaned"); } }.runTaskTimer(ProjectKorra.plugin, 0, CLEANUP_DELAY); } diff --git a/src/com/projectkorra/projectkorra/airbending/AirBlast.java b/src/com/projectkorra/projectkorra/airbending/AirBlast.java index 161799e0..edfbc58c 100644 --- a/src/com/projectkorra/projectkorra/airbending/AirBlast.java +++ b/src/com/projectkorra/projectkorra/airbending/AirBlast.java @@ -76,7 +76,7 @@ public class AirBlast extends CoreAbility { if (location.getBlock().isLiquid()) { return; } - reloadVariables(); + //reloadVariables(); source = burst; this.player = player; diff --git a/src/com/projectkorra/projectkorra/airbending/AirBubble.java b/src/com/projectkorra/projectkorra/airbending/AirBubble.java index ca5e7e9a..0a7dca80 100644 --- a/src/com/projectkorra/projectkorra/airbending/AirBubble.java +++ b/src/com/projectkorra/projectkorra/airbending/AirBubble.java @@ -28,7 +28,7 @@ public class AirBubble extends CoreAbility { private ConcurrentHashMap waterorigins; public AirBubble(Player player) { - reloadVariables(); + //reloadVariables(); this.player = player; waterorigins = new ConcurrentHashMap(); //instances.put(uuid, this); diff --git a/src/com/projectkorra/projectkorra/airbending/AirBurst.java b/src/com/projectkorra/projectkorra/airbending/AirBurst.java index 1acf29fc..4b4861bd 100644 --- a/src/com/projectkorra/projectkorra/airbending/AirBurst.java +++ b/src/com/projectkorra/projectkorra/airbending/AirBurst.java @@ -33,7 +33,7 @@ public class AirBurst extends CoreAbility { private ArrayList affectedentities = new ArrayList(); public AirBurst() { - reloadVariables(); + //reloadVariables(); } public AirBurst(Player player) { diff --git a/src/com/projectkorra/projectkorra/airbending/AirCombo.java b/src/com/projectkorra/projectkorra/airbending/AirCombo.java index 794fb56b..751fa3d4 100644 --- a/src/com/projectkorra/projectkorra/airbending/AirCombo.java +++ b/src/com/projectkorra/projectkorra/airbending/AirCombo.java @@ -79,6 +79,7 @@ public class AirCombo implements ConfigLoadable { public AirCombo(Player player, String ability) { /* Initial Checks */ + if (!enabled) return; if (Commands.isToggledForAll) @@ -94,7 +95,7 @@ public class AirCombo implements ConfigLoadable { if (GeneralMethods.isRegionProtectedFromBuild(player, "AirBlast", player.getLocation())) return; /* End Initial Checks */ - reloadVariables(); + //reloadVariables(); time = System.currentTimeMillis(); this.player = player; this.ability = ability; diff --git a/src/com/projectkorra/projectkorra/airbending/AirScooter.java b/src/com/projectkorra/projectkorra/airbending/AirScooter.java index 4674d10b..544c3008 100644 --- a/src/com/projectkorra/projectkorra/airbending/AirScooter.java +++ b/src/com/projectkorra/projectkorra/airbending/AirScooter.java @@ -36,7 +36,7 @@ public class AirScooter extends CoreAbility { if (GeneralMethods.isSolid(player.getLocation().add(0, -.5, 0).getBlock())) return; /* End Initial Check */ - reloadVariables(); + //reloadVariables(); this.player = player; // wasflying = player.isFlying(); // canfly = player.getAllowFlight(); @@ -49,6 +49,7 @@ public class AirScooter extends CoreAbility { angles.add((double) (60 * i)); } //instances.put(uuid, this); + speed = configSpeed; putInstance(player, this); progress(); } diff --git a/src/com/projectkorra/projectkorra/airbending/AirShield.java b/src/com/projectkorra/projectkorra/airbending/AirShield.java index 658cdec6..165ed076 100644 --- a/src/com/projectkorra/projectkorra/airbending/AirShield.java +++ b/src/com/projectkorra/projectkorra/airbending/AirShield.java @@ -41,7 +41,7 @@ public class AirShield extends CoreAbility { return; } /* End Initial Check */ - reloadVariables(); + //reloadVariables(); this.player = player; int angle = 0; int di = (int) (maxradius * 2 / numberOfStreams); diff --git a/src/com/projectkorra/projectkorra/airbending/AirSpout.java b/src/com/projectkorra/projectkorra/airbending/AirSpout.java index 84efd11e..79f4d876 100644 --- a/src/com/projectkorra/projectkorra/airbending/AirSpout.java +++ b/src/com/projectkorra/projectkorra/airbending/AirSpout.java @@ -29,7 +29,7 @@ public class AirSpout extends CoreAbility { return; } /* End Initial Check */ - reloadVariables(); + //reloadVariables(); this.player = player; time = System.currentTimeMillis(); new Flight(player); diff --git a/src/com/projectkorra/projectkorra/airbending/AirSuction.java b/src/com/projectkorra/projectkorra/airbending/AirSuction.java index 14070cb9..67a47f6a 100644 --- a/src/com/projectkorra/projectkorra/airbending/AirSuction.java +++ b/src/com/projectkorra/projectkorra/airbending/AirSuction.java @@ -62,7 +62,7 @@ public class AirSuction extends CoreAbility { if (AirSpout.getPlayers().contains(player.getUniqueId()) || WaterSpout.getPlayers().contains(player)) //TODO: UPDATE THIS LINE return; /* End Initial Check */ - reloadVariables(); + //reloadVariables(); this.player = player; if (origins.containsKey(player)) { origin = origins.get(player); diff --git a/src/com/projectkorra/projectkorra/airbending/AirSwipe.java b/src/com/projectkorra/projectkorra/airbending/AirSwipe.java index 64aaaabd..f5701905 100644 --- a/src/com/projectkorra/projectkorra/airbending/AirSwipe.java +++ b/src/com/projectkorra/projectkorra/airbending/AirSwipe.java @@ -76,7 +76,7 @@ public class AirSwipe extends CoreAbility { return; } /* End Initial Check */ - reloadVariables(); + //reloadVariables(); this.player = player; this.charging = charging; origin = player.getEyeLocation(); diff --git a/src/com/projectkorra/projectkorra/airbending/Suffocate.java b/src/com/projectkorra/projectkorra/airbending/Suffocate.java index 8c732558..c0b7bb8a 100644 --- a/src/com/projectkorra/projectkorra/airbending/Suffocate.java +++ b/src/com/projectkorra/projectkorra/airbending/Suffocate.java @@ -76,7 +76,7 @@ public class Suffocate extends CoreAbility { tasks = new ArrayList(); time = System.currentTimeMillis(); - reloadVariables(); + //reloadVariables(); reqConstantAim = REQUIRE_CONSTANT_AIM; canSuffUndead = CAN_SUFFOCATE_UNDEAD; chargeTime = CHARGE_TIME; diff --git a/src/com/projectkorra/projectkorra/airbending/Tornado.java b/src/com/projectkorra/projectkorra/airbending/Tornado.java index 1188b540..a02ddd63 100644 --- a/src/com/projectkorra/projectkorra/airbending/Tornado.java +++ b/src/com/projectkorra/projectkorra/airbending/Tornado.java @@ -43,7 +43,7 @@ public class Tornado extends CoreAbility { // private boolean canfly; public Tornado(Player player) { - reloadVariables(); + //reloadVariables(); this.player = player; // canfly = player.getAllowFlight(); // player.setAllowFlight(true); diff --git a/src/com/projectkorra/projectkorra/command/DisplayCommand.java b/src/com/projectkorra/projectkorra/command/DisplayCommand.java index 4e274869..1a89b3b1 100644 --- a/src/com/projectkorra/projectkorra/command/DisplayCommand.java +++ b/src/com/projectkorra/projectkorra/command/DisplayCommand.java @@ -173,7 +173,7 @@ public class DisplayCommand extends PKCommand { */ private void displaySubElement(CommandSender sender, String element) { List abilities = ProjectKorra.plugin.abManager.getAbilities(element); - if (abilities.isEmpty()) { + if (abilities.isEmpty() && element != null) { Element e = SubElement.getType(element.toLowerCase()).getMainElement(); ChatColor color = GeneralMethods.getSubBendingColor(e); sender.sendMessage(ChatColor.YELLOW + "There are no " + color + element + ChatColor.YELLOW + " abilities installed!"); diff --git a/src/com/projectkorra/projectkorra/earthbending/Catapult.java b/src/com/projectkorra/projectkorra/earthbending/Catapult.java index 3f88b2c7..b15b713e 100644 --- a/src/com/projectkorra/projectkorra/earthbending/Catapult.java +++ b/src/com/projectkorra/projectkorra/earthbending/Catapult.java @@ -38,7 +38,7 @@ public class Catapult extends CoreAbility { if (bplayer.isOnCooldown("Catapult")) return; /* End Initial Checks */ - reloadVariables(); + //reloadVariables(); this.player = player; origin = player.getEyeLocation().clone(); direction = origin.getDirection().clone().normalize(); diff --git a/src/com/projectkorra/projectkorra/firebending/ArcOfFire.java b/src/com/projectkorra/projectkorra/firebending/ArcOfFire.java index b5b0083c..0189b891 100644 --- a/src/com/projectkorra/projectkorra/firebending/ArcOfFire.java +++ b/src/com/projectkorra/projectkorra/firebending/ArcOfFire.java @@ -24,7 +24,7 @@ public class ArcOfFire implements ConfigLoadable { if (bPlayer.isOnCooldown("Blaze")) return; /* End Initial Checks */ - reloadVariables(); + //reloadVariables(); Location location = player.getLocation(); diff --git a/src/com/projectkorra/projectkorra/firebending/Combustion.java b/src/com/projectkorra/projectkorra/firebending/Combustion.java index db7a60b7..1a47ae30 100644 --- a/src/com/projectkorra/projectkorra/firebending/Combustion.java +++ b/src/com/projectkorra/projectkorra/firebending/Combustion.java @@ -53,7 +53,7 @@ public class Combustion extends CoreAbility { if (bPlayer.isOnCooldown("Combustion")) return; /* End Initial Checks */ - reloadVariables(); + //reloadVariables(); this.player = player; starttime = System.currentTimeMillis(); origin = player.getEyeLocation(); diff --git a/src/com/projectkorra/projectkorra/firebending/Cook.java b/src/com/projectkorra/projectkorra/firebending/Cook.java index 6c5e17c2..f6a6bb40 100644 --- a/src/com/projectkorra/projectkorra/firebending/Cook.java +++ b/src/com/projectkorra/projectkorra/firebending/Cook.java @@ -27,7 +27,7 @@ public class Cook extends AddonAbility { private long cooktime = COOK_TIME; public Cook(Player player) { - reloadVariables(); + //reloadVariables(); this.player = player; items = player.getItemInHand(); time = System.currentTimeMillis(); diff --git a/src/com/projectkorra/projectkorra/firebending/Extinguish.java b/src/com/projectkorra/projectkorra/firebending/Extinguish.java index 7b8183b3..62a12c28 100644 --- a/src/com/projectkorra/projectkorra/firebending/Extinguish.java +++ b/src/com/projectkorra/projectkorra/firebending/Extinguish.java @@ -31,7 +31,7 @@ public class Extinguish implements ConfigLoadable { if (bPlayer.isOnCooldown("HeatControl")) return; /* End Initial Checks */ - reloadVariables(); + //reloadVariables(); double range = FireMethods.getFirebendingDayAugment(defaultrange, player.getWorld()); if (WaterMethods.isMeltable(player.getTargetBlock((HashSet) null, (int) range))) { diff --git a/src/com/projectkorra/projectkorra/firebending/FireBlast.java b/src/com/projectkorra/projectkorra/firebending/FireBlast.java index 4f5ac191..3411bb55 100644 --- a/src/com/projectkorra/projectkorra/firebending/FireBlast.java +++ b/src/com/projectkorra/projectkorra/firebending/FireBlast.java @@ -68,7 +68,7 @@ public class FireBlast extends CoreAbility { return; } /* End Initial Checks */ - reloadVariables(); + //reloadVariables(); safe = safeblocks; range = FireMethods.getFirebendingDayAugment(range, player.getWorld()); // timers.put(player, System.currentTimeMillis()); diff --git a/src/com/projectkorra/projectkorra/firebending/FireBurst.java b/src/com/projectkorra/projectkorra/firebending/FireBurst.java index 64126466..621cd68d 100644 --- a/src/com/projectkorra/projectkorra/firebending/FireBurst.java +++ b/src/com/projectkorra/projectkorra/firebending/FireBurst.java @@ -39,7 +39,7 @@ public class FireBurst extends CoreAbility { if (containsPlayer(player, FireBurst.class)) return; /* End Initial Checks */ - reloadVariables(); + //reloadVariables(); starttime = System.currentTimeMillis(); if (FireMethods.isDay(player.getWorld())) { diff --git a/src/com/projectkorra/projectkorra/firebending/FireCombo.java b/src/com/projectkorra/projectkorra/firebending/FireCombo.java index 6b2e806e..2d1a94ba 100644 --- a/src/com/projectkorra/projectkorra/firebending/FireCombo.java +++ b/src/com/projectkorra/projectkorra/firebending/FireCombo.java @@ -102,7 +102,7 @@ public class FireCombo implements ConfigLoadable { return; } /* End Initial Checks */ - reloadVariables(); + //reloadVariables(); time = System.currentTimeMillis(); this.player = player; this.ability = ability; diff --git a/src/com/projectkorra/projectkorra/firebending/FireJet.java b/src/com/projectkorra/projectkorra/firebending/FireJet.java index 11d84c47..cbf14d4d 100644 --- a/src/com/projectkorra/projectkorra/firebending/FireJet.java +++ b/src/com/projectkorra/projectkorra/firebending/FireJet.java @@ -37,7 +37,7 @@ public class FireJet extends CoreAbility { if (bPlayer.isOnCooldown("FireJet")) return; /* End Initial Checks */ - reloadVariables(); + //reloadVariables(); factor = FireMethods.getFirebendingDayAugment(defaultfactor, player.getWorld()); GeneralMethods.invincible.add(this); diff --git a/src/com/projectkorra/projectkorra/firebending/FireShield.java b/src/com/projectkorra/projectkorra/firebending/FireShield.java index 8bc9cea0..dde4c5e0 100644 --- a/src/com/projectkorra/projectkorra/firebending/FireShield.java +++ b/src/com/projectkorra/projectkorra/firebending/FireShield.java @@ -49,7 +49,7 @@ public class FireShield extends CoreAbility { if (bPlayer.isOnCooldown("FireShield")) return; /* End Initial Checks */ - reloadVariables(); + //reloadVariables(); this.player = player; this.shield = shield; diff --git a/src/com/projectkorra/projectkorra/firebending/Fireball.java b/src/com/projectkorra/projectkorra/firebending/Fireball.java index 203a4431..e8bcd2eb 100644 --- a/src/com/projectkorra/projectkorra/firebending/Fireball.java +++ b/src/com/projectkorra/projectkorra/firebending/Fireball.java @@ -56,7 +56,7 @@ public class Fireball extends AddonAbility { private boolean damage_blocks; public Fireball(Player player) { - reloadVariables(); + //reloadVariables(); this.player = player; time = System.currentTimeMillis(); starttime = time; diff --git a/src/com/projectkorra/projectkorra/firebending/HeatMelt.java b/src/com/projectkorra/projectkorra/firebending/HeatMelt.java index 937280b7..25d7ea13 100644 --- a/src/com/projectkorra/projectkorra/firebending/HeatMelt.java +++ b/src/com/projectkorra/projectkorra/firebending/HeatMelt.java @@ -16,7 +16,7 @@ public class HeatMelt implements ConfigLoadable { private static int radius = config.get().getInt("Abilities.Fire.HeatControl.Melt.Radius"); public HeatMelt(Player player) { - reloadVariables(); + //reloadVariables(); Location location = GeneralMethods.getTargetedLocation(player, (int) FireMethods.getFirebendingDayAugment(range, player.getWorld())); for (Block block : GeneralMethods.getBlocksAroundPoint(location, (int) FireMethods.getFirebendingDayAugment(radius, player.getWorld()))) { if (WaterMethods.isMeltable(block)) { diff --git a/src/com/projectkorra/projectkorra/firebending/Illumination.java b/src/com/projectkorra/projectkorra/firebending/Illumination.java index ffea90b5..e27a5231 100644 --- a/src/com/projectkorra/projectkorra/firebending/Illumination.java +++ b/src/com/projectkorra/projectkorra/firebending/Illumination.java @@ -33,7 +33,7 @@ public class Illumination extends CoreAbility { if (containsPlayer(player, Illumination.class)) { getAbilityFromPlayer(player, Illumination.class).remove(); } else { - reloadVariables(); + //reloadVariables(); this.player = player; set(); //instances.put(player, this); diff --git a/src/com/projectkorra/projectkorra/firebending/Lightning.java b/src/com/projectkorra/projectkorra/firebending/Lightning.java index 2a2dbc05..6fef492a 100644 --- a/src/com/projectkorra/projectkorra/firebending/Lightning.java +++ b/src/com/projectkorra/projectkorra/firebending/Lightning.java @@ -58,7 +58,7 @@ public class Lightning extends CoreAbility { private double newY; public Lightning(Player player) { - reloadVariables(); + //reloadVariables(); this.player = player; bplayer = GeneralMethods.getBendingPlayer(player.getName()); charged = false; diff --git a/src/com/projectkorra/projectkorra/firebending/RingOfFire.java b/src/com/projectkorra/projectkorra/firebending/RingOfFire.java index c16c0094..5e284693 100644 --- a/src/com/projectkorra/projectkorra/firebending/RingOfFire.java +++ b/src/com/projectkorra/projectkorra/firebending/RingOfFire.java @@ -19,7 +19,7 @@ public class RingOfFire implements ConfigLoadable { if (bPlayer.isOnCooldown("Blaze")) return; /* End Initial Checks */ - reloadVariables(); + //reloadVariables(); Location location = player.getLocation(); for (double degrees = 0; degrees < 360; degrees += 10) { diff --git a/src/com/projectkorra/projectkorra/util/Flight.java b/src/com/projectkorra/projectkorra/util/Flight.java index b23be088..6c819221 100644 --- a/src/com/projectkorra/projectkorra/util/Flight.java +++ b/src/com/projectkorra/projectkorra/util/Flight.java @@ -135,21 +135,21 @@ public class Flight { } public void remove() { -// if (player == null) { -// for (Player player : instances.keySet()) { -// if (instances.get(player).equals(this)) { -// instances.remove(player); -// } -// } -// return; -// } + if (player == null) { + for (Player player : instances.keySet()) { + if (instances.get(player).equals(this)) { + instances.remove(player); + } + } + return; + } instances.remove(player); } public void revert() { -// if (player == null) { -// return; -// } + if (player == null) { + return; + } player.setAllowFlight(couldFly); player.setFlying(wasFlying); } diff --git a/src/com/projectkorra/projectkorra/waterbending/FreezeMelt.java b/src/com/projectkorra/projectkorra/waterbending/FreezeMelt.java index 1d34661c..6781313b 100644 --- a/src/com/projectkorra/projectkorra/waterbending/FreezeMelt.java +++ b/src/com/projectkorra/projectkorra/waterbending/FreezeMelt.java @@ -61,6 +61,7 @@ public class FreezeMelt { return; byte data = block.getData(); block.setType(Material.ICE); + if(frozenblocks.size() % 50 == 0) WaterMethods.playIcebendingSound(block.getLocation()); frozenblocks.put(block, data); } diff --git a/src/com/projectkorra/projectkorra/waterbending/WaterMethods.java b/src/com/projectkorra/projectkorra/waterbending/WaterMethods.java index a28f7d94..a87fcb37 100644 --- a/src/com/projectkorra/projectkorra/waterbending/WaterMethods.java +++ b/src/com/projectkorra/projectkorra/waterbending/WaterMethods.java @@ -425,7 +425,7 @@ public class WaterMethods { public static void playIcebendingSound(Location loc) { if (plugin.getConfig().getBoolean("Properties.Water.PlaySound")) { - loc.getWorld().playSound(loc, Sound.FIRE_IGNITE, 10, 4); + loc.getWorld().playSound(loc, Sound.FIRE_IGNITE, 2, 10); } } diff --git a/src/com/projectkorra/projectkorra/waterbending/WaterPassive.java b/src/com/projectkorra/projectkorra/waterbending/WaterPassive.java index 0252c0d5..f37a0539 100644 --- a/src/com/projectkorra/projectkorra/waterbending/WaterPassive.java +++ b/src/com/projectkorra/projectkorra/waterbending/WaterPassive.java @@ -44,15 +44,15 @@ public class WaterPassive { } } - if (player.getLocation().getBlock().isLiquid()) { - for (Block block : GeneralMethods.getBlocksAroundPoint(player.getLocation(), 2)) { - if (GeneralMethods.isAdjacentToThreeOrMoreSources(block) && WaterMethods.isWater(block)) { - byte full = 0x0; - block.setType(Material.WATER); - block.setData(full); - } - } - } +// if (player.getLocation().getBlock().isLiquid()) { +// for (Block block : GeneralMethods.getBlocksAroundPoint(player.getLocation(), 2)) { +// if (GeneralMethods.isAdjacentToThreeOrMoreSources(block) && WaterMethods.isWater(block)) { +// byte full = 0x0; +// block.setType(Material.WATER); +// block.setData(full); +// } +// } +// } } } } diff --git a/src/com/projectkorra/projectkorra/waterbending/WaterWall.java b/src/com/projectkorra/projectkorra/waterbending/WaterWall.java index 85f174f3..f670ea4d 100644 --- a/src/com/projectkorra/projectkorra/waterbending/WaterWall.java +++ b/src/com/projectkorra/projectkorra/waterbending/WaterWall.java @@ -259,6 +259,8 @@ public class WaterWall { if (GeneralMethods.getBoundAbility(player) == null) { unfocusBlock(); + breakBlock(); + returnWater(location); return false; } if (!progressing && !GeneralMethods.getBoundAbility(player).equalsIgnoreCase("Surge")) { diff --git a/src/com/projectkorra/projectkorra/waterbending/Wave.java b/src/com/projectkorra/projectkorra/waterbending/Wave.java index 2a03719e..2d8d4b92 100644 --- a/src/com/projectkorra/projectkorra/waterbending/Wave.java +++ b/src/com/projectkorra/projectkorra/waterbending/Wave.java @@ -191,6 +191,9 @@ public class Wave { if (GeneralMethods.getBoundAbility(player) == null) { unfocusBlock(); + thaw(); + breakBlock(); + returnWater(location); return false; } if (!progressing && !GeneralMethods.getBoundAbility(player).equalsIgnoreCase("Surge")) {