-
-
Notifications
You must be signed in to change notification settings - Fork 223
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PC protocol updates and refactor #948
base: master
Are you sure you want to change the base?
Conversation
We have protodef in now |
will unblock PrismarineJS/flying-squid#665 and PrismarineJS/flying-squid#664 |
If anyone wants to help contribute the process here is not hard. Just need to backwards diff all the versions's proto.yml files and apply any missing fixes to the old version. Click . in the GitHub page for the branch to open vscode and find 1.11/proto.yml and compare with 1.10/proto.yml (right click a file and do "select for compare..." and "compare with selected), then make fixes Context- many times when updating the protocol people fix the data for the a new version (fix because the data was always wrong in mc-data, not that mc code changed) but they don't apply the changes to old versions. So this introduces the need to use features and pushes other ugly logic to everything else. Eg, 1.21 updates a packet, some things are changed to the structure unrelated to 1.21 but those structure changes aren't applied backwards so you need a new "feature" to use the packet now. Also can use the opportunity to improve old definitions (eg using mappers instead of switching on changing numbers). So to implement this in mineflayer/nmp/fs, we need to go through all the packet listens and writes one by one and check if it changed in this PR. |
master issue - https://github.com/PrismarineJS/minecraft-data/blob/master/data/pc/latest/proto.yml#L1557 is not consistent across states (config vs play state uses varint vs mapper) |
Idk how to mark back as draft |
Fix PrismarineJS/node-minecraft-protocol#1350
TODO