Fix version normalization for Minecraft classic #1041
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently in McVersionLookup, it checks if the version string starts with
c0.
and removes the leadingc
character. This leads to invalid semver as a version likec0.0.11a
ends up being converted to0.0.11.a
. I added two new regex patterns and changed the normalization so it gives the following results:c0.0.11a
->0.11.0
c0.0.23a_01
->0.23.1
c0.24_st_03
->0.24.3
c0.25_05_st
->0.25.5
c0.29
->0.29.0
c0.30-c
->0.30.0
I opted to strip all non-digit characters (
a
used in early classic versions, thest
used in survival test versions, and thes
andc
used in late classic versions) because none of them are used to denote that one version is later than another.