Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.09 KB | None | 0 0
  1. package superz.clanspvp.plugin.clanmanager;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Iterator;
  5. import java.util.List;
  6. import java.util.Random;
  7.  
  8.  
  9.  
  10.  
  11.  
  12. import org.bukkit.Material;
  13. import org.bukkit.entity.Player;
  14. import org.bukkit.inventory.ItemStack;
  15. import org.bukkit.inventory.meta.ItemMeta;
  16.  
  17. import superz.clanspvp.plugin.ArrayAndHash;
  18. import superz.clanspvp.plugin.Main;
  19.  
  20. public class Clan {
  21.  
  22. public List<Player> ClanPlayers = new ArrayList<>();
  23. public Player leader;
  24. public boolean mode;
  25. public Clan clan;
  26. public Clan(Player p){
  27. leader = p;
  28. ArrayAndHash.Clans.put(this, p);
  29. clan = this;
  30. clan.JoinPlayerToClan(p);
  31. new ClanScoreboard(p, "&bParty", clan);
  32. mode = false;
  33. }
  34.  
  35. public void RemoveClan(Player p){
  36.  
  37. if (isLeader(p)){
  38. if (getPlayersSize() == 1){
  39.  
  40. KickPlayerFromClan(p);
  41. if (isLeader(p)){
  42. ArrayAndHash.Clans.remove(this);
  43. for (DuelManager duel : ArrayAndHash.ClanDuels.keySet()){
  44. Clan c = ArrayAndHash.ClanDuels.get(duel);
  45. if (c == this){
  46. ArrayAndHash.ClanDuels.remove(duel);
  47. }
  48. }
  49. for (InviteManager invite : ArrayAndHash.Invites.keySet()){
  50. Clan c = ArrayAndHash.ClanDuels.get(invite);
  51. if (c == this){
  52. ArrayAndHash.ClanDuels.remove(invite);
  53. }
  54. }
  55. for (EventManager event : ArrayAndHash.ClanEvents.keySet()){
  56. Clan c = ArrayAndHash.ClanDuels.get(event);
  57. if (c == this){
  58. ArrayAndHash.ClanDuels.remove(event);
  59.  
  60. }}
  61. p.getInventory().setItem(2, getItem(Material.COMPASS, "Create a clan", 1));
  62. p.getInventory().setItem(4, getItem(Material.PAPER, "Join a Clans", 1));
  63. p.getInventory().setItem(6, getItem(Material.GHAST_TEAR, "Spectate a Clans", 1));
  64.  
  65. p.updateInventory();
  66. new LobbyScoreboard(p, "&b&lClansPVP");
  67.  
  68. return;
  69. }
  70. }
  71.  
  72. }
  73.  
  74. }
  75.  
  76. public Iterator<Player> getPlayers(){
  77. Iterator<Player> it = ClanPlayers.iterator();
  78. return it;
  79.  
  80. }
  81.  
  82. @SuppressWarnings("deprecation")
  83. public void JoinPlayerToClan(Player p){
  84. if (ClanPlayers.size() <16){
  85. sendMessageToPlayerInClan(Main.plugin.getConfig().getString("prefix") + Main.plugin.getConfig().getString("Clan.Join-Clan").replace("%Player%", p.getName()));
  86.  
  87. ClanPlayers.add(p);
  88. p.getInventory().clear();
  89.  
  90. p.getInventory().setItem(0, getItem(Material.ENDER_PEARL, "Duel a clan", 1));
  91. p.getInventory().setItem(2, getItem(Material.PAPER, "Info Game", 1));
  92. p.getInventory().setItem(4, getItem(Material.ENDER_CHEST, "Clan a event", 1));
  93. p.getInventory().setItem(6, getItem(Material.getMaterial(379), "Control Clan", 1));
  94. p.getInventory().setItem(8, getItem(Material.MAGMA_CREAM, "Leave Clan", 1));
  95. p.updateInventory();
  96. new ClanScoreboard(p, "&bParty", this);
  97. }else{
  98. if (p.hasPermission("cp.joinfull")){
  99. ArrayList<Player> players = new ArrayList<>();
  100. for (Player f : ClanPlayers){
  101. if (!(f.hasPermission("cp.joinfull"))){
  102. if (f != leader){
  103. players.add(f);
  104. }
  105. }
  106. }
  107. if (players.size() == 0){
  108. p.sendMessage(Main.plugin.getConfig().getString("prefix") + Main.plugin.getConfig().getString("Clan.Party-Full-Vip"));
  109.  
  110. return;
  111. }
  112. Player target = ClanPlayers.get(new Random().nextInt(players.size()));
  113.  
  114. LeavePlayerFromClan(target);
  115. sendMessageToPlayerInClan(Main.plugin.getConfig().getString("prefix") + Main.plugin.getConfig().getString("Clan.Join-Clan").replace("%Player%", p.getName()));
  116.  
  117. ClanPlayers.add(p);
  118. p.getInventory().clear();
  119.  
  120. p.getInventory().setItem(0, getItem(Material.ENDER_PEARL, "Duel a clan", 1));
  121. p.getInventory().setItem(2, getItem(Material.PAPER, "Info Game", 1));
  122. p.getInventory().setItem(4, getItem(Material.ENDER_CHEST, "Clan a event", 1));
  123. p.getInventory().setItem(6, getItem(Material.getMaterial(379), "Control Clan", 1));
  124. p.getInventory().setItem(8, getItem(Material.MAGMA_CREAM, "Leave Clan", 1));
  125. p.updateInventory();
  126. new ClanScoreboard(p, "&bParty", this);
  127. }else{
  128. p.sendMessage(Main.plugin.getConfig().getString("prefix") + Main.plugin.getConfig().getString("Clan.Party-Full"));
  129.  
  130. }
  131. }
  132. }
  133.  
  134. public void LeavePlayerFromClan(Player p){
  135. if (isLeader(p)){
  136.  
  137. if (getPlayersSize() > 1){
  138. ClanPlayers.remove(p);
  139.  
  140. Player randomplayer = (Player) ClanPlayers.get(new Random().nextInt(ClanPlayers.size()));
  141. leader = randomplayer;
  142. ArrayAndHash.Clans.put(this, randomplayer);
  143.  
  144. }else{
  145. RemoveClan(p);
  146.  
  147.  
  148. }
  149.  
  150. p.getInventory().clear();
  151.  
  152. p.getInventory().setItem(2, getItem(Material.COMPASS, "Create a clan", 1));
  153. p.getInventory().setItem(4, getItem(Material.PAPER, "Join a Clans", 1));
  154. p.getInventory().setItem(6, getItem(Material.GHAST_TEAR, "Spectate a Clans", 1));
  155.  
  156. p.updateInventory();
  157. new LobbyScoreboard(p, "&b&lClansPVP");
  158.  
  159. }else{
  160. sendMessageToPlayerInClan(Main.plugin.getConfig().getString("prefix") + Main.plugin.getConfig().getString("Clan.Leave-Clan").replace("%Player%", p.getName()));
  161.  
  162. ClanPlayers.remove(p);
  163. p.getInventory().clear();
  164. p.getInventory().setItem(2, getItem(Material.COMPASS, "Create a clan", 1));
  165. p.getInventory().setItem(4, getItem(Material.PAPER, "Join a Clans", 1));
  166. p.getInventory().setItem(6, getItem(Material.GHAST_TEAR, "Spectate a Clans", 1));
  167.  
  168. p.updateInventory();
  169. new LobbyScoreboard(p, "&b&lClansPVP");
  170. }
  171.  
  172. }
  173.  
  174. public void KickPlayerFromClan(Player p){
  175. if (!(isLeader(p))){
  176. sendMessageToPlayerInClan(Main.plugin.getConfig().getString("prefix") + Main.plugin.getConfig().getString("Clan.Kicked-Clan").replace("%Player%", p.getName()));
  177. ClanPlayers.remove(p);
  178. p.getInventory().clear();
  179. p.getInventory().setItem(2, getItem(Material.COMPASS, "Create a clan", 1));
  180. p.getInventory().setItem(4, getItem(Material.PAPER, "Join a Clans", 1));
  181. p.getInventory().setItem(6, getItem(Material.GHAST_TEAR, "Spectate a Clans", 1));
  182.  
  183. p.updateInventory();
  184. new LobbyScoreboard(p, "&b&lClansPVP");
  185.  
  186. }}
  187.  
  188. public void sendMessageToPlayerInClan(String message){
  189. for (Player all : ClanPlayers){
  190. all.sendMessage(Main.F(message));
  191. }
  192.  
  193. }
  194. public boolean isInClan(Player p){
  195. return ClanPlayers.contains(p);
  196. }
  197. public boolean isLeader(Player p){
  198. Boolean b = leader == p;
  199. return b;
  200. }
  201. public Player getLeader(){
  202. return leader;
  203. }
  204. public Integer getPlayersSize(){
  205. return ClanPlayers.size();
  206. }
  207. public ItemStack getItem(Material type, String displayname, Integer amount){
  208. ItemStack G = new ItemStack(type , amount);
  209. ItemMeta Gm = G.getItemMeta();
  210. Gm.setDisplayName(Main.F(displayname));
  211. G.setItemMeta(Gm);
  212. return G;
  213. }
  214.  
  215.  
  216. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement