Vinetos

Party

Oct 26th, 2015
327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.07 KB | None | 0 0
  1. package com.faruparty.fr;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. import net.md_5.bungee.api.CommandSender;
  6. import net.md_5.bungee.api.ProxyServer;
  7. import net.md_5.bungee.api.chat.ClickEvent;
  8. import net.md_5.bungee.api.chat.HoverEvent;
  9. import net.md_5.bungee.api.chat.TextComponent;
  10. import net.md_5.bungee.api.connection.ProxiedPlayer;
  11. import net.md_5.bungee.api.plugin.Command;
  12.  
  13. public class Party extends Command {
  14.  
  15. private FaruParty fp;
  16.  
  17. public Party(String name) {
  18. super(name);
  19.  
  20. }
  21.  
  22. // @SuppressWarnings({ "static-access", "deprecation" })
  23.  
  24. @Override
  25. public void execute(CommandSender sender, String[] args) {
  26. if (!(sender instanceof ProxiedPlayer)) {
  27. sender.sendMessage("§CSeul les joueurs peuvent créer une partie !");
  28. return;
  29. }
  30. ProxiedPlayer p = (ProxiedPlayer) sender;
  31. if (args.length == 0) {
  32. p.sendMessage("§e--------Aide--------");
  33. p.sendMessage("§e/p create <nom de partie>");
  34. p.sendMessage("§e/p disband");
  35. p.sendMessage("§e/p accept <player>");
  36. p.sendMessage("§e/p refuse <player>");
  37. return;
  38. }
  39. String uuid = p.getUniqueId().toString();
  40. if (args.length == 2) {
  41.  
  42. if (args[0].equalsIgnoreCase("create")) {
  43. String name = args[1];
  44. if (fp.getParties().containsKey(name)) {
  45. p.sendMessage("§cLa partie éxiste déjà !");
  46. return;
  47. }
  48. for (ArrayList<String> players : fp.getParties().values()) {
  49. if (players.contains(uuid)) {
  50. p.sendMessage("§cTu es déjà dans une partie !");
  51. break;
  52. }
  53. }
  54.  
  55. ArrayList<String> player = new ArrayList<String>();
  56. player.add(uuid);
  57. fp.getParties().put(name, player);
  58. fp.getOwnersOfParties().put(uuid, name);
  59.  
  60. p.sendMessage("§aVotre partie: §e'" + name + "'§a a été créée !");
  61. }
  62. /*Invite*/
  63. else if (args[0].equalsIgnoreCase("invite")) {
  64. if (ProxyServer.getInstance().getPlayer(args[1]) == null) {
  65. p.sendMessage("§cCe joueur n'est pas en ligne !");
  66. return;
  67. }
  68. if (!fp.getOwnersOfParties().containsKey(uuid)) {
  69. p.sendMessage("§cTu dois être le créateur de la partie pour inviter la partie !");
  70. return;
  71. }
  72. ProxiedPlayer target = ProxyServer.getInstance().getPlayer(args[1]);
  73. if(fp.getGuests().containsKey(target.getUniqueId().toString())){
  74. if(!fp.getGuests().get(target.getUniqueId().toString())){
  75. p.sendMessage("§cCe joueur a désactivé les invitation dans des parties !");
  76. return;
  77. }
  78. }
  79.  
  80. TextComponent demande = new TextComponent("§e" + p.getName() + "§7 vous invite à rejoindre §6"
  81. + fp.getOwnersOfParties().get(uuid) + "§7 !");
  82. demande.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/p accept " + p.getName()));
  83. demande.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,
  84. TextComponent.fromLegacyText("§7Accepter la demande §e" + p.getName())));
  85.  
  86. target.sendMessage(demande);
  87. p.sendMessage("§7Demande de groupe envoyé à §e" + target.getName());
  88.  
  89.  
  90.  
  91. /*Accept*/
  92. } else if (args[0].equalsIgnoreCase("accept")) {
  93.  
  94. if (ProxyServer.getInstance().getPlayer(args[1]) == null) {
  95. p.sendMessage("§cLa demande a éxpiré");
  96. return;
  97. }
  98. String targetUuid = ProxyServer.getInstance().getPlayer(args[1]).getUniqueId().toString();
  99. if (fp.getOwnersOfParties().get(targetUuid) == null) {
  100. p.sendMessage("§cCette partie n'éxiste plus !");
  101. return;
  102. }
  103.  
  104. String name = fp.getOwnersOfParties().get(targetUuid);
  105.  
  106. ArrayList<String> players = fp.getParties().get(name);
  107. players.add(uuid);
  108.  
  109. fp.getParties().remove(name);
  110. fp.getParties().put(name, players);
  111.  
  112. for (String pl : players) {
  113. if(ProxyServer.getInstance().getPlayer(pl) != null){
  114. ProxiedPlayer t = ProxyServer.getInstance().getPlayer(pl);
  115. t.sendMessage("§e" + p.getName() + " §7a rejoint la partie !");
  116. }
  117.  
  118. }
  119.  
  120.  
  121.  
  122. /*Refuse*/
  123. } else if (args[0].equalsIgnoreCase("refuse")) {
  124. if (ProxyServer.getInstance().getPlayer(args[1]) == null) {
  125. p.sendMessage("§cLa demande a éxpiré");
  126. return;
  127. }
  128.  
  129. String targetUuid = ProxyServer.getInstance().getPlayer(args[1]).getUniqueId().toString();
  130. if (fp.getOwnersOfParties().get(targetUuid) == null) {
  131. p.sendMessage("§cCette partie n'éxiste plus !");
  132. return;
  133. }
  134.  
  135. ProxiedPlayer t = ProxyServer.getInstance().getPlayer(targetUuid);
  136. t.sendMessage("§c" + p.getName() + " a refusé votre demande !");
  137.  
  138.  
  139. /*Follow on/off*/
  140. }else if(args[0].equalsIgnoreCase("follow")){
  141. if(!args[1].equalsIgnoreCase("on") || !args[1].equalsIgnoreCase("off")){
  142. p.sendMessage("§cErreur: /p follow <on/off>");
  143. }
  144. boolean allow = Boolean.getBoolean(args[1]);
  145. if(FaruParty.getFollowers().containsKey(uuid)){
  146. FaruParty.getFollowers().remove(uuid);
  147. }
  148. FaruParty.getFollowers().put(uuid, allow);
  149. p.sendMessage("§aVous avez "+(allow ? "activé" : "désactivé") + " le follow des parties.");
  150. }
  151.  
  152. /*Kick*/
  153. else if(args[0].equalsIgnoreCase("kick")){
  154. if(ProxyServer.getInstance().getPlayer(args[1]) == null){
  155. p.sendMessage("§cLe joueur est intruvable !");
  156. return;
  157. }
  158. ProxiedPlayer target = ProxyServer.getInstance().getPlayer(args[1]);
  159. if(target.getName().equals(p.getName())){
  160. return;
  161. }
  162. if (fp.getOwnersOfParties().get(uuid) == null) {
  163. p.sendMessage("§cVous n'avez pas créer de partie !");
  164. return;
  165. }
  166. String name = fp.getOwnersOfParties().get(uuid);
  167. String tuuid = target.getUniqueId().toString();
  168. if(fp.getParties().get(name).contains(tuuid)){
  169. fp.getParties().get(name).remove(tuuid);
  170. target.sendMessage("§cVous avez été kické de la partie !");
  171. }else{
  172. p.sendMessage("§cCe joueur n'est pas dans votre partie !");
  173. }
  174. }
  175. /*Lead*/
  176. else if(args[0].equalsIgnoreCase("lead")){
  177. if(ProxyServer.getInstance().getPlayer(args[1]) == null){
  178. p.sendMessage("§cLe joueur est intruvable !");
  179. return;
  180. }
  181. ProxiedPlayer target = ProxyServer.getInstance().getPlayer(args[1]);
  182. if(target.getName().equals(p.getName())){
  183. return;
  184. }
  185. if (fp.getOwnersOfParties().get(uuid) == null) {
  186. p.sendMessage("§cVous n'avez pas créer de partie !");
  187. return;
  188. }
  189. String name = fp.getOwnersOfParties().get(uuid);
  190. String tuuid = target.getUniqueId().toString();
  191.  
  192. fp.getOwnersOfParties().remove(uuid);
  193. fp.getOwnersOfParties().put(tuuid, name);
  194. target.sendMessage("§cTu est maintenant le leader de la partie !");
  195. p.sendMessage("§cLe leader est maintenant" + target.getName());
  196. }
  197. /*Allow*/
  198. else if(args[0].equalsIgnoreCase("allow")){
  199. if(!args[1].equalsIgnoreCase("on") || !args[1].equalsIgnoreCase("off")){
  200. p.sendMessage("§cErreur: /p allow <on/off>");
  201. }
  202. boolean allow = false;
  203. if(args[1].equalsIgnoreCase("on")){
  204. allow = true;
  205. }
  206.  
  207. if(FaruParty.getGuests().containsKey(uuid)){
  208. FaruParty.getGuests().remove(uuid);
  209. }
  210. FaruParty.getGuests().put(uuid, allow);
  211. p.sendMessage("§aVous avez "+(allow ? "activé" : "désactivé") + " les invitations de parties.");
  212. }
  213.  
  214. } else if (args.length == 1) {
  215. /*Disband*/
  216. if (args[0].equalsIgnoreCase("disband")) {
  217. if (fp.getOwnersOfParties().get(uuid) == null) {
  218. p.sendMessage("§cVous n'avez pas créer de partie !");
  219. return;
  220. }
  221.  
  222. String name = fp.getOwnersOfParties().get(uuid);
  223. fp.getParties().remove(name);
  224. fp.getOwnersOfParties().remove(uuid);
  225.  
  226. p.sendMessage("§cVous avez supprimé votre partie !");
  227. }
  228. /*Leave*/
  229.  
  230. else if(args[0].equalsIgnoreCase("leave")){
  231. if(fp.getOwnersOfParties().get(uuid) != null){
  232. fp.getParties().remove(fp.getOwnersOfParties().get(uuid));
  233. for(String pUuid : fp.getParties().get(fp.getOwnersOfParties().get(uuid))){
  234. ProxiedPlayer pls = ProxyServer.getInstance().getPlayer(pUuid);
  235. pls.sendMessage("§cLa partie a été supprimée !");
  236. }
  237. fp.getParties().remove(fp.getOwnersOfParties().get(uuid));
  238. }
  239. }
  240.  
  241. }
  242. }
  243. }
Advertisement
Add Comment
Please, Sign In to add comment