BungeeChannelApi é um projeto simples que facilita o uso das "operações" que podem ser feitas com o BungeeCord Plugin Messaging Channel, como pegar o número de jogadores de um servidor, enviar um jogador para outro servidor e etc. Ele é bem pequeno, consiste em apenas 1 classe, caso queira utilizar basta pegar essa classe o jogar no seu projeto. (Em breve vou adicionar um tutorial pra maven)

 

Repositório: https://github.com/l...ungeeChannelApi

 

Exemplo de uso:

 

Pegando os jogadores online de um servidor na proxy:

BungeeChannelApi api = BungeeChannelApi.of(this);

api.getPlayerCount("NOME DO SERVIDOR")
  .whenComplete((result, error) -> {
    System.out.println("Jogadores online: " + result);
  });


Maneira tradicional: 

public class Test extends JavaPlugin implements PluginMessageListener {

    @Override
    public void onEnable() {
      this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
      this.getServer().getMessenger().registerIncomingPluginChannel(this, "BungeeCord", this);
    }

    // Send a message requesting player count
    public void requestPlayerCount() {
      ByteArrayDataOutput out = ByteStreams.newDataOutput();
      out.writeUTF("PlayerCount");
      out.writeUTF("NOME DO SERVIDOR");

      Player player = Iterables.getFirst(Bukkit.getOnlinePlayers(), null);

      player.sendPluginMessage(this, "BungeeCord", out.toByteArray());
    }

    @Override
    public void onPluginMessageReceived(String channel, Player player, byte[] message) {
      if (!channel.equals("BungeeCord")) return;

      ByteArrayDataInput in = ByteStreams.newDataInput(message);
      String subchannel = in.readUTF();

      if (subchannel.equals("PlayerCount")) {
        String server = in.readUTF();
        int count = in.readInt();

        System.out.println("Jogadores online: " + count);
      }
    }

} 


Enviar um jogador pra outro servidor:

BungeeChannelApi api = BungeeChannelApi.of(this);
api.connect(jogador, "nome do servidor"); // jogador pode ser tanto um Player ou o nome de outro jogador.


Créditos:
- Leonardosc

ESTE SITE FOI CRIADO USANDO