This commit is contained in:
khanhduytran0
2020-07-27 15:57:46 +07:00
5 changed files with 60 additions and 5 deletions

View File

@@ -717,6 +717,8 @@ public class Main {
String fixedName = fixPath(name);
if (isClass) {
// if (fixedName.startsWith("META-INF/versions/9")) return false;
if (keepResources && args.keepClassesInJar) {
synchronized (outputResources) {

View File

@@ -13,6 +13,9 @@ public class JMinecraftVersionList {
public Version[] versions;
public static class Version {
// Since 1.13
public Arguments arguments;
public String assets;
public Map<String, MinecraftClientInfo> downloads;
public String id;
@@ -27,5 +30,21 @@ public class JMinecraftVersionList {
public String type;
public String url;
}
// Since 1.13
public static class Arguments {
public Object[] game;
public Object[] jvm;
public static class ArgValue {
public ArgRules[] rules;
public String value;
public static class ArgRules {
public String action;
public String features;
}
}
}
}

View File

@@ -533,6 +533,7 @@ public class MCLauncherActivity extends AppCompatActivity
libItem.name.startsWith("com.mojang:realms") ||
libItem.name.startsWith("net.java.jinput") ||
libItem.name.startsWith("net.minecraft.launchwrapper") ||
// libItem.name.startsWith("org.lwjgl.lwjgl:lwjgl") ||
libItem.name.startsWith("org.lwjgl") ||
libItem.name.startsWith("tv.twitch")
) { // Black list

View File

@@ -891,12 +891,45 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
varArgMap.put("user_type", userType);
varArgMap.put("version_type", mVersionInfo.type);
varArgMap.put("game_assets", Tools.ASSETS_PATH);
String[] argsFromJson = insertVariableArgument(splitAndFilterEmpty(mVersionInfo.minecraftArguments), varArgMap);
List<String> minecraftArgs = new ArrayList<String>();
if (mVersionInfo.arguments != null) {
// Support Minecraft 1.13
for (Object arg : mVersionInfo.arguments.game) {
if (arg instanceof String) {
minecraftArgs.add((String) arg);
} else {
/*
for (JMinecraftVersionList.Arguments.ArgValue.ArgRules rule : arg.rules) {
// rule.action = allow
// TODO implement this
}
*/
}
}
}
String[] argsFromJson = insertVariableArgument(
splitAndFilterEmpty(
mVersionInfo.minecraftArguments == null ?
fromStringArray(minecraftArgs.toArray(new String[0])):
mVersionInfo.minecraftArguments
), varArgMap
);
// Tools.dialogOnUiThread(this, "Result args", Arrays.asList(argsFromJson).toString());
return argsFromJson;
}
private String fromStringArray(String[] strArr) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < strArr.length; i++) {
if (i > 0) builder.append(" ");
builder.append(strArr[i]);
}
return builder.toString();
}
private String[] splitAndFilterEmpty(String argStr) {
List<String> strList = new ArrayList<String>();
strList.add("--fullscreen");
@@ -923,7 +956,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
}
return args;
}
public static String launchClassPath;
public static String launchOptimizedDirectory;
public static String launchLibrarySearchPath;
@@ -1019,6 +1052,7 @@ public class MainActivity extends AppCompatActivity implements OnTouchListener,
debug_printMethodInfo(rsaFixStream, Provider.class.getMethods());
rsaFixStream.println("• System info");
rsaFixStream.println(" - Android version " + Build.VERSION.RELEASE + " (API " + Integer.toString(Build.VERSION.SDK_INT) + ")");
rsaFixStream.close();
runOnUiThread(new Runnable(){
@Override

View File

@@ -12,8 +12,7 @@ import java.io.*;
public class PojavApplication extends Application
{
@Override
public void onCreate()
{
public void onCreate() {
super.onCreate();
try {
Tools.APP_NAME = getResources().getString(R.string.app_short_name);