package io.github.lucaseasedup.logit.command; import static io.github.lucaseasedup.logit.message.MessageHelper.sendMsg; import static io.github.lucaseasedup.logit.message.MessageHelper.t; import io.github.lucaseasedup.logit.LogItCoreObject; import io.github.lucaseasedup.logit.command.wizard.ProfileEditWizard; import io.github.lucaseasedup.logit.command.wizard.ProfileViewWizard; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; public final class ProfileCommand extends LogItCoreObject implements CommandExecutor { @Override public boolean onCommand( CommandSender sender, Command cmd, String label, String[] args ) { Player player = null; if (sender instanceof Player) { player = (Player) sender; } if (args.length == 1 && args[0].equalsIgnoreCase("view")) { if (player == null) { sendMsg(sender, t("onlyForPlayers")); return true; } if (!player.hasPermission("logit.profile.view.self")) { sendMsg(sender, t("noPerms")); return true; } new ProfileViewWizard(sender, player.getName()).createWizard(); } else if (args.length == 2 && args[0].equalsIgnoreCase("view")) { if (player != null && !player.hasPermission("logit.profile.view.others")) { sendMsg(sender, t("noPerms")); return true; } if (!getProfileManager().containsProfile(args[1])) { sendMsg(sender, t("profile.view.profileNotFound")); return true; } new ProfileViewWizard(sender, args[1]).createWizard(); } else if (args.length == 1 && args[0].equalsIgnoreCase("edit")) { if (player == null) { sendMsg(sender, t("onlyForPlayers")); return true; } if (!player.hasPermission("logit.profile.edit.self")) { sendMsg(sender, t("noPerms")); return true; } new ProfileEditWizard(sender, player.getName()).createWizard(); } else if (args.length == 2 && args[0].equalsIgnoreCase("edit")) { if (player != null && !player.hasPermission("logit.profile.edit.others")) { sendMsg(sender, t("noPerms")); return true; } new ProfileEditWizard(sender, args[1]).createWizard(); } else { sendMsg(sender, t("incorrectParamCombination")); } return true; } }