Modsmith is a build automation system for Kingdom Come: Deliverance mods.
Folder Path | Files |
---|---|
Data\Libs\Tables\rpg |
buff.xml perk.xml perk2perk_exclusivity.xml perk_buff.xml perk_buff_override.xml |
Localization\english_xml |
text_ui_soul.xml |
E:\projects\kingdomcome\More Perks
), there should be a Data folder and/or a Localization folder. Modsmith also supports Data-only mods and Localization-only mods (e.g., translations.)mod.manifest
file should be placed in the project root directory.Localization\french_xml
.)Before running Modsmith, you will need to edit modsmith.conf
. Don't worry! There is only one setting.
[Game]
Path = C:\Program Files (x86)\Steam\steamapps\common\KingdomComeDeliverance
Change the value of Path
to wherever you installed Kingdom Come: Deliverance. It must be the game's root path!
Argument | Required | Description |
---|---|---|
-p |
Yes | Absolute path to your project root directory (e.g., E:\projects\kingdomcome\More Perks ) |
-d |
Variable | File name and extension of your data PAK file (e.g., More Perks.pak .) Localization-only mods (e.g. translations) do not require this argument, but data mods do. |
-r |
Yes | File name and extension of your redistributable ZIP file (e.g., More Perks.zip ) |
-l |
No | Absolute path to your project's localization root directory. Use only when storing localization outside the project root. |
--add-arbitrary-files |
No | Allows you to package arbitrary unsupported files |
--debug |
No | Enables debug logging |
cd "C:\Modsmith"
modsmith -p "E:\projects\kingdomcome\More Perks" -d "More Perks.pak" -r "More Perks.zip"
cd "C:\Modsmith"
modsmith -p "E:\projects\kingdomcome\Lockpicking Overhaul" -d "Lockpicking Overhaul.pak" -r "Lockpicking Overhaul.zip" --add-arbitrary-files
More Perks is a good example of how Modsmith projects are structured and what their XML files contain (GitHub). I use Modsmith to build and update Lockpicking Overhaul, More Perks, the three versions of Better Trainers, and the two versions of Unleveled Perks.
Other examples:
Modsmith will generate a number of folders and files in the Build folder in your project root directory.
Build
folder, and there is a More Perks
subfolder in the Build
directory. This subfolder is named after the mod using the file name (without the extension) passed to Modsmith with the -r
argument.Data
and Localization
folders, which replicate the structure of the project.Data
folder using the file name (without the extension) passed to Modsmith with the -d
argument. This PAK file contains all the files in Libs\Tables\rpg
.Libs\Tables\rpg
folder, there are TBL and XML files. The zero-byte TBL files were generated automatically. Currently, you need these for XML mods to work. These XML files are the product of the packaging process. Compare them with your own in the project Data
folder and you'll see that while your XML files contain only your modified rows, the XML files in the ZIP contain both your modified rows and all other rows.Localization
folder. Note that Modsmith can generate localization XML files and PAKs for multiple languages simultaneously.Modsmith is available on GitHub at: github.com/fireundubh/modsmith.
If you don't want to run the executable, you can run Modsmith from the Python 3 source code. More details at GitHub.
If you'd like to contribute, pull requests are welcome. Please submit issues on GitHub only.