Skip to content

BungeeManager

João Gabriel edited this page Jul 8, 2023 · 1 revision

O BungeeManager foi feito para manipular o BungeeCord via PluginMessage, sem que seja necessário criar um sistema todo para controlar isso. O BungeeManager permite que você efetue quase todas as ações permitidas entre o Spigot e BungeeCord, além de armazenar elas facilmente para você.

Enviando uma requisitação

Antes que você possa sair pegando as informações que precisa é necessário atualizar elas, para fazer isso você cria uma requisição:

// Chama o BungeeManager
IBungeeManager bungee = Bukkit.getHyperSpigot().getBungeeManager();
bungee.requestUpdate(BungeeAction: action, Player: player, Object: value); // vamos ver os BungeeAction abaixo

Agora você precisa escolher a ação que deseja efetuar e configurar os parâmetros.

BungeeAction.CONNECT

Conecte um player a um servidor.

bungee.requestUpdate(BungeeAction.CONNECT, player, "servidor"); // se você tiver o player que quer enviar
bungee.requestUpdate(BungeeAction.CONNECT, new FakePlayer(String: nick), "servidor"); // se você tiver apenas o nickname

BungeeAction.PLAYER_COUNT

Atualiza a quantidade de jogadores de um servidor.

bungee.requestUpdate(BungeeAction.PLAYER_COUNT, null, "servidor"); // use null no lugar do "servidor" para atualizar todos

BungeeAction.PLAYER_LIST

Atualiza a lista de jogadores de um servidor.

bungee.requestUpdate(BungeeAction.PLAYER_LIST, null, "servidor"); // use null no lugar do "servidor" para atualizar todos

BungeeAction.SERVER_LIST

Atualiza a lista de servidores conectados ao Bungee.

bungee.requestUpdate(BungeeAction.SERVER_LIST, null, null);

BungeeAction.SERVER_IP

Atualiza o IP:port dos servidores.

bungee.requestUpdate(BungeeAction.SERVER_IP, null, "servidor"); // use null no lugar do "servidor" para atualizar todos

BungeeAction.UUID

Atualiza o UUID de um jogador.

bungee.requestUpdate(BungeeAction.UUID, player, null); // não use o FakePlayer aqui

Para recuperar o UUID do jogador (na visão do proxy):

player.getBungeeUUID(); // retornará null se não houver atualizado

BungeeAction.KICK_PLAYER

Kicka um player do servidor.

bungee.requestUpdate(BungeeAction.KICK_PLAYER, player, null); // se você tiver o player que quer kickar
bungee.requestUpdate(BungeeAction.KICK_PLAYER, new FakePlayer(String: nick), null); // se você tiver apenas o nickname

BungeeAction.MESSAGE

Envia uma mensagem para o player.

bungee.requestUpdate(BungeeAction.MESSAGE, player, null); // se você tiver o player
bungee.requestUpdate(BungeeAction.MESSAGE, new FakePlayer(String: nick), null); // se você tiver apenas o nickname

IMPORTANTE Se você deseja enviar uma mensagem para o player pelo Bungee (e evitar fazer verificações) use:

Bukkit.sendMessage(Player: player, String message);
Bukkit.sendMessage(String: player, String message);

Recuperando informações

Para recuperar as informações de um servidor use:

Map<String, Object> obj = bungee.getServerInfo(String server);
// keys/value type:
//
// count/integer = quantidade de jogadores online
// playerList/String[] = lista de jogadores online
// ip/String = IP do servidor
// port/integer = Porta do servidor

Para verificar se um player está online na network:

boolean has = bungee.hasPlayer(String: name);

Para recuperar a quantidade total de jogadores online:

int online = bungee.getOnlineCount();

Clone this wiki locally