Voxelum / minecraft-launcher-core-node

Provide packages to install Minecraft, launch Minecraft and more to build launcher with NodeJs/Electron!
https://docs.xmcl.app/en/core/
MIT License
174 stars 25 forks source link

Compatibility with legacy level #254

Open ci010 opened 1 year ago

ci010 commented 1 year ago

@John-Dean The PR #250 has some breaking change to the legacy region (1.14.4 1.12.2) format. Currently, I skip the tests to pass the build.

See github action https://github.com/Voxelum/minecraft-launcher-core-node/actions/runs/3919028110/jobs/6699776543 result.

If you have time you can take a look, I might pick up this item when I have time later.

John-Dean commented 1 year ago

Apologies, not too well at the moment (managed to catch the flu).

I've looked into this and basically we need to detect the version (pre 1.16) and then run a different function on it, see here: https://github.com/spoutn1k/mcmap/blob/fec14647c600244bc7808b242b99331e7ee0ec38/src/chunk_format_versions/section_format.cpp#L6

Currently the code is using the post 1.16 function, we need to implement the pre 1.16 and then version detect and select the correct one.

I'll look at this in a week or two when I'm feeling 100% again, but if you can get to it sooner that would be great.

John

John-Dean commented 1 year ago

https://github.com/Voxelum/minecraft-launcher-core-node/pull/255

ci010 commented 1 year ago

I just checked-in a big refactor on all packages. The @xmcl/world is merged to @xmcl/game-data package. The major breaking change is I remove the dependency of Long. Now we use native bigint to handle the Long. Currently, it's lack of test. If you have any finding please let me know.