Collections are packages of their own

A collection is no longer a file inside a mod: it is a package (folder or zip)
named after its id with collection.json, cover and optional locale/, shipped in
collections/ next to the mods or kept by the player in user://collections/.
Covers and texts come from the package; mods do not ship collections.
This commit is contained in:
cthangover committed 2026-10-18 19:21:33 +02:00
1 parent eabb06fcbe
commit 91d93e1368
2 files changed
+4 -4

No files matched your search

+3 -3
View File
@@ -1632,7 +1632,7 @@ namespace Mods.ModManager
return TranslationServer.Translate("mod_manager/collection_json_id_changed");
parsed.Origin = ModCollectionOrigin.User;
parsed.SourceModId = OriginalCollection(_currentId)?.SourceModId;
parsed.Package = OriginalCollection(_currentId)?.Package;
_overrides[_currentId] = parsed;
RebuildGameSelect();
Rebuild();
@@ -1650,7 +1650,7 @@ namespace Mods.ModManager
copy.Id = UniqueGameId();
copy.Kind = source.Kind;
copy.Origin = ModCollectionOrigin.User;
copy.SourceModId = source.SourceModId;
copy.Package = source.Package;
copy.Name = string.Format(TranslationServer.Translate("mod_manager/collection_copy_name"),
CollectionText.Resolve(source.GetLocalizedName(TranslationServer.GetLocale())));
copy.Locale = null;
@@ -1772,7 +1772,7 @@ namespace Mods.ModManager
fork.Id = forkId;
fork.Kind = ModCollectionKind.Component;
fork.Origin = ModCollectionOrigin.User;
fork.SourceModId = source.SourceModId;
fork.Package = source.Package;
_overrides[forkId] = fork;
_statusMessage = string.Format(TranslationServer.Translate("mod_manager/collection_forked"),
CollectionText.Resolve(source.GetLocalizedName(TranslationServer.GetLocale())));