- Баллы
- 96
- Имя в Minecraft
- i0xHeX
Здравствуйте. Возникла одна проблемка, когда я пытался сделать плагин, который бы используя BungeeCord, мог бы передавать нужную команду, которую я пишу и выполнять на других серверах.
В общем пока кратко код отправки и отловки сообщений:
Отправка:
Вот как я это ловлю:
А теперь проблема:
Оно пишет "Отправляем...", но то, что оно приняло сообщение на другом сервере (а там тоже этот же плагин стоит), не пишет. Но уверен, что оно читает мессенджи, ибо PlayerCount оно читало. Что же я не так делаю? Вот как идет начало класса:
В общем пока кратко код отправки и отловки сообщений:
Отправка:
Код:
ByteArrayDataOutput out=ByteStreams.newDataOutput();
out.writeUTF("GCExecute");
out.writeUTF(builder.toString()); // Здесь отправка сообщения. На данный момент даже не столь важно, какое.
if (Bukkit.getServer().getOnlinePlayers().size() != 0) {
p = Iterables.getFirst(Bukkit.getServer().getOnlinePlayers(), null);
p.sendPluginMessage(this, "BungeeCord", out.toByteArray());
Bukkit.getServer().broadcastMessage("§eОтправляем... Player = " + p);
return true;
}
Bukkit.getServer().broadcastMessage("§cЧто-то не так о_О");
Код:
@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("GCExecute")) {
String command = in.readUTF();
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), command);
Bukkit.getServer().broadcastMessage("§aКоманда выполнена.");
}
}
Оно пишет "Отправляем...", но то, что оно приняло сообщение на другом сервере (а там тоже этот же плагин стоит), не пишет. Но уверен, что оно читает мессенджи, ибо PlayerCount оно читало. Что же я не так делаю? Вот как идет начало класса:
Код:
public class GlobalCommand extends JavaPlugin implements PluginMessageListener