- Rewrote LauncherPreferences -> PLPreferences + Now the file layout is the same as UI layout + (get/set)Preference are replaced with corresponding get/set types + Getting/setting is now done through keyPath instead of manually iterating over subdictionaries. + Implemented an isolation layer, allowing an instance to have its own settings. This is off by default - Implemented launcher_profiles + Added Profile manager that can be accessed from the sidebar + Moved "Game directory (instances)" to this screen + Replaced version selector with profile selector. Version selector is moved into profile editor. - Other changes + Cleanup code by using NSPredicate instead of huge for loops + Titles in settings are made multilined + Controller config: replaced bar button items with localized ones Due to how large the changes are, this is committed directly to the mainline branch. Bugs are expected to be found (although I did enough tests for this locally)
22 lines
801 B
Objective-C
22 lines
801 B
Objective-C
#import <UIKit/UIKit.h>
|
|
|
|
#define TYPE_INSTALLED 0
|
|
#define TYPE_RELEASE 1
|
|
#define TYPE_SNAPSHOT 2
|
|
#define TYPE_OLDBETA 3
|
|
#define TYPE_OLDALPHA 4
|
|
|
|
typedef void (^MDCallback)(NSString *stage, NSProgress *mainProgress, NSProgress *progress);
|
|
|
|
@interface MinecraftResourceUtils : NSObject
|
|
|
|
+ (void)downloadClientJson:(NSObject *)version progress:(NSProgress *)mainProgress callback:(MDCallback)callback success:(void (^)(NSMutableDictionary *json))success;
|
|
+ (void)downloadVersion:(NSDictionary *)version callback:(void (^)(NSString *stage, NSProgress *mainProgress, NSProgress *progress))callback;
|
|
|
|
+ (void)processJVMArgs:(NSMutableDictionary *)json;
|
|
|
|
+ (NSObject *)findVersion:(NSString *)version inList:(NSArray *)list;
|
|
+ (NSObject *)findNearestVersion:(NSObject *)version expectedType:(int)type;
|
|
|
|
@end
|