织物插件消息传递

织物插件消息传递

一个在代理网络上发送和接收插件消息的标准库

基础库

Fabric 插件消息

Enviroment Server Discord

一个 Fabric 插件消息库!这个服务端模组会注册一个插件消息数据包(PluginMessagePacket.class)和一个插件消息事件(PluginMessageEvent#EVENT),供开发者在他们的项目中使用。

如果没有这个模组,开发者需要注册自己的数据包,当同时存在多个数据包时会导致冲突。通过使用此处提供的数据包和监听器,可以避免这个问题。

开发者信息

将该模组作为依赖项添加到你的 Gradle 构建脚本中!这会将 API 包含在你的最终构建中。

dependencies {
    modImplementation(include("com.pokeskies:fabricpluginmessage:1.0.0"))
}

发送

然后你可以通过创建 PluginMessagePacket 类的实例并发送它来发送插件消息!你可以通过传入字节数组或 FriendlyByteBuf 来创建它:

ByteArrayDataOutput outputStream = ByteStreams.newDataOutput();
outputStream.writeUTF("Connect");
outputStream.writeUTF("cobblemon");

ServerPlayNetworking.send(player, new PluginMessagePacket(outputStream.toByteArray()));

接收

如果你需要从代理接收插件消息,你可以订阅 PluginMessageEvent:

PluginMessageEvent.EVENT.register((payload, context) -> {
    ByteArrayDataInput inputStream  = ByteStreams.newDataInput(payload.getData());
    String channel = inputStream.readUTF();
    if (channel.equals("GetServers")) {
        String serversList = inputStream.readUTF();
        System.out.println("Proxy Servers: " + serversList);
    }
});

支持

已为所有 Skies Development 相关项目开设了一个社区支持 Discord!欢迎加入并提出问题或留下建议 :)