网络处理器

基本信息

属性 值
包 uk.co.qmunity.lib.network
类 NetworkHandler + Packet / PacketHelper / LocatedPacket / LocatedPacketDouble
子包 annotation(9 个)、packet(4 个)
玩家可见 否

功能

NetworkHandler 是对 Forge SimpleNetworkWrapper 的薄封装, 提供 sendToServer / sendToAllAround 等便捷方法 (NetworkHandler.java:71)。

sendToAllAround 有三个重载:按 TargetPoint 发送(:71)、 按 World + 显式半径发送(:60)、按 World 发送(半径硬编码 64 格,:66)。

频道在 QmunityLib.init() 中创建(QmunityLib.java:31):

NetworkHandler.initQLib();

注解驱动的字段同步

network/annotation 包是本库的另一项 API 能力: 用 @DescPacketHandler、@DescSynced、@GuiSynced、@LazySynced、 @FilteredSynced、@SyncedField 等注解自动生成包字段的同步代码, 下游无需手写序列化。

已知缺陷

  1. 无独立频道号常量的硬编码:NetworkRegistry.INSTANCE.newSimpleChannel(modid) 直接以 modid 作频道名(NetworkHandler.java:26),频道标识与 modid 耦合。

相关条目