我試圖通過「BungeeCord插件消息通道」從代理向服務器發送消息。我用下面的代碼:從BungeeCord發送插件消息到SpigotServer
在BungeeCord插件:
ByteArrayOutputStream bb = new ByteArrayOutputStream();
DataOutputStream outt = new DataOutputStream(bb);
try {
outt.writeUTF("Forward");
outt.writeUTF("lobby");
outt.writeUTF("anfrage ");
outt.writeUTF(pp.getDisplayName());
} catch (IOException e) {
e.printStackTrace();
}
pp.sendData("GlobalSystem", bb.toByteArray());
在插口插件:
public class MessageListener implements PluginMessageListener {
public MessageListener(main main) {
plugin = main;
plugin.getServer().getMessenger().registerIncomingPluginChannel(plugin, "GlobalSystem", this);
plugin.getServer().getMessenger().registerOutgoingPluginChannel(plugin, "GlobalSystem");
}
@Override
public void onPluginMessageReceived(String channel, Player p, byte[] args) {
System.out.println("hi");
}
main plugin = main.getPlugin();
}
有什麼不對呢? 我閱讀這些網站上的所有內容:
Bukkit & Bungee Plugin Message Channel
對不起,我的英文不好,並感謝您的幫助:)
該代碼看起來像是正確的,什麼'pp'? 編輯:你在onEnable中使用了messageListener(this)嗎? – TxCraft
'pp'是一個'ProxiedPlayer'...我讓它工作,但有些消息收到了兩次,所以現在我試着用'套接字'來開發一些東西。 – Nightfighter001