danik159

Untitled

Sep 29th, 2019
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.13 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. ArrayList<Player> list = new ArrayList<Player>();
  24. @Override
  25. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  26. String prefix = ChatColor.BLACK + "[" + ChatColor.WHITE + "Party" + ChatColor.BLACK + "]" + ChatColor.GRAY + ">> ";
  27.  
  28. if (sender instanceof Player) {
  29. Player player = (Player) sender;
  30. if (args.length == 2 || args.length == 1) {
  31. switch (args[0].toString()) {
  32. case ("help"):
  33. player.sendMessage(prefix + ChatColor.GRAY + "13123");
  34. break;
  35. case ("invite"):
  36. if (args.length == 2) {
  37. if (Bukkit.getServer().getPlayerExact(args[1]) != null) {
  38. Player p = Bukkit.getServer().getPlayerExact(args[1]);
  39. if (p.getName().equals(args[1])) {
  40. if (!list.contains(p)) {
  41. player.sendMessage(prefix + ChatColor.GREEN + "The invite has been sent successfully");
  42. sent.put(Bukkit.getPlayer(args[1]), player);
  43. TextComponent message = new TextComponent(prefix + "you got invite from " + player.getName() + " click ");
  44. message.setColor(net.md_5.bungee.api.ChatColor.GRAY);
  45.  
  46. ComponentBuilder ac = new ComponentBuilder("Accept");
  47. ac.color(net.md_5.bungee.api.ChatColor.GREEN);
  48.  
  49. ComponentBuilder de = new ComponentBuilder("Deny");
  50. de.color(net.md_5.bungee.api.ChatColor.RED);
  51.  
  52. TextComponent accept = new TextComponent("accept ");
  53. accept.setColor(net.md_5.bungee.api.ChatColor.GREEN);
  54. accept.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, ac.create()));
  55. accept.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/party accept " + player.getName()));
  56.  
  57. TextComponent deny = new TextComponent("deny");
  58. deny.setColor(net.md_5.bungee.api.ChatColor.RED);
  59. deny.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, de.create()));
  60. deny.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/party deny " + player.getName()));
  61.  
  62. message.addExtra(accept);
  63. message.addExtra(net.md_5.bungee.api.ChatColor.GRAY + "or ");
  64. message.addExtra(deny);
  65. Bukkit.getPlayer(args[1]).spigot().sendMessage(message);
  66. } else {
  67. player.sendMessage(prefix + ChatColor.RED + p.getName() + " already in the party!");
  68. }
  69. } else {
  70. player.sendMessage(prefix + ChatColor.RED + args[1] + " isn't online!");
  71. }
  72. }
  73.  
  74.  
  75. } else {
  76. player.sendMessage(prefix + ChatColor.GRAY + "Correct usage: /party invite <player>");
  77. }
  78. break;
  79. case ("list"):
  80. if (inparty.containsKey(player)) {
  81. player.sendMessage(ChatColor.GRAY + "---------------");
  82.  
  83. player.sendMessage(ChatColor.GREEN + "Leader:");
  84. player.sendMessage(ChatColor.GOLD + leader.get(player).getName());
  85. player.sendMessage("");
  86. player.sendMessage(ChatColor.GRAY + "Party members:");
  87. for (Player p: members.get(leader.get(player))) {
  88. if (p.isOnline()) {
  89. player.sendMessage(ChatColor.GREEN + p.getName());
  90. } else {
  91. player.sendMessage(ChatColor.GRAY + p.getName());
  92. }
  93. }
  94. player.sendMessage(ChatColor.GRAY + "---------------");
  95.  
  96.  
  97. } else {
  98. player.sendMessage(prefix + ChatColor.RED + "You aren't in party!");
  99. }
  100. break;
  101. case ("remove"):
  102. if (!leader.containsKey(player)) {
  103. player.sendMessage(prefix + ChatColor.RED + "You aren't the leader of the party!");
  104. } else {
  105. if (args[1] != null) {
  106. if (members.get(player).contains(Bukkit.getPlayer(args[1]))) {
  107. ArrayList<Player> al = members.get(player);
  108. al.remove(Bukkit.getPlayer(args[1]));
  109. members.put(player, al);
  110. inparty.remove(Bukkit.getPlayer(args[1]));
  111. player.sendMessage(prefix + ChatColor.GREEN + args[1] + " has been removed successfully");
  112. } else {
  113. player.sendMessage(prefix + ChatColor.RED + args[1] + "isn't in your party!");
  114. }
  115. } else {
  116. player.sendMessage(prefix + ChatColor.GRAY + "correct usage: /party remove <player>");
  117. }
  118. }
  119. break;
  120.  
  121. case ("deny"):
  122. if (sent.containsKey(player)) {
  123. sent.remove(player);
  124. player.sendMessage(prefix + ChatColor.GREEN + "You successfully denied the invite!");
  125. } else {
  126. player.sendMessage(prefix + ChatColor.RED + "You didn't get invite to the party");
  127. }
  128. break;
  129.  
  130. case ("accept"):
  131. if (sent.containsKey(player)) {
  132. if (!inparty.containsKey(player)) {
  133. if (args.length == 2) {
  134. leader.put(player, Bukkit.getPlayer(args[1]));
  135. leader.put(Bukkit.getPlayer(args[1]), Bukkit.getPlayer(args[1]));
  136. sent.remove(player);
  137. sent.remove(Bukkit.getPlayer(args[1]));
  138. inparty.put(player, player);
  139. inparty.put(Bukkit.getPlayer(args[1]), Bukkit.getPlayer(args[1]));
  140. members.get(leader.get(player)).add(player);
  141. player.sendMessage(prefix + ChatColor.GREEN + "You successfully joined the party!");
  142. Bukkit.getPlayer(args[1]).sendMessage(prefix + ChatColor.GOLD + player.getName() + ChatColor.GREEN + " has joined your party!");
  143. } else {
  144. player.sendMessage(prefix + ChatColor.GRAY + "correct usage: /party accept <player>");
  145. }
  146.  
  147. } else {
  148. player.sendMessage(prefix + ChatColor.RED + "You are already in a party!");
  149. }
  150. } else {
  151. player.sendMessage(prefix + ChatColor.RED + "You didn't get invite to the party");
  152. }
  153. break;
  154.  
  155. }
  156. }
  157. }
  158. return false;
  159. }
  160. }
Advertisement
Add Comment
Please, Sign In to add comment