From e5754c70da8791f3b2b265be79b0bea09689cb51 Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Mon, 20 Sep 2021 21:58:47 +0800 Subject: [PATCH] feat: allow not checking modpack completion when option "Do not check game completion" is checked. Closes #1038. --- .../jackhuang/hmcl/game/LauncherHelper.java | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java b/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java index b46f8290e..5c6ea8f60 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java @@ -141,18 +141,22 @@ public final class LauncherHelper { else return dependencyManager.checkGameCompletionAsync(version, integrityCheck); }), Task.composeAsync(() -> { - try { - ModpackConfiguration configuration = ModpackHelper.readModpackConfiguration(repository.getModpackConfiguration(selectedVersion)); - if (CurseInstallTask.MODPACK_TYPE.equals(configuration.getType())) - return new CurseCompletionTask(dependencyManager, selectedVersion); - else if (ServerModpackLocalInstallTask.MODPACK_TYPE.equals(configuration.getType())) - return new ServerModpackCompletionTask(dependencyManager, selectedVersion); - else if (McbbsModpackLocalInstallTask.MODPACK_TYPE.equals(configuration.getType())) - return new McbbsModpackCompletionTask(dependencyManager, selectedVersion); - else - return null; - } catch (IOException e) { + if (setting.isNotCheckGame()) { return null; + } else { + try { + ModpackConfiguration configuration = ModpackHelper.readModpackConfiguration(repository.getModpackConfiguration(selectedVersion)); + if (CurseInstallTask.MODPACK_TYPE.equals(configuration.getType())) + return new CurseCompletionTask(dependencyManager, selectedVersion); + else if (ServerModpackLocalInstallTask.MODPACK_TYPE.equals(configuration.getType())) + return new ServerModpackCompletionTask(dependencyManager, selectedVersion); + else if (McbbsModpackLocalInstallTask.MODPACK_TYPE.equals(configuration.getType())) + return new McbbsModpackCompletionTask(dependencyManager, selectedVersion); + else + return null; + } catch (IOException e) { + return null; + } } }))).withStage("launch.state.dependencies") .thenComposeAsync(() -> {