Table of Contents
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's codename.
- mod.json
- {
- "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.isDlcEnabled and foundation.isModLoaded:
- mod.json
- -- 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
