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