网络处理器
基本信息
| 属性 | 值 |
|---|---|
| 包 | 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 等注解自动生成包字段的同步代码,
下游无需手写序列化。
已知缺陷
- 无独立频道号常量的硬编码:
NetworkRegistry.INSTANCE.newSimpleChannel(modid)直接以 modid 作频道名(NetworkHandler.java:26),频道标识与 modid 耦合。
相关条目
- 多方块 TileEntity - 部件增删同步的发起方