mirror of
https://github.com/GravitLauncher/Launcher
synced 2024-12-23 00:51:01 +03:00
[FEATURE] Support mittot/generate option in downloadClient
This commit is contained in:
parent
21a203356f
commit
afe3dd543e
1 changed files with 15 additions and 3 deletions
|
@ -29,7 +29,7 @@ public DownloadClientCommand(LaunchServer server) {
|
|||
|
||||
@Override
|
||||
public String getArgsDescription() {
|
||||
return "[version] [dir]";
|
||||
return "[version] [dir] (mirror/generate)";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -45,6 +45,11 @@ public void invoke(String... args) throws IOException, CommandException {
|
|||
String dirName = IOHelper.verifyFileName(args[1]);
|
||||
Path clientDir = server.updatesDir.resolve(args[1]);
|
||||
|
||||
boolean isMirrorClientDownload = false;
|
||||
if(args.length > 2) {
|
||||
isMirrorClientDownload = args[2].equals("mirror");
|
||||
}
|
||||
|
||||
// Create client dir
|
||||
logger.info("Creating client dir: '{}'", dirName);
|
||||
Files.createDirectory(clientDir);
|
||||
|
@ -56,14 +61,21 @@ public void invoke(String... args) throws IOException, CommandException {
|
|||
|
||||
// Create profile file
|
||||
logger.info("Creaing profile file: '{}'", dirName);
|
||||
ClientProfile client;
|
||||
ClientProfile client = null;
|
||||
try {
|
||||
ClientProfile.Version version = ClientProfile.Version.byName(versionName);
|
||||
String internalVersion = versionName;
|
||||
if(internalVersion.contains("-")) {
|
||||
internalVersion = internalVersion.substring(0, versionName.indexOf('-'));
|
||||
}
|
||||
ClientProfile.Version version = ClientProfile.Version.byName(internalVersion);
|
||||
if(version.compareTo(ClientProfile.Version.MC164) <= 0) {
|
||||
logger.warn("Minecraft 1.6.4 and below not supported. Use at your own risk");
|
||||
}
|
||||
client = SaveProfilesCommand.makeProfile(version, dirName, SaveProfilesCommand.getMakeProfileOptionsFromDir(clientDir, version));
|
||||
} catch (Throwable e) {
|
||||
isMirrorClientDownload = true;
|
||||
}
|
||||
if(isMirrorClientDownload) {
|
||||
JsonElement clientJson = server.mirrorManager.jsonRequest(null, "GET", "clients/%s.json", versionName);
|
||||
client = Launcher.gsonManager.configGson.fromJson(clientJson, ClientProfile.class);
|
||||
client.setTitle(dirName);
|
||||
|
|
Loading…
Reference in a new issue