package pl.asiekierka.AsieLauncher.launcher;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.net.URL;
import java.util.*;
import java.util.logging.Level;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import org.json.simple.*;
import pl.asiekierka.AsieLauncher.common.IProgressUpdater;
import pl.asiekierka.AsieLauncher.common.JavaLauncher;
import pl.asiekierka.AsieLauncher.common.Utils;
import pl.asiekierka.AsieLauncher.download.AssetDownloader;
public class MinecraftHandler172 extends MinecraftHandler162 {
public MinecraftHandler172() {
// TODO Auto-generated constructor stub
}
protected ArrayList<String> getMCArguments(AsieLauncher l, String path, String username, String sessionID, String UUID, String jvmArgs) {
ArrayList<String> args = new ArrayList<String>();
args.addAll(Arrays.asList(jvmArgs.split(" ")));
args.add("-cp"); args.add(generateClasspath(l));
args.add("-Djava.library.path=" + new File(nativesDir).getAbsolutePath());
args.add("-Dfml.ignorePatchDiscrepancies=true");
args.add("-Dfml.ignoreInvalidMinecraftCertificates=true");
args.add(mainClass);
// Parse gameArguments
gameArguments = gameArguments.replaceAll("\\$\\{auth_player_name\\}", username)
.replaceAll("\\$\\{auth_access_token\\}", sessionID)
.replaceAll("\\$\\{version_name\\}", gameVersion)
.replaceAll("\\$\\{auth_uuid\\}", UUID)
.replaceAll("--cascadedTweaks", "--tweakClass");
// Workaround for broken Windows path handling
String[] gameArgArray = gameArguments.split(" ");
for(int i = 0; i < gameArgArray.length; i++) {
if(gameArgArray[i].equals("${game_directory}"))
gameArgArray[i] = Utils.getPath(new File(path).getAbsolutePath());
else if(gameArgArray[i].equals("${game_assets}"))
gameArgArray[i] = Utils.getPath(assetsDir);
}
args.addAll(Arrays.asList(gameArgArray));
Utils.logger.log(Level.INFO, "Launching with arguments: " + args.toString());
return args;
}
}