diff --git a/src/com/projectkorra/ProjectKorra/Ability/AbilityModuleManager.java b/src/com/projectkorra/ProjectKorra/Ability/AbilityModuleManager.java index 8259290f..b36d753c 100644 --- a/src/com/projectkorra/ProjectKorra/Ability/AbilityModuleManager.java +++ b/src/com/projectkorra/ProjectKorra/Ability/AbilityModuleManager.java @@ -19,6 +19,7 @@ public class AbilityModuleManager { private final AbilityLoader loader; public static HashSet abilities; + public static HashSet disabledStockAbilities; public static List waterbendingabilities; public static List airbendingabilities; public static List earthbendingabilities; @@ -143,11 +144,19 @@ public class AbilityModuleManager { } } for (AbilityModule ab: ability) { - if (abilities.contains(ab.getName())) { - continue; - } - ab.onThisLoad(); - abilities.add(ab.getName()); + //To check if EarthBlast == Earthblast or for example, EarthBlast == EARTHBLAST + for(String enabledAbility : abilities){ + if(enabledAbility.equalsIgnoreCase(ab.getName())){ + continue; + } + } + ab.onThisLoad(); + abilities.add(ab.getName()); + for (StockAbilities a: StockAbilities.values()) { + if (a.name().equalsIgnoreCase(ab.getName())){ + disabledStockAbilities.add(a.name()); + } + } if (ab.getElement() == Element.Air.toString()) airbendingabilities.add(ab.getName()); if (ab.getElement() == Element.Water.toString()) waterbendingabilities.add(ab.getName()); if (ab.getElement() == Element.Earth.toString()) earthbendingabilities.add(ab.getName()); diff --git a/src/com/projectkorra/ProjectKorra/Commands.java b/src/com/projectkorra/ProjectKorra/Commands.java index 6b922522..230d6fcc 100644 --- a/src/com/projectkorra/ProjectKorra/Commands.java +++ b/src/com/projectkorra/ProjectKorra/Commands.java @@ -87,7 +87,10 @@ public class Commands { exe = new CommandExecutor() { @Override public boolean onCommand(CommandSender s, Command c, String label, String[] args) { - if (args.length == 0) { + for(int i = 0; i < args.length; i++){ + args[i] = args[i].toLowerCase(); + } + if (args.length == 0) { 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."); diff --git a/src/com/projectkorra/ProjectKorra/Methods.java b/src/com/projectkorra/ProjectKorra/Methods.java index 1b866fec..cdb4e8d9 100644 --- a/src/com/projectkorra/ProjectKorra/Methods.java +++ b/src/com/projectkorra/ProjectKorra/Methods.java @@ -143,9 +143,20 @@ public class Methods { * @return true if ability exists */ public static boolean abilityExists(String string) { - if (getAbility(string) == null) return false; - return true; + for (String st: AbilityModuleManager.abilities) { + if (string.equalsIgnoreCase(st)) + return true; + } + return false; } + + public static boolean isDisabledStockAbility(String string){ + for (String st : AbilityModuleManager.disabledStockAbilities){ + if (string.equalsIgnoreCase(st)) + return true; + } + return false; + } public static void addTempAirBlock(Block block) { if (movedearth.containsKey(block)) { @@ -173,27 +184,7 @@ public class Methods { */ public static void bindAbility(Player player, String ability) { int slot = player.getInventory().getHeldItemSlot() + 1; - BendingPlayer bPlayer = getBendingPlayer(player.getName()); - bPlayer.getAbilities().put(slot, ability); - if (isAirAbility(ability)) { - player.sendMessage(getAirColor() + "Succesfully bound " + ability + " to slot " + slot); - } - else if (isWaterAbility(ability)) { - player.sendMessage(getWaterColor() + "Succesfully bound " + ability + " to slot " + slot); - } - else if (isEarthAbility(ability)) { - player.sendMessage(getEarthColor() + "Succesfully bound " + ability + " to slot " + slot); - } - else if (isFireAbility(ability)) { - player.sendMessage(getFireColor() + "Succesfully bound " + ability + " to slot " + slot); - } - else if (isChiAbility(ability)) { - player.sendMessage(getChiColor() + "Succesfully bound " + ability + " to slot " + slot); - } else { - player.sendMessage(getAvatarColor() + "Successfully bound " + ability + " to slot " + slot); - } - - saveAbility(bPlayer, slot, ability); + bindAbility(player,ability, slot); } /** @@ -951,7 +942,9 @@ public class Methods { if (isRegionProtectedFromBuild(player, "IceBlast", location)) continue; if (isIcebendable(block)) { - return block; + if (TempBlock.isTempBlock(block)) + continue; + return block; } } return null; diff --git a/src/com/projectkorra/ProjectKorra/PKListener.java b/src/com/projectkorra/ProjectKorra/PKListener.java index 5b94b349..ad2e4248 100644 --- a/src/com/projectkorra/ProjectKorra/PKListener.java +++ b/src/com/projectkorra/ProjectKorra/PKListener.java @@ -351,7 +351,8 @@ public class PKListener implements Listener { } if (!player.isSneaking() && Methods.canBend(player.getName(), abil)) { - + if (Methods.isDisabledStockAbility(abil)) + return; if (Methods.isAirAbility(abil)) { if (Methods.isWeapon(player.getItemInHand().getType()) && !plugin.getConfig().getBoolean("Properties.Air.CanBendWithWeapons")) { return; @@ -687,7 +688,8 @@ public class PKListener implements Listener { String abil = Methods.getBoundAbility(player); if (abil == null) return; if (Methods.canBend(player.getName(), abil)) { - + if (Methods.isDisabledStockAbility(abil)) + return; if (Methods.isAirAbility(abil)) { if (Methods.isWeapon(player.getItemInHand().getType()) && !plugin.getConfig().getBoolean("Properties.Air.CanBendWithWeapons")) {