Flame modpacks use "manifest.json" as their only characteristic for
identification. Some modpacks might have other files called
"manifest.json", which is why we should prefer modpack formats that have
a stricter structure.
We have been asked by CurseForge to remove this workaround as it
violates their terms of service. This is just a partial revert, as the
UI changes were otherwise unrelated.
This reverts commit 92e8aaf36f, reversing
changes made to 88a93945d4.
- Very basic wizard just to allow the user to choose whether to keep
their old paste settings or use the new default settings.
- People who used custom 0x0 instances would just be kept on those
settings and won't see the wizard.
- There's now a notice reminding people to change the base URL if they
had a custom base URL and change the paste type (that was something I
personally had problems with when I was testing, so a reminder was
helpful for me).
- Broke down some of the long lines on APIPage.cpp to be more readable.
- Added copyright headers where they were missing.
- Changed the paste service display names to the names they are more
commonly known by.
- Changed the default hastebin base URL to https://hst.sh due to the
acquisition of https://hastebin.com by Toptal.
Mojang introduced a new structure for natives, notably for LWJGL.
Now instead of using the `natives` structure of the version format, Mojang
chose to create a seperate library entry for each platform, which uses
the `rules` structure to specify the platform. These new split natives
carry the same groupId and artifactId, as the main library, but have an
additional classifier, like `natives-linux`.
When comparing GradleSpecifiers we don't look at the classifier, so when
the launcher sees an artifact called `org.lwjgl:lwjgl:3.3.1` and right
after that an artifact called `org.lwjgl:lwjgl:3.3.1:natives-linux`, it
will treat it as "already added" and forget it.
This change will include the classifier in that comparison.
Sometimes, the version field, that is supposed to be a string, was a
null instead. Inspecting other entries, seems like the default for not
having a version should be "", so I made it like that in case the
version was null.
I hope this fixes the issue :^)