
Overview
ElegantNetworking is a packet system framework which seeks to make client-server interaction in MinecraftForge mods as easy as possible.
Example of packet declaration:
And usage of packet:
And that's all you need!
General features
-
Auto-registration of packets
- enough to mark packet class by annotation
- you can forget about the channel and packet id's
-
Automatic serialization/deserialization
- supported primitives, collections, data-classes(POJO) and algebric data types overall
- exists able to override logic of serialization
-
Sendable data structure and receiving handler is localised in one place
- one packet - one class
- Design of api is offers to do not depend on the version of Minecraft
- Compatible with obfuscators(less tested)
Getting started
Look for readme.md at main repository
Gratitudes
Thx @Dahaka934 for discussion and review
Thx @tox1cozZ for drew my attention to the annotation processors
Thx @Plasticable for advice of using gradle 4.4.1 (not actualy, but helpful in due time)
Thx @Icosider for consulting about gradle configuration
Thx @AmaZ1nG for idea about serialization of nbt and other basic types that useful in modding
Thx @CDAGaming for the fork of FG2.1 that compatible with gradle 5+
Thx @Liahim85 for pretty logo