diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeNewInstallTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeNewInstallTask.java index 7ce18dc92..aae2b35e1 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeNewInstallTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/forge/ForgeNewInstallTask.java @@ -131,7 +131,8 @@ public class ForgeNewInstallTask extends Task { @Override public void execute() throws Exception { - if ("net.minecraft.launchwrapper.Launch".equals(version.resolve(dependencyManager.getGameRepository()).getMainClass())) + String originalMainClass = version.resolve(dependencyManager.getGameRepository()).getMainClass(); + if (!"net.minecraft.client.main.Main".equals(originalMainClass) && !"cpw.mods.modlauncher.Launcher".equals(originalMainClass)) throw new OptiFineInstallTask.UnsupportedOptiFineInstallationException(); Path temp = Files.createTempDirectory("forge_installer"); diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/optifine/OptiFineInstallTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/optifine/OptiFineInstallTask.java index 71fdffe28..8b548370f 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/optifine/OptiFineInstallTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/optifine/OptiFineInstallTask.java @@ -122,7 +122,8 @@ public final class OptiFineInstallTask extends Task { @Override public void execute() throws Exception { - if ("cpw.mods.modlauncher.Launcher".equals(version.resolve(dependencyManager.getGameRepository()).getMainClass())) + String originalMainClass = version.resolve(dependencyManager.getGameRepository()).getMainClass(); + if (!"net.minecraft.client.main.Main".equals(originalMainClass) && !"net.minecraft.launchwrapper.Launch".equals(originalMainClass)) throw new OptiFineInstallTask.UnsupportedOptiFineInstallationException(); List libraries = new LinkedList<>();