Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.chickenstyle.natural;
- import java.util.ArrayList;
- import java.util.HashMap;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import net.md_5.bungee.api.chat.ClickEvent;
- import net.md_5.bungee.api.chat.ComponentBuilder;
- import net.md_5.bungee.api.chat.HoverEvent;
- import net.md_5.bungee.api.chat.TextComponent;
- public class PartyCommand implements CommandExecutor {
- static HashMap<Player, ArrayList<Player>> members = new HashMap<Player, ArrayList<Player>>();
- static HashMap<Player,Player> sent = new HashMap<Player,Player>();
- static HashMap<Player,Player> inparty = new HashMap<Player,Player>();
- static HashMap<Player,Player> leader = new HashMap<Player,Player>();
- static HashMap<Player,Player> ingame = new HashMap<Player,Player>();
- ArrayList<Player> list = new ArrayList<Player>();
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- String prefix = ChatColor.BLACK + "[" + ChatColor.WHITE + "Party" + ChatColor.BLACK + "]" + ChatColor.GRAY + " >> ";
- if (sender instanceof Player) {
- Player player = (Player) sender;
- switch (args[0]) {
- case "help":
- player.sendMessage(ChatColor.GRAY + "---------------");
- player.sendMessage("");
- player.sendMessage(ChatColor.GOLD + "/party invite <player>");
- player.sendMessage("");
- player.sendMessage(ChatColor.GOLD + "/party accept <player>");
- player.sendMessage("");
- player.sendMessage(ChatColor.GOLD + "/party deny <player>");
- player.sendMessage("");
- player.sendMessage(ChatColor.GOLD + "/party list");
- player.sendMessage("");
- player.sendMessage(ChatColor.GOLD + "/party leave");
- player.sendMessage("");
- player.sendMessage(ChatColor.GOLD + "/party disband");
- player.sendMessage("");
- player.sendMessage(ChatColor.GOLD + "/party warp");
- player.sendMessage("");
- player.sendMessage(ChatColor.GRAY + "---------------");
- break;
- case "invite":
- if (args.length == 2) {
- if (Bukkit.getServer().getPlayerExact(args[1]) != null) {
- Player p = Bukkit.getServer().getPlayerExact(args[1]);
- if (p.getName().equals(args[1])) {
- if (!list.contains(p)) {
- if (player.getName() != p.getName()) {
- player.sendMessage(prefix + ChatColor.GREEN + "The invite has been sent successfully");
- sent.put(Bukkit.getPlayer(args[1]), player);
- TextComponent message = new TextComponent(prefix + "you got invite from " + player.getName() + " click ");
- message.setColor(net.md_5.bungee.api.ChatColor.GRAY);
- ComponentBuilder ac = new ComponentBuilder("Accept");
- ac.color(net.md_5.bungee.api.ChatColor.GREEN);
- ComponentBuilder de = new ComponentBuilder("Deny");
- de.color(net.md_5.bungee.api.ChatColor.RED);
- TextComponent accept = new TextComponent("accept ");
- accept.setColor(net.md_5.bungee.api.ChatColor.GREEN);
- accept.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, ac.create()));
- accept.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/party accept " + player.getName()));
- TextComponent deny = new TextComponent("deny");
- deny.setColor(net.md_5.bungee.api.ChatColor.RED);
- deny.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, de.create()));
- deny.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/party deny " + player.getName()));
- message.addExtra(accept);
- message.addExtra(net.md_5.bungee.api.ChatColor.GRAY + "or ");
- message.addExtra(deny);
- Bukkit.getPlayer(args[1]).spigot().sendMessage(message);
- } else {
- player.sendMessage(prefix + ChatColor.RED + "You cannot send invite to your self!");
- }
- } else {
- player.sendMessage(prefix + ChatColor.RED + p.getName() + " already in the party!");
- }
- } else {
- player.sendMessage(prefix + ChatColor.RED + args[1] + " isn't online!");
- }
- }
- } else {
- player.sendMessage(prefix + ChatColor.GRAY + "Correct usage: /party invite <player>");
- }
- break;
- case "list":
- if (inparty.containsKey(player)) {
- player.sendMessage(ChatColor.GRAY + "---------------");
- player.sendMessage(ChatColor.GREEN + "Leader:");
- player.sendMessage(ChatColor.GOLD + leader.get(player).getName());
- player.sendMessage("");
- player.sendMessage(ChatColor.GRAY + "Party members:");
- for (Player p: members.get(leader.get(player))) {
- if (p.isOnline()) {
- player.sendMessage(ChatColor.GREEN + p.getName());
- } else {
- player.sendMessage(ChatColor.GRAY + p.getName());
- }
- }
- player.sendMessage(ChatColor.GRAY + "---------------");
- } else {
- player.sendMessage(prefix + ChatColor.RED + "You aren't in party!");
- }
- break;
- case "remove":
- if (!leader.containsKey(player)) {
- player.sendMessage(prefix + ChatColor.RED + "You aren't the leader of the party!");
- } else {
- if (args[1] != null) {
- if (members.get(player).contains(Bukkit.getPlayer(args[1]))) {
- ArrayList<Player> al = members.get(player);
- al.remove(Bukkit.getPlayer(args[1]));
- members.put(player, al);
- inparty.remove(Bukkit.getPlayer(args[1]));
- player.sendMessage(prefix + ChatColor.GREEN + args[1] + " has been removed successfully");
- } else {
- player.sendMessage(prefix + ChatColor.RED + args[1] + "isn't in your party!");
- }
- } else {
- player.sendMessage(prefix + ChatColor.GRAY + "correct usage: /party remove <player>");
- }
- }
- break;
- case "deny":
- if (sent.containsKey(player)) {
- sent.remove(player);
- player.sendMessage(prefix + ChatColor.GREEN + "You successfully denied the invite!");
- } else {
- player.sendMessage(prefix + ChatColor.RED + "You didn't get invite to the party");
- }
- break;
- case "accept":
- if (sent.containsKey(player)) {
- if (!inparty.containsKey(player)) {
- if (args.length == 2) {
- leader.put(player, Bukkit.getPlayer(args[1]));
- leader.put(Bukkit.getPlayer(args[1]), Bukkit.getPlayer(args[1]));
- sent.remove(player);
- sent.remove(Bukkit.getPlayer(args[1]));
- inparty.put(player, player);
- inparty.put(Bukkit.getPlayer(args[1]), Bukkit.getPlayer(args[1]));
- if (members.get(leader.get(player)) != null) {
- members.get(leader.get(player)).add(player);
- } else {
- members.put(leader.get(player), list);
- members.get(leader.get(player)).add(player);
- }
- player.sendMessage(prefix + ChatColor.GREEN + "You successfully joined the party!");
- Bukkit.getPlayer(args[1]).sendMessage(prefix + ChatColor.GOLD + player.getName() + ChatColor.GREEN + " has joined your party!");
- } else {
- player.sendMessage(prefix + ChatColor.GRAY + "correct usage: /party accept <player>");
- }
- } else {
- player.sendMessage(prefix + ChatColor.RED + "You are already in a party!");
- }
- } else {
- player.sendMessage(prefix + ChatColor.RED + "You didn't get invite to the party");
- }
- break;
- case "leave":
- if (!leader.containsValue(player)) {
- if (inparty.containsKey(player)) {
- ArrayList<Player> rlist = members.get(leader.get(player));
- if (rlist.size() > 1) {
- for (Player p: rlist) {
- if (p.getName() != player.getName() && p.getPlayer().getName() != null) {
- p.sendMessage(prefix + ChatColor.GRAY + player.getName() + " has left the party!");
- } else {
- player.sendMessage(prefix + ChatColor.GRAY + "You left the party!");
- }
- }
- leader.get(player).sendMessage(prefix + ChatColor.GRAY + player.getName() + " has left the party!");
- members.get(leader.get(player)).remove(player);
- leader.remove(player);
- inparty.remove(player);
- } else if (rlist.size() == 1) {
- leader.get(player).sendMessage(prefix + ChatColor.GRAY + player.getName() + " has left the party!");
- leader.get(player).sendMessage(prefix + ChatColor.RED + "Party was disbanded!");
- player.sendMessage(prefix + ChatColor.GRAY + "You left the party!");
- inparty.remove(leader.get(player));
- members.remove(leader.get(player));
- leader.remove(leader.get(player));
- leader.remove(player);
- inparty.remove(player);
- }
- } else {
- player.sendMessage(prefix + ChatColor.RED + "You aren't in party!");
- }
- } else {
- player.sendMessage(prefix + ChatColor.RED + "You cannot leave the party because you are the leader!");
- }
- break;
- case "disband":
- if (inparty.containsKey(player)) {
- if (leader.containsValue(player)) {
- for (Player p: members.get(player)) {
- inparty.remove(p);
- leader.remove(p);
- p.sendMessage(prefix + ChatColor.RED + "Party was disbanded!");
- }
- player.sendMessage(prefix + ChatColor.RED + "Party was disbanded!");
- inparty.remove(player);
- leader.remove(player);
- members.remove(player);
- } else {
- player.sendMessage(prefix + ChatColor.RED + "You have to be the leader to use this command!");
- }
- }
- break;
- case "warp":
- if (inparty.containsKey(player)) {
- if (leader.containsValue(player)) {
- if (!ingame.containsKey(player)) {
- for (Player p: members.get(player)) {
- p.teleport(player);
- p.sendMessage(prefix + ChatColor.GOLD + player.getName() + ChatColor.GRAY + " warped you to their world!");
- }
- player.sendMessage(prefix + ChatColor.GRAY + "you warped your party to your world!");
- } else {
- }
- } else {
- player.sendMessage(prefix + ChatColor.RED + "You have to be the leader to use this command!");
- }
- } else {
- player.sendMessage(prefix + ChatColor.RED + "You aren't in party!");
- }
- break;
- default:
- player.sendMessage(prefix + ChatColor.GRAY + "/party help");
- break;
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment