| include | ||
| .gitignore | ||
| README.md | ||
| uncrustify-cfg | ||
MINECRAFT PACKETS FORMAT
"Minecraft Packets Format" or "MiPaFo" is a C++ library that aims to have codecs that can encode and decode serverbound and clientbound packets for a variety of Minecraft version protocols. It uses template codec functors as it is highly based on Quox.
Structure
Each protocol version should have its own namespace. Every Minecraft protocol version has a unique version number and this should match pvn_x with x replaced with the protocol version number. Given that most packets do not change between most version upgrades, any codec that does not change a protocol state over a version upgrade should include and use the previous version's codec.
Supported Minecraft versions
There is presently only one Minecraft version being built out. This is being worked on exclusively to set the precedent for this library's format going forward. Once this is complete, attempts will be made to incorporate other versions of the game.
1.19.3
Protocol version number: 761
| Clientbound | Serverbound | |
|---|---|---|
| Handshaking | N/A | 0/1 |
| Play | 0/107 | 0/51 |
| Status | 0/2 | 0/2 |
| Login | 0/5 | 0/3 |
Dependencies
As a rule, this header-only library does not add independent, versioned submodules. The reasoning for this is manifold:
-
this can lead to situations where large projects employ the same header-only library more than once but at different versions of it,
-
there is no guarantee that updates required to keep a header-only library functional and/or safe are going to remain header-only, and
-
this library does not define any specifics on how it must be used in a compiled program.
Dependent submodules (i.e. submodules that explicitly exist only to serve MiPaFo) would be allowed but are unexpected to be of use.
Quox
Version: v0.0.2
Git SHA: fa704890e65d16da7677c879c0f1d5b1ee6d3132
Available at: git.mnpx.dev
Quox's include directory must be in include path.
Zpauk
Version: v0.0.2
Git SHA: 959ae6f849bc9c66660293274ecf5af8e2b1d294
Available at: git.mnpx.dev
Zpauk's include directory must be in include path.
Credits
- Primary codebase development, MnPX
- Quox library, MnPX
- Zpauk library, MnPX
- Minecraft: Java Edition distribution, Mojang Studios