1
0
mirror of https://github.com/SKCraft/Launcher.git synced 2024-11-23 12:05:44 +01:00
Commit Graph

345 Commits

Author SHA1 Message Date
Henry Le Grys
16f44a860c GH-473 Fix extra launcher windows opening after java version warning 2022-05-30 23:53:55 +01:00
Henry Le Grys
4decceb5c9 GH-471 Re-label configuration option as "Fallback Java Runtime" 2022-05-30 21:11:41 +01:00
Henry Le Grys
1c64de1df0 GH-472 Add warning popup for mismatched Java versions
Closes #472
2022-05-30 20:58:40 +01:00
Henry Le Grys
b8a6769c43 Fix stream-reading logic in locale control
It's pretty likely that we would always read 3 bytes but let's do it
properly
2022-05-10 10:22:58 +01:00
Henry Le Grys
90ff8dfdb7 Fix locale errors due to inconsistent mark/reset support
Fixes #470
2022-05-10 10:12:54 +01:00
Henry Le Grys
23e01defea Add support for UTF-8 encoded locale files
Fixes #467
2022-05-05 00:54:02 +01:00
Henry Le Grys
39487dda3e Make assets tree builder use hardlinks if available 2022-05-03 21:49:26 +01:00
Henry Le Grys
debd822447 Hotfix package builder emitting JSON with missing keys for empty values
The meaning of `mapper.setSerializationInclusion` changed with the
Jackson upgrade, which meant that empty collections were being fully
stripped from the output. Fix by changing the strategy to NON_ABSENT,
which only strips nulls and "absent" values like Optional.absent
2022-05-01 15:34:48 +01:00
Henry Le Grys
2fe96e4435 Fix NPE when manifests don't contain JVM arguments
Jackson upgrade exposed/introduced a bug where the JVM half of Minecraft
arguments could end up missing in some cases. Not exactly sure if the
field was null on the serializing side or just an empty array, but we
just fix it by always initializing the fields.
2022-04-27 02:08:37 +01:00
Henry Le Grys
0a5abee956 Make the build output one jar file per subproject again 2022-04-27 01:53:14 +01:00
Henry Le Grys
868426498f Upgrade dependencies & fix deprecations 2022-04-26 23:05:44 +01:00
Henry Le Grys
54c05d1f9b Upgrade to Gradle 7 2022-04-26 22:42:15 +01:00
Henry Le Grys
8e1337d603 Disregard Java runtimes that don't have a bin folder 2022-04-23 19:49:04 +01:00
Henry Le Grys
3c4c38ea84 Improve Java runtime finder resiliency
Found some more edge cases in the wild - though to be honest this entire
thing is edge cases. Sometimes /release exists, but the actual binaries
are in /jre/bin; this commit changes behaviour to look for the two
things independently.
2022-04-22 01:10:06 +01:00
Henry Le Grys
79b1289aff Check for launcher updates when the game closes 2022-04-22 00:47:49 +01:00
Henry Le Grys
bad4363bed Remove broken skin fetching for Yggdrasil auth
"mandatory migration" my ass
2022-04-18 22:38:13 +01:00
Henry Le Grys
53ba054c2c Change Java runtime selector to show "unknown" instead of "null" 2022-04-18 22:38:13 +01:00
Henry
6530ecee80
Fix pastebin uploader (#457) 2022-01-23 03:31:53 +00:00
Magi1053
288da94249
Fix pastebin uploader 2022-01-22 19:37:10 -06:00
Henry Le Grys
291f62a4dc Allow Microsoft authentication to use xdg-open on Linux 2022-01-04 00:41:53 +00:00
Henry Le Grys
28017e8103 Fix edge case in logging config handling
If the user cancelled the install process after the temp logging config
file was created, but before the installer executes, the pack would fail
to install on relaunch. Fix by allowing overwriting of the temp file.
2022-01-01 04:34:15 +00:00
Henry Le Grys
725f747f63 Ensure installer temporary directory exists when installing 2021-12-31 22:20:16 +00:00
Henry Le Grys
6f7624a66d Add embedded logging configs
Minecraft's default logging configs output XML to stdout, because the
modern launcher parses it to provide a "nicer" console. We don't do
that, so this commit adds embedded versions of the logging configs which
just output log lines normally.
2021-12-31 21:12:51 +00:00
Henry Le Grys
94ae835b42 Add support for opening URLs with xdg-open on Linux
In environments without GTK, the Swing toolkit isn't available, so
desktop calls don't work. If that's the case, fall back to xdg-open
2021-12-12 02:20:42 +00:00
Henry Le Grys
08335637f9 Refactor JavaRuntimeFinder into subclasses & clean up
The getAvailableRuntimes function is now parseable, & the new
PlatformRuntimeFinder interface makes it clear what each stage does.
2021-12-12 02:02:46 +00:00
Henry
8c9f903e16
Add dynamic background image resizing to fancy launcher (#437) 2021-12-12 00:30:57 +00:00
Henry
1ae2993e75
Refactor Java runtime finder (#451) 2021-12-12 00:30:05 +00:00
Magi1053
ff4707e7ea Assume architecture is x64 unless specified in release file 2021-12-11 18:24:00 -06:00
Magi1053
398d8f655e Refactor java runtime finder to work cross platform with the new minecraft launcher 2021-12-11 18:22:04 -06:00
Magi1053
ac116af788 Add java runtime finder for mac os 2021-12-11 16:30:03 -06:00
Henry Le Grys
5fbf5598b4 Support downloading logging config files from the version manifest
This update is required to mitigate the log4j2 vulnerability
2021-12-10 13:55:23 +00:00
Henry Le Grys
cd88effb59 Add a check for Java runtime version before setting permgen flag
Some newer GraalVM versions appear to be throwing a hard error when the
PermGen flag is specified; this commit changes the behaviour so the flag
is only passed when the Java version is unknown or older than 1.8
2021-12-05 23:43:10 +00:00
Henry Le Grys
8612b951e1 GH-443 Switch to using JNA Platform for Windows registry access 2021-12-05 21:38:18 +00:00
Henry Le Grys
15cbc5ac03 GH-443 Fix the undetected runtime file chooser dialog opening early 2021-12-05 20:35:59 +00:00
Henry
777d430ace
GH-443 Fix registry reading under Java 8 (#447) 2021-11-15 01:32:11 +00:00
Magi1053
b3cbba2709
Fix not checking all registry keys for jvm if the previous key did not exist in the registry. 2021-11-14 19:19:16 -06:00
Henry Le Grys
8271c83162 GH-443 Add logging on registry read failures & fix default search path
Fixes the default launcher path used when reading the registry fails
somehow.
2021-11-03 19:45:46 +00:00
Henry Le Grys
4dad66a83e Attempt to solve Windows Java finding failing to find MC folder 2021-10-27 01:56:52 +01:00
Henry Le Grys
932ef97be6 GH-440 Fix NPE generated by config dialog when no runtime is configured 2021-10-25 20:09:54 +01:00
Henry Le Grys
d1184c32b2 Add option to Java selection dropdowns to choose a runtime from path
Bit of an experiment, but this commit allows users to manually find
a Java runtime on the filesystem and save it to config
2021-10-16 00:44:40 +01:00
TheSwampire
2ffdd4e155 Dynamic background image resizing, preserving aspect ratio 2021-09-30 19:37:23 +02:00
Henry Le Grys
cd063304fb Fix Java version parser to tolerate missing minor version
Some (all?) Java 17 release files don't have the minor version present,
so a previous assumption no longer holds.
2021-09-27 22:16:34 +01:00
Henry Le Grys
9bd7df4d3c Tolerate missing terminating newlines in Java release files
Had a report out in the wild of a release file that doesn't end in a
terminating newline, which was causing the parser to blow up.
This commit relaxes the parsing to tolerate EOFs while parsing values.
2021-09-27 21:21:46 +01:00
Henry Le Grys
1c663e1c04 Fix java runtime finder breaking when encountering a bad release file
Rather than blowing up when a release file can't be parsed, log it and
move on. Hopefully a better runtime comes along.
2021-09-27 21:10:32 +01:00
Henry Le Grys
5c3768f1cf Always use proper local libraries folder path
There were a couple places where I relied on the manifest to have
the default libraries location of "libraries"; this commit fixes those
instances. Without this fix it would be possible for a custom libraries
URL path to leak into the local filesystem, which might've mucked
something up.
2021-09-04 00:34:09 +01:00
Henry Le Grys
215b7871e7 Add FUNDING.yml 2021-09-03 09:09:04 +01:00
Henry Le Grys
7c783189dd Add support for Forge 1.17 processors 2021-09-02 06:56:57 +01:00
Henry Le Grys
eda5ad2a90 Bump launcher version to 4.6 2021-09-02 03:25:36 +01:00
Henry Le Grys
6b2bcea5d7 Add menu item for pack manager for editing instance settings 2021-09-02 02:47:35 +01:00
Henry Le Grys
faa1bc9a38 Add instance settings dialog 2021-09-02 01:59:15 +01:00