Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package storm.party.entities;
- import net.md_5.bungee.api.ChatColor;
- import net.md_5.bungee.api.ChatMessageType;
- import net.md_5.bungee.api.chat.TextComponent;
- import net.md_5.bungee.api.config.ServerInfo;
- import net.md_5.bungee.api.connection.ProxiedPlayer;
- import storm.party.core.PartyManager;
- import java.lang.ref.WeakReference;
- import java.util.ArrayList;
- import java.util.UUID;
- import static storm.party.Party.*;
- public class Party {
- private UUID id;
- private UUID owner;
- private ArrayList<UUID> players;
- private WeakReference<PartyManager> partyManagerWr;
- public Party(PartyManager partyManager, UUID owner){
- id = UUID.randomUUID();
- owner = owner;
- players = new ArrayList();
- players.add(owner);
- partyManagerWr = new WeakReference(partyManager);
- }
- public void pull(){
- ProxiedPlayer _owner = INSTANCE.getProxy().getPlayer(owner);
- if(_owner.isConnected()){
- ServerInfo target = _owner.getServer().getInfo();
- for(UUID playerUniqueId : players){
- if(playerUniqueId != _owner.getUniqueId()) {
- ProxiedPlayer member = ((ProxiedPlayer) INSTANCE.getProxy().getPlayer(playerUniqueId));
- if(!member.getServer().isConnected() || (member.getServer().isConnected() && member.getServer().getInfo() != target)){
- member.connect(target);
- }
- }
- }
- }
- }
- public void destroy(){
- ProxiedPlayer ownerp = INSTANCE.getProxy().getPlayer(owner);
- for(UUID playerUniqueId : players){
- if(playerUniqueId != owner){
- ProxiedPlayer player = INSTANCE.getProxy().getPlayer(playerUniqueId);
- TextComponent base = new TextComponent();
- TextComponent party = new TextComponent();
- party.setText("Party");
- party.setBold(true);
- party.setColor(ChatColor.GOLD);
- base.addExtra(party);
- TextComponent separator = new TextComponent();
- separator.setText(" ยป ");
- separator.setBold(true);
- separator.setColor(ChatColor.DARK_GRAY);
- base.addExtra(separator);
- TextComponent message = new TextComponent();
- message.setText(String.format("Party has been destroyed by %s.", ownerp.getName()));
- message.setColor(ChatColor.GRAY);
- base.addExtra(message);
- player.sendMessage(ChatMessageType.CHAT, base);
- }
- }
- partyManagerWr.get().getParties().remove(getId());
- partyManagerWr.clear();
- }
- public UUID getId() {
- return id;
- }
- public UUID getOwner() {
- return owner;
- }
- public ArrayList<UUID> getPlayers() {
- return players;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement