diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DownloadPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DownloadPage.java index 1032a05be..f6dca4575 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DownloadPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/DownloadPage.java @@ -35,6 +35,7 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.*; import javafx.stage.FileChooser; +import org.jackhuang.hmcl.mod.ModLoaderType; import org.jackhuang.hmcl.mod.ModManager; import org.jackhuang.hmcl.mod.RemoteMod; import org.jackhuang.hmcl.mod.RemoteModRepository; @@ -105,9 +106,9 @@ public class DownloadPage extends Control implements DecoratorPage { setFailed(false); Task.allOf( - Task.supplyAsync(() -> addon.getData().loadDependencies(repository)), - Task.supplyAsync(() -> { - Stream versions = addon.getData().loadVersions(repository); + Task.supplyAsync(() -> addon.getData().loadDependencies(repository)), + Task.supplyAsync(() -> { + Stream versions = addon.getData().loadVersions(repository); // if (StringUtils.isNotBlank(version.getVersion())) { // Optional gameVersion = GameVersion.minecraftVersion(versionJar); // if (gameVersion.isPresent()) { @@ -115,8 +116,8 @@ public class DownloadPage extends Control implements DecoratorPage { // .filter(file -> file.getGameVersions().contains(gameVersion.get()))); // } // } - return sortVersions(versions); - })) + return sortVersions(versions); + })) .whenComplete(Schedulers.javafx(), (result, exception) -> { if (exception == null) { @SuppressWarnings("unchecked") @@ -409,6 +410,23 @@ public class DownloadPage extends Control implements DecoratorPage { break; } + for (ModLoaderType modLoaderType : dataItem.getLoaders()) { + switch (modLoaderType) { + case FORGE: + graphicPane.getChildren().setAll(SVG.releaseCircleOutline(Theme.blackFillBinding(), 24, 24)); + content.getTags().add(i18n("install.installer.forge")); + break; + case FABRIC: + graphicPane.getChildren().setAll(SVG.releaseCircleOutline(Theme.blackFillBinding(), 24, 24)); + content.getTags().add(i18n("install.installer.fabric")); + break; + case LITE_LOADER: + graphicPane.getChildren().setAll(SVG.releaseCircleOutline(Theme.blackFillBinding(), 24, 24)); + content.getTags().add(i18n("install.installer.liteloader")); + break; + } + } + // Workaround for https://github.com/huanghongxun/HMCL/issues/2129 this.setMinHeight(50); }