mirror of
https://github.com/AngelAuraMC/Amethyst-Android.git
synced 2025-09-17 08:35:37 -04:00
Forge 1.17+ support (not tested)
This commit is contained in:
parent
f30b4a23e0
commit
0fb6f28047
@ -123,7 +123,7 @@ public final class Tools {
|
|||||||
else gamedirPath = Tools.DIR_GAME_NEW;
|
else gamedirPath = Tools.DIR_GAME_NEW;
|
||||||
if(pvcConfig != null && pvcConfig.jvmArgs != null && !pvcConfig.jvmArgs.isEmpty()) LauncherPreferences.PREF_CUSTOM_JAVA_ARGS = pvcConfig.jvmArgs;
|
if(pvcConfig != null && pvcConfig.jvmArgs != null && !pvcConfig.jvmArgs.isEmpty()) LauncherPreferences.PREF_CUSTOM_JAVA_ARGS = pvcConfig.jvmArgs;
|
||||||
PojavLoginActivity.disableSplash(gamedirPath);
|
PojavLoginActivity.disableSplash(gamedirPath);
|
||||||
String[] launchArgs = getMinecraftArgs(profile, versionInfo, gamedirPath);
|
String[] launchArgs = getMinecraftClientArgs(profile, versionInfo, gamedirPath);
|
||||||
|
|
||||||
// ctx.appendlnToLog("Minecraft Args: " + Arrays.toString(launchArgs));
|
// ctx.appendlnToLog("Minecraft Args: " + Arrays.toString(launchArgs));
|
||||||
|
|
||||||
@ -149,6 +149,7 @@ public final class Tools {
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
javaArgList.addAll(Arrays.asList(getMinecraftJVMArgs(versionInfo, gamedirPath)));
|
||||||
javaArgList.add("-cp");
|
javaArgList.add("-cp");
|
||||||
javaArgList.add(getLWJGL3ClassPath() + ":" + launchClassPath);
|
javaArgList.add(getLWJGL3ClassPath() + ":" + launchClassPath);
|
||||||
|
|
||||||
@ -182,7 +183,45 @@ public final class Tools {
|
|||||||
javaArgList.add(cacioClasspath.toString());
|
javaArgList.add(cacioClasspath.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String[] getMinecraftArgs(MinecraftAccount profile, JMinecraftVersionList.Version versionInfo, String strGameDir) {
|
public static String[] getMinecraftJVMArgs(JMinecraftVersionList.Version versionInfo, String strGameDir) {
|
||||||
|
// Parse Forge 1.17+ additional JVM Arguments
|
||||||
|
if (versionInfo.inheritsFrom == null || versionInfo.arguments == null || versionInfo.arguments.jvm == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, String> varArgMap = new ArrayMap<>();
|
||||||
|
varArgMap.put("classpath_separator", ":");
|
||||||
|
varArgMap.put("library_directory", strGameDir + "/libraries");
|
||||||
|
|
||||||
|
List<String> minecraftArgs = new ArrayList<String>();
|
||||||
|
if (versionInfo.arguments != null) {
|
||||||
|
for (Object arg : versionInfo.arguments.jvm) {
|
||||||
|
if (arg instanceof String) {
|
||||||
|
minecraftArgs.add((String) arg);
|
||||||
|
} else {
|
||||||
|
/*
|
||||||
|
JMinecraftVersionList.Arguments.ArgValue argv = (JMinecraftVersionList.Arguments.ArgValue) arg;
|
||||||
|
if (argv.values != null) {
|
||||||
|
minecraftArgs.add(argv.values[0]);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
for (JMinecraftVersionList.Arguments.ArgValue.ArgRules rule : arg.rules) {
|
||||||
|
// rule.action = allow
|
||||||
|
// TODO implement this
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String[] argsFromJson = JSONUtils.insertJSONValueList(splitAndFilterEmpty(minecraftArgs.toArray(new String[0])), varArgMap);
|
||||||
|
// Tools.dialogOnUiThread(this, "Result args", Arrays.asList(argsFromJson).toString());
|
||||||
|
return argsFromJson;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String[] getMinecraftClientArgs(MinecraftAccount profile, JMinecraftVersionList.Version versionInfo, String strGameDir) {
|
||||||
String username = profile.username;
|
String username = profile.username;
|
||||||
String versionName = versionInfo.id;
|
String versionName = versionInfo.id;
|
||||||
if (versionInfo.inheritsFrom != null) {
|
if (versionInfo.inheritsFrom != null) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user