1 124
收录服务器
1486
注册
49 788
玩家
PacketListenerAPI
处理发送和接收数据包的简单API|兼容所有版本
作 者 inventivetalent
发布时间 2015年01月05日
支持核心 Spigot
原生版本
支持版本 1.16,1.17
点此下载

PacketListenerAPI 📡

PacketListenerAPI 提供了一种简单的方法来监听数据包的发送和接收,并包含修改数据包字段的功能。

版本信息

测试过的 Minecraft 版本:1.16.17

版本 3.8 之后需要 Java 11+

贡献者与资源

使用示例

检查数据包

以下示例展示了如何检查实体生成的数据包。

不兼容版本的方法

PacketListenerAPI.addPacketHandler(new PacketHandler() {
    @Override
    public void onSend(SentPacket packet) {
        if (packet.getPacket() instanceof PacketPlayOutSpawnEntity) {
            // 当前正在生成实体。
        }
    }

    @Override
    public void onReceive(ReceivedPacket packet) {
    }
});

兼容版本的方法(推荐)

PacketListenerAPI.addPacketHandler(new PacketHandler() {
    @Override
    public void onSend(SentPacket packet) {
        if (packet.getPacketName().equals("PacketPlayOutSpawnEntity")) {
            // 当前正在生成实体。
        }
    }

    @Override
    public void onReceive(ReceivedPacket packet) {
    }
});

修改字段值

以下示例展示了如何修改实体生成数据包中的实体类型字段。

PacketListenerAPI.addPacketHandler(new PacketHandler() {
    @Override
    public void onSend(SentPacket packet) {
        if(packet.getPacketName().equals("PacketPlayOutSpawnEntity")) {
            packet.setPacketValue("f", <EntityID>); // f 是定义实体类型的字段
        }
    }

    @Override
    public void onReceive(ReceivedPacket packet) {
    }
});

依赖管理

<dependency>
    <groupId>org.inventivetalent.packetlistenerapi</groupId>
    <artifactId>api</artifactId>
    <version>VERSION-SNAPSHOT</version>
</dependency>
Maven 仓库

兼容性

此 API 兼容 APIManger。有关如何实施的信息,请点击 这里

联系方式与支持

如果您喜欢这个资源,请留下评价。也非常感谢您的捐赠支持。