- Баллы
- 76
~1 месяц назад лазил по форумам, и узнал об этом самом канале "обмена сообщениями плагинов". За перевод я не ручаюсь, но вроде называется он именно так (Plugin Messaging Channel).
Узнал если быть точнее не о канале, а о его единственном для меня на тот момент нужном применение - отправка игроков между серверами связанными банжой. И теперь мне захотелось понять, что он из себя представляет, если использовать его на все 100%.
Начал гуглить. Нашёл соответствующую тему на спиготе. Почитал, вроде все понятно, но кроме одного... Так как в байтах я вообще не разбираюсь, я по-факту не понимал, что и как происходит. В связи с чем возникла проблема. Я вообще никак не понимаю, как получить информацию? Отправлять байты например с сообщением - одно дело. Другое - принимать байты с данными например о игроках.
UPD: Так, я начал читать более внимательнее. Заметил, как детектить, но все же.
Фидбэка - ноль. (PluginMessageListener имплементирован!)
Узнал если быть точнее не о канале, а о его единственном для меня на тот момент нужном применение - отправка игроков между серверами связанными банжой. И теперь мне захотелось понять, что он из себя представляет, если использовать его на все 100%.
Начал гуглить. Нашёл соответствующую тему на спиготе. Почитал, вроде все понятно, но кроме одного... Так как в байтах я вообще не разбираюсь, я по-факту не понимал, что и как происходит. В связи с чем возникла проблема. Я вообще никак не понимаю, как получить информацию? Отправлять байты например с сообщением - одно дело. Другое - принимать байты с данными например о игроках.
UPD: Так, я начал читать более внимательнее. Заметил, как детектить, но все же.
Java:
ByteArrayDataOutput out = ByteStreams.newDataOutput();
out.writeUTF("GetServers");
p.sendPluginMessage(Main.getPlugin(Main.class), "BungeeCord", out.toByteArray());
Java:
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("GetServers")) {
String serverList = in.readUTF();
System.out.println("IN = " + serverList);
}
}
Фидбэка - ноль. (PluginMessageListener имплементирован!)
Последнее редактирование:
