diff --git a/loader/src/ui/mods/popups/ModPopup.cpp b/loader/src/ui/mods/popups/ModPopup.cpp index 0284946d..d1ae5a7b 100644 --- a/loader/src/ui/mods/popups/ModPopup.cpp +++ b/loader/src/ui/mods/popups/ModPopup.cpp @@ -860,6 +860,19 @@ void ModPopup::onEnable(CCObject*) { } void ModPopup::onInstall(CCObject*) { + // A futile attempt to try and prevent users from blindly installing + // everything on the index + if (m_source.asServer() && Loader::get()->getAllMods().size() > 10) { + if (!Mod::get()->setSavedValue("shown-dont-install-everything-warning", true)) { + FLAlertLayer::create( + "Warning", + "Installing too many mods can lead to <cr>instability</c>, <cr>bugs</c>, and " + "<cr>crashes</c>. <cy>You should only install mods you need!</c>", + "OK" + )->show(); + return; + } + } server::ModDownloadManager::get()->startDownload(m_source.getID(), std::nullopt); this->onClose(nullptr); }