From bc54ed22a0699496cdd6408df1d14417ad6222ee Mon Sep 17 00:00:00 2001 From: Benford Date: Sat, 26 Sep 2015 01:12:26 -0400 Subject: [PATCH] Command fixes/changes does a ton of stuff to commands that fix them and / or make them better --- .../projectkorra/command/AddCommand.java | 12 ++- .../projectkorra/command/ChooseCommand.java | 12 ++- .../projectkorra/command/Commands.java | 7 +- .../projectkorra/command/DisplayCommand.java | 75 ++++++++++++++++++- .../projectkorra/command/HelpCommand.java | 2 +- .../command/PermaremoveCommand.java | 2 +- .../projectkorra/command/RemoveCommand.java | 2 +- 7 files changed, 95 insertions(+), 17 deletions(-) diff --git a/src/com/projectkorra/projectkorra/command/AddCommand.java b/src/com/projectkorra/projectkorra/command/AddCommand.java index e0d103f3..2c687690 100644 --- a/src/com/projectkorra/projectkorra/command/AddCommand.java +++ b/src/com/projectkorra/projectkorra/command/AddCommand.java @@ -30,7 +30,7 @@ public class AddCommand extends PKCommand { if (!hasPermission(sender) || !isPlayer(sender)) { return; } - add(sender, (Player) sender, args.get(0)); + add(sender, (Player) sender, args.get(0).toLowerCase()); } else if (args.size() == 2) { //bending add element combo if (!hasPermission(sender, "others")) { return; @@ -40,7 +40,7 @@ public class AddCommand extends PKCommand { sender.sendMessage(ChatColor.RED + "That player is not online."); return; } - add(sender, player, args.get(1)); + add(sender, player, args.get(1).toLowerCase()); } } @@ -66,16 +66,20 @@ public class AddCommand extends PKCommand { Element type = Element.getType(element); bPlayer.addElement(type); ChatColor color = GeneralMethods.getElementColor(type); - if (element.charAt(0) == 'w' || element.charAt(0) == 'f' || element.charAt(0) == 'c') { + if (element.charAt(0) == 'w' || element.charAt(0) == 'f') { target.sendMessage(color + "You are also a " + Character.toString(element.charAt(0)).toUpperCase() + element.substring(1) + "bender."); } else if (element.charAt(0) == 'e' || element.charAt(0) == 'a') { target.sendMessage(color + "You are also an " + Character.toString(element.charAt(0)).toUpperCase() + element.substring(1) + "bender."); + } else if (element.equalsIgnoreCase("chi")) { + target.sendMessage(color + "You are now a Chiblocker."); } if (!(sender instanceof Player) || !((Player) sender).equals(target)) { - if (element.charAt(0) == 'w' || element.charAt(0) == 'f' || element.charAt(0) == 'c') { + if (element.charAt(0) == 'w' || element.charAt(0) == 'f') { sender.sendMessage(ChatColor.DARK_AQUA + target.getName() + color + " is also a " + Character.toString(element.charAt(0)).toUpperCase() + element.substring(1) + "bender."); } else if (element.charAt(0) == 'e' || element.charAt(0) == 'a') { sender.sendMessage(ChatColor.DARK_AQUA + target.getName() + color + " is also an " + Character.toString(element.charAt(0)).toUpperCase() + element.substring(1) + "bender."); + } else if (element.equalsIgnoreCase("chi")) { + target.sendMessage(color + "You are now a Chiblocker."); } } GeneralMethods.saveElements(bPlayer); diff --git a/src/com/projectkorra/projectkorra/command/ChooseCommand.java b/src/com/projectkorra/projectkorra/command/ChooseCommand.java index 3c4b1371..5162ca26 100644 --- a/src/com/projectkorra/projectkorra/command/ChooseCommand.java +++ b/src/com/projectkorra/projectkorra/command/ChooseCommand.java @@ -47,7 +47,7 @@ public class ChooseCommand extends PKCommand { sender.sendMessage(ChatColor.RED + "You don't have permission to do that."); return; } - String element = args.get(0); + String element = args.get(0).toLowerCase(); if (Arrays.asList(Commands.elementaliases).contains(element)) { if (!hasPermission(sender, element)) { return; @@ -68,7 +68,7 @@ public class ChooseCommand extends PKCommand { sender.sendMessage(ChatColor.RED + "That player is not online."); return; } - String element = args.get(0); + String element = args.get(0).toLowerCase(); if (Arrays.asList(Commands.elementaliases).contains(element)) { add(sender, target, element); return; @@ -91,16 +91,20 @@ public class ChooseCommand extends PKCommand { BendingPlayer bPlayer = GeneralMethods.getBendingPlayer(target); bPlayer.setElement(e); ChatColor color = GeneralMethods.getElementColor(e); - if (element.charAt(0) == 'w' || element.charAt(0) == 'f' || element.charAt(0) == 'c') { + if (element.charAt(0) == 'w' || element.charAt(0) == 'f') { target.sendMessage(color + "You are now a " + Character.toString(element.charAt(0)).toUpperCase() + element.substring(1) + "bender."); } else if (element.charAt(0) == 'e' || element.charAt(0) == 'a') { target.sendMessage(color + "You are now an " + Character.toString(element.charAt(0)).toUpperCase() + element.substring(1) + "bender."); + } else if (element.equalsIgnoreCase("chi")) { + target.sendMessage(color + "You are now a Chiblocker."); } if (!(sender instanceof Player) || !((Player) sender).equals(target)) { - if (element.charAt(0) == 'w' || element.charAt(0) == 'f' || element.charAt(0) == 'c') { + if (element.charAt(0) == 'w' || element.charAt(0) == 'f') { sender.sendMessage(ChatColor.DARK_AQUA + target.getName() + color + " is now a " + Character.toString(element.charAt(0)).toUpperCase() + element.substring(1) + "bender."); } else if (element.charAt(0) == 'e' || element.charAt(0) == 'a') { sender.sendMessage(ChatColor.DARK_AQUA + target.getName() + color + " is now an " + Character.toString(element.charAt(0)).toUpperCase() + element.substring(1) + "bender."); + } else if (element.equalsIgnoreCase("chi")) { + target.sendMessage(color + "You are now a Chiblocker."); } } GeneralMethods.removeUnusableAbilities(target.getName()); diff --git a/src/com/projectkorra/projectkorra/command/Commands.java b/src/com/projectkorra/projectkorra/command/Commands.java index 8e8d807a..3ecb2330 100644 --- a/src/com/projectkorra/projectkorra/command/Commands.java +++ b/src/com/projectkorra/projectkorra/command/Commands.java @@ -71,6 +71,9 @@ public class Commands { //Firebending public static String[] combustionaliases = { "combustionbending", "combustion", "cb" }; public static String[] lightningaliases = { "lightningbending", "lightning" }; + + //Miscellaneous + public static String[] commandaliases = { "b", "pk", "bending", "mtla", "tla", "korra", "bend" }; private void init() { PluginCommand projectkorra = plugin.getCommand("projectkorra"); @@ -105,7 +108,7 @@ public class Commands { args[i] = args[i]; } - if (args.length == 0) { + if (args.length == 0 && Arrays.asList(commandaliases).contains(label.toLowerCase())) { s.sendMessage(ChatColor.RED + "/bending help [Ability/Command] " + ChatColor.YELLOW + "Display help."); s.sendMessage(ChatColor.RED + "/bending choose [Element] " + ChatColor.YELLOW + "Choose an element."); s.sendMessage(ChatColor.RED + "/bending bind [Ability] # " + ChatColor.YELLOW + "Bind an ability."); @@ -114,7 +117,7 @@ public class Commands { List sendingArgs = Arrays.asList(args).subList(1, args.length); for (PKCommand command : PKCommand.instances.values()) { - if (Arrays.asList(command.getAliases()).contains(args[0])) { + if (Arrays.asList(command.getAliases()).contains(args[0].toLowerCase())) { command.execute(s, sendingArgs); return true; } diff --git a/src/com/projectkorra/projectkorra/command/DisplayCommand.java b/src/com/projectkorra/projectkorra/command/DisplayCommand.java index 087d4510..176a9f59 100644 --- a/src/com/projectkorra/projectkorra/command/DisplayCommand.java +++ b/src/com/projectkorra/projectkorra/command/DisplayCommand.java @@ -4,6 +4,7 @@ import com.projectkorra.projectkorra.BendingPlayer; import com.projectkorra.projectkorra.Element; import com.projectkorra.projectkorra.GeneralMethods; import com.projectkorra.projectkorra.ProjectKorra; +import com.projectkorra.projectkorra.SubElement; import com.projectkorra.projectkorra.ability.combo.ComboManager; import com.projectkorra.projectkorra.airbending.AirMethods; import com.projectkorra.projectkorra.chiblocking.ChiMethods; @@ -37,7 +38,7 @@ public class DisplayCommand extends PKCommand { //bending display [Element] if (args.size() == 1) { - String element = args.get(0); + String element = args.get(0).toLowerCase(); //combos if (Arrays.asList(Commands.comboaliases).contains(element)) { element = getElement(element); @@ -68,7 +69,19 @@ public class DisplayCommand extends PKCommand { } else { - sender.sendMessage(ChatColor.RED + "Not a valid Element." + ChatColor.WHITE + " Elements: " + AirMethods.getAirColor() + "Air" + ChatColor.WHITE + " | " + WaterMethods.getWaterColor() + "Water" + ChatColor.WHITE + " | " + EarthMethods.getEarthColor() + "Earth" + ChatColor.WHITE + " | " + FireMethods.getFireColor() + "Fire" + ChatColor.WHITE + " | " + ChiMethods.getChiColor() + "Chi"); + ChatColor w = ChatColor.WHITE; + sender.sendMessage(ChatColor.RED + "Not a valid argument." + ChatColor.WHITE + "\nElements: " + AirMethods.getAirColor() + "Air" + ChatColor.WHITE + " | " + WaterMethods.getWaterColor() + "Water" + ChatColor.WHITE + " | " + EarthMethods.getEarthColor() + "Earth" + ChatColor.WHITE + " | " + FireMethods.getFireColor() + "Fire" + ChatColor.WHITE + " | " + ChiMethods.getChiColor() + "Chi"); + sender.sendMessage(w + "SubElements: " + + w + "\n-" + GeneralMethods.getSubBendingColor(Element.Air) + " Flight" + + w + "\n-" + GeneralMethods.getSubBendingColor(Element.Earth) + " Lavabending" + + w + "\n-" + GeneralMethods.getSubBendingColor(Element.Earth) + " Metalbending" + + w + "\n-" + GeneralMethods.getSubBendingColor(Element.Earth) + " Sandbending" + + w + "\n-" + GeneralMethods.getSubBendingColor(Element.Fire) + " Combustion" + + w + "\n-" + GeneralMethods.getSubBendingColor(Element.Fire) + " Lightning" + + w + "\n-" + GeneralMethods.getSubBendingColor(Element.Water) + " Bloodbending" + + w + "\n-" + GeneralMethods.getSubBendingColor(Element.Water) + " Healing" + + w + "\n-" + GeneralMethods.getSubBendingColor(Element.Water) + " Icebending" + + w + "\n-" + GeneralMethods.getSubBendingColor(Element.Water) + " Plantbending"); } } if (args.size() == 0) { @@ -93,7 +106,7 @@ public class DisplayCommand extends PKCommand { sender.sendMessage(ChatColor.RED + "You must select a valid element."); return; } else if (abilities.isEmpty()) { - sender.sendMessage(ChatColor.RED + "There are no " + element + " abilities enabled on the server."); + sender.sendMessage(ChatColor.YELLOW + "There are no " + GeneralMethods.getElementColor(Element.valueOf(element)) + element + ChatColor.YELLOW + " abilities enabled on the server."); } for (String ability : abilities) { if (GeneralMethods.isSubAbility(ability)) @@ -102,6 +115,54 @@ public class DisplayCommand extends PKCommand { sender.sendMessage(GeneralMethods.getElementColor(Element.getType(element)) + ability); } } + if (element.equalsIgnoreCase("earth")) { + sender.sendMessage(ChatColor.DARK_GREEN + "Combos:" + ChatColor.GREEN + "/bending display earthcombo"); + if (sender.hasPermission("bending.earth.lavabending")) { + sender.sendMessage(ChatColor.DARK_GREEN + "Lavabending abilities: " + ChatColor.GREEN + "/bending display lavabending"); + } + if (sender.hasPermission("bending.earth.metalbending")) { + sender.sendMessage(ChatColor.DARK_GREEN + "Metalbending abilities: " + ChatColor.GREEN + "/bending display metalbending"); + } + if (sender.hasPermission("bending.earth.sandbending")) { + sender.sendMessage(ChatColor.DARK_GREEN + "Sandbending abilities: " + ChatColor.GREEN + "/bending display sandbending"); + } + } + if (element.equalsIgnoreCase("air")) { + sender.sendMessage(ChatColor.DARK_GRAY + "Combos:" + ChatColor.GRAY + "/bending display aircombo"); + if (sender.hasPermission("bending.air.flight")) { + sender.sendMessage(ChatColor.DARK_GRAY + "Flight abilities: " + ChatColor.GRAY + "/bending display flight"); + } + //if (sender.hasPermission("bending.air.spiritualprojection")) { + // sender.sendMessage(ChatColor.DARK_GRAY + "SpiritualProjection abilities: " + ChatColor.GRAY + "/bending display spiritualprojection"); + //} + } + if (element.equalsIgnoreCase("fire")) { + sender.sendMessage(ChatColor.DARK_RED + "Combos:" + ChatColor.RED + "/bending display firecombo"); + if (sender.hasPermission("bending.fire.lightningbending")) { + sender.sendMessage(ChatColor.DARK_RED + "Lightning abilities: " + ChatColor.RED + "/bending display lightning"); + } + if (sender.hasPermission("bending.fire.combustionbending")) { + sender.sendMessage(ChatColor.DARK_RED + "Combustion abilities: " + ChatColor.RED + "/bending display combustion"); + } + } + if (element.equalsIgnoreCase("water")) { + sender.sendMessage(ChatColor.DARK_AQUA + "Combos:" + ChatColor.AQUA + "/bending display watercombo"); + if (sender.hasPermission("bending.water.bloodbending")) { + sender.sendMessage(ChatColor.DARK_AQUA + "Bloodbending abilities: " + ChatColor.AQUA + "/bending display bloodbending"); + } + if (sender.hasPermission("bending.water.healing")) { + sender.sendMessage(ChatColor.DARK_AQUA + "Healing abilities: " + ChatColor.AQUA + "/bending display healing"); + } + if (sender.hasPermission("bending.water.icebending")) { + sender.sendMessage(ChatColor.DARK_AQUA + "Icebending abilities: " + ChatColor.AQUA + "/bending display icebending"); + } + if (sender.hasPermission("bending.water.plantbending")) { + sender.sendMessage(ChatColor.DARK_AQUA + "Plantbending abilities: " + ChatColor.AQUA + "/bending display plantbending"); + } + } + if (element.equalsIgnoreCase("chi")) { + sender.sendMessage(ChatColor.GOLD + "Combos: " + ChatColor.YELLOW + "/bending display chicombo"); + } } /** @@ -112,9 +173,15 @@ public class DisplayCommand extends PKCommand { */ private void displaySubElement(CommandSender sender, String element) { List abilities = ProjectKorra.plugin.abManager.getAbilities(element); + if (abilities.isEmpty()) { + 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!"); + return; + } for (String ability : abilities) { if (!(sender instanceof Player) || GeneralMethods.canView((Player) sender, ability)) { - sender.sendMessage(GeneralMethods.getSubBendingColor(Element.getType(getElement(getElement(element)))) + ability); + sender.sendMessage(GeneralMethods.getSubBendingColor(Element.getType(getElement(element))) + ability); } } } diff --git a/src/com/projectkorra/projectkorra/command/HelpCommand.java b/src/com/projectkorra/projectkorra/command/HelpCommand.java index 4d2ae2cd..c17c07b7 100644 --- a/src/com/projectkorra/projectkorra/command/HelpCommand.java +++ b/src/com/projectkorra/projectkorra/command/HelpCommand.java @@ -36,7 +36,7 @@ public class HelpCommand extends PKCommand { String arg = args.get(0); - if (instances.keySet().contains(arg)) {//bending help command + if (instances.keySet().contains(arg.toLowerCase())) {//bending help command instances.get(arg).help(sender, true); } else if (Arrays.asList(Commands.comboaliases).contains(arg)) { //bending help elementcombo sender.sendMessage(ChatColor.GOLD + "Proper Usage: " + ChatColor.RED + "/bending display " + arg + ChatColor.GOLD + " or " + ChatColor.RED + "/bending help "); diff --git a/src/com/projectkorra/projectkorra/command/PermaremoveCommand.java b/src/com/projectkorra/projectkorra/command/PermaremoveCommand.java index b8519720..29c0bb9e 100644 --- a/src/com/projectkorra/projectkorra/command/PermaremoveCommand.java +++ b/src/com/projectkorra/projectkorra/command/PermaremoveCommand.java @@ -60,10 +60,10 @@ public class PermaremoveCommand extends PKCommand { sender.sendMessage(ChatColor.GREEN + "You have restored the bending of: " + ChatColor.DARK_AQUA + player.getName()); } else { bPlayer.getElements().clear(); - GeneralMethods.removeUnusableAbilities(player.getName()); GeneralMethods.saveElements(bPlayer); bPlayer.setPermaRemoved(true); GeneralMethods.savePermaRemoved(bPlayer); + GeneralMethods.removeUnusableAbilities(player.getName()); player.sendMessage(ChatColor.RED + "Your bending has been permanently removed."); if (!(sender instanceof Player) || sender.getName().equals(target)) sender.sendMessage(ChatColor.RED + "You have permenantly removed the bending of: " + ChatColor.DARK_AQUA + player.getName()); diff --git a/src/com/projectkorra/projectkorra/command/RemoveCommand.java b/src/com/projectkorra/projectkorra/command/RemoveCommand.java index 229e27e8..6aed991a 100644 --- a/src/com/projectkorra/projectkorra/command/RemoveCommand.java +++ b/src/com/projectkorra/projectkorra/command/RemoveCommand.java @@ -38,9 +38,9 @@ public class RemoveCommand extends PKCommand { GeneralMethods.createBendingPlayer(player.getUniqueId(), player.getName()); bPlayer = GeneralMethods.getBendingPlayer(player); } - GeneralMethods.removeUnusableAbilities(player.getName()); bPlayer.getElements().clear(); GeneralMethods.saveElements(bPlayer); + GeneralMethods.removeUnusableAbilities(player.getName()); sender.sendMessage(ChatColor.GREEN + "You have removed the bending of " + ChatColor.DARK_AQUA + player.getName()); player.sendMessage(ChatColor.GREEN + "Your bending has been removed by " + ChatColor.DARK_AQUA + sender.getName()); Bukkit.getServer().getPluginManager().callEvent(new PlayerChangeElementEvent(sender, player, null, Result.REMOVE));