diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPage.java index e91f1b3da..0ef9f01de 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPage.java @@ -229,12 +229,13 @@ public final class ModListPage extends ListPageBase mods) { + Objects.requireNonNull(mods); Runnable action = () -> Controllers.taskDialog(Task .composeAsync(() -> { Optional gameVersion = profile.getRepository().getGameVersion(instanceId); if (gameVersion.isPresent()) { - return new ModCheckUpdatesTask(gameVersion.get(), modManager.getMods()); + return new ModCheckUpdatesTask(gameVersion.get(), mods); } return null; }) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java index 6ab3f114e..6f0a9b5fe 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/versions/ModListPageSkin.java @@ -141,7 +141,13 @@ final class ModListPageSkin extends SkinBase { createToolbarButton2(i18n("button.refresh"), SVG.REFRESH, skinnable::refresh), createToolbarButton2(i18n("mods.add"), SVG.ADD, skinnable::add), createToolbarButton2(i18n("button.reveal_dir"), SVG.FOLDER_OPEN, skinnable::openModFolder), - createToolbarButton2(i18n("mods.check_updates.button"), SVG.UPDATE, skinnable::checkUpdates), + createToolbarButton2(i18n("mods.check_updates"), SVG.UPDATE, () -> + skinnable.checkUpdates( + listView.getItems().stream() + .map(ModInfoObject::getModInfo) + .toList() + ) + ), createToolbarButton2(i18n("download"), SVG.DOWNLOAD, skinnable::download), createToolbarButton2(i18n("search"), SVG.SEARCH, () -> changeToolbar(searchBar)) ); @@ -157,6 +163,13 @@ final class ModListPageSkin extends SkinBase { skinnable.enableSelected(listView.getSelectionModel().getSelectedItems())), createToolbarButton2(i18n("mods.disable"), SVG.CLOSE, () -> skinnable.disableSelected(listView.getSelectionModel().getSelectedItems())), + createToolbarButton2(i18n("mods.check_updates"), SVG.UPDATE, () -> + skinnable.checkUpdates( + listView.getSelectionModel().getSelectedItems().stream() + .map(ModInfoObject::getModInfo) + .toList() + ) + ), createToolbarButton2(i18n("button.select_all"), SVG.SELECT_ALL, () -> listView.getSelectionModel().selectAll()), createToolbarButton2(i18n("button.cancel"), SVG.CANCEL, () ->