minecraft:有没有办法阻止来自插件的消息?

cgfeq70w  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(396)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

上个月关门了。
改进这个问题
我对java还很陌生。本月我通过制作minecraft插件学到了很多东西,我想尝试制作一种新型插件:
一个插件,阻止来自另一个插件的消息,如果他们包含一个特定的单词或句子。
我怎样才能做到这一点?我问这个问题是因为有很多带有硬编码消息的插件,不知道如何编码的人无法更改它们。我正在为许多其他插件制作一些插件,以帮助人们定制消息。任何帮助都将不胜感激。

z9smfwbn

z9smfwbn1#

是的,那是可能的。您应该使用数据包处理拦截不需要的消息。
你可以直接从 Bukkit 服务器上或 Bungeecord 代理层。
为了让事情变得简单,你可以使用 ProtocolLib . 我已经很长时间没有使用minecraft了,我不知道这个库会有什么不同,但是我给你一段代码让你在上面搜索。

ProtocolLibrary.getProtocolManager().addPacketListener(
    new PacketAdapter(this, ConnectionSide.SERVER_SIDE, Packets.Server.CHAT) {
        @Override
        public void onPacketSending(PacketEvent event) {
            String message = event.getPacket().getStrings().read(0);
            event.getPacket().getStrings().write(0, "Intercepted: "+message);
        }
    }
);

相关问题