Commit Graph

749 Commits

Author SHA1 Message Date
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
4439666e67
feat: allow disabling mod metadata usage 2022-05-23 14:42:28 -03:00
flow
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
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
e9fb566c07
refactor: remove unused mod info and organize some stuff 2022-05-23 14:42:27 -03:00
flow
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
flow
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
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
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
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
Ryan Cao
6d0ea13f97
make JVM args PlainTextEdit 2022-05-23 16:52:12 +08: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
f2e2053134
feat: add trailing slash to meta URL if it is missing 2022-05-22 21:36:31 +02:00
Sefa Eyeoglu
b181f4bc30
fix: improve spacing in APIPage 2022-05-22 21:36:30 +02:00
dada513
f00dbdc215
Make Metaserver changable in settings
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
Co-authored-by: flow <flowlnlnln@gmail.com>
2022-05-22 21:35:20 +02:00
Sefa Eyeoglu
7d91db607f
Merge pull request #554 from PolyMC/more_paste_services 2022-05-22 20:49:11 +02:00
Sefa Eyeoglu
b191291737
Merge pull request #577 from PolyMC/fix/toolbar_🦀_fix 2022-05-22 18:11:00 +02:00
Sefa Eyeoglu
29ef1e2c4b
Merge pull request #597 from Scrumplex/refactor-modloader-modapi 2022-05-22 13:17:53 +02:00
Ezekiel Smith
bc450e4cee
Merge pull request #612 from DioEgizio/update-cf-logo-real
change cf icon to a more fancy one
2022-05-21 09:53:31 -07:00
LennyMcLennington
de02deac98
Make if statement condition more readable
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
2022-05-21 17:30:54 +01:00
Lenny McLennington
e2ad3b0183
Add migration wizard, fix migration from custom paste instance
- 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.
2022-05-21 17:30:19 +01:00
Lenny McLennington
caf6d02728
Change paste settings and add copyright headers
- 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.
2022-05-21 17:30:09 +01:00
Lenny McLennington
35f71f5793
Support paste.gg, hastebin, and mclo.gs 2022-05-21 17:28:22 +01:00
DioEgizio
b2a89ee4b9 change cf icon to a more fancy one
taken from QuiltMC/art in the emoji folder, so it's licensed under CC0
2022-05-21 17:49:52 +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
flow
166f872712
fix: various issues with ProgressDialog and SequentialTasks
- Fix aborting sequential tasks
- Fix displaying wrong number of tasks concluded
- Fix text cutting when the URL is too big
2022-05-21 08:36:36 -03:00
flow
8f2c485c92
feat(ui): make selected mods in downloader bold with underline
Makes it easier to find which mods are selected in case you want to
change those.
2022-05-21 08:04:26 -03:00
flow
613f2fc447
feat: allow deselecting mods from the mod confirmation dialog
This adds a checkbox to each mod on the dialog that shows up when
confirming the mods to download, so you can deselect some of those if
you want to.
2022-05-21 08:02:27 -03:00
dada513
9a0d6124f3
Merge pull request #609 from timoreo22/feature/fix-blocked-modpacks 2022-05-21 12:22:45 +02:00
Sefa Eyeoglu
b4707f46ad
Merge pull request #500 from flowln/net_refactor
Refactor a little the code in `launcher/net/` files
2022-05-21 12:06:34 +02:00
Sefa Eyeoglu
482e049ac7
Merge pull request #606 from jamierocks/h-launch-version 2022-05-21 11:43:19 +02:00
timoreo
c04adf7452
Do the url trick on initial modpack download too 2022-05-21 08:31:07 +02:00
timoreo22
92e8aaf36f
Merge pull request #608 from timoreo22/feature/curseforge-fix
Very Temporary Fix for curseforge
2022-05-21 06:34:43 +02:00
Sefa Eyeoglu
3b4b34b369
fix(ui): make CF and MR modpack dialogs more consistent 2022-05-20 22:48:42 +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
dada513
2847cefff7
Add cursefrog key override 2022-05-20 19:56:27 +02:00
Jamie Mansfield
96f16069a9
Launch: Apply the Minecraft version correctly
It was previously using a deprecated field.
2022-05-20 18:47:11 +01:00
Jamie Mansfield
188c5aaa35
Launch: Match Vanilla launcher version string behaviour
This removes a means of profiling users.
2022-05-20 18:43:47 +01: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
timoreo22
1e6df7eec0
Merge pull request #592 from flowln/technic
Use empty string when version is null in the Technic pack manifest
2022-05-20 10:56:42 +02: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
Sefa Eyeoglu
77caaca50d
fix: only consider enabled mod loaders 2022-05-19 08:09:37 +02:00
Sefa Eyeoglu
f66e0fa0e8
fix: support split natives
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.
2022-05-18 22:51:15 +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
timoreo22
b2878dca1d
Merge pull request #590 from DioEgizio/fix-qmj-over-fmj
fix(quilt) always prefer qmj over fmj
2022-05-18 19:18:18 +02:00
DioEgizio
127dfadc6c
fix(quilt) always prefer qmj over fmj
this fixes Quilt-only mods like ok zoomer showing wrong metadata
2022-05-18 14:33:58 +02:00
flow
ff9f3cb31f
fix conflicts with develop 2022-05-17 18:25:08 -03:00
Sefa Eyeoglu
8e9f1bcf18
fix: remove unnecessary Qt version checks 2022-05-17 22:25:50 +02:00
Sefa Eyeoglu
cc27bb3231
fix(updater): remove Windows version check
Qt 5.12 doesn't support anything older than Windows 7 anyway, so we
can't really check if we are on an older platform.
2022-05-17 22:25:50 +02:00
Sefa Eyeoglu
c1700054f4
fix: replace deprecated stuff as of Qt 5.12 2022-05-17 22:25:50 +02:00
Sefa Eyeoglu
cc13310083
Merge pull request #565 from Scrumplex/modrinth-packs
Initial Modrinth modpack support
2022-05-17 16:09:22 +02:00
Sefa Eyeoglu
1012912272
Merge pull request #567 from Scrumplex/quilt-metadata
Support `quilt.mod.json` metadata
2022-05-17 16:08:59 +02:00
Sefa Eyeoglu
edbd90a4e6
fix: update links for Quilt metadata format 2022-05-17 15:17:20 +02:00
Sefa Eyeoglu
ddc3b5eb0b
Update launcher/ui/pages/modplatform/modrinth/ModrinthPage.ui
Co-authored-by: DioEgizio <83089242+DioEgizio@users.noreply.github.com>
2022-05-17 15:14:53 +02:00
flow
17bbfe8d89
fix: virtual signal in Task.h 2022-05-17 06:47:00 -03:00
flow
96deb5b09d
chore: remove copyright from files i didnt mess with
This is what happens when you auto-pilot stuff xdd
2022-05-17 06:36:30 -03:00
txtsd
9b387d73e5
Merge pull request #529 from flowln/vertical_toolbar
Set right orientation for instance toolbar when moving it around
2022-05-17 12:14:34 +05:30
txtsd
c02a6780b0
Merge pull request #540 from kthchew/fix/executable-screenshot
Show "executable" screenshots in the screenshot manager
2022-05-17 10:59:55 +05:30
Lenny McLennington
6dfec4db40
Fix toolbar disappearing in a certain circumstance. 2022-05-17 00:21:57 +01:00
flow
2e9d7f5c3d
fix: mod skipping between pages and remove dead code 2022-05-16 19:17:37 -03:00
flow
696a711e39
fix: missed change to metacache entry lookup 2022-05-16 19:10:31 -03:00
flow
887246a66b
fix: typo and useless code 2022-05-16 17:09:14 -03:00
Sefa Eyeoglu
cd9e0e0cc0
fix: use own metacache base for modrinth icons 2022-05-16 20:17:19 +02:00
Sefa Eyeoglu
f66598db8a
Merge pull request #564 from flowln/cf_icon 2022-05-16 20:06:59 +02:00
flow
a6d2c5e181
fix: better hack for icons that cant be natively scaled to 48x48 2022-05-16 14:35:01 -03:00
flow
82760f4b91
fix: import modrinth packs with weird overrides structure
Probably because of Packwiz limitations, or an space optimizer that did
this :)
2022-05-16 12:11:50 -03:00
flow
62e099ace5
feat: better handling of optional mods
This disables the optional mods by default and tell the user about it.
Pretty hackish, but a better solution would involve the modrinth
metadata to have the mod names...

Also sorry for the diffs, my clangd went rogue x.x
2022-05-15 22:16:52 -03:00
flow
e92b7bd25e
change: switch to modrinth production servers 2022-05-15 21:50:42 -03:00
flow
e7bb3b2776
fix: macos compilation
i forgor macos is cringe with static arrays 💀

edit: WHY DONT MAC LET ME USE STD::ARRAY ;----;
2022-05-15 21:18:29 -03:00
flow
ec3c882a44
change: add alpha note to modrinth page 2022-05-15 20:52:57 -03:00
flow
66ce5a4a2d
fix: pack sorting and other search parameters 2022-05-15 20:45:27 -03:00
Sefa Eyeoglu
a110d445ac
feat: support quilt.mod.json metadata 2022-05-15 23:00:09 +02:00
flow
a67f3131e7
Merge pull request #560 from kthchew/feature/close-pmc-override
Add instance overrides for miscellaneous settings
2022-05-15 17:40:53 -03:00
Sefa Eyeoglu
e5d0097116
Merge pull request #531 from Ozynt/patch-1
Remove reference to legacy Minecraft accounts
2022-05-15 22:18:34 +02:00
flow
6d78ea5a45
Merge pull request #539 from kthchew/fix/translation-switch
Fix untranslated strings after changing language
2022-05-15 17:11:21 -03:00
dada513
550d6a6a9b
Merge pull request #547 from kthchew/feature/hidden-temp 2022-05-15 21:54:46 +02:00
dada513
9be8160bf2
Merge pull request #546 from kthchew/feature/scrollable-accounts 2022-05-15 21:43:34 +02: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
Sefa Eyeoglu
78cf0c73c8
fix: always show project url, if available 2022-05-15 20:38:27 +02:00
flow
4adc61bda9
change: update modrinth icon
Updates to the version at https://github.com/modrinth/docs/blob/master/static/img/logo.svg
2022-05-15 11:26:15 -03:00
flow
93e0041d0e
change: use modrinth icon as default on modrinth packs 2022-05-15 11:09:45 -03:00
Sefa Eyeoglu
682a7fb6ba
feat: add version of Modrinth modpack to instance name 2022-05-15 13:36:55 +02: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