Advertisement
frnathan13

Party.java

Apr 25th, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.49 KB | None | 0 0
  1. package storm.party.entities;
  2.  
  3. import net.md_5.bungee.api.ChatColor;
  4. import net.md_5.bungee.api.ChatMessageType;
  5. import net.md_5.bungee.api.chat.TextComponent;
  6. import net.md_5.bungee.api.config.ServerInfo;
  7. import net.md_5.bungee.api.connection.ProxiedPlayer;
  8. import storm.party.core.PartyManager;
  9.  
  10. import java.lang.ref.WeakReference;
  11. import java.util.ArrayList;
  12. import java.util.UUID;
  13.  
  14. import static storm.party.Party.*;
  15.  
  16. public class Party {
  17.     private UUID id;
  18.     private UUID owner;
  19.     private ArrayList<UUID> players;
  20.     private WeakReference<PartyManager> partyManagerWr;
  21.    
  22.     public Party(PartyManager partyManager, UUID owner){
  23.         id = UUID.randomUUID();
  24.         owner = owner;
  25.         players = new ArrayList();
  26.         players.add(owner);
  27.        
  28.         partyManagerWr = new WeakReference(partyManager);
  29.     }
  30.    
  31.     public void pull(){
  32.         ProxiedPlayer _owner = INSTANCE.getProxy().getPlayer(owner);
  33.         if(_owner.isConnected()){
  34.             ServerInfo target = _owner.getServer().getInfo();
  35.             for(UUID playerUniqueId : players){
  36.                 if(playerUniqueId != _owner.getUniqueId()) {
  37.                     ProxiedPlayer member = ((ProxiedPlayer) INSTANCE.getProxy().getPlayer(playerUniqueId));
  38.                     if(!member.getServer().isConnected() || (member.getServer().isConnected() && member.getServer().getInfo() != target)){
  39.                         member.connect(target);
  40.                     }
  41.                 }
  42.             }
  43.         }
  44.     }
  45.    
  46.     public void destroy(){
  47.         ProxiedPlayer ownerp = INSTANCE.getProxy().getPlayer(owner);
  48.        
  49.         for(UUID playerUniqueId : players){
  50.             if(playerUniqueId != owner){
  51.                 ProxiedPlayer player = INSTANCE.getProxy().getPlayer(playerUniqueId);
  52.                
  53.                 TextComponent base = new TextComponent();
  54.                
  55.                 TextComponent party = new TextComponent();
  56.                 party.setText("Party");
  57.                 party.setBold(true);
  58.                 party.setColor(ChatColor.GOLD);
  59.                 base.addExtra(party);
  60.                
  61.                 TextComponent separator = new TextComponent();
  62.                 separator.setText(" ยป ");
  63.                 separator.setBold(true);
  64.                 separator.setColor(ChatColor.DARK_GRAY);
  65.                 base.addExtra(separator);
  66.                
  67.                 TextComponent message = new TextComponent();
  68.                 message.setText(String.format("Party has been destroyed by %s.", ownerp.getName()));
  69.                 message.setColor(ChatColor.GRAY);
  70.                 base.addExtra(message);
  71.                
  72.                 player.sendMessage(ChatMessageType.CHAT, base);
  73.             }
  74.         }
  75.        
  76.         partyManagerWr.get().getParties().remove(getId());
  77.         partyManagerWr.clear();
  78.     }
  79.    
  80.     public UUID getId() {
  81.         return id;
  82.     }
  83.    
  84.     public UUID getOwner() {
  85.         return owner;
  86.     }
  87.    
  88.     public ArrayList<UUID> getPlayers() {
  89.         return players;
  90.     }
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement