PrismarineJS / minecraft-data

Language independent module providing minecraft data for minecraft clients, servers and libraries.
https://prismarinejs.github.io/minecraft-data
670 stars 224 forks source link

Java 1.21.3 Support #936

Open GroobleDierne opened 1 month ago

GroobleDierne commented 1 month ago

Fixes #929, #928

TODO:

rom1504 commented 1 month ago

Can you point missing files to 1.21.1 for now

rom1504 commented 1 month ago

Let's open an nmp and mineflayer PRs using this

rom1504 commented 1 month ago

nmp and mineflayer PRs

https://github.com/PrismarineJS/node-minecraft-protocol/pull/1347 https://github.com/PrismarineJS/mineflayer/pull/3489

fail due to wrong protocol as expected

rom1504 commented 1 month ago

see https://github.com/extremeheat/extracted_minecraft_data/pulls as a source of info for the protocol

rom1504 commented 1 month ago

https://github.com/extremeheat/extracted_minecraft_data/pull/13.patch

GroobleDierne commented 1 month ago

see https://github.com/extremeheat/extracted_minecraft_data/pulls as a source of info for the protocol

I'm using yarn because some files failed to decompile in extremheat's repository. Anyway, I'll stop here for tonight.

rom1504 commented 4 weeks ago

https://github.com/PrismarineJS/node-minecraft-protocol/actions/runs/11543601911/job/32356083688 now passing but still some packet errors

GroobleDierne commented 4 weeks ago

https://github.com/PrismarineJS/node-minecraft-protocol/actions/runs/11543601911/job/32356083688 now passing but still some packet errors

I still need to implement one or two server-bound packets and the Slot type is messed up which causes quite a lot of packets to throw errors sometimes. I'm also stuck with the unlock_recipes packet, @extremeheat could you take a look at it?

rom1504 commented 3 weeks ago

https://github.dev/extremeheat/extracted_minecraft_data/pull/15 can help

extremeheat commented 2 weeks ago

I did some work on the protocol, still some work to do:

MrBruz commented 2 weeks ago

@GroobleDierne For 'registryDataIsMandatory', 'version' needs to be changed to 'versions'

GroobleDierne commented 2 weeks ago

@GroobleDierne For 'registryDataIsMandatory', 'version' needs to be changed to 'versions'

Thx

GroobleDierne commented 1 week ago

Now only recipes related packets seem to be missing for protocol support

GroobleDierne commented 1 week ago

I'll try debugging them later today

rom1504 commented 2 days ago

Hey, please remove registries.json file from this PR and put it in its own PR. I think we need a lot more work on it to include in mc data

rom1504 commented 2 days ago

Also let's review https://github.com/GroobleDierne/minecraft-data/pull/2

GroobleDierne commented 2 days ago

Hey, please remove registries.json file from this PR and put it in its own PR. I think we need a lot more work on it to include in mc data

I realised that if the client and server share the same minecraft:core pack version (communicated through SelectKnowPacks), the server only needs to send every key from every registries. So my current plan is to implement this in p-registry, as for most registries, mc-data already has the data to generate the keys. In the long term, we must add some fields to the existing schemas and create new ones too.

GroobleDierne commented 1 day ago

After a looooooot of debugging, I figured out the bug was just in front of my eyes in the registryHolderSet decoding code and not in the protocol definition :face_holding_back_tears: