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 MinecraftHandler1710 extends MinecraftHandler172 {
public MinecraftHandler1710() {
// TODO Auto-generated constructor stub
}
@Override
public String getIndexName() { return "1.7.10"; }
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("\\$\\{user_properties\\}", "{}")
.replaceAll("\\$\\{user_type\\}", "mojang")
.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("${assets_root}"))
gameArgArray[i] = Utils.getPath(l.baseDir + "assets");
else if(gameArgArray[i].equals("${assets_index_name}"))
gameArgArray[i] = getIndexName();
}
args.addAll(Arrays.asList(gameArgArray));
Utils.logger.log(Level.INFO, "Launching with arguments: " + args.toString());
return args;
}
}