Выполнить команду из Spigot в BungeeCord - PullRequest
0 голосов
/ 04 декабря 2018

Мне нужно выполнить команду от Spigot в BungeeCord, но я не знаю, как это сделать.Я использую дополнительные функции ... например, прямой канал, канал сообщений, BungeeCord.getInstance (). DispatchCommand, ProxyServer.getInstance (). DispatchCommand.Ни один из этих вариантов не работает.Кстати, BungeeCord [..]. DispatchCommand i ProxyServer отправляет ошибку в консоли.Я использую BungeeCord API в первый раз.Я искал больше вариантов, возможно, я использовал плохой API.

1 Ответ

0 голосов
/ 10 декабря 2018

Вам придется использовать Каналы обмена сообщениями непосредственно из Spigot и отправлять информацию в BungeeCord с этим.

Вот небольшой пример того, как вы хотите это сделать:

ByteArrayOutputStream b = new ByteArrayOutputStream();
    DataOutputStream out = new DataOutputStream(b);
    try {
        out.writeUTF("Message");
        out.writeUTF("ALL");
        out.writeUTF("/alert Testing command distance");
    } catch(Exception e) {
        e.printStackTrace();
    }

    p.sendPluginMessage(getPlugin(), "BungeeCord", b.toByteArray());

Конечно, вы можете изменить информацию, которую хотите отправить, вот официальная вики о каналах обмена сообщениями: https://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/#message

PS: Вы должны зарегистрировать канал в своем onEnable ()

this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
...