Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package superz.clanspvp.plugin.clanmanager;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Random;
- import org.bukkit.Material;
- import org.bukkit.entity.Player;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import superz.clanspvp.plugin.ArrayAndHash;
- import superz.clanspvp.plugin.Main;
- public class Clan {
- public List<Player> ClanPlayers = new ArrayList<>();
- public Player leader;
- public boolean mode;
- public Clan clan;
- public Clan(Player p){
- leader = p;
- ArrayAndHash.Clans.put(this, p);
- clan = this;
- clan.JoinPlayerToClan(p);
- new ClanScoreboard(p, "&bParty", clan);
- mode = false;
- }
- public void RemoveClan(Player p){
- if (isLeader(p)){
- if (getPlayersSize() == 1){
- KickPlayerFromClan(p);
- if (isLeader(p)){
- ArrayAndHash.Clans.remove(this);
- for (DuelManager duel : ArrayAndHash.ClanDuels.keySet()){
- Clan c = ArrayAndHash.ClanDuels.get(duel);
- if (c == this){
- ArrayAndHash.ClanDuels.remove(duel);
- }
- }
- for (InviteManager invite : ArrayAndHash.Invites.keySet()){
- Clan c = ArrayAndHash.ClanDuels.get(invite);
- if (c == this){
- ArrayAndHash.ClanDuels.remove(invite);
- }
- }
- for (EventManager event : ArrayAndHash.ClanEvents.keySet()){
- Clan c = ArrayAndHash.ClanDuels.get(event);
- if (c == this){
- ArrayAndHash.ClanDuels.remove(event);
- }}
- p.getInventory().setItem(2, getItem(Material.COMPASS, "Create a clan", 1));
- p.getInventory().setItem(4, getItem(Material.PAPER, "Join a Clans", 1));
- p.getInventory().setItem(6, getItem(Material.GHAST_TEAR, "Spectate a Clans", 1));
- p.updateInventory();
- new LobbyScoreboard(p, "&b&lClansPVP");
- return;
- }
- }
- }
- }
- public Iterator<Player> getPlayers(){
- Iterator<Player> it = ClanPlayers.iterator();
- return it;
- }
- @SuppressWarnings("deprecation")
- public void JoinPlayerToClan(Player p){
- if (ClanPlayers.size() <16){
- sendMessageToPlayerInClan(Main.plugin.getConfig().getString("prefix") + Main.plugin.getConfig().getString("Clan.Join-Clan").replace("%Player%", p.getName()));
- ClanPlayers.add(p);
- p.getInventory().clear();
- p.getInventory().setItem(0, getItem(Material.ENDER_PEARL, "Duel a clan", 1));
- p.getInventory().setItem(2, getItem(Material.PAPER, "Info Game", 1));
- p.getInventory().setItem(4, getItem(Material.ENDER_CHEST, "Clan a event", 1));
- p.getInventory().setItem(6, getItem(Material.getMaterial(379), "Control Clan", 1));
- p.getInventory().setItem(8, getItem(Material.MAGMA_CREAM, "Leave Clan", 1));
- p.updateInventory();
- new ClanScoreboard(p, "&bParty", this);
- }else{
- if (p.hasPermission("cp.joinfull")){
- ArrayList<Player> players = new ArrayList<>();
- for (Player f : ClanPlayers){
- if (!(f.hasPermission("cp.joinfull"))){
- if (f != leader){
- players.add(f);
- }
- }
- }
- if (players.size() == 0){
- p.sendMessage(Main.plugin.getConfig().getString("prefix") + Main.plugin.getConfig().getString("Clan.Party-Full-Vip"));
- return;
- }
- Player target = ClanPlayers.get(new Random().nextInt(players.size()));
- LeavePlayerFromClan(target);
- sendMessageToPlayerInClan(Main.plugin.getConfig().getString("prefix") + Main.plugin.getConfig().getString("Clan.Join-Clan").replace("%Player%", p.getName()));
- ClanPlayers.add(p);
- p.getInventory().clear();
- p.getInventory().setItem(0, getItem(Material.ENDER_PEARL, "Duel a clan", 1));
- p.getInventory().setItem(2, getItem(Material.PAPER, "Info Game", 1));
- p.getInventory().setItem(4, getItem(Material.ENDER_CHEST, "Clan a event", 1));
- p.getInventory().setItem(6, getItem(Material.getMaterial(379), "Control Clan", 1));
- p.getInventory().setItem(8, getItem(Material.MAGMA_CREAM, "Leave Clan", 1));
- p.updateInventory();
- new ClanScoreboard(p, "&bParty", this);
- }else{
- p.sendMessage(Main.plugin.getConfig().getString("prefix") + Main.plugin.getConfig().getString("Clan.Party-Full"));
- }
- }
- }
- public void LeavePlayerFromClan(Player p){
- if (isLeader(p)){
- if (getPlayersSize() > 1){
- ClanPlayers.remove(p);
- Player randomplayer = (Player) ClanPlayers.get(new Random().nextInt(ClanPlayers.size()));
- leader = randomplayer;
- ArrayAndHash.Clans.put(this, randomplayer);
- }else{
- RemoveClan(p);
- }
- p.getInventory().clear();
- p.getInventory().setItem(2, getItem(Material.COMPASS, "Create a clan", 1));
- p.getInventory().setItem(4, getItem(Material.PAPER, "Join a Clans", 1));
- p.getInventory().setItem(6, getItem(Material.GHAST_TEAR, "Spectate a Clans", 1));
- p.updateInventory();
- new LobbyScoreboard(p, "&b&lClansPVP");
- }else{
- sendMessageToPlayerInClan(Main.plugin.getConfig().getString("prefix") + Main.plugin.getConfig().getString("Clan.Leave-Clan").replace("%Player%", p.getName()));
- ClanPlayers.remove(p);
- p.getInventory().clear();
- p.getInventory().setItem(2, getItem(Material.COMPASS, "Create a clan", 1));
- p.getInventory().setItem(4, getItem(Material.PAPER, "Join a Clans", 1));
- p.getInventory().setItem(6, getItem(Material.GHAST_TEAR, "Spectate a Clans", 1));
- p.updateInventory();
- new LobbyScoreboard(p, "&b&lClansPVP");
- }
- }
- public void KickPlayerFromClan(Player p){
- if (!(isLeader(p))){
- sendMessageToPlayerInClan(Main.plugin.getConfig().getString("prefix") + Main.plugin.getConfig().getString("Clan.Kicked-Clan").replace("%Player%", p.getName()));
- ClanPlayers.remove(p);
- p.getInventory().clear();
- p.getInventory().setItem(2, getItem(Material.COMPASS, "Create a clan", 1));
- p.getInventory().setItem(4, getItem(Material.PAPER, "Join a Clans", 1));
- p.getInventory().setItem(6, getItem(Material.GHAST_TEAR, "Spectate a Clans", 1));
- p.updateInventory();
- new LobbyScoreboard(p, "&b&lClansPVP");
- }}
- public void sendMessageToPlayerInClan(String message){
- for (Player all : ClanPlayers){
- all.sendMessage(Main.F(message));
- }
- }
- public boolean isInClan(Player p){
- return ClanPlayers.contains(p);
- }
- public boolean isLeader(Player p){
- Boolean b = leader == p;
- return b;
- }
- public Player getLeader(){
- return leader;
- }
- public Integer getPlayersSize(){
- return ClanPlayers.size();
- }
- public ItemStack getItem(Material type, String displayname, Integer amount){
- ItemStack G = new ItemStack(type , amount);
- ItemMeta Gm = G.getItemMeta();
- Gm.setDisplayName(Main.F(displayname));
- G.setItemMeta(Gm);
- return G;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement