java - 从 BungeeCord 发送 PluginMessage 到 SpigotServer

标签 java plugins minecraft bukkit bungeecord

我试图通过“BungeeCord Plugin Messaging Channel”从代理向服务器发送消息。我使用了以下代码:

在 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());

在 Spigot 插件中:

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();
}

它有什么问题? 我阅读了这些网站上的所有内容:

PostCrafter.de

Bukkit & Bungee Plugin Message Channel

抱歉我的英语不好,感谢您的帮助:)

最佳答案

你又犯了一个错误。您正在将数据包发送到播放器而不是服务器。你需要做的

pp.getServer().sendData("GlobalSystem", bb.toByteArray());

关于java - 从 BungeeCord 发送 PluginMessage 到 SpigotServer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34376024/

相关文章:

java - BukkitRunnable 中的 'this'

java - MineCraft 启动器代码无法使用 CSharp

java - 在 Android 中使用 .contains() 关键字的字符串匹配

java - 在方法级别过滤 servlet

maven - 应用Gradle Dependency-Check插件

gradle - 将参数传递给自定义 Gradle 任务

java - MySQL Java Bukkit 插件 - 从数据库中选择

java - 使用 facebook4j 从帖子中获取评论

.net - MEF 的 CompositionContainer.ComposeParts -- 加载可以解决的任何内容,并忽略错误

Delphi Indy TCP 连接到 RECON