Commit Graph

778 Commits

Author SHA1 Message Date
699ad316f0 Rework curseforge download (#611)
* Use the bulk endpoint on mod resolution for faster download
* Search on modrinth for api blocked mods
* Display a dialog for manually downloading blocked mods
2022-05-28 21:53:12 +02:00
fcbe233fdb Merge pull request #651 from Scrumplex/fix-mnemonic-apipage
Fix mnemonics in APIPage
2022-05-28 15:46:38 +02:00
4af8a9ed2d Merge pull request #650 from flowln/modrinth_icons
Fix modpack icon importing with non-standard icon paths
2022-05-28 15:45:26 +02:00
83078cd49a Merge pull request #657 from JJL772/fix/misc-fixes
Fix crash when aborting instance import
2022-05-28 15:38:36 +02:00
85901082a2 Merge pull request #639 from Scrumplex/fix-prio-modpack-formats
Prefer stricter modpack formats during import
2022-05-28 15:36:18 +02:00
2be8100e7c Merge branch 'develop' into global-jvm-args 2022-05-28 21:15:00 +08:00
48e20cb5f7 Fix crash when aborting instance import
Also turned a loop var into a reference to avoid copies on each iteration
2022-05-27 16:41:57 -07:00
6fb5bb6a5e fix: fix mnemonics in APIPage 2022-05-27 14:50:06 +02:00
5d3bef32ca fix: use absolute path when installing icons 2022-05-27 09:15:32 -03:00
3ff26d5cfe Merge pull request #642 from ryanccn/metaserver-show-default
Show default metaserver in settings
2022-05-26 20:09:07 -03:00
0263677e1f fix: prefer stricter modpack formats during import
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.
2022-05-26 22:41:20 +02:00
938cae1130 revert: remove CurseForge workaround for packs too
Partial revert. Handles missing download URLs.
2022-05-25 23:14:13 +02:00
e50ec31351 fix 2022-05-25 14:44:47 +08:00
8a1ba03bcb show default metaserver 2022-05-25 11:46:15 +08:00
f8e7fb3d48 fix: better handle corner case 2022-05-24 20:27:25 -03:00
9673dac22b add more #ifdefs 2022-05-24 16:18:02 +08:00
0426149580 standard macOS app behavior 2022-05-24 13:35:01 +08:00
4ee5264e24 ATLauncher: Delete files from configs if they conflict with a mod 2022-05-23 21:44:01 +01:00
101ca60b2b ATLauncher: Handle extra arguments depends 2022-05-23 20:57:15 +01:00
f28a0aa666 ATLauncher: Handle main class depends 2022-05-23 20:57:14 +01:00
5a1de15332 fix: use a more robust method of finding metadata indexes
Often times, mods can have their name in different forms, changing one
letter to caps or the other way (e.g. JourneyMaps -> Journeymaps).
This makes it possible to find those as well, which is not perfect by
any means, but should suffice for the majority of cases.
2022-05-23 14:58:15 -03:00
42f8ec5b14 fix: do modrinth changes on flame too
Also fix a dumb moment
2022-05-23 14:58:14 -03:00
2fc1b99911 chore: add license headers
Prevents a massive inload of Scrumplex ditto's :)

I didn't add it to every file modified in this PR because the other
changes are pretty minor, and would explode the diff of the PR. I hope
that's not a problem O_O
2022-05-23 14:58:14 -03:00
3a923060ce fix: use correct hash_type when creating metadata
also fix: wrong parameter name in LocalModUpdateTask's constructor
also fix: correct hash_format in CF
2022-05-23 14:58:14 -03:00
0985adfd74 change: support newest changes with packwiz regarding CF 2022-05-23 14:58:08 -03:00
59d628208b feat: allow trying to use multiple hash types 2022-05-23 14:43:31 -03:00
5c5699bba5 refactor: move individual pack version parsing to its own function 2022-05-23 14:43:31 -03:00
67e0214fa5 fix: don't try to delete mods multiple times
Shows a more helpful message if there's a parsing error when reading the
index file.

Also fixes a clazy warning with using the `.data()` method in a
temporary QByteArray object.
2022-05-23 14:43:10 -03:00
e17b6804a7 fix: implement PR suggestions
Some stylistic changes, and get hashes from the mod providers when
building the metadata.
2022-05-23 14:43:09 -03:00
96e36f0604 refactor: make mod metadata presence (or lack of) easier to find out 2022-05-23 14:43:09 -03:00
a99858c64d refactor: move code out of ModIndex.h
Now it's in ModIndex.cpp
2022-05-23 14:43:07 -03:00
ba50765c30 tidy: apply clang-tidy to some files
Mostly the ones created in this PR + Mod.h / Mod.cpp / ModDetails.h
2022-05-23 14:42:28 -03:00
d7f6b36990 test+fix: add basic tests and fix issues with it 2022-05-23 14:42:28 -03:00
4439666e67 feat: allow disabling mod metadata usage 2022-05-23 14:42:28 -03:00
23febc6d94 feat: cache metadata in ModDetails
Allows for more easy access to the metadata by outside entities
2022-05-23 14:42:28 -03:00
fab4a7a602 refactor: abstract metadata handling and clarify names 2022-05-23 14:42:28 -03:00
092d2f8917 feat: add support for converting builtin -> packwiz mod formats
Also adds more documentation.
2022-05-23 14:42:28 -03:00
e9fb566c07 refactor: remove unused mod info and organize some stuff 2022-05-23 14:42:27 -03:00
5a34e8fd7c refactor: move mod tasks to their own subfolder
Makes the launcher/minecraft/mod/ folder a little more organized.
2022-05-23 14:42:27 -03:00
fcfb2cfc3d feat: use mod metadata for getting mod information
For now this doesn't mean much, but it will help when we need data
exclusive from the metadata, such as addon id and mod provider.

Also removes the metadata when the mod is deleted, and make the Mod.h
file a little more pleasing to look at :)
2022-05-23 14:42:27 -03:00
e93b9560b5 feat: add method to delete mod metadata
Also moves indexDir setting from LocalModUpdateTask -> ModFolderModel
2022-05-23 14:42:27 -03:00
8e4438b375 feat: add parser for current impl of packwiz mod.toml
This reads a local mod.toml file and extract information from it. Using
C libs in C++ is kind of a pain tho :(
2022-05-23 14:42:27 -03:00
eaa5ce4467 feat(ui): adapt SequentialTask to nested SequentialTasks 2022-05-23 14:42:27 -03:00
c86c719e1a feat: add mod index updating to ModDownloadTask
This makes ModDownloadTask into a SequentialTask with 2 subtasks:
Downloading the mod files and updating the index with the new
information.

The index updating is done first so that, in the future, we
can prompt the user before download if, for instance, we discover
there's another version already installed.
2022-05-23 14:42:27 -03:00
b30b88716e feat: add very early mod.toml packwiz support
Also use it as a on-disk format for storing mod metadata. This will be
used later on to make better mod managment.
2022-05-23 14:42:22 -03:00
6d0ea13f97 make JVM args PlainTextEdit 2022-05-23 16:52:12 +08:00
dca4ea5cea Merge pull request #621 from Scrumplex/remove-curseforge-workarounds 2022-05-23 10:47:30 +02:00
ac4497a1f2 Merge pull request #605 from jamierocks/h-atl-improv
ATLauncher: Various work to improve the platform support
2022-05-22 20:09:13 -03:00
cb69869836 revert: remove CurseForge workaround
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 92e8aaf36f72b7527322add169b253d0698939d0, reversing
changes made to 88a93945d4c9a11bf53016133335d359b819585e.
2022-05-22 22:07:03 +02:00
f2e2053134 feat: add trailing slash to meta URL if it is missing 2022-05-22 21:36:31 +02:00