danik159

Untitled

Oct 5th, 2019
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.88 KB | None | 0 0
  1. package com.chickenstyle.natural;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.command.Command;
  9. import org.bukkit.command.CommandExecutor;
  10. import org.bukkit.command.CommandSender;
  11. import org.bukkit.entity.Player;
  12.  
  13. import net.md_5.bungee.api.chat.ClickEvent;
  14. import net.md_5.bungee.api.chat.ComponentBuilder;
  15. import net.md_5.bungee.api.chat.HoverEvent;
  16. import net.md_5.bungee.api.chat.TextComponent;
  17.  
  18. public class PartyCommand implements CommandExecutor {
  19. static HashMap<Player, ArrayList<Player>> members = new HashMap<Player, ArrayList<Player>>();
  20. static HashMap<Player,Player> sent = new HashMap<Player,Player>();
  21. static HashMap<Player,Player> inparty = new HashMap<Player,Player>();
  22. static HashMap<Player,Player> leader = new HashMap<Player,Player>();
  23. static HashMap<Player,Player> ingame = new HashMap<Player,Player>();
  24. ArrayList<Player> list = new ArrayList<Player>();
  25. @Override
  26. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  27. String prefix = ChatColor.BLACK + "[" + ChatColor.WHITE + "Party" + ChatColor.BLACK + "]" + ChatColor.GRAY + " >> ";
  28.  
  29. if (sender instanceof Player) {
  30. Player player = (Player) sender;
  31. switch (args[0]) {
  32. case "help":
  33. player.sendMessage(ChatColor.GRAY + "---------------");
  34. player.sendMessage("");
  35. player.sendMessage(ChatColor.GOLD + "/party invite <player>");
  36. player.sendMessage("");
  37. player.sendMessage(ChatColor.GOLD + "/party accept <player>");
  38. player.sendMessage("");
  39. player.sendMessage(ChatColor.GOLD + "/party deny <player>");
  40. player.sendMessage("");
  41. player.sendMessage(ChatColor.GOLD + "/party list");
  42. player.sendMessage("");
  43. player.sendMessage(ChatColor.GOLD + "/party leave");
  44. player.sendMessage("");
  45. player.sendMessage(ChatColor.GOLD + "/party disband");
  46. player.sendMessage("");
  47. player.sendMessage(ChatColor.GOLD + "/party warp");
  48. player.sendMessage("");
  49. player.sendMessage(ChatColor.GRAY + "---------------");
  50. break;
  51. case "invite":
  52. if (args.length == 2) {
  53. if (Bukkit.getServer().getPlayerExact(args[1]) != null) {
  54. Player p = Bukkit.getServer().getPlayerExact(args[1]);
  55. if (p.getName().equals(args[1])) {
  56. if (!list.contains(p)) {
  57. if (player.getName() != p.getName()) {
  58. player.sendMessage(prefix + ChatColor.GREEN + "The invite has been sent successfully");
  59. sent.put(Bukkit.getPlayer(args[1]), player);
  60. TextComponent message = new TextComponent(prefix + "you got invite from " + player.getName() + " click ");
  61. message.setColor(net.md_5.bungee.api.ChatColor.GRAY);
  62.  
  63. ComponentBuilder ac = new ComponentBuilder("Accept");
  64. ac.color(net.md_5.bungee.api.ChatColor.GREEN);
  65.  
  66. ComponentBuilder de = new ComponentBuilder("Deny");
  67. de.color(net.md_5.bungee.api.ChatColor.RED);
  68.  
  69. TextComponent accept = new TextComponent("accept ");
  70. accept.setColor(net.md_5.bungee.api.ChatColor.GREEN);
  71. accept.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, ac.create()));
  72. accept.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/party accept " + player.getName()));
  73.  
  74. TextComponent deny = new TextComponent("deny");
  75. deny.setColor(net.md_5.bungee.api.ChatColor.RED);
  76. deny.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, de.create()));
  77. deny.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/party deny " + player.getName()));
  78.  
  79. message.addExtra(accept);
  80. message.addExtra(net.md_5.bungee.api.ChatColor.GRAY + "or ");
  81. message.addExtra(deny);
  82. Bukkit.getPlayer(args[1]).spigot().sendMessage(message);
  83. } else {
  84. player.sendMessage(prefix + ChatColor.RED + "You cannot send invite to your self!");
  85. }
  86. } else {
  87. player.sendMessage(prefix + ChatColor.RED + p.getName() + " already in the party!");
  88. }
  89. } else {
  90. player.sendMessage(prefix + ChatColor.RED + args[1] + " isn't online!");
  91. }
  92. }
  93.  
  94.  
  95. } else {
  96. player.sendMessage(prefix + ChatColor.GRAY + "Correct usage: /party invite <player>");
  97. }
  98. break;
  99. case "list":
  100. if (inparty.containsKey(player)) {
  101. player.sendMessage(ChatColor.GRAY + "---------------");
  102.  
  103. player.sendMessage(ChatColor.GREEN + "Leader:");
  104. player.sendMessage(ChatColor.GOLD + leader.get(player).getName());
  105. player.sendMessage("");
  106. player.sendMessage(ChatColor.GRAY + "Party members:");
  107. for (Player p: members.get(leader.get(player))) {
  108. if (p.isOnline()) {
  109. player.sendMessage(ChatColor.GREEN + p.getName());
  110. } else {
  111. player.sendMessage(ChatColor.GRAY + p.getName());
  112. }
  113. }
  114. player.sendMessage(ChatColor.GRAY + "---------------");
  115.  
  116.  
  117. } else {
  118. player.sendMessage(prefix + ChatColor.RED + "You aren't in party!");
  119. }
  120. break;
  121. case "remove":
  122. if (!leader.containsKey(player)) {
  123. player.sendMessage(prefix + ChatColor.RED + "You aren't the leader of the party!");
  124. } else {
  125. if (args[1] != null) {
  126. if (members.get(player).contains(Bukkit.getPlayer(args[1]))) {
  127. ArrayList<Player> al = members.get(player);
  128. al.remove(Bukkit.getPlayer(args[1]));
  129. members.put(player, al);
  130. inparty.remove(Bukkit.getPlayer(args[1]));
  131. player.sendMessage(prefix + ChatColor.GREEN + args[1] + " has been removed successfully");
  132. } else {
  133. player.sendMessage(prefix + ChatColor.RED + args[1] + "isn't in your party!");
  134. }
  135. } else {
  136. player.sendMessage(prefix + ChatColor.GRAY + "correct usage: /party remove <player>");
  137. }
  138. }
  139. break;
  140.  
  141. case "deny":
  142. if (sent.containsKey(player)) {
  143. sent.remove(player);
  144. player.sendMessage(prefix + ChatColor.GREEN + "You successfully denied the invite!");
  145. } else {
  146. player.sendMessage(prefix + ChatColor.RED + "You didn't get invite to the party");
  147. }
  148. break;
  149.  
  150. case "accept":
  151. if (sent.containsKey(player)) {
  152. if (!inparty.containsKey(player)) {
  153. if (args.length == 2) {
  154. leader.put(player, Bukkit.getPlayer(args[1]));
  155. leader.put(Bukkit.getPlayer(args[1]), Bukkit.getPlayer(args[1]));
  156. sent.remove(player);
  157. sent.remove(Bukkit.getPlayer(args[1]));
  158. inparty.put(player, player);
  159. inparty.put(Bukkit.getPlayer(args[1]), Bukkit.getPlayer(args[1]));
  160. if (members.get(leader.get(player)) != null) {
  161. members.get(leader.get(player)).add(player);
  162. } else {
  163. members.put(leader.get(player), list);
  164. members.get(leader.get(player)).add(player);
  165. }
  166. player.sendMessage(prefix + ChatColor.GREEN + "You successfully joined the party!");
  167. Bukkit.getPlayer(args[1]).sendMessage(prefix + ChatColor.GOLD + player.getName() + ChatColor.GREEN + " has joined your party!");
  168. } else {
  169. player.sendMessage(prefix + ChatColor.GRAY + "correct usage: /party accept <player>");
  170. }
  171.  
  172. } else {
  173. player.sendMessage(prefix + ChatColor.RED + "You are already in a party!");
  174. }
  175. } else {
  176. player.sendMessage(prefix + ChatColor.RED + "You didn't get invite to the party");
  177. }
  178. break;
  179.  
  180. case "leave":
  181. if (!leader.containsValue(player)) {
  182. if (inparty.containsKey(player)) {
  183. ArrayList<Player> rlist = members.get(leader.get(player));
  184. if (rlist.size() > 1) {
  185. for (Player p: rlist) {
  186. if (p.getName() != player.getName() && p.getPlayer().getName() != null) {
  187. p.sendMessage(prefix + ChatColor.GRAY + player.getName() + " has left the party!");
  188. } else {
  189. player.sendMessage(prefix + ChatColor.GRAY + "You left the party!");
  190. }
  191. }
  192. leader.get(player).sendMessage(prefix + ChatColor.GRAY + player.getName() + " has left the party!");
  193. members.get(leader.get(player)).remove(player);
  194. leader.remove(player);
  195. inparty.remove(player);
  196. } else if (rlist.size() == 1) {
  197. leader.get(player).sendMessage(prefix + ChatColor.GRAY + player.getName() + " has left the party!");
  198. leader.get(player).sendMessage(prefix + ChatColor.RED + "Party was disbanded!");
  199. player.sendMessage(prefix + ChatColor.GRAY + "You left the party!");
  200. inparty.remove(leader.get(player));
  201. members.remove(leader.get(player));
  202. leader.remove(leader.get(player));
  203. leader.remove(player);
  204. inparty.remove(player);
  205.  
  206. }
  207.  
  208. } else {
  209. player.sendMessage(prefix + ChatColor.RED + "You aren't in party!");
  210. }
  211. } else {
  212. player.sendMessage(prefix + ChatColor.RED + "You cannot leave the party because you are the leader!");
  213. }
  214. break;
  215.  
  216. case "disband":
  217. if (inparty.containsKey(player)) {
  218. if (leader.containsValue(player)) {
  219. for (Player p: members.get(player)) {
  220. inparty.remove(p);
  221. leader.remove(p);
  222. p.sendMessage(prefix + ChatColor.RED + "Party was disbanded!");
  223. }
  224. player.sendMessage(prefix + ChatColor.RED + "Party was disbanded!");
  225. inparty.remove(player);
  226. leader.remove(player);
  227. members.remove(player);
  228. } else {
  229. player.sendMessage(prefix + ChatColor.RED + "You have to be the leader to use this command!");
  230. }
  231. }
  232. break;
  233. case "warp":
  234. if (inparty.containsKey(player)) {
  235. if (leader.containsValue(player)) {
  236. if (!ingame.containsKey(player)) {
  237. for (Player p: members.get(player)) {
  238. p.teleport(player);
  239. p.sendMessage(prefix + ChatColor.GOLD + player.getName() + ChatColor.GRAY + " warped you to their world!");
  240. }
  241. player.sendMessage(prefix + ChatColor.GRAY + "you warped your party to your world!");
  242. } else {
  243.  
  244. }
  245. } else {
  246. player.sendMessage(prefix + ChatColor.RED + "You have to be the leader to use this command!");
  247. }
  248. } else {
  249. player.sendMessage(prefix + ChatColor.RED + "You aren't in party!");
  250. }
  251. break;
  252.  
  253. default:
  254. player.sendMessage(prefix + ChatColor.GRAY + "/party help");
  255. break;
  256.  
  257. }
  258.  
  259. }
  260. return false;
  261. }
  262. }
Advertisement
Add Comment
Please, Sign In to add comment