网络通信(Networking)
服务器与客户端之间的通信是实现成功模组(mod)开发的基础。
在网络通信中有两个主要目标:
- 确保客户端的视图与服务器的视图“同步”(in sync)
- 例如,坐标为 (X, Y, Z) 的花刚刚生长了
- 让客户端能够通知服务器玩家发生了某些变化
- 例如,玩家按下了某个按键
实现这些目标最常见的方式是让客户端与服务器之间传递消息(message)。这些消息通常是结构化的,包含特定格式的数据,便于发送与接收。
NeoForge 提供了一种基于 netty 的通信机制来简化这一过程。你可以通过监听 RegisterPayloadHandlersEvent 事件,然后向注册器注册特定类型的 有效载荷(payloads)、它的读取器(reader)以及处理函数(handler)来实现自定义通信。