====== Dependencies on DLCs and mods ======
===== Hard dependency =====
If your mod depends on features/content created in another mod or a DLC, you can declare this DLC or other mod as a hard dependency of yours. Doing so will warn players if they try to use your mod without its dependencies.
To declare mod dependencies for your mod, add a ''"Dependencies"'' table in your ''mod.json''. Each entry in this table requires the name of the dependency mod (''"Name"''), and its ID (''"Id"'', you can find it in the dependency's ''generated_ids.lua'' file).
The same is done to declare DLC dependencies, by providing the [[dlc|DLC's codename]].
{
"Name": "Mod Name",
"Author": "Author of the mod",
"Description": "Description of the mod",
"Version": "1.0.0",
"DlcDependencies": [ "guivre_garden", "agriculture" ],
"Dependencies": [
{
"Id": "81f7891c-d992-4b27-beff-617a276bab4c",
"Name": "First dependency mod"
},
{
"Id": "28eac88d-a14a-45fa-842f-710839386b77",
"Name": "Second dependency mod"
},
...
]
}
===== Soft dependency =====
If your mod uses a DLC's or another mod's content but can still work without it, this DLC or other mod is considered as a soft dependency. In this case, you can test in your script if this DLC/mod is already loaded with ''[[foundation-library-functions#isDlcEnabled|foundation.isDlcEnabled]]'' and ''[[foundation-library-functions#isModLoaded|foundation.isModLoaded]]'':
-- Test if the DLC I depend on is loaded
if (foundation.isDlcEnabled("agriculture")) then
....
else
....
end
-- Test if the mod I depend on is loaded
if (foundation.isModLoaded("5d2565f1-3083-4a53-8366-8f2a2e1c4690")) then
....
else
....
end