diff --git a/src/com/projectkorra/projectkorra/PKListener.java b/src/com/projectkorra/projectkorra/PKListener.java index c2ecf556..9ae4d0b3 100644 --- a/src/com/projectkorra/projectkorra/PKListener.java +++ b/src/com/projectkorra/projectkorra/PKListener.java @@ -142,6 +142,7 @@ import org.bukkit.event.player.PlayerAnimationEvent; import org.bukkit.event.player.PlayerGameModeChangeEvent; import org.bukkit.event.player.PlayerInteractEntityEvent; import org.bukkit.event.player.PlayerInteractEvent; +import org.bukkit.event.player.PlayerItemHeldEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerKickEvent; import org.bukkit.event.player.PlayerMoveEvent; @@ -968,7 +969,6 @@ public class PKListener implements Listener { || type == Material.LEAVES || type == Material.LEAVES_2 || type == Material.LEATHER_LEGGINGS || type == Material.AIR)) { newDrops.add(drops.get(i)); - Bukkit.broadcastMessage("Adding " + drops.get(i)); } } if (plantArmor.getOldArmor() != null) { @@ -1251,12 +1251,6 @@ public class PKListener implements Listener { BlockSource.update(player, ClickType.SHIFT_DOWN); } - WaterArms waterArms = CoreAbility.getAbility(player, WaterArms.class); - if (!player.isSneaking() && waterArms != null) { - waterArms.displayBoundMsg(); - return; - } - AirScooter.check(player); @@ -1418,6 +1412,17 @@ public class PKListener implements Listener { } } } + + @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) + public void onPlayerSlotChange(PlayerItemHeldEvent event) { + Player player = event.getPlayer(); + + WaterArms waterArms = CoreAbility.getAbility(player, WaterArms.class); + if (waterArms != null) { + waterArms.displayBoundMsg(event.getNewSlot()+1); + return; + } + } @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onPlayerSwing(PlayerAnimationEvent event) { diff --git a/src/com/projectkorra/projectkorra/ability/util/ComboManager.java b/src/com/projectkorra/projectkorra/ability/util/ComboManager.java index 70535903..892861d6 100644 --- a/src/com/projectkorra/projectkorra/ability/util/ComboManager.java +++ b/src/com/projectkorra/projectkorra/ability/util/ComboManager.java @@ -31,114 +31,140 @@ public class ComboManager { private static final HashMap INSTRUCTIONS = new HashMap<>(); public ComboManager() { - ArrayList fireKick = new ArrayList<>(); - fireKick.add(new AbilityInformation("FireBlast", ClickType.LEFT_CLICK)); - fireKick.add(new AbilityInformation("FireBlast", ClickType.LEFT_CLICK)); - fireKick.add(new AbilityInformation("FireBlast", ClickType.SHIFT_DOWN)); - fireKick.add(new AbilityInformation("FireBlast", ClickType.LEFT_CLICK)); - COMBO_ABILITIES.put("FireKick", new ComboAbilityInfo("FireKick", fireKick, FireCombo.class)); - DESCRIPTIONS.put("FireKick", ConfigManager.languageConfig.get().getString("Abilities.Fire.Combo.FireKick.Description")); - INSTRUCTIONS.put("FireKick", "FireBlast > FireBlast > (Hold Shift) > FireBlast."); + COMBO_ABILITIES.clear(); + DESCRIPTIONS.clear(); + INSTRUCTIONS.clear(); + + if (ConfigManager.defaultConfig.get().getBoolean("Abilities.Fire.FireCombo.FireKick.Enabled")) { + ArrayList fireKick = new ArrayList<>(); + fireKick.add(new AbilityInformation("FireBlast", ClickType.LEFT_CLICK)); + fireKick.add(new AbilityInformation("FireBlast", ClickType.LEFT_CLICK)); + fireKick.add(new AbilityInformation("FireBlast", ClickType.SHIFT_DOWN)); + fireKick.add(new AbilityInformation("FireBlast", ClickType.LEFT_CLICK)); + COMBO_ABILITIES.put("FireKick", new ComboAbilityInfo("FireKick", fireKick, FireCombo.class)); + DESCRIPTIONS.put("FireKick", ConfigManager.languageConfig.get().getString("Abilities.Fire.Combo.FireKick.Description")); + INSTRUCTIONS.put("FireKick", "FireBlast > FireBlast > (Hold Shift) > FireBlast."); + } - ArrayList fireSpin = new ArrayList<>(); - fireSpin.add(new AbilityInformation("FireBlast", ClickType.LEFT_CLICK)); - fireSpin.add(new AbilityInformation("FireBlast", ClickType.LEFT_CLICK)); - fireSpin.add(new AbilityInformation("FireShield", ClickType.LEFT_CLICK)); - fireSpin.add(new AbilityInformation("FireShield", ClickType.SHIFT_DOWN)); - fireSpin.add(new AbilityInformation("FireShield", ClickType.SHIFT_UP)); - COMBO_ABILITIES.put("FireSpin", new ComboAbilityInfo("FireSpin", fireSpin, FireCombo.class)); - DESCRIPTIONS.put("FireSpin", ConfigManager.languageConfig.get().getString("Abilities.Fire.Combo.FireSpin.Description")); - INSTRUCTIONS.put("FireSpin", "FireBlast > FireBlast > FireShield > (Tap Shift)."); + if (ConfigManager.defaultConfig.get().getBoolean("Abilities.Fire.FireCombo.FireSpin.Enabled")) { + ArrayList fireSpin = new ArrayList<>(); + fireSpin.add(new AbilityInformation("FireBlast", ClickType.LEFT_CLICK)); + fireSpin.add(new AbilityInformation("FireBlast", ClickType.LEFT_CLICK)); + fireSpin.add(new AbilityInformation("FireShield", ClickType.LEFT_CLICK)); + fireSpin.add(new AbilityInformation("FireShield", ClickType.SHIFT_DOWN)); + fireSpin.add(new AbilityInformation("FireShield", ClickType.SHIFT_UP)); + COMBO_ABILITIES.put("FireSpin", new ComboAbilityInfo("FireSpin", fireSpin, FireCombo.class)); + DESCRIPTIONS.put("FireSpin", ConfigManager.languageConfig.get().getString("Abilities.Fire.Combo.FireSpin.Description")); + INSTRUCTIONS.put("FireSpin", "FireBlast > FireBlast > FireShield > (Tap Shift)."); + } - ArrayList jetBlast = new ArrayList<>(); - jetBlast.add(new AbilityInformation("FireJet", ClickType.SHIFT_DOWN)); - jetBlast.add(new AbilityInformation("FireJet", ClickType.SHIFT_UP)); - jetBlast.add(new AbilityInformation("FireJet", ClickType.SHIFT_DOWN)); - jetBlast.add(new AbilityInformation("FireJet", ClickType.SHIFT_UP)); - jetBlast.add(new AbilityInformation("FireShield", ClickType.SHIFT_DOWN)); - jetBlast.add(new AbilityInformation("FireShield", ClickType.SHIFT_UP)); - jetBlast.add(new AbilityInformation("FireJet", ClickType.LEFT_CLICK)); - COMBO_ABILITIES.put("JetBlast", new ComboAbilityInfo("JetBlast", jetBlast, FireCombo.class)); - DESCRIPTIONS.put("JetBlast", ConfigManager.languageConfig.get().getString("Abilities.Fire.Combo.JetBlast.Description")); - INSTRUCTIONS.put("JetBlast", "FireJet (Tap Shift) > FireJet (Tap Shift) > FireShield (Tap Shift) > FireJet."); + if (ConfigManager.defaultConfig.get().getBoolean("Abilities.Fire.FireCombo.JetBlast.Enabled")) { + ArrayList jetBlast = new ArrayList<>(); + jetBlast.add(new AbilityInformation("FireJet", ClickType.SHIFT_DOWN)); + jetBlast.add(new AbilityInformation("FireJet", ClickType.SHIFT_UP)); + jetBlast.add(new AbilityInformation("FireJet", ClickType.SHIFT_DOWN)); + jetBlast.add(new AbilityInformation("FireJet", ClickType.SHIFT_UP)); + jetBlast.add(new AbilityInformation("FireShield", ClickType.SHIFT_DOWN)); + jetBlast.add(new AbilityInformation("FireShield", ClickType.SHIFT_UP)); + jetBlast.add(new AbilityInformation("FireJet", ClickType.LEFT_CLICK)); + COMBO_ABILITIES.put("JetBlast", new ComboAbilityInfo("JetBlast", jetBlast, FireCombo.class)); + DESCRIPTIONS.put("JetBlast", ConfigManager.languageConfig.get().getString("Abilities.Fire.Combo.JetBlast.Description")); + INSTRUCTIONS.put("JetBlast", "FireJet (Tap Shift) > FireJet (Tap Shift) > FireShield (Tap Shift) > FireJet."); + } - ArrayList jetBlaze = new ArrayList<>(); - jetBlaze.add(new AbilityInformation("FireJet", ClickType.SHIFT_DOWN)); - jetBlaze.add(new AbilityInformation("FireJet", ClickType.SHIFT_UP)); - jetBlaze.add(new AbilityInformation("FireJet", ClickType.SHIFT_DOWN)); - jetBlaze.add(new AbilityInformation("FireJet", ClickType.SHIFT_UP)); - jetBlaze.add(new AbilityInformation("Blaze", ClickType.SHIFT_DOWN)); - jetBlaze.add(new AbilityInformation("Blaze", ClickType.SHIFT_UP)); - jetBlaze.add(new AbilityInformation("FireJet", ClickType.LEFT_CLICK)); - COMBO_ABILITIES.put("JetBlaze", new ComboAbilityInfo("JetBlaze", jetBlaze, FireCombo.class)); - DESCRIPTIONS.put("JetBlaze", ConfigManager.languageConfig.get().getString("Abilities.Fire.Combo.JetBlaze.Description")); - INSTRUCTIONS.put("JetBlaze", "FireJet (Tap Shift) > FireJet (Tap Shift) > Blaze (Tap Shift) > FireJet."); + if (ConfigManager.defaultConfig.get().getBoolean("Abilities.Fire.FireCombo.JetBlaze.Enabled")) { + ArrayList jetBlaze = new ArrayList<>(); + jetBlaze.add(new AbilityInformation("FireJet", ClickType.SHIFT_DOWN)); + jetBlaze.add(new AbilityInformation("FireJet", ClickType.SHIFT_UP)); + jetBlaze.add(new AbilityInformation("FireJet", ClickType.SHIFT_DOWN)); + jetBlaze.add(new AbilityInformation("FireJet", ClickType.SHIFT_UP)); + jetBlaze.add(new AbilityInformation("Blaze", ClickType.SHIFT_DOWN)); + jetBlaze.add(new AbilityInformation("Blaze", ClickType.SHIFT_UP)); + jetBlaze.add(new AbilityInformation("FireJet", ClickType.LEFT_CLICK)); + COMBO_ABILITIES.put("JetBlaze", new ComboAbilityInfo("JetBlaze", jetBlaze, FireCombo.class)); + DESCRIPTIONS.put("JetBlaze", ConfigManager.languageConfig.get().getString("Abilities.Fire.Combo.JetBlaze.Description")); + INSTRUCTIONS.put("JetBlaze", "FireJet (Tap Shift) > FireJet (Tap Shift) > Blaze (Tap Shift) > FireJet."); + } - ArrayList fireWheel = new ArrayList<>(); - fireWheel.add(new AbilityInformation("FireShield", ClickType.SHIFT_DOWN)); - fireWheel.add(new AbilityInformation("FireShield", ClickType.RIGHT_CLICK_BLOCK)); - fireWheel.add(new AbilityInformation("FireShield", ClickType.RIGHT_CLICK_BLOCK)); - fireWheel.add(new AbilityInformation("Blaze", ClickType.SHIFT_UP)); - COMBO_ABILITIES.put("FireWheel", new ComboAbilityInfo("FireWheel", fireWheel, FireCombo.class)); - DESCRIPTIONS.put("FireWheel", ConfigManager.languageConfig.get().getString("Abilities.Fire.Combo.FireWheel.Description")); - INSTRUCTIONS.put("FireWheel", "FireShield (Hold Shift) > Right Click a block in front of you twice > Switch to Blaze > Release Shift."); + if (ConfigManager.defaultConfig.get().getBoolean("Abilities.Fire.FireCombo.FireWheel.Enabled")) { + ArrayList fireWheel = new ArrayList<>(); + fireWheel.add(new AbilityInformation("FireShield", ClickType.SHIFT_DOWN)); + fireWheel.add(new AbilityInformation("FireShield", ClickType.RIGHT_CLICK_BLOCK)); + fireWheel.add(new AbilityInformation("FireShield", ClickType.RIGHT_CLICK_BLOCK)); + fireWheel.add(new AbilityInformation("Blaze", ClickType.SHIFT_UP)); + COMBO_ABILITIES.put("FireWheel", new ComboAbilityInfo("FireWheel", fireWheel, FireCombo.class)); + DESCRIPTIONS.put("FireWheel", ConfigManager.languageConfig.get().getString("Abilities.Fire.Combo.FireWheel.Description")); + INSTRUCTIONS.put("FireWheel", "FireShield (Hold Shift) > Right Click a block in front of you twice > Switch to Blaze > Release Shift."); + } - ArrayList twister = new ArrayList(); - twister.add(new AbilityInformation("AirShield", ClickType.SHIFT_DOWN)); - twister.add(new AbilityInformation("AirShield", ClickType.SHIFT_UP)); - twister.add(new AbilityInformation("Tornado", ClickType.SHIFT_DOWN)); - twister.add(new AbilityInformation("AirBlast", ClickType.LEFT_CLICK)); - COMBO_ABILITIES.put("Twister", new ComboAbilityInfo("Twister", twister, AirCombo.class)); - DESCRIPTIONS.put("Twister", ConfigManager.languageConfig.get().getString("Abilities.Air.Combo.Twister.Description")); - INSTRUCTIONS.put("Twister", "AirShield (Tap Shift) > Tornado (Hold Shift) > AirBlast (Left Click)"); + if (ConfigManager.defaultConfig.get().getBoolean("Abilities.Air.AirCombo.Twister.Enabled")) { + ArrayList twister = new ArrayList(); + twister.add(new AbilityInformation("AirShield", ClickType.SHIFT_DOWN)); + twister.add(new AbilityInformation("AirShield", ClickType.SHIFT_UP)); + twister.add(new AbilityInformation("Tornado", ClickType.SHIFT_DOWN)); + twister.add(new AbilityInformation("AirBlast", ClickType.LEFT_CLICK)); + COMBO_ABILITIES.put("Twister", new ComboAbilityInfo("Twister", twister, AirCombo.class)); + DESCRIPTIONS.put("Twister", ConfigManager.languageConfig.get().getString("Abilities.Air.Combo.Twister.Description")); + INSTRUCTIONS.put("Twister", "AirShield (Tap Shift) > Tornado (Hold Shift) > AirBlast (Left Click)"); + } - ArrayList airStream = new ArrayList<>(); - airStream.add(new AbilityInformation("AirShield", ClickType.SHIFT_DOWN)); - airStream.add(new AbilityInformation("AirSuction", ClickType.LEFT_CLICK)); - airStream.add(new AbilityInformation("AirBlast", ClickType.LEFT_CLICK)); - COMBO_ABILITIES.put("AirStream", new ComboAbilityInfo("AirStream", airStream, AirCombo.class)); - DESCRIPTIONS.put("AirStream", ConfigManager.languageConfig.get().getString("Abilities.Air.Combo.AirStream.Description")); - INSTRUCTIONS.put("AirStream", "AirShield (Hold Shift) > AirSuction (Left Click) > AirBlast (Left Click)"); + if (ConfigManager.defaultConfig.get().getBoolean("Abilities.Air.AirCombo.AirStream.Enabled")) { + ArrayList airStream = new ArrayList<>(); + airStream.add(new AbilityInformation("AirShield", ClickType.SHIFT_DOWN)); + airStream.add(new AbilityInformation("AirSuction", ClickType.LEFT_CLICK)); + airStream.add(new AbilityInformation("AirBlast", ClickType.LEFT_CLICK)); + COMBO_ABILITIES.put("AirStream", new ComboAbilityInfo("AirStream", airStream, AirCombo.class)); + DESCRIPTIONS.put("AirStream", ConfigManager.languageConfig.get().getString("Abilities.Air.Combo.AirStream.Description")); + INSTRUCTIONS.put("AirStream", "AirShield (Hold Shift) > AirSuction (Left Click) > AirBlast (Left Click)"); + } - ArrayList airSweep = new ArrayList<>(); - airSweep.add(new AbilityInformation("AirSwipe", ClickType.LEFT_CLICK)); - airSweep.add(new AbilityInformation("AirSwipe", ClickType.LEFT_CLICK)); - airSweep.add(new AbilityInformation("AirBurst", ClickType.SHIFT_DOWN)); - airSweep.add(new AbilityInformation("AirBurst", ClickType.LEFT_CLICK)); - COMBO_ABILITIES.put("AirSweep", new ComboAbilityInfo("AirSweep", airSweep, AirCombo.class)); - DESCRIPTIONS.put("AirSweep", ConfigManager.languageConfig.get().getString("Abilities.Air.Combo.AirSweep.Description")); - INSTRUCTIONS.put("AirSweep", "AirSwipe (Left Click) > AirSwipe (Left Click) > AirBurst (Hold Shift) > AirBurst (Left Click)"); + if (ConfigManager.defaultConfig.get().getBoolean("Abilities.Air.AirCombo.AirSweep.Enabled")) { + ArrayList airSweep = new ArrayList<>(); + airSweep.add(new AbilityInformation("AirSwipe", ClickType.LEFT_CLICK)); + airSweep.add(new AbilityInformation("AirSwipe", ClickType.LEFT_CLICK)); + airSweep.add(new AbilityInformation("AirBurst", ClickType.SHIFT_DOWN)); + airSweep.add(new AbilityInformation("AirBurst", ClickType.LEFT_CLICK)); + COMBO_ABILITIES.put("AirSweep", new ComboAbilityInfo("AirSweep", airSweep, AirCombo.class)); + DESCRIPTIONS.put("AirSweep", ConfigManager.languageConfig.get().getString("Abilities.Air.Combo.AirSweep.Description")); + INSTRUCTIONS.put("AirSweep", "AirSwipe (Left Click) > AirSwipe (Left Click) > AirBurst (Hold Shift) > AirBurst (Left Click)"); + } - ArrayList iceWave = new ArrayList<>(); - iceWave.add(new AbilityInformation("WaterSpout", ClickType.SHIFT_UP)); - iceWave.add(new AbilityInformation("PhaseChange", ClickType.LEFT_CLICK)); - COMBO_ABILITIES.put("IceWave", new ComboAbilityInfo("IceWave", iceWave, WaterCombo.class)); - DESCRIPTIONS.put("IceWave", ConfigManager.languageConfig.get().getString("Abilities.Water.Combo.IceWave.Description")); - INSTRUCTIONS.put("IceWave", "Create a WaterSpout Wave > PhaseChange (Left Click)"); + if (ConfigManager.defaultConfig.get().getBoolean("Abilities.Water.WaterCombo.IceWave.Enabled")) { + ArrayList iceWave = new ArrayList<>(); + iceWave.add(new AbilityInformation("WaterSpout", ClickType.SHIFT_UP)); + iceWave.add(new AbilityInformation("PhaseChange", ClickType.LEFT_CLICK)); + COMBO_ABILITIES.put("IceWave", new ComboAbilityInfo("IceWave", iceWave, WaterCombo.class)); + DESCRIPTIONS.put("IceWave", ConfigManager.languageConfig.get().getString("Abilities.Water.Combo.IceWave.Description")); + INSTRUCTIONS.put("IceWave", "Create a WaterSpout Wave > PhaseChange (Left Click)"); + } - ArrayList iceBullet = new ArrayList<>(); - iceBullet.add(new AbilityInformation("WaterBubble", ClickType.SHIFT_DOWN)); - iceBullet.add(new AbilityInformation("WaterBubble", ClickType.SHIFT_UP)); - iceBullet.add(new AbilityInformation("IceBlast", ClickType.SHIFT_DOWN)); - COMBO_ABILITIES.put("IceBullet", new ComboAbilityInfo("IceBullet", iceBullet, WaterCombo.class)); - DESCRIPTIONS.put("IceBullet", ConfigManager.languageConfig.get().getString("Abilities.Water.Combo.IceBullet.Description")); - INSTRUCTIONS.put("IceBullet", "WaterBubble (Tap Shift) > IceBlast (Hold Shift) > Wait for ice to Form > Then alternate between Left and Right click with IceBlast"); + if (ConfigManager.defaultConfig.get().getBoolean("Abilities.Water.WaterCombo.IceBullet.Enabled")) { + ArrayList iceBullet = new ArrayList<>(); + iceBullet.add(new AbilityInformation("WaterBubble", ClickType.SHIFT_DOWN)); + iceBullet.add(new AbilityInformation("WaterBubble", ClickType.SHIFT_UP)); + iceBullet.add(new AbilityInformation("IceBlast", ClickType.SHIFT_DOWN)); + COMBO_ABILITIES.put("IceBullet", new ComboAbilityInfo("IceBullet", iceBullet, WaterCombo.class)); + DESCRIPTIONS.put("IceBullet", ConfigManager.languageConfig.get().getString("Abilities.Water.Combo.IceBullet.Description")); + INSTRUCTIONS.put("IceBullet", "WaterBubble (Tap Shift) > IceBlast (Hold Shift) > Wait for ice to Form > Then alternate between Left and Right click with IceBlast"); - ArrayList iceBulletLeft = new ArrayList<>(); - iceBulletLeft.add(new AbilityInformation("IceBlast", ClickType.LEFT_CLICK)); - COMBO_ABILITIES.put("IceBulletLeftClick", new ComboAbilityInfo("IceBulletLeftClick", iceBulletLeft, WaterCombo.class)); - ArrayList iceBulletRight = new ArrayList<>(); - iceBulletRight.add(new AbilityInformation("IceBlast", ClickType.RIGHT_CLICK_BLOCK)); - COMBO_ABILITIES.put("IceBulletRightClick", new ComboAbilityInfo("IceBulletRightClick", iceBulletRight, WaterCombo.class)); + ArrayList iceBulletLeft = new ArrayList<>(); + iceBulletLeft.add(new AbilityInformation("IceBlast", ClickType.LEFT_CLICK)); + COMBO_ABILITIES.put("IceBulletLeftClick", new ComboAbilityInfo("IceBulletLeftClick", iceBulletLeft, WaterCombo.class)); + ArrayList iceBulletRight = new ArrayList<>(); + iceBulletRight.add(new AbilityInformation("IceBlast", ClickType.RIGHT_CLICK_BLOCK)); + COMBO_ABILITIES.put("IceBulletRightClick", new ComboAbilityInfo("IceBulletRightClick", iceBulletRight, WaterCombo.class)); + } - ArrayList immobilize = new ArrayList<>(); - immobilize.add(new AbilityInformation("QuickStrike", ClickType.LEFT_CLICK)); - immobilize.add(new AbilityInformation("SwiftKick", ClickType.LEFT_CLICK)); - immobilize.add(new AbilityInformation("QuickStrike", ClickType.LEFT_CLICK)); - immobilize.add(new AbilityInformation("QuickStrike", ClickType.LEFT_CLICK)); - COMBO_ABILITIES.put("Immobilize", new ComboAbilityInfo("Immobilize", immobilize, ChiCombo.class)); - DESCRIPTIONS.put("Immobilize", ConfigManager.languageConfig.get().getString("Abilities.Chi.Combo.Immobilize.Description")); - INSTRUCTIONS.put("Immobilize", "QuickStrike (Left Click) > SwiftKick (Left Click) > QuickStrike (Left Click) > QuickStrike (Left Click)"); + if (ConfigManager.defaultConfig.get().getBoolean("Abilities.Chi.ChiCombo.Immobilize.Enabled")) { + ArrayList immobilize = new ArrayList<>(); + immobilize.add(new AbilityInformation("QuickStrike", ClickType.LEFT_CLICK)); + immobilize.add(new AbilityInformation("SwiftKick", ClickType.LEFT_CLICK)); + immobilize.add(new AbilityInformation("QuickStrike", ClickType.LEFT_CLICK)); + immobilize.add(new AbilityInformation("QuickStrike", ClickType.LEFT_CLICK)); + COMBO_ABILITIES.put("Immobilize", new ComboAbilityInfo("Immobilize", immobilize, ChiCombo.class)); + DESCRIPTIONS.put("Immobilize", ConfigManager.languageConfig.get().getString("Abilities.Chi.Combo.Immobilize.Description")); + INSTRUCTIONS.put("Immobilize", "QuickStrike (Left Click) > SwiftKick (Left Click) > QuickStrike (Left Click) > QuickStrike (Left Click)"); + } startCleanupTask(); } @@ -196,7 +222,6 @@ public class ComboManager { } list.add(info); RECENTLY_USED.put(name, list); - //Bukkit.broadcastMessage("recentlyUsedAbilities: " + recentlyUsedAbilities.get(name).size()); } /** diff --git a/src/com/projectkorra/projectkorra/airbending/AirSpout.java b/src/com/projectkorra/projectkorra/airbending/AirSpout.java index 9fbc57b0..d362f62f 100644 --- a/src/com/projectkorra/projectkorra/airbending/AirSpout.java +++ b/src/com/projectkorra/projectkorra/airbending/AirSpout.java @@ -163,7 +163,7 @@ public class AirSpout extends AirAbility { @Override public boolean isSneakAbility() { - return true; + return false; } @Override diff --git a/src/com/projectkorra/projectkorra/command/ClearCommand.java b/src/com/projectkorra/projectkorra/command/ClearCommand.java index 420aa816..2291caaa 100644 --- a/src/com/projectkorra/projectkorra/command/ClearCommand.java +++ b/src/com/projectkorra/projectkorra/command/ClearCommand.java @@ -51,7 +51,7 @@ public class ClearCommand extends PKCommand { for (int i = 1; i <= 9; i++) { GeneralMethods.saveAbility(bPlayer, i, null); } - sender.sendMessage(cleared); + sender.sendMessage(ChatColor.YELLOW + cleared); } else if (args.size() == 1) { try { int slot = Integer.parseInt(args.get(0)); @@ -63,7 +63,7 @@ public class ClearCommand extends PKCommand { GeneralMethods.saveAbility(bPlayer, slot, null); sender.sendMessage(clearedSlot.replace("{slot}", String.valueOf(slot))); } else { - sender.sendMessage(alreadyEmpty); + sender.sendMessage(ChatColor.YELLOW + alreadyEmpty); } } catch (NumberFormatException e) { sender.sendMessage(ChatColor.RED + wrongNumber); diff --git a/src/com/projectkorra/projectkorra/configuration/ConfigManager.java b/src/com/projectkorra/projectkorra/configuration/ConfigManager.java index e7c7d18e..c612d321 100644 --- a/src/com/projectkorra/projectkorra/configuration/ConfigManager.java +++ b/src/com/projectkorra/projectkorra/configuration/ConfigManager.java @@ -190,12 +190,12 @@ public class ConfigManager { config.addDefault("Commands.Check.UpToDate", "You have the latest version of ProjectKorra."); config.addDefault("Commands.Bind.Description", "This command will bind an ability to the slot you specify (if you specify one), or the slot currently selected in your hotbar (If you do not specify a Slot #)."); - config.addDefault("Commands.Bind.AbilityDoesntExist", "This command will bind an ability to the slot you specify (if you specify one), or the slot currently selected in your hotbar (If you do not specify a Slot #)."); + config.addDefault("Commands.Bind.AbilityDoesntExist", "{ability} is not a valid ability."); config.addDefault("Commands.Bind.WrongNumber", "Slot must be an integer between 1 and 9."); config.addDefault("Commands.Bind.ElementToggledOff", "You have that ability's element toggled off currently."); config.addDefault("Commands.Bind.SuccessfullyBound", "Succesfully bound {ability} to slot {slot}."); - config.addDefault("Commands.Add.Choose", "This command will allow the user to add an element to the targeted , or themselves if the target is not specified. This command is typically reserved for server administrators."); + config.addDefault("Commands.Add.Description", "This command will allow the user to add an element to the targeted , or themselves if the target is not specified. This command is typically reserved for server administrators."); config.addDefault("Commands.Add.SuccessfullyAdded", "You are now also a {element}."); config.addDefault("Commands.Add.PlayerNotFound", "That player could not be found."); config.addDefault("Commands.Add.InvalidElement", "You must specify a valid element."); @@ -562,7 +562,7 @@ public class ConfigManager { config.addDefault("Abilities.Air.Tornado.NpcPushFactor", 1); config.addDefault("Abilities.Air.Tornado.PlayerPushFactor", 1); - config.addDefault("Abilities.Air.AirCombo.Enabled", true); + config.addDefault("Abilities.Air.AirCombo.Twister.Enabled", true); config.addDefault("Abilities.Air.AirCombo.Twister.Speed", 0.35); config.addDefault("Abilities.Air.AirCombo.Twister.Range", 16); config.addDefault("Abilities.Air.AirCombo.Twister.Height", 8); @@ -571,11 +571,13 @@ public class ConfigManager { config.addDefault("Abilities.Air.AirCombo.Twister.Cooldown", 10000); config.addDefault("Abilities.Air.AirCombo.Twister.DegreesPerParticle", 7); config.addDefault("Abilities.Air.AirCombo.Twister.HeightPerParticle", 1.25); + config.addDefault("Abilities.Air.AirCombo.AirStream.Enabled", true); config.addDefault("Abilities.Air.AirCombo.AirStream.Speed", 0.5); config.addDefault("Abilities.Air.AirCombo.AirStream.Range", 40); config.addDefault("Abilities.Air.AirCombo.AirStream.EntityDuration", 4000); config.addDefault("Abilities.Air.AirCombo.AirStream.EntityHeight", 14); config.addDefault("Abilities.Air.AirCombo.AirStream.Cooldown", 7000); + config.addDefault("Abilities.Air.AirCombo.AirSweep.Enabled", true); config.addDefault("Abilities.Air.AirCombo.AirSweep.Speed", 1.4); config.addDefault("Abilities.Air.AirCombo.AirSweep.Range", 14); config.addDefault("Abilities.Air.AirCombo.AirSweep.Damage", 3); @@ -770,9 +772,10 @@ public class ConfigManager { config.addDefault("Abilities.Water.WaterSpout.Wave.Speed", 1.3); config.addDefault("Abilities.Water.WaterSpout.Wave.Cooldown", 4500); - config.addDefault("Abilities.Water.WaterCombo.Enabled", true); + config.addDefault("Abilities.Water.WaterCombo.IceWave.Enabled", true); config.addDefault("Abilities.Water.WaterCombo.IceWave.Damage", 4); config.addDefault("Abilities.Water.WaterCombo.IceWave.Cooldown", 6000); + config.addDefault("Abilities.Water.WaterCombo.IceBullet.Enabled", true); config.addDefault("Abilities.Water.WaterCombo.IceBullet.Damage", 2); config.addDefault("Abilities.Water.WaterCombo.IceBullet.Radius", 2.5); config.addDefault("Abilities.Water.WaterCombo.IceBullet.Range", 12); @@ -919,8 +922,6 @@ public class ConfigManager { config.addDefault("Abilities.Earth.Tremorsense.Radius", 5); config.addDefault("Abilities.Earth.Tremorsense.LightThreshold", 7); config.addDefault("Abilities.Earth.Tremorsense.Cooldown", 1000); - - config.addDefault("Abilities.Earth.EarthCombo.Enabled", true); config.addDefault("Abilities.Fire.Blaze.Enabled", true); config.addDefault("Abilities.Fire.Blaze.Arc", 16); @@ -1028,7 +1029,7 @@ public class ConfigManager { config.addDefault("Abilities.Fire.WallOfFire.FireTicks", 2); config.addDefault("Abilities.Fire.WallOfFire.MaxAngle", 50); - config.addDefault("Abilities.Fire.FireCombo.Enabled", true); + config.addDefault("Abilities.Fire.FireCombo.FireKick.Enabled", true); config.addDefault("Abilities.Fire.FireCombo.FireKick.Range", 7.0); config.addDefault("Abilities.Fire.FireCombo.FireKick.Damage", 3.0); config.addDefault("Abilities.Fire.FireCombo.FireKick.Cooldown", 5500); @@ -1036,13 +1037,16 @@ public class ConfigManager { config.addDefault("Abilities.Fire.FireCombo.FireSpin.Damage", 3.0); config.addDefault("Abilities.Fire.FireCombo.FireSpin.Knockback", 3.0); config.addDefault("Abilities.Fire.FireCombo.FireSpin.Cooldown", 4500); + config.addDefault("Abilities.Fire.FireCombo.FireWheel.Enabled", true); config.addDefault("Abilities.Fire.FireCombo.FireWheel.Range", 20.0); config.addDefault("Abilities.Fire.FireCombo.FireWheel.Damage", 4.0); config.addDefault("Abilities.Fire.FireCombo.FireWheel.Speed", 0.55); config.addDefault("Abilities.Fire.FireCombo.FireWheel.Cooldown", 6000); config.addDefault("Abilities.Fire.FireCombo.FireWheel.FireTicks", 2.5); + config.addDefault("Abilities.Fire.FireCombo.JetBlast.Enabled", true); config.addDefault("Abilities.Fire.FireCombo.JetBlast.Speed", 1.2); config.addDefault("Abilities.Fire.FireCombo.JetBlast.Cooldown", 6000); + config.addDefault("Abilities.Fire.FireCombo.JetBlaze.Enabled", true); config.addDefault("Abilities.Fire.FireCombo.JetBlaze.Speed", 1.1); config.addDefault("Abilities.Fire.FireCombo.JetBlaze.Damage", 4); config.addDefault("Abilities.Fire.FireCombo.JetBlaze.Cooldown", 6000); @@ -1054,7 +1058,7 @@ public class ConfigManager { config.addDefault("Abilities.Chi.Passive.BlockChi.Chance", 35); config.addDefault("Abilities.Chi.Passive.BlockChi.Duration", 1000); - config.addDefault("Abilities.Chi.ChiCombo.Enabled", true); + config.addDefault("Abilities.Chi.ChiCombo.Immobilize.Enabled", true); config.addDefault("Abilities.Chi.ChiCombo.Immobilize.ParalyzeDuration", 4000); config.addDefault("Abilities.Chi.ChiCombo.Immobilize.Cooldown", 15000); diff --git a/src/com/projectkorra/projectkorra/waterbending/WaterArms.java b/src/com/projectkorra/projectkorra/waterbending/WaterArms.java index 24b322c6..04ab1d6c 100644 --- a/src/com/projectkorra/projectkorra/waterbending/WaterArms.java +++ b/src/com/projectkorra/projectkorra/waterbending/WaterArms.java @@ -140,7 +140,6 @@ public class WaterArms extends WaterAbility { remove(); return; } - displayBoundMsg(); } } @@ -419,8 +418,11 @@ public class WaterArms extends WaterAbility { return false; } - public void displayBoundMsg() { - player.sendMessage(getElement().getColor() + sneakMsg + " " + bPlayer.getBoundAbilityName()); + public void displayBoundMsg(int slot) { + String name = bPlayer.getAbilities().get(slot); + if(name != null) { + player.sendMessage(getElement().getColor() + sneakMsg + " " + name); + } } /** diff --git a/src/com/projectkorra/projectkorra/waterbending/WaterArmsSpear.java b/src/com/projectkorra/projectkorra/waterbending/WaterArmsSpear.java index 07101f2c..37a568f7 100644 --- a/src/com/projectkorra/projectkorra/waterbending/WaterArmsSpear.java +++ b/src/com/projectkorra/projectkorra/waterbending/WaterArmsSpear.java @@ -211,8 +211,7 @@ public class WaterArmsSpear extends WaterAbility { } private void createIceBall() { - layer++; - for (Block block : GeneralMethods.getBlocksAroundPoint(location, layer)) { + for (Block block : GeneralMethods.getBlocksAroundPoint(location, spearSphere)) { if (isTransparent(player, block) && block.getType() != Material.ICE && !WaterArms.isUnbreakable(block)) { playIcebendingSound(block.getLocation()); new TempBlock(block, Material.ICE, (byte) 0);