Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Auteur: Xavier W.
- * Date: 12/04/2019
- * Heure: 11:46
- */
- public class NickCommand implements CommandExecutor {
- private String nickPrefix = ChatColor.WHITE + "[" + ChatColor.GOLD + "Nick" + ChatColor.WHITE + "] ";
- @Override
- public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
- if (sender instanceof Player) {
- Player player = (Player) sender;
- if (args.length == 0) {
- if (NickPlugin.getInstance().getMysql().isNicked(player)) {
- NickManager.removeNick(player.getUniqueId());
- NickPlugin.getInstance().getMysql().setNick(player, false);
- player.sendMessage(nickPrefix + ChatColor.WHITE + "Vous venez de " + ChatColor.RED + "désactiver" + ChatColor.WHITE + " votre nick.");
- player.sendMessage(nickPrefix + ChatColor.RED + "Changer de serveur pour appliquer les changements...");
- return true;
- } else {
- String nickName = NickPseudoEnum.getRandomPseudo();
- NickManager.enableNick(player.getUniqueId(), player.getName(), nickName, NickPseudoEnum.getRandomPseudo());
- NickPlugin.getInstance().getMysql().setNick(player, true);
- player.sendMessage(nickPrefix + ChatColor.WHITE + "Vous venez d'" + ChatColor.GREEN + "activer"
- + ChatColor.WHITE + " votre nick, votre" + " nouveau pseudo est maintenant: "
- + ChatColor.AQUA + nickName + ChatColor.WHITE + ".");
- player.sendMessage(nickPrefix + ChatColor.RED + "Changer de serveur pour appliquer les changements...");
- return true;
- }
- } else if (args.length == 1) {
- if (args[0].equalsIgnoreCase("ranklist")) {
- player.sendMessage(nickPrefix + ChatColor.WHITE + "Grades disponibles: §7PLAYER§f, §f[MiniVIP]§f, §e[VIP] §fou §a[VIP+]§f.");
- return true;
- } else if (args[0].equalsIgnoreCase("help")) {
- helpInfo(player);
- return true;
- } else if (args[0].equalsIgnoreCase("rank") || args[0].equalsIgnoreCase("skin")) {
- player.sendMessage(nickPrefix + ChatColor.RED + "Erreur: Utiliser la commande complète.");
- return true;
- } else if (args[0].equalsIgnoreCase("infos") || args[0].equalsIgnoreCase("info")) {
- if (!NickPlugin.getInstance().getMysql().isNicked(player)) {
- player.sendMessage(nickPrefix + ChatColor.RED + "Erreur: Votre nick n'est pas activé.");
- return true;
- } else {
- player.sendMessage("");
- player.sendMessage(ChatColor.YELLOW + "" + ChatColor.BOLD + "Nick" + ChatColor.GRAY + " » " + ChatColor.YELLOW + "" + ChatColor.BOLD + "Informations");
- player.sendMessage("");
- player.sendMessage(" " + ChatColor.DARK_GRAY + "" + ChatColor.BOLD + "■ " + ChatColor.WHITE + "Pseudo " + ChatColor.GRAY + "» " + ChatColor.GREEN
- + NickManager.getNickName(player.getUniqueId()));
- player.sendMessage(" " + ChatColor.DARK_GRAY + "" + ChatColor.BOLD + "■ " + ChatColor.WHITE + "Skin " + ChatColor.GRAY + "» " + ChatColor.GREEN
- + NickManager.getSkinName(player.getUniqueId()));
- player.sendMessage(" " + ChatColor.DARK_GRAY + "" + ChatColor.BOLD + "■ " + ChatColor.WHITE + "Grade "
- + ChatColor.GRAY + "» " + NickManager.getRankName(player.getUniqueId()));
- player.sendMessage("");
- }
- } else if (args[0].equalsIgnoreCase("reset")) {
- if (!NickPlugin.getInstance().getMysql().isNicked(player)) {
- player.sendMessage(nickPrefix + ChatColor.RED + "Erreur: Votre nick n'est pas activé.");
- return true;
- } else {
- NickManager.removeNick(player.getUniqueId());
- NickPlugin.getInstance().getMysql().setNick(player, false);
- player.sendMessage(nickPrefix + ChatColor.WHITE + "Vous venez de " + ChatColor.RED + "désactiver" + ChatColor.WHITE + " votre nick.");
- player.sendMessage(nickPrefix + ChatColor.RED + "Changer de serveur pour appliquer les changements...");
- return true;
- }
- } else {
- String nickName = args[0];
- if (nickName.length() <= 2) {
- player.sendMessage(nickPrefix + ChatColor.RED + "Erreur: Le pseudo '" + nickName + "' est trop court.");
- return true;
- } else if (nickName.length() > 16) {
- player.sendMessage(nickPrefix + ChatColor.RED + "Erreur: Le pseudo '" + nickName + "' est trop long.");
- return true;
- } else {
- // Vérifier si le pseudo n'est pas déjà utilisé.
- if (UUIDFetcher.getUUID(nickName) != null) {
- player.sendMessage(nickPrefix + ChatColor.RED + "Erreur: Le pseudo '" + nickName + "' est déjà utilisé.");
- return true;
- }
- // Déjà utilisé par un autre joueur en ligne.
- if (NickManager.getNickList().contains(nickName)) {
- player.sendMessage(nickPrefix + ChatColor.RED + "Erreur: Le pseudo '" + nickName + "' est déjà utilisé.");
- return true;
- }
- // Vérifier d'un nom correct.
- String checkName = safeChar(nickName);
- if (checkName.length() != nickName.length()) {
- player.sendMessage(nickPrefix + ChatColor.RED + "Erreur: Utiliser les caractères alphanumérique.");
- return true;
- }
- // Changer le pseudo du Joueur.
- if (NickPlugin.getInstance().getMysql().isNicked(player)) {
- NickManager.enableNick(player.getUniqueId(), NickManager.getRealName(player.getUniqueId()), nickName, NickManager.getSkinName(player.getUniqueId()));
- } else {
- NickManager.enableNick(player.getUniqueId(), player.getName(), nickName, NickPseudoEnum.getRandomPseudo());
- }
- NickPlugin.getInstance().getMysql().setNick(player, true);
- player.sendMessage(nickPrefix + ChatColor.WHITE + "Vous venez d'" + ChatColor.GREEN + "activer"
- + ChatColor.WHITE + " votre nick, votre" + " nouveau pseudo est maintenant: "
- + ChatColor.AQUA + nickName + ChatColor.WHITE + ".");
- player.sendMessage(nickPrefix + ChatColor.RED + "Changer de serveur pour appliquer les changements...");
- return true;
- }
- }
- } else if (args.length == 2) {
- if ((args[0].equalsIgnoreCase("rank")) || (args[0].equalsIgnoreCase("grade"))) {
- // Vérifier si le joueur est en nick.
- if (!(NickPlugin.getInstance().getMysql().isNicked(player))) {
- player.sendMessage(nickPrefix + ChatColor.RED + "Erreur: Votre nick n'est pas activé.");
- return true;
- }
- String rankName = args[1];
- // Grade trop puissant.
- if ((rankName == null)) {
- player.sendMessage(nickPrefix + ChatColor.RED + "Le grade que vous cherchez est introuvable.");
- player.sendMessage(nickPrefix + ChatColor.WHITE + "Grades disponibles: §7PLAYER§f, §f[MiniVIP]§f, §e[VIP] §fou §a[VIP+]§f.");
- return true;
- }
- // Appplication du nouveau grade.
- NickManager.updateRank(player.getUniqueId(), rankName);
- player.sendMessage(nickPrefix + ChatColor.WHITE + "Vous utilisez maintenant le grade: " + rankName + ChatColor.WHITE + ".");
- player.sendMessage(nickPrefix + ChatColor.RED + "Changer de serveur pour appliquer les changements...");
- return true;
- // Changer de Skin.
- } else if (args[0].equalsIgnoreCase("skin")) {
- // Vérifier si le joueur est en nick.
- if (!(NickPlugin.getInstance().getMysql().isNicked(player))) {
- player.sendMessage(nickPrefix + ChatColor.RED + "Erreur: Votre nick n'est pas activé.");
- return true;
- }
- // Commande.
- String skinName = args[1];
- // Vérifier si le pseudo existe.
- if (UUIDFetcher.getUUID(skinName) == null) {
- player.sendMessage(nickPrefix + ChatColor.RED + "Erreur: Le pseudo '" + skinName + "' n'existe pas.");
- return true;
- }
- NickManager.updateSkin(player.getUniqueId(), skinName);
- player.sendMessage(nickPrefix + ChatColor.WHITE + "Vous utilisez maintenant le skin: " + ChatColor.LIGHT_PURPLE + skinName + ChatColor.WHITE + ".");
- player.sendMessage(nickPrefix + ChatColor.RED + "Changer de serveur pour appliquer les changements...");
- return true;
- } else {
- player.sendMessage(nickPrefix + ChatColor.RED + "Erreur: La commande /nick '" + args[0] + "' est introuvable.");
- return true;
- }
- } else {
- helpInfo(player);
- return true;
- }
- }
- return false;
- }
- private String safeChar(String input) {
- char[] allowed = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_".toCharArray();
- char[] charArray = input.toCharArray();
- StringBuilder result = new StringBuilder();
- for (char c : charArray) for (char a : allowed) if (c == a) result.append(a);
- return result.toString();
- }
- public void helpInfo(Player player) {
- player.sendMessage("");
- player.sendMessage(" " + ChatColor.GRAY + "» " + ChatColor.YELLOW + "" + ChatColor.BOLD + "Aide"
- + ChatColor.WHITE + "│ " + ChatColor.YELLOW + "" + ChatColor.BOLD + "Nick");
- player.sendMessage("");
- player.sendMessage(" " + ChatColor.GRAY + "" + ChatColor.BOLD + "■ " + ChatColor.GOLD + "/nick [pseudo] "
- + ChatColor.WHITE + "» " + ChatColor.AQUA + "Activer l'nick.");
- player.sendMessage(" " + ChatColor.GRAY + "" + ChatColor.BOLD + "■ " + ChatColor.GOLD + "/nick skin [pseudo] "
- + ChatColor.WHITE + "» " + ChatColor.AQUA + "Utiliser un nouveau skin.");
- player.sendMessage(" " + ChatColor.GRAY + "" + ChatColor.BOLD + "■ " + ChatColor.GOLD + "/nick rank [grade] "
- + ChatColor.WHITE + "» " + ChatColor.AQUA + "Utiliser un nouveau grade.");
- player.sendMessage(" " + ChatColor.GRAY + "" + ChatColor.BOLD + "■ " + ChatColor.GOLD + "/nick ranklist "
- + ChatColor.WHITE + "» " + ChatColor.AQUA + "Afficher la liste des grades.");
- player.sendMessage(" " + ChatColor.GRAY + "" + ChatColor.BOLD + "■ " + ChatColor.GOLD + "/nick infos "
- + ChatColor.WHITE + "» " + ChatColor.AQUA + "Informations de votre nick.");
- player.sendMessage(" " + ChatColor.GRAY + "" + ChatColor.BOLD + "■ " + ChatColor.GOLD + "/nick reset "
- + ChatColor.WHITE + "» " + ChatColor.AQUA + "Désactiver le nick.");
- player.sendMessage(" " + ChatColor.GRAY + "" + ChatColor.BOLD + "■ " + ChatColor.GOLD + "/nicklist "
- + ChatColor.WHITE + "» " + ChatColor.AQUA + "Afficher les joueurs en nick.");
- player.sendMessage("");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement