从BungeeCord中的Spigot执行命令

时间:2018-12-04 19:08:07

标签: java bukkit

我需要从BungeeCord中的Spigot执行命令,但是我不知道该怎么做。我使用更多功能...例如转发通道,消息通道,BungeeCord.getInstance()。dispatchCommand,ProxyServer.getInstance()。dispatchCommand。所有这些选项都不起作用。通过BungeeCord [..]。dispatchCommand i ProxyServer在控制台中发送错误。我是第一次使用BungeeCord API。我正在寻找更多选择,也许我使用了错误的api。

1 个答案:

答案 0 :(得分:0)

您将不得不直接从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());

您当然可以更改要发送的信息,这是有关消息传递渠道的官方Wiki:https://www.spigotmc.org/wiki/bukkit-bungee-plugin-messaging-channel/#message

PS:您必须在onEnable()中注册频道

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