diff --git a/src/core/@types/javaApi.d.ts b/src/core/@types/javaApi.d.ts index 0631cf78..0d1aad5e 100644 --- a/src/core/@types/javaApi.d.ts +++ b/src/core/@types/javaApi.d.ts @@ -751,6 +751,7 @@ export interface InstanceSettings { memory: number; fullscreen: boolean; updateChannel: string; + preventMetaModInjection: boolean; javaArgs: string; shellArgs: string; programArgs: string; diff --git a/src/views/Settings/InstanceSettings.vue b/src/views/Settings/InstanceSettings.vue index 6f126cbc..27594a01 100644 --- a/src/views/Settings/InstanceSettings.vue +++ b/src/views/Settings/InstanceSettings.vue @@ -66,6 +66,15 @@

Java

+ + +
diff --git a/subprocess/src/main/java/net/creeperhost/creeperlauncher/data/InstanceJson.java b/subprocess/src/main/java/net/creeperhost/creeperlauncher/data/InstanceJson.java index 4de7b978..d22a87b7 100644 --- a/subprocess/src/main/java/net/creeperhost/creeperlauncher/data/InstanceJson.java +++ b/subprocess/src/main/java/net/creeperhost/creeperlauncher/data/InstanceJson.java @@ -66,7 +66,7 @@ public class InstanceJson { * When enabled, the app will not inject mods from the meta.modpacks.ch system. Sometimes these can * cause issues, so it's good to let the user have the option to turn them off */ - public boolean preventMetaModInjection = false; + public boolean preventMetaModInjection = Settings.getSettings().instanceDefaults().preventMetaModInjection(); public byte packType; // TODO migrate this to `isPrivate` diff --git a/subprocess/src/main/java/net/creeperhost/creeperlauncher/storage/settings/Settings.java b/subprocess/src/main/java/net/creeperhost/creeperlauncher/storage/settings/Settings.java index 1f65b897..db23a5eb 100644 --- a/subprocess/src/main/java/net/creeperhost/creeperlauncher/storage/settings/Settings.java +++ b/subprocess/src/main/java/net/creeperhost/creeperlauncher/storage/settings/Settings.java @@ -200,6 +200,7 @@ private SettingsData migrate() { getOrDefault("memory", Integer::parseInt, DEFAULT_SETTINGS.instanceDefaults().memory()), getOrDefault("fullscreen", Boolean::parseBoolean, DEFAULT_SETTINGS.instanceDefaults().fullscreen()), getOrDefault("updateChannel", DEFAULT_SETTINGS.instanceDefaults().updateChannel()), + getOrDefault("preventMetaModInjection", Boolean::parseBoolean, DEFAULT_SETTINGS.instanceDefaults().preventMetaModInjection()), getOrDefault("jvmargs", DEFAULT_SETTINGS.instanceDefaults().javaArgs()), getOrDefault("shellArgs", DEFAULT_SETTINGS.instanceDefaults().shellArgs()), "" // There is no existing setting for this diff --git a/subprocess/src/main/java/net/creeperhost/creeperlauncher/storage/settings/SettingsData.java b/subprocess/src/main/java/net/creeperhost/creeperlauncher/storage/settings/SettingsData.java index ed821793..3354a9b2 100644 --- a/subprocess/src/main/java/net/creeperhost/creeperlauncher/storage/settings/SettingsData.java +++ b/subprocess/src/main/java/net/creeperhost/creeperlauncher/storage/settings/SettingsData.java @@ -99,6 +99,7 @@ public static SettingsData createDefault() { computeRecommendedInstanceRam(), false, "release", + false, String.join(" ", MOJANG_DEFAULT_ARGS), "", "" @@ -200,16 +201,18 @@ public static final class InstanceSettings { private int memory; private boolean fullscreen; private String updateChannel; + private boolean preventMetaModInjection; private String javaArgs; private String shellArgs; private String programArgs; - public InstanceSettings(int width, int height, int memory, boolean fullscreen, String updateChannel, String javaArgs, String shellArgs, String programArgs) { + public InstanceSettings(int width, int height, int memory, boolean fullscreen, String updateChannel, boolean preventMetaModInjection, String javaArgs, String shellArgs, String programArgs) { this.width = width; this.height = height; this.memory = memory; this.fullscreen = fullscreen; this.updateChannel = updateChannel; + this.preventMetaModInjection = preventMetaModInjection; this.javaArgs = javaArgs; this.shellArgs = shellArgs; this.programArgs = programArgs; @@ -234,6 +237,10 @@ public boolean fullscreen() { public String updateChannel() { return updateChannel; } + + public boolean preventMetaModInjection() { + return preventMetaModInjection; + } public String javaArgs() { return javaArgs;