diff --git a/core/src/mindustry/mod/Mods.java b/core/src/mindustry/mod/Mods.java index 30ab2b470c..348bfbceaa 100644 --- a/core/src/mindustry/mod/Mods.java +++ b/core/src/mindustry/mod/Mods.java @@ -681,9 +681,10 @@ public class Mods implements Loadable{ mod.missingDependencies.each(toImport::addUnique); }); Seq remaining = toImport.copy(); - ui.mods.importDependencies(remaining); - toImport.removeAll(remaining); - displayDependencyImportStatus(remaining, toImport); + ui.mods.importDependencies(remaining, () -> { + toImport.removeAll(remaining); + displayDependencyImportStatus(remaining, toImport); + }); }).size(150, 50); }}.show(); } diff --git a/core/src/mindustry/ui/dialogs/ModsDialog.java b/core/src/mindustry/ui/dialogs/ModsDialog.java index 8001ebe0c8..dee0edc4b6 100644 --- a/core/src/mindustry/ui/dialogs/ModsDialog.java +++ b/core/src/mindustry/ui/dialogs/ModsDialog.java @@ -673,12 +673,13 @@ public class ModsDialog extends BaseDialog{ } } - public void importDependencies(Seq dependencies){ + public void importDependencies(Seq dependencies, Runnable done){ getModList(listings -> { listings.each(l -> dependencies.contains(l.internalName), l -> { - githubImportMod(l.repo, l.hasJava); dependencies.remove(l.internalName); + githubImportMod(l.repo, l.hasJava); }); + done.run(); }); }