Commit Graph

198 Commits

Author SHA1 Message Date
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
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
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
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
29ef1e2c4b
Merge pull request #597 from Scrumplex/refactor-modloader-modapi 2022-05-22 13:17:53 +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
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
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
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
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
a110d445ac
feat: support quilt.mod.json metadata 2022-05-15 23:00:09 +02:00
flow
dd2b324d8f
chore: add license header to remaining files
Also remove some unused imports
2022-05-12 18:11:55 -03:00
flow
8c8eabf7ac
refactor: organize a little more the code in launcher/net/
This also reduces some code duplication by using some Task logic in
NetAction.
2022-05-12 18:11:49 -03:00
Kenneth Chew
046f1e6e58
Add instance overrides for miscellaneous settings 2022-05-12 17:08:06 -04:00
timoreo22
546d394868
Merge pull request #475 from Scrumplex/fix-hide-all-tokens
Hide all tokens for non-Debug builds for log and logfiles
2022-05-02 10:45:58 +02:00
TheCodex6824
1ff459d995
Use suggested error handling 2022-04-25 14:08:27 -04:00
TheCodex6824
a0bafa4952
Re-add base64 decode option for Qt versions that support it 2022-04-23 11:11:55 -04:00
TheCodex6824
e56f0db11b
Remove base64 decode option that was added in Qt 5.15 2022-04-23 10:32:52 -04:00
TheCodex6824
8bcbe07c87
Fix Mojang auth failing due to Mojang rejecting requests to the profile endpoint 2022-04-22 23:39:38 -04:00
Sefa Eyeoglu
b3e1691c01
fix: hide LauncherLoginStep tokens for non-Debug builds 2022-04-20 18:33:33 +02:00
dada513
3c3ce71214
Merge pull request #467 from PolyMC/revert-429-develop
Revert "better FreeBSD support"
2022-04-20 08:17:19 +02:00
Sefa Eyeoglu
4c5f701b05
Revert "better FreeBSD support" 2022-04-19 21:49:54 +02:00
Sefa Eyeoglu
27c72935f8
fix: use size in bytes to sort by world size 2022-04-19 15:07:14 +02:00
Irgendwer01
ecad388846
Merge branch 'PolyMC:develop' into develop 2022-04-15 13:04:25 +02:00
Irgendwer01
9a120f43c8
Update MinecraftInstance.cpp 2022-04-15 13:03:48 +02:00
Sefa Eyeoglu
4ff1306e0c
Merge pull request #185 from Scrumplex/quilt
Quilt support
2022-04-15 11:38:50 +02:00
Irgendwer01
06d9821b2c
Update MinecraftInstance.cpp 2022-04-15 01:51:28 +02:00
Irgendwer01
abb20c65e3
better FreeBSD support 2022-04-15 01:40:25 +02:00
Sefa Eyeoglu
9fb5674233
refactor: cleanup ModLoaderType 2022-04-14 21:55:03 +02:00
Sefa Eyeoglu
14a0e85862
fix: remove unused code 2022-04-14 16:50:04 +02:00
Sefa Eyeoglu
89125fde22
refactor: switch Quilt mappings to hashed MojMap 2022-04-09 14:56:07 +02:00
Sefa Eyeoglu
35cfb41a9c
fix: check for Quilt as Fabric-compatible loader 2022-04-07 18:46:09 +02:00
Sefa Eyeoglu
9349232bd4
refactor: dynamically get best version for intermediary mappings 2022-04-07 18:46:00 +02:00
Petr Mrázek
e6564aa69f NOISSUE fix error string for Xbox authorization failures 2022-04-07 18:29:10 +02:00
Sefa Eyeoglu
9eb9ddc668
feat: initial Quilt support 2022-04-07 18:11:40 +02:00
Una
dc6340bf38
Allow components to specify Java agents and JVM arguments (#175) 2022-04-06 08:22:24 +02:00
Sefa Eyeoglu
5fb096d7b9
Merge pull request #345 from Scrumplex/handle-incompatible-java 2022-04-04 21:01:49 +02:00
Sefa Eyeoglu
41d7b27d43
fix: calculate world sizes individually 2022-04-02 13:29:37 +02:00
Sefa Eyeoglu
9180c751d8
fix(launch/VerifyJava): reword log output 2022-04-02 00:54:48 +02:00
Sefa Eyeoglu
e8697068fb
fix: codestyle 2022-04-01 15:00:05 +02:00
Sefa Eyeoglu
c389a711ed
fix: remove redundant include 2022-04-01 13:14:04 +02:00
Sefa Eyeoglu
64ca96f470
feat: track and display world size 2022-03-31 18:45:17 +02:00
Sefa Eyeoglu
ea60e48d9d
chore: add license header
chore: add license header
2022-03-27 20:59:56 +02:00
Sefa Eyeoglu
85f3fc9944
fix: remove "PolyMC" from strings 2022-03-27 20:59:51 +02:00
dada513
b1af689546
Add quit launcher after game stops option (Steam Deck)
lecense
2022-03-27 14:50:47 +02:00
Sefa Eyeoglu
e02369ba6b
chore: add license header 2022-03-24 16:10:43 +01:00
Sefa Eyeoglu
82c35f2746
feat: block launch if Java is incompatible
Keep track of compatible Java versions from meta. Launch-step
VerifyJavaInstall will check if current instance's Java version is
compatible.
Also add override option both globally and per-instance in-case the user
doesn't care about the requirement.
2022-03-24 16:10:39 +01:00
Sefa Eyeoglu
062fc79286
Merge pull request #298 from Scrumplex/fix-i18n
Fix translatable strings
2022-03-21 14:21:06 +01:00
Sefa Eyeoglu
a160bd0062
chore: add license header to files I modified 2022-03-19 12:46:56 +01:00
Sefa Eyeoglu
48c2146a42
fix(i18n): fix translatable strings 2022-03-19 12:29:46 +01:00
Ezekiel Smith
ccc27d1b7c
Merge pull request #192 from Scrumplex/refactor-remove-legacy-instances
Drop legacy instances
2022-02-26 01:54:15 +11:00
Sefa Eyeoglu
a70d1f1a91
refactor: drop LegacyInstance 2022-02-21 22:30:44 +01:00
Sefa Eyeoglu
3059f13011
refactor: drop migration for pre-component instances 2022-02-21 22:11:10 +01:00
Sefa Eyeoglu
c5d9944993
feat(accounts): interrupt MSAStep when client ID doesn't match 2022-02-18 12:32:24 +01:00
Sefa Eyeoglu
14717396eb
feat(accounts): save client id in MSAStep 2022-02-18 12:32:24 +01:00
Sefa Eyeoglu
9c71f364d2
feat(accounts): add disabled account state 2022-02-18 12:32:24 +01:00
Sefa Eyeoglu
be910374dc
feat(accounts): support msa-client-id value 2022-02-18 12:32:24 +01:00
Sefa Eyeoglu
0854e83ce4
feat: implement MSA client id override
Closes #11
2022-02-12 21:27:32 +01:00
swirl
076efc4cb2
Merge branch 'update-quazip' of git://github.com/Scrumplex/PolyMC into develop 2022-02-03 14:14:12 -05:00
swirl
2177aa2a6b
Merge branch 'offline-mode-accounts' of git://github.com/NyaomiDEV/PolyMC into feature/offline_mode 2022-02-03 13:54:27 -05:00
swirl
3d3f9a8609
make closeAfterLaunch good 2022-02-03 12:50:24 -05:00
Sefa Eyeoglu
0442b80a2c
refactor: simpler includes for quazip 2022-01-31 21:40:59 +01:00
Sefa Eyeoglu
81c72c2038
refactor: bring back methods that need to be reimplemented 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
bexnoss
9d23ac562f Add offline mode support 2022-01-30 02:35:56 +01:00
swirl
0065a29901
Close after Launch setting 2022-01-29 19:04:44 -05:00
Stypox
0235eb5c28
Fix error message
The code is trying to get a string from a json object, and if that fails it should log "is not a string", not "is not a timestamp".
2022-01-24 11:44:47 +01:00
Petr Mrázek
8804b035b2
NOISSUE log server response when failing to fetch profile 2022-01-24 11:44:47 +01:00
Petr Mrázek
54e3438e37
NOISSUE correctly set http status code in auth reply 2022-01-24 11:44:47 +01:00
Petr Mrázek
70c04745ee
NOISSUE add some logging to profile fetching failures 2022-01-24 11:44:47 +01:00
Lenny McLennington
55597b458c
Revert "Merge pull request #50 from bexnoss/offline-mode"
This reverts commit b4f750e7db, reversing
changes made to b19e315615.
2022-01-17 03:45:47 +00:00
Lenny McLennington
f55297eca9
Revert "Merge pull request #81 from bexnoss/fix-msa-account-refresh"
This reverts commit 0bc8baf117, reversing
changes made to 81fe41a038.
2022-01-17 03:45:33 +00:00
bexnoss
5f9270ed4b Fix MSA account refresh 2022-01-16 23:30:17 +01:00
bexnoss
46a3b4de6e Remove unnecessary semicolon 2022-01-12 18:41:33 +01:00
bexnoss
a1ff3b1ee3 Add offline mode support 2022-01-12 14:26:02 +01:00
swirl
1d8196e11a
More rebranding
Closes: #39

Mostly done with rebranding now. We just need to translate some services
to PolyMC.
2022-01-10 12:47:35 -05:00
dada513
fa98ed3ccd
Merge remote-tracking branch 'upstream/develop' into upstream_update 2021-12-31 18:05:40 +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
Petr Mrázek
9cc168c526 NOISSUE fix some OS ifdefs 2021-12-31 00:36:25 +01:00
Petr Mrázek
94fdf13f4a NOISSUE proper fix for missing profile + demo mode 2021-12-30 21:26:29 +01:00
Petr Mrázek
3efcccf334
Merge pull request #4345 from graemeg/freebsd-support
Adds FreeBSD support to MultiMC
2021-12-30 20:00:45 +01:00
Petr Mrázek
a6e59cb4f4 NOISSUE detect when user loses entitlements 2021-12-30 17:19:41 +01:00
Graeme Geldenhuys
f42c3a953c Restore getNativePath() to its original form. 2021-12-28 21:59:24 +00:00
Lenny McLennington
e6246a9306
Move MSA Client ID to the same place as the others
MSA Client ID has been moved to CMakeLists.txt, and defaults to the
Client ID for the PolyMC application.

Removed secrets/notsecrets library, replace with (temporary?)
program_info subdirectory.
2021-12-20 02:57:13 +00:00
Petr Mrázek
7d047f9223 NOISSE add a shortcut to the loaders mods to main window 2021-12-12 22:39:25 +01:00
Graeme Geldenhuys
fce98f5e16 Fixes compilation error expanding from macro 'major'. 2021-12-12 11:45:58 +00:00