Sefa Eyeoglu
778baa6dbe
fix: always store InstanceType
2022-06-04 11:59:12 +02: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
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
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
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
0af1e9c7da
more rebranding
2022-02-20 18:18:50 -05:00
b507c69d09
Fully remove updater.
2022-02-19 21:55:58 -05: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
Graeme Geldenhuys
7179e75e70
Changes required to support FreeBSD
2021-12-12 11:39:36 +00:00
Petr Mrázek
dba4c452e0
NOISSUE account tweaks
2021-12-08 01:22:57 +01:00
Petr Mrázek
825ef52dd5
NOISSUE fix up some corner cases around migrating accounts
2021-12-06 20:16:13 +01:00
Petr Mrázek
c8ca6acc15
NOISSUE fix some error mappings for Mojang accounts
2021-12-05 03:48:07 +01:00
Petr Mrázek
d37003b1de
NOISSUE fix builds, make account refresh queue user friendly
2021-12-04 02:10:14 +01:00
Petr Mrázek
db6431d9e0
NOISSUE add missing chrono include
2021-12-04 01:27:58 +01:00
Petr Mrázek
3c46d8a412
GH-4071 Heavily refactor and rearchitect account system
...
This makes the account system much more modular
and makes it treat errors as something recoverable,
unless they come directly from the MSA refresh token
becoming invalid.
2021-12-04 01:18:05 +01:00
Petr Mrázek
285188ea53
GH-4071 handle network errors when logging in with MSA as 'soft'
...
This makes the tokens not expire when such errors happen.
Only applies to MSA, not the XBox and Mojang steps afterwards.
Further testing and improvements are still needed.
2021-11-28 18:42:01 +01:00
Petr Mrázek
b49987e876
NOISSUE fix fix fix the accounts again
2021-11-23 01:25:24 +01:00
Petr Mrázek
b258eac215
NOISSUE continue reshuffling the codebase
2021-11-22 03:55:16 +01:00
Petr Mrázek
9fc677c2a4
NOISSUE more refactoring
2021-11-21 23:36:55 +01: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
Petr Mrázek
eafeb64dec
NOISSUE qnam -> network
2021-11-17 13:20:50 +01:00
Jamie Mansfield
014e65220e
NOISSUE Error on launch when launching 1.18 with < Java 17
2021-11-16 18:25:16 +00:00
Petr Mrázek
6c82883206
NOISSUE fix account re-adding not updating current account
2021-11-16 02:21:59 +01:00
Petr Mrázek
25fbeb265a
NOISSUE fix build some more
2021-11-10 03:16:04 +01:00
Petr Mrázek
30d5a7ab48
NOISSUE fix build
2021-11-10 03:12:01 +01:00
Petr Mrázek
475d949a1e
GH-4217 Add support for GamePass accounts and MC profile setup
...
- We now use the new endpoint for loggiong in via XBox tokens (/launcher/login)
- We now check game entitlements instead of only relying on MC profile presence
- Accounts can now be added even when they do not have a profile
- The launcher will guide you through selecting a Minecraft name if you don't have one yet
2021-11-10 03:02:51 +01:00
Janrupf
0423464b88
GH-4227 Don't blindly trust mods.toml to be valid
2021-11-06 22:43:16 +01:00
Petr Mrázek
27f276ef13
GH-1795 add terminal launch option to use a specific Minecraft profile
...
Used like this:
```
./MultiMC --launch 1.17.1 --profile MultiMCTest --server mc.hypixel.net
```
2021-10-31 21:43:33 +01:00
Petr Mrázek
6f6c9c6f68
NOISSUE fix debranding changes affecting version file format
2021-10-24 12:25:44 +02:00
Jamie Mansfield
7cbca6ab20
NOISSUE Use common duration format for global and instances
2021-10-24 00:09:21 +01:00
Petr Mrázek
5b3dffce62
NOISSUE continue debranding...
2021-10-21 00:47:53 +02:00
Petr Mrázek
441ab7eedc
NOISSUE debranding for real, initial work
...
This is probably very broken on macOS and Windows and will need a lot of work to complete fully.
2021-10-21 00:47:53 +02:00
Petr Mrázek
8c4fb86ba0
Merge pull request #4103 from tobfos2611/develop
...
Fix underaged account that isn't linked to a family help link.
2021-10-03 21:59:46 +02:00
Petr Mrázek
668d31b79e
Merge pull request #4143 from phit/patch-1
...
NOISSUE Remove outdated SSL docs
2021-10-03 21:52:13 +02:00
Petr Mrázek
3138e58c75
NOISSUE fix typo in FMLLibrariesTask.cpp
2021-10-03 21:46:10 +02:00
Philip T
0b312956db
NOISSUE Remove outdated SSL docs
...
the link is dead and the equivalent newer page is useless, https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn265983(v=ws.11)?redirectedfrom=MSDN#related-content
2021-10-03 13:43:43 +02:00
Petr Mrázek
0f3cf0595b
NOISSUE add shader pack page for instances
...
Only theme with an icon is simple colored, rest is TBD
2021-09-23 21:26:56 +02:00
Petr Mrázek
a5956194df
NOISSUE Remove Requestor, it is unused
2021-09-21 22:02:12 +02:00
tobfos
28d7c5d309
Removed unnecessary text in link.
...
Thanks @RDKRACZ.
2021-09-15 20:46:07 +10:00
Toby Foster
7229ebbb08
Fix underaged account that isn't linked to a family help link.
2021-09-15 18:10:00 +10:00
Petr Mrázek
e2355eb276
NOISSUE enable listing symlinks in mod/world lists
2021-09-09 00:27:46 +02:00
Petr Mrázek
878c4fb810
NOISSUE Provide dummy implementation for the secrets library
2021-09-05 18:23:49 +02:00
Petr Mrázek
938f896bfa
GH-4014 change updater to recognize new Qt 5.15.2 builds
2021-09-04 21:27:09 +02:00
Petr Mrázek
23442442d8
GH-3392 fix a bunch of bugs and implement STS error states
2021-08-31 01:11:52 +02:00
Petr Mrázek
3171014301
GH-3392 checking for migration status and refresh button in accounts list
2021-08-29 22:55:33 +02:00
Petr Mrázek
7239502675
GH-3392 Add recognition of already migrated Mojang accounts
2021-08-29 19:59:18 +02:00
Petr Mrázek
b2c1100b1c
NOISSUE introduce the concept of secrets static library
2021-08-27 22:35:17 +02:00
Petr Mrázek
34a5459dce
NOISSUE cut down Requestor
2021-08-25 21:27:51 +02:00
Petr Mrázek
eae65da110
GH-3392 Switch MS account login to use device flow instead
...
Device flow involves the user manually opening a web page and putting in
a code. We no longer need to interact with the browser.
2021-08-22 20:01:18 +02:00
Petr Mrázek
1b68d51da6
NOISSUE add setting capes, tweak missing profile message, fix cape IDs
2021-08-20 01:34:32 +02:00
Petr Mrázek
94fd9a3535
NOISSUE fix linux builds
2021-08-19 10:27:30 +02:00
Petr Mrázek
345641f7d2
NOISSUE sanitize some MSA auth logging
2021-08-19 00:43:19 +02:00
Petr Mrázek
44d634f564
GH-3392 Fix strings in AuthContext and make them translateable
2021-08-15 23:40:37 +02:00
Petr Mrázek
3a53349e33
GH-3392 dirty initial MSA support that shares logic with Mojang flows
...
Both act as the first step of AuthContext.
2021-08-15 23:18:50 +02:00
Petr Mrázek
20b9f2b42a
NOISSUE Flatten gui and logic libraries into MultiMC
2021-07-25 19:50:44 +02:00