网络包模块 >=1.21.1
Availability
NetworkUtil(批量发送工具)在 1.21.2–1.21.11 版本中未同步,仅 1.21.1 和 26.1 中可用。其余 API 在所有版本中一致。
包 dev.anvilcraft.lib.v2.network 提供基于 NeoForge 网络系统的高层抽象,用于简化网络包的定义、方向管理及自动注册。
文档索引
| 文档 | 内容 |
|---|---|
| 数据包接口 | IPacket、IClientboundPacket、IServerboundPacket、双端包 |
| 注册系统 | @Network 注解、NetworkRegistrar、PacketProtocol |
| 发送工具 | NetworkUtil 批量发送方法 |
核心流程
- 定义网络包类,实现对应接口(如
IClientboundPacket),声明static final Type<?>和StreamCodec - 在
package-info.java添加@Network注解,指定协议阶段 - 在
RegisterPayloadHandlersEvent中调用NetworkRegistrar.register(registrar, modId)
注意事项
- 包类必须有无参构造(通常使用 record)
NetworkRegistrar通过反射查找Type和StreamCodec静态字段- 如果注册抛出异常,检查网络包类是否遗漏了静态字段或未实现对应接口