139 Commits

Author SHA1 Message Date
Katherine
7420866dfc
MultiMC metadata: Support updating NeoForge version (#75) 2024-04-21 12:10:24 +01:00
comp500
1ebb28c3cc Make update progress reporting more descriptive and useful
Removed a deleteIfExists call - this should be handled by DownloadTask instead
2023-10-24 00:43:49 +01:00
comp500
c9543f74ee Fix invalidation issues when changing --side without updating pack 2023-10-23 23:36:17 +01:00
Falxie_
b2421cfea7
Add open missing mods button (#66)
* add open missing mods button

* hide missing mods button if none are found

* add logging to openUrl
2023-08-06 17:54:30 +01:00
comp500
6f05ac6bf0 Fix CLI updates being cancelled when there is launcher metadata to update 2023-06-23 17:58:16 +01:00
comp500
7b6daaf7e5 Allow multiple files from the same CurseForge project 2023-05-30 02:09:45 +01:00
comp500
758385c225 Fix onlyOtherSide state not updating properly when side changes (fixes #60) 2023-05-20 05:09:25 +01:00
comp500
304fb802ed Write packwiz.json with UTF8 instead of system charset 2023-04-15 02:03:05 +01:00
comp500
1deed7dd0d Fix and simplify side matching code (fixes #54) 2023-01-17 05:21:20 +00:00
comp500
ad951b9b44 Download mods for both sides with --side both (fixes #14) 2023-01-17 02:33:07 +00:00
Eric Richter
4e415c1e1a
Add option to automatically close after a user-supplied amount of time (#42)
* Add option to automatically close after a user-specific amount of time

Add the -t/--timeout command line option to specific a number of seconds to
wait before automatically closing if there is no update or user-interactivity
required.

* Also use timeout setting when prompting about optional mods after/during an update

Additionally, clears the TODO comment.

* Change default timeout to 10 seconds
2023-01-17 02:30:05 +00:00
comp500
84bbbe0770 Tweak timeout strategy (see #52) 2023-01-15 02:23:18 +00:00
comp500
fa9fe18215 Fix manual link resolution for files not visible in CF API (fixes #48) 2023-01-02 21:15:48 +00:00
comp500
01dcc09a78 Add main method so link.infra.packwiz.installer.Main can be launched directly
Useful for scripts or tools that already handle automatic updates of
packwiz-installer, such as docker-minecraft-server :)
Adds a message to suggest using the bootstrapper for automatic updates
2022-09-01 02:44:12 +01:00
comp500
a8f8444d45 Fix handling of old packwiz.json files with negative murmur2 values 2022-07-18 16:40:39 +01:00
comp500
d98baaf832 Change manifest file back to packwiz.json 2022-07-17 14:26:46 +01:00
comp500
783e35cf73 Fix OutOfBoundsException when parsing a single letter path component 2022-07-17 01:07:48 +01:00
comp500
ca172bdefc Fix order of modified MultiMC components when updating versions 2022-07-17 01:03:40 +01:00
comp500
66bc4c3e29 Significant rewrite to use 4koma, OkHttp, PackwizPath; fixing several issues
Github release plugin, Kotlin, Okio and OkHttp updated
Toml4j removed and replaced with 4koma - improves null safety, immutability, TOML compliance
kotlin-result removed (I don't think it was used anyway)
SpaceSafeURI replaced with PackwizPath which handles special characters much better (fixes #5)
Fixed directory traversal issues
Hashing system rewritten for better type safety and cleaner code
Download mode changed to use an enum
Request system completely rewritten; now uses OkHttp for HTTP requests (fixes #36, fixes #5)
Added request interceptor which retries requests (fixes #4)
Removed: support for extracting packs from zip files (and Github zipballs)
Cleaner exceptions; more improvements pending (in particular showing request failure causes)
Improved speed of cancelling in-progress downloads
Better support for installing from local files (no file: URI required; though it is still supported)
Various code cleanup changes
2022-07-10 01:44:35 +01:00
comp500
02b01b90d7 Improvements to MultiMC metadata updating
Reformatted and refactored names to fit Kotlin conventions
Closed manifest file reader properly
Fixed switching between loaders, improved intermediary logic
Improved error messages
2022-06-29 03:26:50 +01:00
comp500
ab3de9a246 Merge remote-tracking branch 'origin/master' 2022-06-28 18:04:40 +01:00
Geferon
53286871e6
Initial MultiMC Forge and MC version support (#31)
* Initial MultiMC Forge and MC version support

* Added support for MultiMC MC and Forge versioning

* Added support for Fabric, added MultiMC confirmation prompt

* Refactored prompt method for MultiMC update

* Initial PR changes

* Refactored most MultiMC code to LauncherUtils
2022-06-28 17:52:26 +01:00
comp500
610aeeb166 Change usage of deprecated toLowerCase method 2022-06-19 19:40:14 +01:00
comp500
d2556c4b4a Move to R8 shrinker, tweak compile args 2022-06-19 18:58:49 +01:00
comp500
858fd17f3e Fix optional and sided mod filtering properly 2022-05-23 20:32:22 +01:00
comp500
c2ee6fca8b Improve handling of manual downloads; "Continue" now rechecks files 2022-05-23 17:38:01 +01:00
comp500
73d21a475a Fix phantom state of opted-out files made non-optional 2022-05-23 00:55:58 +01:00
comp500
7568770078 Fix optional button waiting when there are no optional mods 2022-05-23 00:38:57 +01:00
comp500
3d1d6db9b4 Update licenses 2022-05-22 21:44:22 +01:00
comp500
c6e304bc7f Add support for mode field, with CurseForge metadata lookup
Now always asks the user before proceeding past the point where optional mods could be selected and configured
When updating files, the hash is checked so an update isn't redownloaded if it already exists
Added DevMain file for running in a dev environment
2022-05-22 21:20:52 +01:00
comp500
92d6f68f1d Always use UTF-8 for reading TOML files (fixes #22) 2022-05-11 17:45:39 +01:00
comp500
07af6046c1 Rework target into interface; add overwrite mode and validity/identity tokens 2022-03-06 21:28:27 +00:00
comp500
89bdfd9c98 WIP task system with lazy evaluation 2022-02-21 22:15:10 +00:00
comp500
f4dd4fa866 Implement new abstraction for file paths
Once integrated with the rest of the installer, this should fix many directory traversal and path encoding issues
2022-02-21 22:15:10 +00:00
comp500
6db8422c87 Add source link, update report issue link 2022-02-21 22:15:10 +00:00
comp500
7d6346c088 Shade and relocate Commons CLI, update to 1.5.0 2022-02-21 22:15:10 +00:00
comp500
aff921f67e Update dependencies, fix build with Java 9+ 2022-02-21 22:15:10 +00:00
comp500
afb574d82d Remove unused client/server fields 2022-02-21 22:15:10 +00:00
comp500
bf95f03a18 Start internal rewrite of file download system 2022-02-21 22:15:10 +00:00
comp500
bca2d758e1 Fix SpaceSafeURI nullability issues 2022-02-21 22:03:56 +00:00
comp500
46771ce870 Clarify error message for missing index file 2021-07-16 04:07:45 +01:00
comp500
b143f67acd Fix symlink check by catching the correct exception 2021-06-22 13:54:06 +01:00
comp500
03b0f1b09b Fix disable options button always changing to No optional mods... 2021-02-16 16:26:23 +00:00
comp500
6c6a0100fd Bundle licenses, disable relocation for now 2021-02-16 16:19:16 +00:00
comp500
226e754547 Add SHA1 support (see https://github.com/comp500/packwiz/pull/11) 2021-01-29 06:50:50 +00:00
comp500
2c02703101 Ask the user if they want to continue launching, if update/install fails 2020-12-15 20:24:49 +00:00
comp500
0858c90079 Rework error handling to be more robust 2020-12-15 17:28:23 +00:00
comp500
1d4c94f5b6 Make the main window unresizable, to work better with tiling window managers 2020-12-13 17:00:35 +00:00
comp500
74ddca5d54 Remove unnecessary Futures from IUserInterface API 2020-12-13 16:57:12 +00:00
comp500
0df48d19a9 Separate IUserInterface logic out into GUIHandler 2020-12-13 16:34:00 +00:00