Fixed commands

This commit is contained in:
jayoevans 2019-12-02 11:52:10 +10:00
parent 03844d5bab
commit b2efe13575
9 changed files with 140 additions and 146 deletions

View file

@ -1,10 +1,10 @@
package com.projectkorra.projectkorra.command;
import com.projectkorra.projectkorra.GeneralMethods;
import com.projectkorra.projectkorra.ability.AbilityHandler;
import com.projectkorra.projectkorra.ability.api.ComboAbility;
import com.projectkorra.projectkorra.ability.api.PassiveAbility;
import com.projectkorra.projectkorra.ability.bind.AbilityBindManager;
import com.projectkorra.projectkorra.ability.info.AbilityInfo;
import com.projectkorra.projectkorra.ability.api.ComboAbilityInfo;
import com.projectkorra.projectkorra.ability.api.PassiveAbilityInfo;
import com.projectkorra.projectkorra.configuration.ConfigManager;
import com.projectkorra.projectkorra.configuration.configs.commands.BindCommandConfig;
import com.projectkorra.projectkorra.element.Element;
@ -53,9 +53,9 @@ public class BindCommand extends PKCommand<BindCommandConfig> {
}
String abilityName = args.get(0);
AbilityInfo abilityInfo = this.abilityManager.getAbilityInfo(abilityName);
AbilityHandler abilityHandler = this.abilityHandlerManager.getHandler(abilityName);
if (abilityInfo == null) {
if (abilityHandler == null) {
GeneralMethods.sendBrandingMessage(sender, ChatColor.RED + this.abilityDoesntExist.replace("{ability}", args.get(0)));
return;
}
@ -67,20 +67,20 @@ public class BindCommand extends PKCommand<BindCommandConfig> {
// bending bind [Ability].
if (args.size() == 1) {
this.bind(sender, abilityInfo, ((Player) sender).getInventory().getHeldItemSlot() + 1);
this.bind(sender, abilityHandler, ((Player) sender).getInventory().getHeldItemSlot() + 1);
}
// bending bind [ability] [#].
if (args.size() == 2) {
try {
this.bind(sender, abilityInfo, Integer.parseInt(args.get(1)));
this.bind(sender, abilityHandler, Integer.parseInt(args.get(1)));
} catch (final NumberFormatException ex) {
GeneralMethods.sendBrandingMessage(sender, ChatColor.RED + this.wrongNumber);
}
}
}
private void bind(final CommandSender sender, final AbilityInfo abilityInfo, final int slot) {
private void bind(final CommandSender sender, final AbilityHandler abilityHandler, final int slot) {
if (!(sender instanceof Player)) {
return;
} else if (slot < 1 || slot > 9) {
@ -91,20 +91,20 @@ public class BindCommand extends PKCommand<BindCommandConfig> {
Player player = (Player) sender;
BendingPlayer bendingPlayer = this.bendingPlayerManager.getBendingPlayer(player);
Element element = abilityInfo.getElement();
Element element = abilityHandler.getElement();
// if (bPlayer == null) {
// GeneralMethods.sendBrandingMessage(sender, ChatColor.RED + this.loadingInfo);
// return;
// }
if (bendingPlayer.canBind(abilityInfo)) {
if (bendingPlayer.canBind(abilityHandler)) {
if (!bendingPlayer.isElementToggled(element)) {
GeneralMethods.sendBrandingMessage(sender, ChatColor.RED + this.toggledElementOff);
}
if (this.abilityBindManager.bindAbility(player, abilityInfo.getName(), slot) == AbilityBindManager.Result.SUCCESS) {
GeneralMethods.sendBrandingMessage(player, element.getColor() + ConfigManager.getConfig(BindCommandConfig.class).SuccessfullyBoundMessage.replace("{ability}", abilityInfo.getName()).replace("{slot}", String.valueOf(slot + 1)));
if (this.abilityBindManager.bindAbility(player, abilityHandler.getName(), slot) == AbilityBindManager.Result.SUCCESS) {
GeneralMethods.sendBrandingMessage(player, element.getColor() + ConfigManager.getConfig(BindCommandConfig.class).SuccessfullyBoundMessage.replace("{ability}", abilityHandler.getName()).replace("{slot}", String.valueOf(slot + 1)));
}
return;
}
@ -158,9 +158,9 @@ public class BindCommand extends PKCommand<BindCommandConfig> {
Set<String> abilitySet = new HashSet<>();
for (AbilityInfo abilityInfo : this.abilityManager.getAbilityInfo()) {
if (!abilityInfo.isHidden() && bendingPlayer.canBind(abilityInfo) && !(abilityInfo instanceof PassiveAbilityInfo || abilityInfo instanceof ComboAbilityInfo && !abilitySet.contains(abilityInfo.getName()))) {
abilitySet.add(abilityInfo.getName());
for (AbilityHandler abilityHandler : this.abilityHandlerManager.getHandlers()) {
if (!abilityHandler.isHidden() && bendingPlayer.canBind(abilityHandler) && !(abilityHandler instanceof PassiveAbility || abilityHandler instanceof ComboAbility && !abilitySet.contains(abilityHandler.getName()))) {
abilitySet.add(abilityHandler.getName());
}
}

View file

@ -7,9 +7,7 @@ import com.projectkorra.projectkorra.configuration.configs.commands.ChooseComman
import com.projectkorra.projectkorra.configuration.configs.properties.CommandPropertiesConfig;
import com.projectkorra.projectkorra.configuration.configs.properties.GeneralPropertiesConfig;
import com.projectkorra.projectkorra.element.Element;
import com.projectkorra.projectkorra.element.SubElement;
import com.projectkorra.projectkorra.event.PlayerChangeElementEvent;
import com.projectkorra.projectkorra.event.PlayerChangeElementEvent.Result;
import com.projectkorra.projectkorra.player.BendingPlayer;
import com.projectkorra.projectkorra.util.TimeUtil;
import org.bukkit.Bukkit;
@ -186,7 +184,7 @@ public class ChooseCommand extends PKCommand<ChooseCommandConfig> {
}
}
Bukkit.getServer().getPluginManager().callEvent(new PlayerChangeElementEvent(sender, player, element, Result.CHOOSE));
Bukkit.getServer().getPluginManager().callEvent(new PlayerChangeElementEvent(player, element, PlayerChangeElementEvent.Action.SET));
GeneralMethods.removeUnusableAbilities(player.getName());
}

View file

@ -1,20 +1,19 @@
package com.projectkorra.projectkorra.command;
import java.util.ArrayList;
import java.util.List;
import com.projectkorra.projectkorra.ability.info.AbilityInfo;
import com.projectkorra.projectkorra.GeneralMethods;
import com.projectkorra.projectkorra.ProjectKorra;
import com.projectkorra.projectkorra.ability.AbilityHandler;
import com.projectkorra.projectkorra.configuration.ConfigManager;
import com.projectkorra.projectkorra.configuration.configs.commands.CopyCommandConfig;
import com.projectkorra.projectkorra.configuration.configs.properties.CommandPropertiesConfig;
import com.projectkorra.projectkorra.player.BendingPlayer;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.projectkorra.projectkorra.GeneralMethods;
import com.projectkorra.projectkorra.ProjectKorra;
import com.projectkorra.projectkorra.configuration.ConfigManager;
import com.projectkorra.projectkorra.configuration.configs.commands.CopyCommandConfig;
import com.projectkorra.projectkorra.configuration.configs.properties.CommandPropertiesConfig;
import java.util.ArrayList;
import java.util.List;
@SuppressWarnings("rawtypes")
public class CopyCommand extends PKCommand<CopyCommandConfig> {
@ -91,15 +90,15 @@ public class CopyCommand extends PKCommand<CopyCommandConfig> {
return false;
}
List<String> abilities = orig.getAbilities();
String[] abilities = orig.getAbilities();
boolean boundAll = true;
for (int i = 0; i < 9; i++) {
String abilityName = abilities.get(0);
String abilityName = abilities[0];
AbilityInfo abilityInfo = this.abilityManager.getAbilityInfo(abilityName);
AbilityHandler abilityHandler = this.abilityHandlerManager.getHandler(abilityName);
if (abilityInfo == null || !target.canBind(abilityInfo)) {
if (abilityHandler == null || !target.canBind(abilityHandler)) {
boundAll = false;
continue;
}

View file

@ -1,14 +1,13 @@
package com.projectkorra.projectkorra.command;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import com.projectkorra.projectkorra.ability.info.AbilityInfo;
import com.projectkorra.projectkorra.ability.api.AddonAbilityInfo;
import com.projectkorra.projectkorra.ability.api.ComboAbilityInfo;
import com.projectkorra.projectkorra.ability.api.PassiveAbilityInfo;
import com.projectkorra.projectkorra.GeneralMethods;
import com.projectkorra.projectkorra.ability.AbilityHandler;
import com.projectkorra.projectkorra.ability.api.AddonAbility;
import com.projectkorra.projectkorra.ability.api.ComboAbility;
import com.projectkorra.projectkorra.ability.legacy.SubAbility;
import com.projectkorra.projectkorra.configuration.ConfigManager;
import com.projectkorra.projectkorra.configuration.configs.commands.DisplayCommandConfig;
import com.projectkorra.projectkorra.configuration.configs.properties.CommandPropertiesConfig;
import com.projectkorra.projectkorra.element.Element;
import com.projectkorra.projectkorra.element.SubElement;
import com.projectkorra.projectkorra.player.BendingPlayer;
@ -16,11 +15,11 @@ import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.projectkorra.projectkorra.GeneralMethods;
import com.projectkorra.projectkorra.ability.legacy.SubAbility;
import com.projectkorra.projectkorra.configuration.ConfigManager;
import com.projectkorra.projectkorra.configuration.configs.commands.DisplayCommandConfig;
import com.projectkorra.projectkorra.configuration.configs.properties.CommandPropertiesConfig;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.stream.Stream;
/**
* Executor for /bending display. Extends {@link PKCommand}.
@ -88,16 +87,16 @@ public class DisplayCommand extends PKCommand<DisplayCommandConfig> {
sender.sendMessage(ChatColor.BOLD + "Combos");
for (final Element e : this.elementManager.getElements()) {
final List<ComboAbilityInfo> abilities = this.comboAbilityManager.getAbilities(e);
final List<AbilityHandler> abilities = this.comboAbilityManager.getHandlers(e);
for (final ComboAbilityInfo comboAbilityInfo : abilities) {
if (!sender.hasPermission("bending.ability." + comboAbilityInfo.getName())) {
for (final AbilityHandler abilityHandler : abilities) {
if (!sender.hasPermission("bending.ability." + abilityHandler.getName())) {
continue;
}
String message = comboAbilityInfo.getElement().getColor() + comboAbilityInfo.getName();
String message = abilityHandler.getElement().getColor() + abilityHandler.getName();
if (comboAbilityInfo instanceof AddonAbilityInfo) {
if (abilityHandler instanceof AddonAbility) {
message += ChatColor.WHITE + (ChatColor.BOLD + "*");
}
@ -107,7 +106,7 @@ public class DisplayCommand extends PKCommand<DisplayCommandConfig> {
return;
} else {
final ChatColor color = element != null ? element.getColor() : null;
final List<ComboAbilityInfo> abilities = this.comboAbilityManager.getAbilities(element);
final List<AbilityHandler> abilities = this.comboAbilityManager.getHandlers(element);
if (abilities.isEmpty()) {
GeneralMethods.sendBrandingMessage(sender, color + this.noCombosAvailable.replace("{element}", element.getName()));
@ -116,14 +115,14 @@ public class DisplayCommand extends PKCommand<DisplayCommandConfig> {
sender.sendMessage(element.getColor() + (ChatColor.BOLD + element.getName()) + element.getType().getBending() + ChatColor.WHITE + (ChatColor.BOLD + " Combos"));
for (final ComboAbilityInfo comboAbilityInfo : abilities) {
if (!sender.hasPermission("bending.ability." + comboAbilityInfo.getName())) {
for (final AbilityHandler abilityHandler : abilities) {
if (!sender.hasPermission("bending.ability." + abilityHandler.getName())) {
continue;
}
String message = comboAbilityInfo.getElement().getColor() + comboAbilityInfo.getName();
String message = abilityHandler.getElement().getColor() + abilityHandler.getName();
if (comboAbilityInfo instanceof AddonAbilityInfo) {
if (abilityHandler instanceof AddonAbility) {
message += ChatColor.WHITE + (ChatColor.BOLD + "*");
}
@ -137,16 +136,16 @@ public class DisplayCommand extends PKCommand<DisplayCommandConfig> {
sender.sendMessage(ChatColor.BOLD + "Passives");
for (final Element e : this.elementManager.getElements()) {
final List<PassiveAbilityInfo> passives = this.passiveAbilityManager.getPassives(e);
final List<AbilityHandler> passives = this.passiveAbilityManager.getPassives(e);
for (final PassiveAbilityInfo passiveAbilityInfo : passives) {
if (!sender.hasPermission("bending.ability." + passiveAbilityInfo.getName())) {
for (final AbilityHandler abilityHandler : passives) {
if (!sender.hasPermission("bending.ability." + abilityHandler.getName())) {
continue;
}
String message = passiveAbilityInfo.getElement().getColor() + passiveAbilityInfo.getName();
String message = abilityHandler.getElement().getColor() + abilityHandler.getName();
if (passiveAbilityInfo instanceof AddonAbilityInfo) {
if (abilityHandler instanceof AddonAbility) {
message += ChatColor.WHITE + (ChatColor.BOLD + "*");
}
@ -156,7 +155,7 @@ public class DisplayCommand extends PKCommand<DisplayCommandConfig> {
return;
}
final ChatColor color = element != null ? element.getColor() : null;
final List<PassiveAbilityInfo> passives = this.passiveAbilityManager.getPassives(element);
final List<AbilityHandler> passives = this.passiveAbilityManager.getPassives(element);
if (passives.isEmpty()) {
GeneralMethods.sendBrandingMessage(sender, color + this.noPassivesAvailable.replace("{element}", element.getName()));
@ -165,12 +164,12 @@ public class DisplayCommand extends PKCommand<DisplayCommandConfig> {
sender.sendMessage(element.getColor() + (ChatColor.BOLD + element.getName()) + element.getType().getBending() + ChatColor.WHITE + (ChatColor.BOLD + " Passives"));
for (final PassiveAbilityInfo passiveAbilityInfo : passives) {
if (!sender.hasPermission("bending.ability." + passiveAbilityInfo.getName())) {
for (final AbilityHandler abilityHandler : passives) {
if (!sender.hasPermission("bending.ability." + abilityHandler.getName())) {
continue;
}
sender.sendMessage(passiveAbilityInfo.getElement().getColor() + passiveAbilityInfo.getName());
sender.sendMessage(abilityHandler.getElement().getColor() + abilityHandler.getName());
}
return;
} else if (element != null) {
@ -214,7 +213,7 @@ public class DisplayCommand extends PKCommand<DisplayCommandConfig> {
* @param element The element to show the moves for
*/
private void displayElement(final CommandSender sender, final Element element) {
final List<AbilityInfo> abilities = this.abilityManager.getAbilities(element);
final List<AbilityHandler> abilities = this.abilityHandlerManager.getHandlers(element);
if (abilities.isEmpty()) {
sender.sendMessage(ChatColor.YELLOW + this.noAbilitiesAvailable.replace("{element}", element.getColor() + element.getName() + ChatColor.YELLOW));
@ -224,19 +223,19 @@ public class DisplayCommand extends PKCommand<DisplayCommandConfig> {
sender.sendMessage(element.getColor() + (ChatColor.BOLD + element.getName()) + element.getType().getBending());
final HashSet<String> abilitiesSent = new HashSet<String>(); // Some abilities have the same name. This prevents this from showing anything.
for (final AbilityInfo abilityInfo : abilities) {
if (abilityInfo instanceof SubAbility || abilityInfo instanceof ComboAbilityInfo || abilityInfo.isHidden() || abilitiesSent.contains(abilityInfo.getName())) {
for (final AbilityHandler abilityHandler : abilities) {
if (abilityHandler instanceof SubAbility || abilityHandler instanceof ComboAbility || abilityHandler.isHidden() || abilitiesSent.contains(abilityHandler.getName())) {
continue;
}
if (!(sender instanceof Player) || GeneralMethods.canView((Player) sender, abilityInfo.getName())) {
String message = abilityInfo.getElement().getColor() + abilityInfo.getName();
if (abilityInfo instanceof AddonAbilityInfo) {
if (!(sender instanceof Player) || GeneralMethods.canView((Player) sender, abilityHandler.getName())) {
String message = abilityHandler.getElement().getColor() + abilityHandler.getName();
if (abilityHandler instanceof AddonAbility) {
message += ChatColor.WHITE + (ChatColor.BOLD + "*");
}
sender.sendMessage(message);
abilitiesSent.add(abilityInfo.getName());
abilitiesSent.add(abilityHandler.getName());
}
}
@ -261,7 +260,7 @@ public class DisplayCommand extends PKCommand<DisplayCommandConfig> {
* @param element The subelement to show the moves for
*/
private void displaySubElement(final CommandSender sender, final SubElement element) {
final List<AbilityInfo> abilities = this.abilityManager.getAbilities(element);;
final List<AbilityHandler> abilities = this.abilityHandlerManager.getHandlers(element);;
if (abilities.isEmpty() && element != null) {
sender.sendMessage(ChatColor.YELLOW + this.noAbilitiesAvailable.replace("{element}", element.getColor() + element.getName() + ChatColor.YELLOW));
@ -271,17 +270,17 @@ public class DisplayCommand extends PKCommand<DisplayCommandConfig> {
sender.sendMessage(element.getColor() + (ChatColor.BOLD + element.getName()) + element.getType().getBending());
final HashSet<String> abilitiesSent = new HashSet<String>();
for (final AbilityInfo abilityInfo : abilities) {
if (abilityInfo.isHidden() || abilitiesSent.contains(abilityInfo.getName())) {
for (final AbilityHandler abilityHandler : abilities) {
if (abilityHandler.isHidden() || abilitiesSent.contains(abilityHandler.getName())) {
continue;
} else if (!(sender instanceof Player) || GeneralMethods.canView((Player) sender, abilityInfo.getName())) {
String message = element.getColor() + abilityInfo.getName();
if (abilityInfo instanceof AddonAbilityInfo) {
} else if (!(sender instanceof Player) || GeneralMethods.canView((Player) sender, abilityHandler.getName())) {
String message = element.getColor() + abilityHandler.getName();
if (abilityHandler instanceof AddonAbility) {
message += ChatColor.WHITE + (ChatColor.BOLD + "*");
}
sender.sendMessage(message);
abilitiesSent.add(abilityInfo.getName());
abilitiesSent.add(abilityHandler.getName());
}
}
sender.sendMessage(element.getParent().getColor() + "Passives: " + element.getColor() + "/bending display " + element.getName() + "Passives");
@ -294,9 +293,9 @@ public class DisplayCommand extends PKCommand<DisplayCommandConfig> {
*/
private void displayBinds(final Player player) {
BendingPlayer bendingPlayer = this.bendingPlayerManager.getBendingPlayer(player);
List<String> abilities = bendingPlayer.getAbilities();
String[] abilities = bendingPlayer.getAbilities();
if (abilities.stream().allMatch(Objects::isNull)) {
if (Stream.of(abilities).allMatch(Objects::isNull)) {
player.sendMessage(ChatColor.RED + this.noBinds);
return;
}
@ -304,16 +303,16 @@ public class DisplayCommand extends PKCommand<DisplayCommandConfig> {
player.sendMessage(ChatColor.WHITE + (ChatColor.BOLD + "Abilities"));
for (int i = 0; i < 9; i++) {
final String abilityName = abilities.get(i);
final AbilityInfo abilityInfo = this.abilityManager.getAbilityInfo(abilityName);
final String abilityName = abilities[i];
final AbilityHandler abilityHandler = this.abilityHandlerManager.getHandler(abilityName);
if (abilityInfo == null) {
if (abilityHandler == null) {
continue;
}
String message = (i + 1) + ". " + abilityInfo.getElement().getColor() + abilityName;
String message = (i + 1) + ". " + abilityHandler.getElement().getColor() + abilityName;
if (abilityInfo instanceof AddonAbilityInfo) {
if (abilityHandler instanceof AddonAbility) {
message += ChatColor.WHITE + (ChatColor.BOLD + "*");
}

View file

@ -1,10 +1,10 @@
package com.projectkorra.projectkorra.command;
import com.projectkorra.projectkorra.GeneralMethods;
import com.projectkorra.projectkorra.ability.info.AbilityInfo;
import com.projectkorra.projectkorra.ability.api.AddonAbilityInfo;
import com.projectkorra.projectkorra.ability.api.ComboAbilityInfo;
import com.projectkorra.projectkorra.ability.api.PassiveAbilityInfo;
import com.projectkorra.projectkorra.ability.AbilityHandler;
import com.projectkorra.projectkorra.ability.api.AddonAbility;
import com.projectkorra.projectkorra.ability.api.ComboAbility;
import com.projectkorra.projectkorra.ability.api.PassiveAbility;
import com.projectkorra.projectkorra.configuration.ConfigManager;
import com.projectkorra.projectkorra.configuration.configs.commands.HelpCommandConfig;
import com.projectkorra.projectkorra.configuration.configs.properties.*;
@ -95,7 +95,7 @@ public class HelpCommand extends PKCommand<HelpCommandConfig> {
}
final String arg = args.get(0).toLowerCase();
AbilityInfo abilityInfo = this.abilityManager.getAbilityInfo(arg);
AbilityHandler abilityHandler = this.abilityHandlerManager.getHandler(arg);
if (this.isNumeric(arg)) {
final List<String> strings = new ArrayList<String>();
@ -125,36 +125,36 @@ public class HelpCommand extends PKCommand<HelpCommandConfig> {
sender.sendMessage(ChatColor.GOLD + this.properUsage.replace("{command1}", ChatColor.RED + "/bending display " + arg + ChatColor.GOLD).replace("{command2}", ChatColor.RED + "/bending help <Combo Name>" + ChatColor.GOLD));
} else if (Arrays.asList(Commands.passivealiases).contains(arg)) { // bending help elementpassive.
sender.sendMessage(ChatColor.GOLD + this.properUsage.replace("{command1}", ChatColor.RED + "/bending display " + arg + ChatColor.GOLD).replace("{command2}", ChatColor.RED + "/bending help <Passive Name>" + ChatColor.RED));
} else if (abilityInfo != null && !(abilityInfo instanceof ComboAbilityInfo) && !abilityInfo.isHidden() || abilityInfo instanceof PassiveAbilityInfo) { // bending help ability.
final ChatColor color = abilityInfo.getElement().getColor();
} else if (abilityHandler != null && !(abilityHandler instanceof ComboAbility) && !abilityHandler.isHidden() || abilityHandler instanceof PassiveAbility) { // bending help ability.
final ChatColor color = abilityHandler.getElement().getColor();
if (abilityInfo instanceof AddonAbilityInfo) {
if (abilityInfo instanceof PassiveAbilityInfo) {
sender.sendMessage(color + (ChatColor.BOLD + abilityInfo.getName()) + ChatColor.WHITE + " (Addon Passive)");
if (abilityHandler instanceof AddonAbility) {
if (abilityHandler instanceof PassiveAbility) {
sender.sendMessage(color + (ChatColor.BOLD + abilityHandler.getName()) + ChatColor.WHITE + " (Addon Passive)");
} else {
sender.sendMessage(color + (ChatColor.BOLD + abilityInfo.getName()) + ChatColor.WHITE + " (Addon)");
sender.sendMessage(color + (ChatColor.BOLD + abilityHandler.getName()) + ChatColor.WHITE + " (Addon)");
}
sender.sendMessage(color + abilityInfo.getDescription());
sender.sendMessage(color + abilityHandler.getDescription());
if (!abilityInfo.getInstructions().isEmpty()) {
sender.sendMessage(ChatColor.WHITE + this.usage + abilityInfo.getInstructions());
if (!abilityHandler.getInstructions().isEmpty()) {
sender.sendMessage(ChatColor.WHITE + this.usage + abilityHandler.getInstructions());
}
final AddonAbilityInfo addonAbilityInfo = (AddonAbilityInfo) abilityInfo;
final AddonAbility addonAbilityInfo = (AddonAbility) abilityHandler;
sender.sendMessage(color + "- By: " + ChatColor.WHITE + addonAbilityInfo.getAuthor());
sender.sendMessage(color + "- Version: " + ChatColor.WHITE + addonAbilityInfo.getVersion());
} else {
if (abilityInfo instanceof PassiveAbilityInfo) {
sender.sendMessage(color + (ChatColor.BOLD + abilityInfo.getName()) + ChatColor.WHITE + " (Passive)");
if (abilityHandler instanceof PassiveAbility) {
sender.sendMessage(color + (ChatColor.BOLD + abilityHandler.getName()) + ChatColor.WHITE + " (Passive)");
} else {
sender.sendMessage(color + (ChatColor.BOLD + abilityInfo.getName()));
sender.sendMessage(color + (ChatColor.BOLD + abilityHandler.getName()));
}
sender.sendMessage(color + abilityInfo.getDescription());
sender.sendMessage(color + abilityHandler.getDescription());
if (!abilityInfo.getInstructions().isEmpty()) {
sender.sendMessage(ChatColor.WHITE + this.usage + abilityInfo.getInstructions());
if (!abilityHandler.getInstructions().isEmpty()) {
sender.sendMessage(ChatColor.WHITE + this.usage + abilityHandler.getInstructions());
}
}
} else if (Arrays.asList(Commands.airaliases).contains(arg)) {
@ -188,30 +188,30 @@ public class HelpCommand extends PKCommand<HelpCommandConfig> {
sender.sendMessage(avatar.getColor() + this.avatar.replace("/b display Avatar", avatar.getSecondaryColor() + "/b display Avatar" + avatar.getColor()));
sender.sendMessage(ChatColor.YELLOW + this.learnMore + ChatColor.DARK_AQUA + "http://projectkorra.com/");
} else {
ComboAbilityInfo comboAbilityInfo = this.comboAbilityManager.getAbility(arg);
AbilityHandler abilityInfo = this.comboAbilityManager.getHandler(arg);
if (comboAbilityInfo == null) {
if (abilityInfo == null) {
sender.sendMessage(ChatColor.RED + this.invalidTopic);
return;
}
final ChatColor color = comboAbilityInfo.getElement().getColor();
final ChatColor color = abilityInfo.getElement().getColor();
if (comboAbilityInfo instanceof AddonAbilityInfo) {
sender.sendMessage(color + (ChatColor.BOLD + comboAbilityInfo.getName()) + ChatColor.WHITE + " (Addon Combo)");
sender.sendMessage(color + comboAbilityInfo.getDescription());
if (abilityInfo instanceof AddonAbility) {
sender.sendMessage(color + (ChatColor.BOLD + abilityInfo.getName()) + ChatColor.WHITE + " (Addon Combo)");
sender.sendMessage(color + abilityInfo.getDescription());
if (!comboAbilityInfo.getInstructions().isEmpty()) {
sender.sendMessage(ChatColor.WHITE + this.usage + comboAbilityInfo.getInstructions());
if (!abilityInfo.getInstructions().isEmpty()) {
sender.sendMessage(ChatColor.WHITE + this.usage + abilityInfo.getInstructions());
}
final AddonAbilityInfo addonAbilityInfo = (AddonAbilityInfo) comboAbilityInfo;
final AddonAbility addonAbilityInfo = (AddonAbility) abilityInfo;
sender.sendMessage(color + "- By: " + ChatColor.WHITE + addonAbilityInfo.getAuthor());
sender.sendMessage(color + "- Version: " + ChatColor.WHITE + addonAbilityInfo.getVersion());
} else {
sender.sendMessage(color + (ChatColor.BOLD + comboAbilityInfo.getName()) + ChatColor.WHITE + " (Combo)");
sender.sendMessage(color + comboAbilityInfo.getDescription());
sender.sendMessage(ChatColor.WHITE + this.usage + comboAbilityInfo.getInstructions());
sender.sendMessage(color + (ChatColor.BOLD + abilityInfo.getName()) + ChatColor.WHITE + " (Combo)");
sender.sendMessage(color + abilityInfo.getDescription());
sender.sendMessage(ChatColor.WHITE + this.usage + abilityInfo.getInstructions());
}
}
}
@ -229,9 +229,9 @@ public class HelpCommand extends PKCommand<HelpCommandConfig> {
final Set<String> abilitySet = new HashSet<>();
for (AbilityInfo abilityInfo : this.abilityManager.getAbilityInfo()) {
if (!abilityInfo.isHidden()) {
abilitySet.add(abilityInfo.getName());
for (AbilityHandler abilityHandler : this.abilityHandlerManager.getHandlers()) {
if (!abilityHandler.isHidden()) {
abilitySet.add(abilityHandler.getName());
}
}

View file

@ -9,10 +9,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.projectkorra.projectkorra.ability.AbilityManager;
import com.projectkorra.projectkorra.ability.ComboAbilityManager;
import com.projectkorra.projectkorra.ability.MultiAbilityManager;
import com.projectkorra.projectkorra.ability.PassiveAbilityManager;
import com.projectkorra.projectkorra.ability.*;
import com.projectkorra.projectkorra.ability.bind.AbilityBindManager;
import com.projectkorra.projectkorra.element.ElementManager;
import com.projectkorra.projectkorra.module.ModuleManager;
@ -37,6 +34,7 @@ public abstract class PKCommand<C extends CommandConfig> implements SubCommand<C
protected final BendingPlayerManager bendingPlayerManager = ModuleManager.getModule(BendingPlayerManager.class);
protected final ElementManager elementManager = ModuleManager.getModule(ElementManager.class);
protected final AbilityManager abilityManager = ModuleManager.getModule(AbilityManager.class);
protected final AbilityHandlerManager abilityHandlerManager = ModuleManager.getModule(AbilityHandlerManager.class);
protected final ComboAbilityManager comboAbilityManager = ModuleManager.getModule(ComboAbilityManager.class);
protected final MultiAbilityManager multiAbilityManager = ModuleManager.getModule(MultiAbilityManager.class);
protected final PassiveAbilityManager passiveAbilityManager = ModuleManager.getModule(PassiveAbilityManager.class);

View file

@ -2,7 +2,7 @@ package com.projectkorra.projectkorra.command;
import com.projectkorra.projectkorra.GeneralMethods;
import com.projectkorra.projectkorra.ProjectKorra;
import com.projectkorra.projectkorra.ability.info.AbilityInfo;
import com.projectkorra.projectkorra.ability.AbilityHandler;
import com.projectkorra.projectkorra.configuration.configs.commands.StatsCommandConfig;
import com.projectkorra.projectkorra.element.Element;
import com.projectkorra.projectkorra.storage.DBConnection;
@ -43,11 +43,11 @@ public class StatsCommand extends PKCommand<StatsCommandConfig> {
if (!this.correctLength(sender, args.size(), 3, 4)) {
return;
}
final AbilityInfo abilityInfo = this.abilityManager.getAbilityInfo(args.get(1));
final AbilityHandler abilityHandler = this.abilityHandlerManager.getHandler(args.get(1));
final Element element = this.elementManager.getElement(args.get(1));
Object object = null;
if (abilityInfo != null) {
object = abilityInfo;
if (abilityHandler != null) {
object = abilityHandler;
} else if (element != null) {
object = element;
}
@ -118,9 +118,9 @@ public class StatsCommand extends PKCommand<StatsCommandConfig> {
} else {
value = StatisticsMethods.getStatistic(target.getUniqueId(), object, statistic);
}
if (object instanceof AbilityInfo) {
final AbilityInfo abilityInfo = (AbilityInfo) object;
message = message.replace("%object%", abilityInfo.getName()).replace("%player%", target.getName()).replace("%value%", String.valueOf(value));
if (object instanceof AbilityHandler) {
final AbilityHandler abilityHandler = (AbilityHandler) object;
message = message.replace("%object%", abilityHandler.getName()).replace("%player%", target.getName()).replace("%value%", String.valueOf(value));
} else if (object instanceof Element) {
final Element element = (Element) object;
message = message.replace("%object%", element.getName()).replace("%player%", target.getName()).replace("%value%", String.valueOf(value));
@ -137,9 +137,9 @@ public class StatsCommand extends PKCommand<StatsCommandConfig> {
int p = page > maxPage ? maxPage : page;
p = p < 1 ? 1 : p;
String title = "%object% " + statistic.getDisplayName() + " Leaderboard";
if (object instanceof AbilityInfo) {
final AbilityInfo abilityInfo = (AbilityInfo) object;
title = title.replace("%object%", abilityInfo.getName());
if (object instanceof AbilityHandler) {
final AbilityHandler abilityHandler = (AbilityHandler) object;
title = title.replace("%object%", abilityHandler.getName());
} else if (object instanceof Element) {
final Element element = (Element) object;
title = title.replace("%object%", element.getName());

View file

@ -2,7 +2,7 @@ package com.projectkorra.projectkorra.command;
import com.projectkorra.projectkorra.GeneralMethods;
import com.projectkorra.projectkorra.ProjectKorra;
import com.projectkorra.projectkorra.ability.info.AbilityInfo;
import com.projectkorra.projectkorra.ability.AbilityHandler;
import com.projectkorra.projectkorra.configuration.configs.commands.WhoCommandConfig;
import com.projectkorra.projectkorra.element.Element;
import com.projectkorra.projectkorra.element.ElementManager;
@ -315,13 +315,13 @@ public class WhoCommand extends PKCommand<WhoCommandConfig> {
sender.sendMessage("Abilities: ");
for (int i = 0; i < 9; i++) {
String abilityName = bendingPlayer.getAbility(i);
AbilityInfo abilityInfo = this.abilityManager.getAbilityInfo(abilityName);
AbilityHandler abilityHandler = this.abilityHandlerManager.getHandler(abilityName);
if (abilityInfo == null) {
if (abilityHandler == null) {
continue;
}
sender.sendMessage((i + 1) + " - " + abilityInfo.getElement().getColor() + abilityName);
sender.sendMessage((i + 1) + " - " + abilityHandler.getElement().getColor() + abilityName);
}
if (this.staff.containsKey(uuid.toString())) {

View file

@ -14,19 +14,19 @@ public class PlayerChangeElementEvent extends Event {
private final Player player;
private final Element element;
private final Reason reason;
private final Action action;
/**
*
* @param player the {@link Player player} who's bending was changed
* @param element the {@link Element element} that was affected
* @param reason whether the element was chosen, added, removed, or
* @param action whether the element was chosen, added, removed, or
* permaremoved
*/
public PlayerChangeElementEvent(final Player player, final Element element, final Reason reason) {
public PlayerChangeElementEvent(final Player player, final Element element, final Action action) {
this.player = player;
this.element = element;
this.reason = reason;
this.action = action;
}
/**
@ -49,8 +49,8 @@ public class PlayerChangeElementEvent extends Event {
*
* @return whether the element was chosen, added, removed, or permaremoved
*/
public Reason getReason() {
return this.reason;
public Action getAction() {
return this.action;
}
@Override
@ -62,7 +62,7 @@ public class PlayerChangeElementEvent extends Event {
return HANDLER_LIST;
}
public enum Reason {
public enum Action {
ADD, SET, REMOVE, CLEAR
}
}