MyNet

基本信息

net.glease.tc4tweak.network.MyNet —— SimpleNetworkWrapper 的克隆, 类注释说明动机:

Pretty much a SimpleNetworkWrapper clone, but will not crash if unknown message is received.

与 SimpleNetworkWrapper 的唯一差别

收到未注册的消息时,Forge 原生实现会抛异常; 本实现吞掉并忽略,从而在「客户端 mod 版本更新、服务端未更新」时不会崩。

实例

TC4Tweak.CHANNEL = new MyNet(MOD_ID) —— 频道名即 modid tc4tweak。

注册的消息(全部 → Side.CLIENT)

在 Common Proxy 的 preInit 中注册:

消息类 discriminator
MessageSendConfiguration 0
MessageSendConfigurationV2 1
TileHoleSyncPacket 2

三个 discriminator 连续且各消息处理类与请求类同类型 (registerMessage(MessageSendConfiguration.class, MessageSendConfiguration.class, 0, Side.CLIENT))。

辅助

  • IndexedCodec —— 与 TileHoleSyncPacket 配套的编解码辅助。
  • Networked Configuration —— 接收配置广播的落地存储。

相关条目

源码

  • src/main/java/net/glease/tc4tweak/network/MyNet.java