timoreo22
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
Sefa Eyeoglu
938cae1130
revert: remove CurseForge workaround for packs too
...
Partial revert. Handles missing download URLs.
2022-05-25 23:14:13 +02:00
flow
e644380160
feat: add links to curseforge modpacks
2022-05-24 12:27:32 -03:00
flow
c5eb6fe6fb
feat: add links for curseforge mods
...
NOT DOWNLOAD LINKS! (someone would ask it i'm sure :p)
2022-05-24 12:14:08 -03:00
flow
ae2ef324f2
feat: add remaining links to modrinth mods
2022-05-24 11:58:11 -03:00
flow
d0337da8ea
feat: add remaining links to modrinth modpacks
2022-05-24 11:52:27 -03:00
flow
22e0527502
feat: add donate info to modrinth modpacks
2022-05-24 09:46:58 -03:00
flow
ca3c6c5e8a
feat: add donate links for modrinth mods
2022-05-24 09:38:48 -03:00
Jamie Mansfield
4ee5264e24
ATLauncher: Delete files from configs if they conflict with a mod
2022-05-23 21:44:01 +01:00
Jamie Mansfield
101ca60b2b
ATLauncher: Handle extra arguments depends
2022-05-23 20:57:15 +01:00
Jamie Mansfield
f28a0aa666
ATLauncher: Handle main class depends
2022-05-23 20:57:14 +01:00
flow
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
flow
42f8ec5b14
fix: do modrinth changes on flame too
...
Also fix a dumb moment
2022-05-23 14:58:14 -03:00
flow
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
flow
0985adfd74
change: support newest changes with packwiz regarding CF
2022-05-23 14:58:08 -03:00
flow
59d628208b
feat: allow trying to use multiple hash types
2022-05-23 14:43:31 -03:00
flow
5c5699bba5
refactor: move individual pack version parsing to its own function
2022-05-23 14:43:31 -03:00
flow
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
flow
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
flow
96e36f0604
refactor: make mod metadata presence (or lack of) easier to find out
2022-05-23 14:43:09 -03:00
flow
a99858c64d
refactor: move code out of ModIndex.h
...
Now it's in ModIndex.cpp
2022-05-23 14:43:07 -03:00
flow
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
flow
d7f6b36990
test+fix: add basic tests and fix issues with it
2022-05-23 14:42:28 -03:00
flow
fab4a7a602
refactor: abstract metadata handling and clarify names
2022-05-23 14:42:28 -03:00
flow
092d2f8917
feat: add support for converting builtin -> packwiz mod formats
...
Also adds more documentation.
2022-05-23 14:42:28 -03:00
flow
e93b9560b5
feat: add method to delete mod metadata
...
Also moves indexDir setting from LocalModUpdateTask -> ModFolderModel
2022-05-23 14:42:27 -03:00
flow
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
flow
eaa5ce4467
feat(ui): adapt SequentialTask to nested SequentialTasks
2022-05-23 14:42:27 -03:00
flow
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
Sefa Eyeoglu
dca4ea5cea
Merge pull request #621 from Scrumplex/remove-curseforge-workarounds
2022-05-23 10:47:30 +02:00
flow
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
Sefa Eyeoglu
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 92e8aaf36f
, reversing
changes made to 88a93945d4
.
2022-05-22 22:07:03 +02:00
Sefa Eyeoglu
29ef1e2c4b
Merge pull request #597 from Scrumplex/refactor-modloader-modapi
2022-05-22 13:17:53 +02:00
Jamie Mansfield
b84d52be3d
ATLauncher: Display warnings when selecting optional mods
2022-05-21 15:20:38 +01:00
Jamie Mansfield
305973c0e7
ATLauncher: Display install messages if applicable
2022-05-21 15:19:55 +01:00
Jamie Mansfield
7c251efc47
ATLauncher: Display mod colours in optional mod dialog
2022-05-21 15:18:50 +01:00
timoreo
c04adf7452
Do the url trick on initial modpack download too
2022-05-21 08:31:07 +02:00
timoreo
6542f5f15a
Apply suggestions
2022-05-20 22:06:36 +02:00
timoreo
30b56dbcbd
Port temp fix to mods too
2022-05-20 22:00:38 +02:00
timoreo
6afe59e76b
Very Temporary Fix for curseforge
2022-05-20 21:19:19 +02:00
Jamie Mansfield
f5f59203a2
ATLauncher: Reduce boilerplate code for fetching versions
2022-05-20 18:05:58 +01:00
Jamie Mansfield
c329730de8
ATLauncher: Install LiteLoader as a component where possible
2022-05-20 18:03:32 +01:00
Jamie Mansfield
97a83c9b7a
ATLauncher: Avoid downloading Forge twice for older packs
...
This resolves a quirk where Forge would still be downloaded for use as
a jarmod, even when we detected Forge as a component.
2022-05-20 17:58:00 +01:00
Sefa Eyeoglu
36045a8b0a
chore: improve readability
...
Co-authored-by: flow <thiagodonato300@gmail.com>
2022-05-19 12:37:20 +02:00
Sefa Eyeoglu
943090db98
refactor: allow tracking multiple mod loaders
2022-05-19 08:49:27 +02:00
flow
441075f610
fix: version field in technic pack manifest being null
...
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 :^)
2022-05-18 17:17:16 -03:00
Sefa Eyeoglu
cc13310083
Merge pull request #565 from Scrumplex/modrinth-packs
...
Initial Modrinth modpack support
2022-05-17 16:09:22 +02:00
flow
887246a66b
fix: typo and useless code
2022-05-16 17:09:14 -03:00
dada513
3070565fa3
Merge pull request #545 from DioEgizio/patch-4
2022-05-15 21:42:51 +02:00
flow
7194bb1b81
fix: validate whitelisted download urls
2022-05-15 16:06:49 -03:00
flow
5f2398fe59
chore: license headers 2
2022-05-15 08:26:34 -03:00
Sefa Eyeoglu
3abf466632
chore: add/update license headers
2022-05-15 13:20:05 +02:00
flow
4bb429a0fb
change: use build variables for the modrinth API URLs
...
Make it more consistent with the others
2022-05-15 07:43:02 -03:00
flow
4a0e4fdb85
fix: add author page url
2022-05-15 07:15:56 -03:00
Sefa Eyeoglu
9731e06728
fix: fix build on Qt 5.12
2022-05-15 11:49:27 +02:00
flow
4745ed2818
fix: choose valid download url even if it's not the primary one
...
It seems to be possible to have modpack versions that have to primary
file. In those cases, we pick a valid one "at random".
2022-05-14 22:50:04 -03:00
flow
9899a0e098
fix: Have the URL be the project URL itself
...
(I think, doesn't seem to work for the waffle though, probably because
of the staging API :/)
2022-05-14 21:47:35 -03:00
flow
4fda35b466
feat: add modrinth pack downloading
...
Things that don't work / work poorly (there's more for sure but those
are the evident ones):
- Icons are broken in the import dialog
- No way to search for private packs
- Icons are not downloaded when downloading a mod
- No support for multiple download URLs
- Probably a lot more...
2022-05-14 20:19:26 -03:00
kb1000
db03846358
Add support for importing Modrinth packs from files
2022-05-14 20:01:09 +02:00
timoreo22
649b8ac7c6
Merge pull request #537 from PolyMC/stable
...
Merge stable into develop
2022-05-09 18:06:56 +02:00
DioEgizio
96b2758169
fix websiteurl in curseforge modpacks
2022-05-09 17:42:17 +02:00
Sefa Eyeoglu
c4549a5375
Update launcher/modplatform/flame/FlameModIndex.cpp
...
Co-authored-by: flow <thiagodonato300@gmail.com>
2022-05-08 16:25:51 +02:00
Sefa Eyeoglu
e9b3140d12
Update launcher/modplatform/flame/FlameModIndex.cpp
2022-05-08 16:25:45 +02:00
Ryan Cao
22f5128e39
adopt changes from #497 remapped
2022-05-08 15:22:50 +08:00
Jamie Mansfield
45783c1661
ATLauncher: Support using share codes
2022-04-22 20:37:55 +01:00
Sefa Eyeoglu
fcdc7a1a35
fix: fix Modrinth query when Quilt is in use
2022-04-19 10:22:50 +02:00
Sefa Eyeoglu
cab9afa45f
fix: query for Fabric mods if Quilt is in use
...
Right now we want to include Fabric mods in our searches where possible.
Modrinth allows definining multiple loaders, while Flame only allows a
single value.
As a compromise we ask for Fabric mods only on Flame and for both Fabric
and Quilt mods on Modrinth.
2022-04-16 23:40:10 +02:00
flow
76dfb7825a
fix: 'All' filter working and get around CF API capabilities
2022-04-15 08:49:43 -03:00
flow
5cb0e75093
fix(ui): Refresh mod list when changing filtering options
2022-04-15 08:49:41 -03:00
flow
c730fd6e5f
feat: Use version filter when searching mods
2022-04-15 08:45:30 -03:00
Sefa Eyeoglu
9fb5674233
refactor: cleanup ModLoaderType
2022-04-14 21:55:03 +02:00
Sefa Eyeoglu
35cfb41a9c
fix: check for Quilt as Fabric-compatible loader
2022-04-07 18:46:09 +02:00
Sefa Eyeoglu
99d569ed0e
Merge pull request #384 from jamierocks/technic-improvements
2022-04-06 10:52:27 +02:00
Harry Peach
bd8b61651a
Check for empty slug before setting pack url
2022-04-03 23:12:46 +01:00
Jamie Mansfield
7f2615b2a5
Technic: Verify checksums for pack build mods
2022-04-02 13:53:44 +01:00
Jamie Mansfield
a232c2d509
Technic: Display available versions for Solder packs
2022-04-02 13:53:44 +01:00
Jamie Mansfield
c8205fda9f
Technic: Replace inline parsing code with API models
2022-04-02 13:53:44 +01:00
Jamie Mansfield
8df88e7fbb
Technic: Add API models for Solder packs
2022-04-02 13:53:44 +01:00
dada513
48a6380e31
Fix modrinth usable URL in mod downloader
2022-03-31 20:39:10 +02:00
flow
d00c320c00
optimize: Improve mod versions request to Modrinth
...
This uses more arguments in the GET request for mod versions on the
Modrinth API, filtering what versions can be returned, decreasing load
on Modrinth servers and improving a little the time it takes for the versions to be
available to the user.
This also removes the now unneeded check on correct modloaders in
ModrinthPackIndex, since it is now filtered by the Modrinth server.
Lastly, this adds a couple of helper functions in ModModel.
2022-03-24 19:31:11 -03:00
flow
e13ca94061
chore: resolve conflicts and merge upstream
2022-03-24 18:24:51 -03:00
flow
f3a244e90a
fix: fix skipping one on file counting in mod version parse
2022-03-22 19:45:31 -03:00
Sefa Eyeoglu
48c2146a42
fix(i18n): fix translatable strings
2022-03-19 12:29:46 +01:00
flow
fa5fa53592
fix: Use primary file for mod download on Modrinth
2022-03-18 10:52:47 -03:00
flow
8409aa2571
tidy: Fix clang-tidy issues on files changed in this PR
...
The checks used are roughly the same as the ones proposed in the
clang-tidy PR (except perhaps that I used modernize-* instead of listing
them individually,though I don't think this caused any readability
detriments).
In ModrinthModel.cpp and FlameModModel.cpp I ignored the
modernize-avoid-c-arrays one, mostly because making the sorts array an
std::array would most likely increase the code complexity because of the
virtual function. Aside from that, the static_cast warning from
Application.h was not dealt with, since it's not in this PR's scope.
2022-03-14 17:43:36 -03:00
flow
b3c2a56ece
fix: delete semicolons at the end of .cpp file's functions
...
my lsp is weird sometimes
2022-03-07 19:55:20 -03:00
flow
16bfafa29e
refactor: de-duplicate common code in network mod APIs
2022-03-07 17:45:28 -03:00
flow
f714adf6d2
refactor: move NetJob away from ModModel to ModAPI
...
This is done so that 1. ModAPI behaves more like an actual API instead
of just a helper, and 2. Allows for more easily creating other mod
providers that may or may not use network tasks (foreshadowing lol)
2022-03-07 16:22:57 -03:00
flow
39bd04f06f
refactor: use Enum instead of raw int for ModLoaderType
2022-03-06 16:45:39 -03:00
flow
2d68308d49
refactor: move url creation for mods to modplatform/
...
Moves all things related to creating the URLs of the mod platforms
that go to network tasks to a single place, so that:
1. Maintaining and fixing eventual issues is more straightforward.
2. Makes it possible to factor out more common code between the
different modplatform pages
2022-03-02 23:13:04 -03:00
flow
881b2f2b38
refactor: Use a single indexed pack for mods
...
Since there's little difference between them, let's remove duplication
and merge them.
2022-03-02 18:49:19 -03:00
flow
4e8f075ff3
fix: Do not loop when its not a fabric mod on Flame version validation
...
Since there's no validation for forge mods since the start, we were just
looping with no porpuse in this situation.
2022-02-27 22:02:43 -03:00
flow
075d900d45
fix: Always tell Flame API which modloader we are using
...
Fixes #206 partially. Although we don't list mods that have no
compatibility with the mod loader we are using, mods that have support
for both loaders still show up, and the versions for both the loaders
are still shown.
Also simplifies a little the logic in
FlameModIndex::loadIndexedPackVersions
2022-02-27 16:07:45 -03:00
Sefa Eyeoglu
624ab25cd4
refactor: set default InstanceType to OneSix
2022-02-21 22:59:07 +01:00
swirl
076efc4cb2
Merge branch 'update-quazip' of git://github.com/Scrumplex/PolyMC into develop
2022-02-03 14:14:12 -05:00
timoreo22
11841c47e6
Double braindead combo
2022-02-01 22:23:34 +01:00
timoreo
71b1ac9f34
Fix braindead moments
2022-02-01 21:56:52 +01:00
Sefa Eyeoglu
0442b80a2c
refactor: simpler includes for quazip
2022-01-31 21:40:59 +01:00
Sefa Eyeoglu
3aa809b8c0
refactor: add in-tree QuaZip
2022-01-31 21:40:59 +01:00
Sefa Eyeoglu
efa414c442
refactor: initial migration to QuaZip 1.2
...
Let's move off our custom QuaZip. In the olden times we needed the
custom version of QuaZip, as it was basically unmaintained and on
SourceForge (eww). But nowadays it's maintained and on GitHub. See
new GitHub page: https://github.com/stachenov/quazip
2022-01-31 21:40:59 +01:00
timoreo
aa2c27bf69
Update to Modrinth API V2
2022-01-31 17:18:11 +01:00
timoreo
1d0e6bf453
Changed modrinth author data to not be a list
2022-01-24 07:23:01 +01:00
timoreo
affc2521aa
Various fixes
2022-01-18 12:28:55 +01:00
timoreo
975f77756d
Added curseforge selection
2022-01-16 11:20:21 +01:00
timoreo
621e0ba4a8
Added smart file selection
...
This might fail in a few special cases
2022-01-15 10:25:24 +01:00
timoreo
4b37c46889
Filtering per mod loader & mc version
2022-01-15 08:51:47 +01:00
timoreo
1a8c972aef
Fixed icons
...
Also having a mod loader is now enforced
2022-01-14 20:22:15 +01:00
timoreo
9e6fa8f29a
Added the downloading of the mods
2022-01-14 12:47:18 +01:00
timoreo
4e9039be2d
Start of mod downloading
2022-01-14 09:56:27 +01:00
Petr Mrázek
9579231ccc
NOISSUE fix build and change how NetJob is used
...
Feed it network upfront...
2021-12-31 05:27:59 +01:00
Jamie Mansfield
06bedee835
NOISSUE Add license headers to source files created by me
2021-12-18 00:14:25 +00:00
Petr Mrázek
69213b1206
NOISSUE continue refactoring things to make tests pass
2021-11-21 23:21:12 +01:00
Petr Mrázek
0c861db7a2
NOISSUE Some happy little refactors
2021-11-20 16:22:22 +01:00
Jamie Mansfield
433dd2d161
GH-4114 Allow the same file for be downloaded to multiple paths
...
This is a potential fix to GH-4114.
2021-09-23 00:52:10 +01:00
Jamie Mansfield
0dcd24a53b
GH-4055 Don't download multiple files to the same path
...
FTB should fix their metadata, but this should resolve issues
downloading their packs at present.
2021-09-17 16:00:43 +01:00
Petr Mrázek
20b9f2b42a
NOISSUE Flatten gui and logic libraries into MultiMC
2021-07-25 19:50:44 +02:00