Commit Graph

248 Commits

Author SHA1 Message Date
Petr Mrázek
1dbc4e16f7 NOISSUE remove the jar-modded jar after the instance finishes 2018-01-08 00:59:47 +01:00
Petr Mrázek
0636c03d7c GH-2087 remove the revert to vanilla functionality, add file download button to version page 2018-01-05 04:26:46 +01:00
Petr Mrázek
9510a1bbf2 NOISSUE stop logging process environment and MC launch script 2018-01-04 03:50:05 +01:00
Petr Mrázek
4340068a84 NOISSUE add button for creating empty, properly registered, components 2017-12-31 01:37:50 +01:00
Petr Mrázek
58ead6a1f4 NOISSUE handle 'folder' Flame packages by ignoring them, show warnings for minor Flame import problems 2017-12-30 18:57:46 +01:00
Petr Mrázek
719f3e863a NOISSUE add versioning to component metadata format and use it 2017-12-29 00:37:14 +01:00
Petr Mrázek
f18afd3d1e NOISSUE fix a bunch of warnings thrown by Qt internals
Badly connected signals/slots and similar things.
2017-12-14 00:29:00 +01:00
Petr Mrázek
d6fc37e486 NOISSUE make MultiMC respond to account manipulation better
* Setting and resetting default account will update the account list properly
* Removing the active account will now also reset it (previously, it would 'stay around')
* The accounts model is no longer reset by every action
2017-12-03 20:54:28 +01:00
Petr Mrázek
8eb1397a8a NOISSUE fix wrong look of checkboxes in the account list 2017-12-03 19:34:54 +01:00
Petr Mrázek
95e6f37d39 NOISSUE force saving of any outstanding instance component state on exit 2017-12-03 18:36:28 +01:00
Petr Mrázek
e0bea1e46a NOISSUE watch added Component for changes in order to trigger ComponentList saves 2017-12-03 15:57:21 +01:00
Petr Mrázek
6a462d0778 GH-1082 allow disabling components
Currently only ones that are removable and aren't dep-only
2017-12-03 15:48:25 +01:00
Petr Mrázek
0a56b56286 NOISSUE in offline mode, do not contact the auth server if there is a valid account already 2017-12-03 14:05:35 +01:00
Petr Mrázek
85ae710d40 GH-2026 implement changes necessary to support 1.13 snapshots 2017-12-03 01:22:34 +01:00
Petr Mrázek
17c8f31a09 NOISSUE split out the LaunchProfile out of the ComponentList 2017-11-17 15:44:13 +01:00
Petr Mrázek
fede712a26 NOISSUE rename MinecraftProfile to ComponentList
It is realistically a list of components. The fact that it also holds the final
launch parameters is a design bug.
2017-11-04 15:23:49 +01:00
Petr Mrázek
a6a642eb7e GH-2026 only run versions with FirstThreadOnMacOS trait on first thread 2017-10-29 09:15:10 +01:00
Petr Mrázek
c78498f40c GH-2026 actually do the previous on macOS, not Windows 2017-10-28 23:29:18 +02:00
Petr Mrázek
4b80d34be4 GH-2026 start Minecraft on first thread on macOS
This should fix issues with the 1.13 snapshots
2017-10-28 22:56:18 +02:00
Petr Mrázek
d4b82f11ca GH-2026 fix failing library test case for native libraries 2017-10-28 22:21:49 +02:00
Petr Mrázek
3eebc641f9 GH-2026 fix native library downloads
If a single library had both native and java jars, they would randomly get confused.
2017-10-28 21:12:12 +02:00
Petr Mrázek
eba8e61ce9 NOISSUE change behaviour of the +tweakers patch item
Patch application will either add tweakers, or move them
to the end if they are already present.

This allows fixing up tweaker order in subsequent version patches.
2017-10-08 02:02:52 +02:00
Petr Mrázek
c51512f940 NOISSUE use classparser for importing Legacy instances with undecided Minecraft versions 2017-09-27 15:39:13 +02:00
Petr Mrázek
9a2d203c0d GH-1993 swap min/max memory settings when they are the wrong way around 2017-09-27 12:45:07 +02:00
Petr Mrázek
79d208795c GH-1997 fix off by one error in 8.3 path logic 2017-09-27 04:28:21 +02:00
Petr Mrázek
d276da1359 GH-1997 try to fix Windows build
Coding blind. Much !!FUN!!.
2017-09-27 04:10:09 +02:00
Petr Mrázek
464bc0f770 GH-1997 replace use of weird hacks with normal java arguments
This affects classpath and java.library.path.

The catch is that if the strings cannot be expressed in system codepage
on Windows, it tries to use 8.3 paths.
2017-09-27 04:04:19 +02:00
Petr Mrázek
2b998bb8cc NOISSUE implement LEgacy instance migration 2017-09-26 13:38:34 +02:00
Petr Mrázek
f8c5cee982 NOISSUE ignore the 'Example Mod' mod name, use filename instead 2017-09-25 08:18:42 +02:00
Petr Mrázek
b5b16d0972 NOISSUE make instance traits() const 2017-09-22 00:27:30 +02:00
Petr Mrázek
76c7e0fe1c NOISSUE remove some dead code from MinecraftInstance (moved elsewhere) 2017-09-22 00:13:07 +02:00
Petr Mrázek
e9434fce3d NOISSUE prefer to use '.minecraft' instead of 'minecraft' folder 2017-09-20 23:58:39 +02:00
Petr Mrázek
ba3cbb7330 NOISSUE more work on Legacy migration 2017-09-20 23:38:31 +02:00
Petr Mrázek
9a6c2b0e2c NOISSUE Add back Legacy for migration purposes 2017-09-17 19:24:39 +02:00
Petr Mrázek
9491396292 NOISSUE put back missing OneSix upgrade logic 2017-09-10 12:41:32 +02:00
Petr Mrázek
13628e7a82 NOISSUE merging of strategy into profile, onesix into minecraft 2017-09-09 19:19:05 +02:00
Petr Mrázek
b29382c748 NOISSUE Remove Legacy support 2017-09-09 18:30:22 +02:00
Petr Mrázek
4c01983f47 NOISSUE remove FTB integration 2017-09-09 18:29:52 +02:00
Petr Mrázek
3fb4ce713f NOISSUE add support for Flame packs with resource packs
And a bunch of undefined things we don't handle intentionally just yet...
2017-09-08 09:02:27 +02:00
Petr Mrázek
d80382180e NOISSUE refactor pack import (extraction and paths)
It now:
* Doesn't extract until it knows the content format is good.
* Extracts in a predictable location, not requiring to use a second path for the actual pack root.
2017-09-04 08:17:25 +02:00
Petr Mrázek
6381bfdb88 NOISSUE handle error 201 in Auth code
This is something I ran into when one of my accounts stopped working.
The auth token probably expired.

This should now be handled as a normal auth error, not a network failure.
2017-09-02 13:37:12 +02:00
Petr Mrázek
3ed990861a NOISSUE simplify ProblemProvider 2017-08-28 22:09:53 +02:00
Joona
59b681a174
NOISSUE implement more error handling 2017-08-22 18:35:10 -07:00
Joona
6e25624623
NOISSUE remove debug statement 2017-08-22 18:12:23 -07:00
Joona
60d10201e9
NOISSUE Add GPU vendor and driver version 2017-08-22 18:02:03 -07:00
Joona
0cd55d943e
CPU and GPU model on Linux 2017-08-22 17:47:06 -07:00
Joona
48274e889f
move env cleaning and clean before java test 2017-08-22 15:23:35 -07:00
Petr Mrázek
8cf88ffc58 GH-1314 add UI for custom minecraft jar addition
Also changes the text of the jar mod addition button.
It should be clearer what it does and hopefully will not confuse
as many people.
2017-08-07 00:46:29 +02:00
Petr Mrázek
bea1b5de5e GH-1929 do not allow non-current update task to affect the update process
Errors are handled by setting a flag and failing on the next call to next()
2017-07-21 08:49:58 +02:00
Petr Mrázek
5ea170db78 GH-1927 fix potential issue with FMLLibrariesTask succeeding twice. 2017-07-07 19:50:24 +02:00
Petr Mrázek
e5b4b5d295 GH-1927 Add more specific task status logging
* Tasks are now described by class name and object name (or memory address).
* Tasks starts are logged.
* Aborted tasks are now treated just as the other cases.
2017-07-07 19:46:56 +02:00
Petr Mrázek
d6ab4b4a7f NOISSUE rearrange global initialization 2017-07-05 18:02:49 +02:00
Petr Mrázek
89d3a66658 NOISSUE some safe refactors and changes of the task subsystem
Possibly also some bug fixes.
2017-06-26 01:14:32 +02:00
Petr Mrázek
cdc9bed83f NOISSUE move some zip utility functions back to quazip
It's not entirely clean yet.
2017-05-31 09:20:24 +02:00
Petr Mrázek
7acf1998eb NOISSUE split wrapper commands into command and args
This lets you use commands with parameters.
2017-05-29 01:36:01 +02:00
Petr Mrázek
3597a50854 NOISSUE log native extraction failures also to game log 2017-05-22 08:57:13 +02:00
Petr Mrázek
c329bc73c0 NOISSUE more compiler warning removal 2017-05-21 22:24:06 +02:00
Petr Mrázek
d432d8ecfc NOISSUE get rid of some more compiler warnings 2017-05-21 22:14:40 +02:00
Petr Mrázek
8bd8be95f0 NOISSUE fix a bunch of compiler warnings 2017-05-21 20:20:37 +02:00
Petr Mrázek
572a6026b5 GH-1895 update LWJGL list during legacy instance update 2017-05-21 02:34:02 +02:00
Petr Mrázek
868669a497 NOISSUE add a linux system packaging install layout 2017-05-13 01:24:15 +02:00
Petr Mrázek
4cf4110d9d NOISSUE log even more about 'Flame' resolving issues 2017-05-09 21:56:33 +02:00
Petr Mrázek
e029b7764e NOISSUE log 'Flame' mod resolver parsing errors. 2017-05-09 21:49:36 +02:00
Petr Mrázek
e76e6329cd NOISSUE Revert all recent changes to NetAction and NetJob 2017-05-03 23:13:49 +02:00
Petr Mrázek
0efa714ba5 NOISSUE replace std::shared_ptr with shared_qobject_ptr for all download tasks 2017-05-03 21:09:36 +02:00
Petr Mrázek
e1465f4848 NOISSUE refactor NetAction to be based on Task
Still missing some things, this is part 1.
2017-04-29 02:24:00 +02:00
Petr Mrázek
6dc1bc65e1 NOISSUE fix Mojang JSON format unit test on Qt 5.6 by dumping JSON to byte arrays 2017-04-25 23:33:19 +02:00
Petr Mrázek
4fa3e2a714 GH-1856 Fix metadata version and list loading
Shouldn't crash anymore, shouldn't overwrite data in some bad way anymore either.
2017-04-24 01:30:51 +02:00
Petr Mrázek
3f24c4cfe5 GH-1856 Make MultiMC fail hard when things are missing
Things like:
* jar mods
* valid version files
2017-04-23 02:34:16 +02:00
Petr Mrázek
8084f27ec8 NOISSUE do not write library display name twice 2017-04-22 20:27:00 +02:00
Petr Mrázek
249baf6fcf GH-1860 fix old jarmods
Names were not set for the libraries, making them return invalid things
2017-04-22 19:38:28 +02:00
Petr Mrázek
8ace5fa91d NOISSUE Add flame. 2017-04-22 18:51:04 +02:00
Petr Mrázek
77a1d39f6b NOISSUE fix problems in old curse packs
Added:
* jarmod importing
* fixing of bad minecraft versions
* mapping of undefined 'recommended' forge versions to something appropriate
* some fake guessing of pack icons
* fixes for some more issues found with the pack manifest format
2017-04-22 05:20:06 +02:00
Petr Mrázek
6a525db78d NOISSUE 'required' attribute of curse manifests is optional, libraries attribute reading 2017-04-22 00:29:24 +02:00
Petr Mrázek
ab5045b54c NOISSUE finalize curse modpack import work 2017-04-21 22:23:31 +02:00
Petr Mrázek
f3c46dbf11 NOISSUE silly/simple implementation of mod metadata in OneSix version format 2017-04-21 22:23:00 +02:00
Petr Mrázek
6bd2605a79 NOISSUE add import from curse zip packs
Does not actually grab mods, but resolves them and prints the results in logs.
2017-04-20 05:22:04 +02:00
Petr Mrázek
c4c8e99681 NOISSUE jar mods as libraries, fix for customizing net.minecraft 2017-04-17 22:51:30 +02:00
Petr Mrázek
fc28aacdea NOISSUE stop using the path attributes from Mojang download info
It really should not dictate how are things stored and it just makes
the metadata bigger for no reason.
2017-04-15 11:40:22 +02:00
Petr Mrázek
07cde802e4 GH-1853 fix FTB and parsing of old version files 2017-04-14 12:33:54 +02:00
Petr Mrázek
2aaf9827a6 NOISSUE slightly refactor jarMod entry reading 2017-04-14 12:21:10 +02:00
Petr Mrázek
be53eb66f8 NOISSUE implement mainJar support in OneSix format
This allows customizing the main jar like any other library.
2017-04-13 09:28:25 +02:00
Petr Mrázek
8e58d61150 NOISSUE fix issue with the narrator feature by splitting java and native libraries 2017-04-07 00:20:02 +02:00
Petr Mrázek
dff307557b NOISSUE fix liteloader uid where it is hardcoded hardcoded 2017-04-07 00:20:02 +02:00
Petr Mrázek
e0596d3c86 NOISSUE Make forge installable again 2017-04-07 00:20:02 +02:00
Petr Mrázek
2ac0edbbdb NOISSUE preview of LWJGL version changing
It still needs work - some LWJGL versions are exclusive to macOS.
This has to be encoded in the json.
2017-04-07 00:20:02 +02:00
Petr Mrázek
53188386b8 NOISSUE refactor builtin patch loading slightly 2017-04-07 00:20:02 +02:00
Petr Mrázek
af3384c649 NOISSUE add filename to newly created jar mod patches 2017-04-07 00:20:02 +02:00
Petr Mrázek
22735f275e NOISSUE remove dead code 2017-04-07 00:20:02 +02:00
Petr Mrázek
5fabb4f254 NOISSUE Rough refactor of ProfilePatch and VersionFile internals.
They are now distinct classes with distinct responsibilities.

* ProfilePatch is an entry in MinecraftProfile and can hold VersionFile or Meta::Version.
* VersionFile is the basic element that holds version information loaded from JSON.
* Meta::Version is the loader class for VersionFile(s) from a server.
2017-04-07 00:20:02 +02:00
Petr Mrázek
6f2a87167a NOISSUE remove some dead code from version related classes 2017-04-07 00:20:02 +02:00
Petr Mrázek
f557c13679 NOISSUE stuff and things happened. Maybe. 2017-04-07 00:20:02 +02:00
Petr Mrázek
2660418d58 NOISSUE hack it together enough to get launching back
Meta index will now always return valid objects.
They just might never load if they don't exist on the server.
2017-04-07 00:20:02 +02:00
Petr Mrázek
40cf38bc32 NOISSUE remove liteloader and forge 2017-04-07 00:20:01 +02:00
Petr Mrázek
f6eb8fa1e4 NOISSUE Remove hardcoded LWJGL (modern) 2017-04-07 00:20:01 +02:00
Petr Mrázek
2980322c3b NOISSUE Remove Minecraft version list and versions. 2017-04-07 00:20:01 +02:00
Petr Mrázek
7382360771 NOISSUE remove builtin Minecraft versions 2017-04-07 00:19:56 +02:00
Petr Mrázek
8cbe13c656 NOISSUE remove legacy version blacklist 2017-04-07 00:19:51 +02:00
Petr Mrázek
160b5033a7 GH-1828 hardcode legacy assets location to fix legacy launch 2017-02-28 20:52:50 +01:00
Petr Mrázek
01cb5ebb35 GH-1828 do not load assets info from custom version files
Fixes issue where this causes the launcher to use the old assets URL
2017-02-28 20:37:51 +01:00
Petr Mrázek
c200301673 GH-1801 Do not print the launch script to MultiMC's log. 2017-01-24 08:20:16 +01:00
Petr Mrázek
cf43abc87e GH-1794 Only write to the instance.cfg once after copying FTB instances. 2017-01-22 15:20:05 +01:00
Petr Mrázek
858b490c74 GH-1778: Fix placement of modded Minecraft.jar in OneSix instances. 2017-01-10 23:03:00 +01:00
Petr Mrázek
f530aae9d3 NOISSUE update all the Copyright comments and texts to include 2017 2017-01-08 04:58:05 +01:00
Petr Mrázek
cff34a14dc NOISSUE dump the json to log in MojangVersionFormatTest 2017-01-07 19:32:39 +01:00
Taylor Smock
03d2858c62 BUILD: Remove extraneous " from CreateServerResourcePacksFolder.cpp (#1749)
NOISSUE Remove extraneous " from CreateServerResourcePacksFolder.cpp

This did not affect build, but was visible in logs.
2016-12-12 14:36:42 +01:00
Petr Mrázek
035bdc7576 GH-1524 Regenerate Minecraft client token when the auth token is invalid
This makes the case where users copy MultiMC to other machines
easier to handle. It doesn't require manual intervention and the tokens
do not go in a desync loop.
2016-11-30 00:19:27 +01:00
Petr Mrázek
4ca6878743 GH-1670 Fix LWJGL list loading
Now it uses the standard Download class that supports redirects and SSL.
2016-11-27 01:45:55 +01:00
Petr Mrázek
5994c47d7c NOISSUE add ganalytics and LocalPeer licenses 2016-11-26 23:53:56 +01:00
Petr Mrázek
9efdd7232c NOISSUE include json path in errors when FTB json is missing. 2016-11-17 04:40:07 +01:00
Petr Mrázek
9b41986634 GH-347 update timestamps of added mods 2016-11-17 04:09:24 +01:00
Petr Mrázek
b09fad9cbf GH-347 Add timestamp column to mod lists
It shows when the file was changed (in most cases added).
2016-11-17 02:55:02 +01:00
Petr Mrázek
fd34ca5a0f NOISSUE always run the ExtractNatives task during launch
The task now checks the conditions, giving the update process time
to supply all the metadata.
2016-11-17 01:21:49 +01:00
Petr Mrázek
12f6534e77 NOISSUE mark used accounts/sessions in selection menus 2016-11-17 01:00:15 +01:00
Petr Mrázek
b6f133f579 GH-1713 fix FTB loading crashes 2016-11-09 01:22:02 +01:00
Petr Mrázek
8b952b3870 NOISSUE Refactor and sanitize MultiMC startup/shutdown
* Always create main window.
* Properly handle netowrk manager - it was created twice, leading to potential crashes.
2016-11-06 21:58:54 +01:00
Petr Mrázek
87dd951505 NOISSUE add a badge for crashed instances
Not persistent across MultiMC runs.
2016-11-04 01:19:04 +01:00
Petr Mrázek
f0b71f989e NOISSUE use LoggedProcess to work around issues with QProcess on macOS 2016-11-03 01:11:57 +01:00
Petr Mrázek
dd0e996081 GH-1697 always stale files tolerate errors if a local copy is present
This fixes the situation when liteloader snapshot site is broken
and there's an older local snapshot already present.
2016-10-28 02:19:19 +02:00
Petr Mrázek
cee53f7f3c Revert "NOISSUE nuke builtin Minecraft versions"
This reverts commit 5ae3b2c114.

We need those builtin versions for now.
2016-10-26 18:23:39 +02:00
Petr Mrázek
d66fdcd4cc NOISSUE Granular instance reload 2016-10-26 18:21:24 +02:00
Petr Mrázek
6e80f03409 NOISSUE add instance-local library storage
Any libraries stored in $instanceroot/libraries/ will override
the libraries from MultiMC's global folders, as long as they are marked 'local'
in the json patch.
2016-10-02 00:26:10 +02:00
Petr Mrázek
eb747e08b7 NOISSUE fix minor memory leaks 2016-08-19 09:04:58 +02:00
Petr Mrázek
042f3ef55c GH-352 Make OneSix instance update downloads cancellable 2016-08-14 23:22:54 +02:00
Petr Mrázek
55544893a3 GH-1643 do not censor preferredLanguage in logs 2016-08-10 19:52:38 +02:00
Petr Mrázek
c60db13af7 NOISSUE Do not kill running instances when MultiMC shuts down 2016-08-10 00:28:33 +02:00
Petr Mrázek
bc6d1b5304 GH-338, GH-513, GH-700 Unify edit instance with console window
* The resulting instance window can be closed at any point.
* Main window is kept open and running instances are marked with a badge.
* Multiple instances can now run from the same MultiMC - it's even more **multi** now.
* MultiMC can be entirely closed, keeping Minecraft(s) running.
2016-08-07 11:48:15 +02:00
Petr Mrázek
c44d41ee9b NOISSUE do not attempt to stop watching world folders if they are not being watched 2016-08-07 11:44:42 +02:00
Petr Mrázek
cf0694a0cb NOISSUE allow user to sort mod list by clicking on column headers 2016-08-05 00:10:33 +02:00
Petr Mrázek
b76d4573cd GH-589 GH-842 GH-901 GH-1117 allow mass-enabling/disabling of mods 2016-08-04 23:16:03 +02:00
Petr Mrázek
6ec2652b45 GH-1273 allow extended selection in mod lists 2016-08-04 22:57:16 +02:00
Petr Mrázek
eec87db86a GH-1635 add filter bar to mod list pages 2016-08-04 21:54:25 +02:00
Petr Mrázek
42a98c3661 NOISSUE move creation of server resource pack folder to a separate task 2016-08-01 21:15:08 +02:00
Petr Mrázek
1f2bed2ef1 NOISSUE implement direct java launch
Just running the Java process and giving it params on the command line
2016-08-01 21:15:08 +02:00
FyberOptic
f626fd02c7 GH-1610 Make Forge installs only use newer list to fix older version downloads 2016-07-08 14:08:07 -04:00
Petr Mrázek
969418f01f NOISSUE make liteloader version list pretty and usable 2016-06-14 02:08:56 +02:00
Petr Mrázek
6ecfe8546f NOISSUE implement support for liteloader snapshots 2016-06-13 22:00:09 +02:00
Petr Mrázek
d4109938fe NOISSUE implement 'always-stale' cache entries 2016-06-13 21:53:56 +02:00
Petr Mrázek
54e5a98da0 NOISSUE refactor liteloader version file creation
It no longer implements yet another version file format serialization
2016-06-07 01:23:31 +02:00
Petr Mrázek
a1abbd9e05 NOISSUE refactor *Download into more, smaller pieces
* Download is now Download.
* Download uses Sink subclasses to process various events.
* Validators can be used to further customize the Sink behaviour.
2016-06-05 23:55:39 +02:00
Petr Mrázek
4440f68e59 GH-575 Add back file drop support to ModList 2016-05-15 23:27:06 +02:00
Petr Mrázek
67b22c8105 GH-575 clean up ModList - remove all legacy and obsolete parts 2016-05-15 22:56:14 +02:00
Petr Mrázek
12413f722d GH-575 separate legacy jar mod list from mod list 2016-05-15 22:56:14 +02:00
Alexia
377316999e GH-767 Basic skin upload 2016-05-15 16:01:05 +02:00
Petr Mrázek
e1a530f84d GH-1559 Fix FTB icons
This was caused by separation of GUI and logic. Now logic has an interface that GUI implements.
It should be expanded upon later.
2016-05-03 00:27:28 +02:00
Petr Mrázek
771dd6f9ab NOISSUE reorganize unit tests to be placed next to the code they test. Nuke more dead tests. 2016-05-01 00:02:15 +02:00
Petr Mrázek
ed3884fd38 NOISSUE move Java and Minecraft launch tasks to the proper places
Minecraft and Java are not generic.
2016-05-01 00:00:24 +02:00
Petr Mrázek
b6d455a02b NOISSUE reorganize and document libraries 2016-05-01 00:00:14 +02:00