stevenarella
stevenarella copied to clipboard
1.19 protocol (759)
Major protocol update
https://minecraft.fandom.com/wiki/Java_Edition_1.19 https://wiki.vg/Protocol https://wiki.vg/index.php?title=Protocol&oldid=17688 1.19 (759) https://wiki.vg/index.php?title=Protocol&oldid=17499 1.18.2 (758) https://wiki.vg/index.php?title=Protocol&type=revision&diff=17688&oldid=17499 1.19 (759) vs 1.18.2 (758)
A long ways off, massive changes in this update including to the login handshake: attempting to join fails: disconnect.genericReason, server logs:
[17:46:21] [Server thread/INFO]: /[0:0:0:0:0:0:0:1]:65313 lost connection: Internal Exception: io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException: readerIndex(12) + length(1) exceeds writerIndex(12): PooledUnsafeDirectByteBuf(ridx: 12, widx: 12, cap: 12)
Has Sig Data, signatures added to https://wiki.vg/index.php?title=Protocol#Login_Start, and more
Now able to login, and can see… something. Flat terrain with a hole is expected, but should be dirt instead of logs, and somehow it is positioned above(?) the player instead of beneath them on the ground:
![Screen Shot 2022-08-07 at 6 01 34 PM](https://user-images.githubusercontent.com/43691553/183319970-6157e70f-2abf-485c-ba4b-cbedc27674b8.png)
This may be related to the min_y changes.
Not all packets parsing is implemented yet, both new packets and changed packets.
Also https://wiki.vg/Protocol_version_numbers says 1.19.1 is 760, but has no protocol change details (yet?). https://minecraft.fandom.com/wiki/Java_Edition_1.19.1 says "This version is not compatible with 1.19 servers.". And another update just dropped, https://minecraft.fandom.com/wiki/Java_Edition_1.19.2 released "released on August 5" two days ago, but it "is compatible with 1.19.1 servers".
Fixed the dimension type loading, which was needed for min_y, now able to see the world as it is:
![Screen Shot 2022-08-07 at 6 37 00 PM](https://user-images.githubusercontent.com/43691553/183322486-ab9851d0-89d6-491b-b521-09f6a2122b9f.png)
but not stable. Walking towards the village crashes with:
thread 'main' panicked at 'TODO: support chunk data y<0 non-air (bit_size 4, single_value Some(4), block_count 4)', src/world/mod.rs:1059:25
which was the hack introduced in https://github.com/iceiix/stevenarella/pull/640#issuecomment-1200471082 to get past not supporting negative y coordinates - may have to support it.. update: this may be improved with https://github.com/iceiix/stevenarella/pull/727 Support chunks with negative y values
This is great work! Do you think it would be possible to work together to get this patch for leafish as well? I can't work on this rn tho, as i am implementing wgpu-mc as our new renderer, which enables vulkan, dx and metal support for leafish