Advertisement
peanutheroo

team

Feb 5th, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.63 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("§cFaites §c§l/cmd §cpour afficher les commandes de groupe.");
  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("§cVous avez supprimé votre groupe.");
  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("§bVous venez de rejoindre le groupe.");
  56. try {
  57.  
  58. for(Player user : teaminvite.get(p).getMembers()){
  59. if(user!=null && user!=p){
  60. user.sendMessage("§b"+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. }else if(args[0].equalsIgnoreCase("leave")){
  78. if(TeamAPI.hasTeam(p)){
  79. if(!TeamAPI.getFonction(p).equals(TeamFonction.LEADER)){
  80. List<String> players = MineFight.group.getStringList("team."+TeamAPI.getPlayerTeam(p).getTeamName().toLowerCase()+".players");
  81. players.remove(p.getName());
  82. for(Player user : TeamAPI.getPlayerTeam(p).getMembers()){
  83. if(user!=null && user!=p){
  84. user.sendMessage("§c"+p.getName()+" vient de quitter le groupe.");
  85. }
  86. }
  87. MineFight.group.set("team."+TeamAPI.getPlayerTeam(p).getTeamName().toLowerCase()+".players", players);
  88. try {
  89. Field f = MineFight.class.getDeclaredField("g");
  90. f.setAccessible(true);
  91. MineFight.group.save((File) f.get(File.class));
  92. } catch (Exception e) {
  93. e.printStackTrace();
  94. p.sendMessage("§cErreur, veuillez contacter un administrateur.");
  95. }
  96. }else p.sendMessage("§cVous êtes le chef du groupe.");
  97. }else p.sendMessage("§cVous n'avez pas de groupe.");
  98. }
  99.  
  100.  
  101. }else if(args.length == 2){
  102. if(args[0].equalsIgnoreCase("new")){
  103. if(!API.isInStaff(p)){
  104. if(API.isVIP(p)){
  105. if(!TeamAPI.hasTeam(p)){
  106. if(args[1].length() > 2 && args[1].length() <= 8){
  107. if(!TeamAPI.teamAlreadyExist(args[1])){
  108. boolean hasBlackWorld = false;
  109. for(String word : blackList()){
  110. if(args[1].equalsIgnoreCase(word)){
  111. hasBlackWorld = true;
  112. break;
  113. }
  114. }
  115. if(!hasBlackWorld){
  116.  
  117. try {
  118. TeamAPI.createTeam(p, args[1]);
  119. } catch (Exception e) {
  120. p.sendMessage("§cErreur, veuillez contacter un administrateur.");
  121. e.printStackTrace();
  122. }
  123. p.sendMessage("§bVotre groupe vient d'être créé.");
  124. }else p.sendMessage("§cLe nom de votre groupe est interdit.");
  125. }else p.sendMessage("§cCe nom est déjà prit, recommencez.");
  126. }else p.sendMessage("§cVous êtes limité à 8 caractères maximum et 2 minimum.");
  127. }else p.sendMessage("§cVous êtes déjà dans un groupe.");
  128. }else p.sendMessage("§cVous devez être VIP pour créer un groupe.");
  129. }else p.sendMessage("§cLes membres de l'équipe ne peuvent créer de groupe.");
  130.  
  131. }else if(args[0].equalsIgnoreCase("invite")){
  132. Player t = Bukkit.getPlayer(args[1]);
  133. if(t!=null){
  134. if(TeamAPI.hasTeam(p)){
  135. if(!TeamAPI.hasTeam(t)){
  136. if(!API.isInStaff(p)){
  137. if(!TeamAPI.getFonction(p).equals(TeamFonction.MEMBER)){
  138. 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.");
  139. teaminvite.put(t, TeamAPI.getPlayerTeam(p));
  140. p.sendMessage("§bVous avez invité "+t.getName()+".");
  141. }else p.sendMessage("§cVous devez être modérateur du groupe pour effectuer cela.");
  142. }else p.sendMessage("§cIl est dans le staff");
  143. }else p.sendMessage("§c"+t.getName()+" n'est pas invitable, il a déjà un groupe.");
  144. }else p.sendMessage("§cVous n'avez pas de groupe.");
  145. }else p.sendMessage("§cJLe joueur est introuvable ou est déconnecté.");
  146.  
  147. }else if(args[0].equalsIgnoreCase("remove")){
  148. if(TeamAPI.hasTeam(p)){
  149. if(TeamAPI.getFonction(p).equals(TeamFonction.LEADER)){
  150. List<String> players = MineFight.group.getStringList("team."+TeamAPI.getPlayerTeam(p).getTeamName().toLowerCase()+".players");
  151. for(String s : MineFight.group.getStringList("team."+TeamAPI.getPlayerTeam(p).getTeamName().toLowerCase()+".players")){
  152. if(args[1].equalsIgnoreCase(s)){
  153. players.remove(s);
  154. }
  155. }
  156. MineFight.group.set("team."+TeamAPI.getPlayerTeam(p).getTeamName().toLowerCase()+".players", players);
  157. try {
  158. Field f = MineFight.class.getDeclaredField("g");
  159. f.setAccessible(true);
  160. MineFight.group.save((File) f.get(File.class));
  161. p.sendMessage("§cVous avez exclu "+args[1]+" du groupe.");
  162. if(Bukkit.getPlayer(args[1])!=null)
  163. Bukkit.getPlayer(args[1]).sendMessage("§cVous avez été exclu de votre groupe.");
  164. } catch (Exception e) {
  165. p.sendMessage("§cErreur, veuillez contacter un administrateur.");
  166. }
  167. }else p.sendMessage("§cVous devez être modérateur du groupe pour effectuer cela.");
  168. }else p.sendMessage("§cVous n'avez pas de groupe.");
  169.  
  170. }
  171.  
  172.  
  173.  
  174. }
  175.  
  176. return false;
  177. }
  178.  
  179. private List<String> blackList(){
  180. List<String> blacklist = new ArrayList<>();
  181. blacklist.add("tg");
  182. blacklist.add("fdp");
  183. blacklist.add("ntm");
  184. blacklist.add("pd");
  185. blacklist.add("admin");
  186. blacklist.add("modo");
  187. blacklist.add("modos");
  188. blacklist.add("dev");
  189. blacklist.add("devs");
  190. blacklist.add("guide");
  191. blacklist.add("guides");
  192. blacklist.add("VIP");
  193. blacklist.add("salope");
  194. blacklist.add("pute");
  195. blacklist.add("putes");
  196. blacklist.add("nsm");
  197. blacklist.add("nique");
  198. blacklist.add("nike");
  199. blacklist.add("pub");
  200. blacklist.add("pubs");
  201. blacklist.add("nazi");
  202. blacklist.add("nazis");
  203. blacklist.add("FN");
  204.  
  205. return blacklist;
  206. }
  207.  
  208. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement