diff --git a/src/content/mods.cpp b/src/content/mods.cpp index 5a9281f7d1..333f1d24da 100644 --- a/src/content/mods.cpp +++ b/src/content/mods.cpp @@ -175,8 +175,9 @@ std::map getModsInPath( mod_virtual_path.append(virtual_path).append("/").append(modname); ModSpec spec(modname, mod_path, part_of_modpack, mod_virtual_path); - parseModContents(spec); - result[modname] = std::move(spec); + if (parseModContents(spec)) { + result[modname] = std::move(spec); + } } return result; } diff --git a/src/content/mods.h b/src/content/mods.h index a7e1e50415..fc98d92987 100644 --- a/src/content/mods.h +++ b/src/content/mods.h @@ -78,7 +78,7 @@ struct ModSpec * * @returns false if not a mod */ -bool parseModContents(ModSpec &mod); +[[nodiscard]] bool parseModContents(ModSpec &mod); /** * Gets a list of all mods and modpacks in path diff --git a/src/script/lua_api/l_mainmenu.cpp b/src/script/lua_api/l_mainmenu.cpp index 43087c978d..0969bb5258 100644 --- a/src/script/lua_api/l_mainmenu.cpp +++ b/src/script/lua_api/l_mainmenu.cpp @@ -385,7 +385,8 @@ int ModApiMainMenu::l_get_content_info(lua_State *L) if (spec.type == "mod") { ModSpec spec; spec.path = path; - parseModContents(spec); + // TODO return nothing on failure (needs callers to handle it) + static_cast(parseModContents(spec)); // Dependencies lua_newtable(L);