From aaa65415323210b321af46ea5d81a8f6c6a5c272 Mon Sep 17 00:00:00 2001 From: Ciilu <109708109+Ciilu@users.noreply.github.com> Date: Tue, 17 Feb 2026 22:28:38 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E9=80=9A=E8=BF=87=20cf=20/=20mr=20?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E5=AE=89=E8=A3=85=E6=95=B4=E5=90=88=E5=8C=85?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E8=BF=94=E5=9B=9E=E6=9C=89=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=A4=9A=E4=BD=99=E6=95=B4=E5=90=88=E5=8C=85=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/download/ModpackInstallWizardProvider.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackInstallWizardProvider.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackInstallWizardProvider.java index bd6a40012d..a1ed696091 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackInstallWizardProvider.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackInstallWizardProvider.java @@ -147,6 +147,21 @@ public Object finish(SettingsMap settings) { @Override public Node createPage(WizardController controller, int step, SettingsMap settings) { + boolean hasSource = controller.getSettings().containsKey(LocalModpackPage.MODPACK_FILE) || settings.containsKey(RemoteModpackPage.MODPACK_SERVER_MANIFEST); + + if (hasSource) { + if (step == 0) { + if (controller.getSettings().containsKey(LocalModpackPage.MODPACK_FILE)) + return new LocalModpackPage(controller); + else if (controller.getSettings().containsKey(RemoteModpackPage.MODPACK_SERVER_MANIFEST)) + return new RemoteModpackPage(controller); + else + throw new IllegalArgumentException(); + } else { + throw new IllegalStateException("error step " + step + ", settings: " + settings + ", pages: " + controller.getPages()); + } + } + switch (step) { case 0: return new ModpackSelectionPage(controller); From 317e26e70d3c73c88e7b4f1317bba4584cd07951 Mon Sep 17 00:00:00 2001 From: Glavo Date: Thu, 19 Feb 2026 22:00:31 +0800 Subject: [PATCH 2/2] update --- .../ModpackInstallWizardProvider.java | 46 +++++++++---------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackInstallWizardProvider.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackInstallWizardProvider.java index a1ed696091..ddb2552628 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackInstallWizardProvider.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/ModpackInstallWizardProvider.java @@ -145,35 +145,31 @@ public Object finish(SettingsMap settings) { return finishModpackInstallingAsync(settings); } + private static Node createModpackInstallPage(WizardController controller) { + if (controller.getSettings().containsKey(LocalModpackPage.MODPACK_FILE)) + return new LocalModpackPage(controller); + else if (controller.getSettings().containsKey(RemoteModpackPage.MODPACK_SERVER_MANIFEST)) + return new RemoteModpackPage(controller); + else + throw new IllegalArgumentException(); + } + @Override public Node createPage(WizardController controller, int step, SettingsMap settings) { boolean hasSource = controller.getSettings().containsKey(LocalModpackPage.MODPACK_FILE) || settings.containsKey(RemoteModpackPage.MODPACK_SERVER_MANIFEST); - if (hasSource) { - if (step == 0) { - if (controller.getSettings().containsKey(LocalModpackPage.MODPACK_FILE)) - return new LocalModpackPage(controller); - else if (controller.getSettings().containsKey(RemoteModpackPage.MODPACK_SERVER_MANIFEST)) - return new RemoteModpackPage(controller); - else - throw new IllegalArgumentException(); - } else { - throw new IllegalStateException("error step " + step + ", settings: " + settings + ", pages: " + controller.getPages()); - } - } - - switch (step) { - case 0: - return new ModpackSelectionPage(controller); - case 1: - if (controller.getSettings().containsKey(LocalModpackPage.MODPACK_FILE)) - return new LocalModpackPage(controller); - else if (controller.getSettings().containsKey(RemoteModpackPage.MODPACK_SERVER_MANIFEST)) - return new RemoteModpackPage(controller); - else - throw new IllegalArgumentException(); - default: - throw new IllegalStateException("error step " + step + ", settings: " + settings + ", pages: " + controller.getPages()); + return switch (step) { + case 0 -> createModpackInstallPage(controller); + default -> throw new IllegalStateException( + "error step " + step + ", settings: " + settings + ", pages: " + controller.getPages()); + }; + } else { + return switch (step) { + case 0 -> new ModpackSelectionPage(controller); + case 1 -> createModpackInstallPage(controller); + default -> throw new IllegalStateException( + "error step " + step + ", settings: " + settings + ", pages: " + controller.getPages()); + }; } }