Advertisement
peanutheroo

team

Jan 29th, 2016
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.79 KB | None | 0 0
  1. package fr.themode.minefight.teams;
  2.  
  3. import java.io.File;
  4. import java.lang.reflect.Field;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7.  
  8. import org.bukkit.Bukkit;
  9. import org.bukkit.command.Command;
  10. import org.bukkit.command.CommandExecutor;
  11. import org.bukkit.command.CommandSender;
  12. import org.bukkit.entity.Player;
  13.  
  14. import fr.themode.minefight.MineFight;
  15. import fr.themode.minefight.api.API;
  16. import fr.themode.minefight.teams.TeamAPI.TeamFonction;
  17. import fr.themode.minefight.utils.Variable;
  18.  
  19. public class TeamCommand implements CommandExecutor,Variable{
  20.  
  21. @Override
  22. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  23.  
  24. if(!(sender instanceof Player)){
  25. sender.sendMessage("§cImpossible pour la console");
  26. return false;
  27. }
  28. Player p = (Player) sender;
  29.  
  30. if(args.length == 0 || args.length > 2){
  31. p.sendMessage("§cFormat incorrect");
  32. }else if(args.length == 1){
  33. if(args[0].equalsIgnoreCase("delteam")){
  34. if(TeamAPI.hasTeam(p)){
  35. if(TeamAPI.getFonction(p).equals(TeamFonction.LEADER)){
  36. MineFight.group.set("team."+TeamAPI.getPlayerTeam(p).getTeamName().toLowerCase(), null);
  37. try {
  38. Field f = MineFight.class.getDeclaredField("g");
  39. f.setAccessible(true);
  40. MineFight.group.save((File) f.get(File.class));
  41. p.sendMessage("§cVotre groupe est supprimé.");
  42. } catch (Exception e) {
  43. p.sendMessage("§cErreur, veuillez contacter un administrateur.");
  44. }
  45.  
  46. }else p.sendMessage("§cVous n'êtes pas le propriétaire du groupe.");
  47. }else p.sendMessage("§cVous n'avez pas de groupe.");
  48.  
  49. }else if(args[0].equalsIgnoreCase("accept")){
  50. if(teaminvite.get(p)!=null){
  51. if(!TeamAPI.hasTeam(p)){
  52. List<String> players = MineFight.group.getStringList("team."+teaminvite.get(p).getTeamName().toLowerCase()+".players");
  53. players.add(p.getName());
  54. MineFight.group.set("team."+teaminvite.get(p).getTeamName().toLowerCase()+".players", players);
  55. p.sendMessage("§aVous venez de rejoindre le groupe.");
  56. try {
  57.  
  58. for(Player user : teaminvite.get(p).getMembers()){
  59. if(user!=null){
  60. user.sendMessage("§a"+p.getName()+" vient de rejoindre votre groupe.");
  61. }
  62. }
  63.  
  64. Field f = MineFight.class.getDeclaredField("g");
  65. f.setAccessible(true);
  66. MineFight.group.save((File) f.get(File.class));
  67. } catch (Exception e) {
  68. p.sendMessage("§cErreur, veuillez contacter un administrateur.");
  69. }
  70. }else p.sendMessage("§cVous avez déjà un groupe.");
  71. }else p.sendMessage("§cVous n'avez aucunes invitations de groupe.");
  72.  
  73. }else if(args[0].equalsIgnoreCase("refuse")){
  74. if(teaminvite.get(p)!=null){
  75. teaminvite.put(p, null);
  76. }else p.sendMessage("§cVous n'avez aucunes invitations de groupe.");
  77. }
  78.  
  79.  
  80. }else if(args.length == 2){
  81. if(args[0].equalsIgnoreCase("new")){
  82. if(!API.isInStaff(p)){
  83. if(API.isVIP(p)){
  84. if(!TeamAPI.hasTeam(p)){
  85. if(args[1].length() > 2 && args[1].length() < 6){
  86. if(!TeamAPI.teamAlreadyExist(args[1])){
  87. boolean hasBlackWorld = false;
  88. for(String word : blackList()){
  89. if(args[1].equalsIgnoreCase(word)){
  90. hasBlackWorld = true;
  91. break;
  92. }
  93. }
  94. if(!hasBlackWorld){
  95.  
  96. try {
  97. TeamAPI.createTeam(p, args[1]);
  98. } catch (Exception e) {
  99. p.sendMessage("§cErreur, veuillez contacter un administrateur.");
  100. e.printStackTrace();
  101. }
  102. p.sendMessage("§aVotre groupe vient d'être créé.");
  103. }else p.sendMessage("§cLe nom de votre groupe est interdit.");
  104. }else p.sendMessage("§cCe nom est déjà prit, recommencez.");
  105. }else p.sendMessage("§cVous êtes limité à 6 caractères maximum et 2 minimum.");
  106. }else p.sendMessage("§cVous êtes déjà dans un groupe.");
  107. }else p.sendMessage("§cVous devez être VIP pour créer un groupe.");
  108. }else p.sendMessage("§cLes membres de l'équipe ne peuvent créer de groupe.");
  109.  
  110. }else if(args[0].equalsIgnoreCase("invite")){
  111. Player t = Bukkit.getPlayer(args[1]);
  112. if(t!=null){
  113. if(TeamAPI.hasTeam(p)){
  114. if(!TeamAPI.hasTeam(t)){
  115. if(!TeamAPI.getFonction(p).equals(TeamFonction.MEMBER)){
  116. t.sendMessage("§a"+p.getName()+" vous invite de rejoindre le groupe: "+TeamAPI.getPlayerTeam(p).getTeamName());
  117. teaminvite.put(t, TeamAPI.getPlayerTeam(p));
  118. p.sendMessage("§aJoueur invité");
  119. }else p.sendMessage("§cVous devez être modérateur du groupe pour effectuer cela.");
  120. }else p.sendMessage("§c"+t.getName()+" n'est pas invitable, il a déjà un groupe.");
  121. }else p.sendMessage("§cVous n'avez pas de groupe.");
  122. }else p.sendMessage("§cJLe joueur est introuvable ou est déconnecté.");
  123.  
  124. }else if(args[0].equalsIgnoreCase("remove")){
  125. if(TeamAPI.hasTeam(p)){
  126. if(TeamAPI.getFonction(p).equals(TeamFonction.LEADER)){
  127. List<String> players = MineFight.group.getStringList("team."+TeamAPI.getPlayerTeam(p).getTeamName().toLowerCase()+".players");
  128. for(String s : MineFight.group.getStringList("team."+TeamAPI.getPlayerTeam(p).getTeamName().toLowerCase()+".players")){
  129. if(args[1].equalsIgnoreCase(s)){
  130. players.remove(s);
  131. }
  132. }
  133. MineFight.group.set("team."+TeamAPI.getPlayerTeam(p).getTeamName().toLowerCase()+".players", players);
  134. try {
  135. Field f = MineFight.class.getDeclaredField("g");
  136. f.setAccessible(true);
  137. MineFight.group.save((File) f.get(File.class));
  138. p.sendMessage("§aVous avez exclu "+p.getName()+" du groupe.");
  139. if(Bukkit.getPlayer(args[1])!=null)
  140. Bukkit.getPlayer(args[1]).sendMessage("§cVous avez été exclu de votre groupe.");
  141. } catch (Exception e) {
  142. p.sendMessage("§cErreur, veuillez contacter un administrateur.");
  143. }
  144. }else p.sendMessage("§cVous devez être modérateur du groupe pour effectuer cela.");
  145. }else p.sendMessage("§cVous n'avez pas de groupe.");
  146.  
  147. }
  148.  
  149.  
  150.  
  151. }
  152.  
  153. return false;
  154. }
  155.  
  156. private List<String> blackList(){
  157. List<String> blacklist = new ArrayList<>();
  158. blacklist.add("tg");
  159. blacklist.add("fdp");
  160. blacklist.add("ntm");
  161. blacklist.add("pd");
  162. blacklist.add("admin");
  163. blacklist.add("modo");
  164. blacklist.add("modos");
  165. blacklist.add("dev");
  166. blacklist.add("devs");
  167. blacklist.add("guide");
  168. blacklist.add("guides");
  169. blacklist.add("VIP");
  170. blacklist.add("salope");
  171. blacklist.add("pute");
  172. blacklist.add("putes");
  173. blacklist.add("nsm");
  174. blacklist.add("nique");
  175. blacklist.add("nike");
  176. blacklist.add("pub");
  177. blacklist.add("pubs");
  178. blacklist.add("nazi");
  179. blacklist.add("nazis");
  180. blacklist.add("FN");
  181.  
  182. return blacklist;
  183. }
  184.  
  185. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement