Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.themode.minefight.teams;
- import java.io.File;
- import java.lang.reflect.Field;
- import java.util.ArrayList;
- import java.util.List;
- import org.bukkit.Bukkit;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import fr.themode.minefight.MineFight;
- import fr.themode.minefight.api.API;
- import fr.themode.minefight.teams.TeamAPI.TeamFonction;
- import fr.themode.minefight.utils.Variable;
- public class TeamCommand implements CommandExecutor,Variable{
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if(!(sender instanceof Player)){
- sender.sendMessage("§cImpossible pour la console");
- return false;
- }
- Player p = (Player) sender;
- if(args.length == 0 || args.length > 2){
- p.sendMessage("§cFaites §c§l/cmd §cpour afficher les commandes de groupe.");
- }else if(args.length == 1){
- if(args[0].equalsIgnoreCase("delteam")){
- if(TeamAPI.hasTeam(p)){
- if(TeamAPI.getFonction(p).equals(TeamFonction.LEADER)){
- MineFight.group.set("team."+TeamAPI.getPlayerTeam(p).getTeamName().toLowerCase(), null);
- try {
- Field f = MineFight.class.getDeclaredField("g");
- f.setAccessible(true);
- MineFight.group.save((File) f.get(File.class));
- p.sendMessage("§cVous avez supprimé votre groupe.");
- } catch (Exception e) {
- p.sendMessage("§cErreur, veuillez contacter un administrateur.");
- }
- }else p.sendMessage("§cVous n'êtes pas le propriétaire du groupe.");
- }else p.sendMessage("§cVous n'avez pas de groupe.");
- }else if(args[0].equalsIgnoreCase("accept")){
- if(teaminvite.get(p)!=null){
- if(!TeamAPI.hasTeam(p)){
- List<String> players = MineFight.group.getStringList("team."+teaminvite.get(p).getTeamName().toLowerCase()+".players");
- players.add(p.getName());
- MineFight.group.set("team."+teaminvite.get(p).getTeamName().toLowerCase()+".players", players);
- p.sendMessage("§bVous venez de rejoindre le groupe.");
- try {
- for(Player user : teaminvite.get(p).getMembers()){
- if(user!=null && user!=p){
- user.sendMessage("§b"+p.getName()+" vient de rejoindre votre groupe.");
- }
- }
- Field f = MineFight.class.getDeclaredField("g");
- f.setAccessible(true);
- MineFight.group.save((File) f.get(File.class));
- } catch (Exception e) {
- p.sendMessage("§cErreur, veuillez contacter un administrateur.");
- }
- }else p.sendMessage("§cVous avez déjà un groupe.");
- }else p.sendMessage("§cVous n'avez aucunes invitations de groupe.");
- }else if(args[0].equalsIgnoreCase("refuse")){
- if(teaminvite.get(p)!=null){
- teaminvite.put(p, null);
- }else p.sendMessage("§cVous n'avez aucunes invitations de groupe.");
- }else if(args[0].equalsIgnoreCase("leave")){
- if(TeamAPI.hasTeam(p)){
- if(!TeamAPI.getFonction(p).equals(TeamFonction.LEADER)){
- List<String> players = MineFight.group.getStringList("team."+TeamAPI.getPlayerTeam(p).getTeamName().toLowerCase()+".players");
- players.remove(p.getName());
- for(Player user : TeamAPI.getPlayerTeam(p).getMembers()){
- if(user!=null && user!=p){
- user.sendMessage("§c"+p.getName()+" vient de quitter le groupe.");
- }
- }
- MineFight.group.set("team."+TeamAPI.getPlayerTeam(p).getTeamName().toLowerCase()+".players", players);
- try {
- Field f = MineFight.class.getDeclaredField("g");
- f.setAccessible(true);
- MineFight.group.save((File) f.get(File.class));
- } catch (Exception e) {
- e.printStackTrace();
- p.sendMessage("§cErreur, veuillez contacter un administrateur.");
- }
- }else p.sendMessage("§cVous êtes le chef du groupe.");
- }else p.sendMessage("§cVous n'avez pas de groupe.");
- }
- }else if(args.length == 2){
- if(args[0].equalsIgnoreCase("new")){
- if(!API.isInStaff(p)){
- if(API.isVIP(p)){
- if(!TeamAPI.hasTeam(p)){
- if(args[1].length() > 2 && args[1].length() <= 8){
- if(!TeamAPI.teamAlreadyExist(args[1])){
- boolean hasBlackWorld = false;
- for(String word : blackList()){
- if(args[1].equalsIgnoreCase(word)){
- hasBlackWorld = true;
- break;
- }
- }
- if(!hasBlackWorld){
- try {
- TeamAPI.createTeam(p, args[1]);
- } catch (Exception e) {
- p.sendMessage("§cErreur, veuillez contacter un administrateur.");
- e.printStackTrace();
- }
- p.sendMessage("§bVotre groupe vient d'être créé.");
- }else p.sendMessage("§cLe nom de votre groupe est interdit.");
- }else p.sendMessage("§cCe nom est déjà prit, recommencez.");
- }else p.sendMessage("§cVous êtes limité à 8 caractères maximum et 2 minimum.");
- }else p.sendMessage("§cVous êtes déjà dans un groupe.");
- }else p.sendMessage("§cVous devez être VIP pour créer un groupe.");
- }else p.sendMessage("§cLes membres de l'équipe ne peuvent créer de groupe.");
- }else if(args[0].equalsIgnoreCase("invite")){
- Player t = Bukkit.getPlayer(args[1]);
- if(t!=null){
- if(TeamAPI.hasTeam(p)){
- if(!TeamAPI.hasTeam(t)){
- if(!API.isInStaff(p)){
- if(!TeamAPI.getFonction(p).equals(TeamFonction.MEMBER)){
- t.sendMessage("§b"+p.getName()+" vous invite à rejoindre le groupe: "+TeamAPI.getPlayerTeam(p).getTeamName()+". \n§cFaites §c§l/team accept§c ou §c§l/team refuse§c.");
- teaminvite.put(t, TeamAPI.getPlayerTeam(p));
- p.sendMessage("§bVous avez invité "+t.getName()+".");
- }else p.sendMessage("§cVous devez être modérateur du groupe pour effectuer cela.");
- }else p.sendMessage("§cIl est dans le staff");
- }else p.sendMessage("§c"+t.getName()+" n'est pas invitable, il a déjà un groupe.");
- }else p.sendMessage("§cVous n'avez pas de groupe.");
- }else p.sendMessage("§cJLe joueur est introuvable ou est déconnecté.");
- }else if(args[0].equalsIgnoreCase("remove")){
- if(TeamAPI.hasTeam(p)){
- if(TeamAPI.getFonction(p).equals(TeamFonction.LEADER)){
- List<String> players = MineFight.group.getStringList("team."+TeamAPI.getPlayerTeam(p).getTeamName().toLowerCase()+".players");
- for(String s : MineFight.group.getStringList("team."+TeamAPI.getPlayerTeam(p).getTeamName().toLowerCase()+".players")){
- if(args[1].equalsIgnoreCase(s)){
- players.remove(s);
- }
- }
- MineFight.group.set("team."+TeamAPI.getPlayerTeam(p).getTeamName().toLowerCase()+".players", players);
- try {
- Field f = MineFight.class.getDeclaredField("g");
- f.setAccessible(true);
- MineFight.group.save((File) f.get(File.class));
- p.sendMessage("§cVous avez exclu "+args[1]+" du groupe.");
- if(Bukkit.getPlayer(args[1])!=null)
- Bukkit.getPlayer(args[1]).sendMessage("§cVous avez été exclu de votre groupe.");
- } catch (Exception e) {
- p.sendMessage("§cErreur, veuillez contacter un administrateur.");
- }
- }else p.sendMessage("§cVous devez être modérateur du groupe pour effectuer cela.");
- }else p.sendMessage("§cVous n'avez pas de groupe.");
- }
- }
- return false;
- }
- private List<String> blackList(){
- List<String> blacklist = new ArrayList<>();
- blacklist.add("tg");
- blacklist.add("fdp");
- blacklist.add("ntm");
- blacklist.add("pd");
- blacklist.add("admin");
- blacklist.add("modo");
- blacklist.add("modos");
- blacklist.add("dev");
- blacklist.add("devs");
- blacklist.add("guide");
- blacklist.add("guides");
- blacklist.add("VIP");
- blacklist.add("salope");
- blacklist.add("pute");
- blacklist.add("putes");
- blacklist.add("nsm");
- blacklist.add("nique");
- blacklist.add("nike");
- blacklist.add("pub");
- blacklist.add("pubs");
- blacklist.add("nazi");
- blacklist.add("nazis");
- blacklist.add("FN");
- return blacklist;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement