跳到正文

Client-Server Communication API

作者:Danrus110_

Communication API for Fabric client and Paper server

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

Client-Server Communication API

how to use for developer:

  • Register packet in common code:
public class FooBarPacket implements CscPacket{
    
    public FooBarPacket(ByteBuf buf) {
        read(buf);
    }

    private int foo;

    @Override
    public void read(ByteBuf buf) {
        foo = buf.readInt();
    }

    @Override
    public void write(ByteBuf buf) {
        buf.writeInt(foo);
    }
}
public static CscPacketType<FooBarPacket> FOO_BAR_PACKET = CscApi.registerPacket(
  "foo_bar", 
  FooBarPacket.class, 
  FooBarPacket::new
);
  • Use it on Server:
public class ServerClass {
    private static final Logger log = LoggerFactory.getLogger(ServerClass.class);

    public void init() {
        CscServer.getService().registerListener((packet, player) -> {
            log.info("Received packet {} from player {}", packet.getClass().getSimpleName(), player.getName());
        }, ModPackets.FOO_BAR_PACKET);
    }
    
    public void sendFooBarPacket(Player player) {
        CscServer.getService().sendPacket(new FooBarPacket(), player);
    }
}
  • Use it on Client:
public class ClientClass {
    private static final Logger log = LoggerFactory.getLogger(ClientClass.class);

    public void init() {
        CscClient.getService().registerListener(packet -> {
            log.info("Received packet: {}", packet);
        }, ModPackets.FOO_BAR_PACKET);
    }
    
    public void sendFooBarPacket() {
        CscClient.getService().sendPacket(new FooBarPacket());
    }
}

常见问题

Client-Server Communication API 支持哪些 Minecraft 版本?

Client-Server Communication API 支持 Minecraft Java 版 1.21.8–1.21.11,共 2 个版本,可用的加载器:Fabric / Paper。下载时注意选择和你游戏版本一致的文件。

Client-Server Communication API 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Paper,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅客户端。

评论

登录后评论和评分

Danrus110_ 的其他作品

查看全部 →