Henry Le Grys
2a6c5ee015
GH-481 Add Quilt loader support
...
... with a caveat that it may break in future due to Quilt's broken
metadata
2022-08-07 03:15:47 +01:00
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