sgtlaggy added a new file:
QuoteDisplay MoreWARNING: Using this mod, like SVM and editing SPT_Data files directly, can have unexpected results, potentially broken profiles, and you are less likely to receive help through official support channels.
Json Data Modifier
This will let you edit config values without touching the actual config/database files, letting you quickly revert to default values.
Regular Json, JSON5, and JSONC are all accepted with the proper file extension, and examples can be found in the source code.
Any Json files stored within this mod can be renamed with an underscore _ at the beginning to disable them.
This mod is rather "dumb" and doesn't have any fancy features like selectors, iteration, or referencing current values.
For example, to change the weight of every item you'd need to list out the item ID and full path to the weight property for all 4000+ items. This would be better done with Server Value Modifier (SVM) or another mod.
Keep in mind this does not necessarily apply directly to the original values if other mods change them first.
In configs/configs.json (filenames don't matter) the keys take the name of the Json files in SPT_Data/Server/configs, so a key might be "inraid" or "seasonalevents". The values of those keys should be objects further mapping values in those configs to new values.
Example:
CodeDisplay More{ "inventory": { "newItemsMarkedFound": true }, "core": { "allowProfileWipe": false, "fixes": { "removeModItemsFromProfile": true } } }
The same functionality applies to database modifications through the "database" folder.
Nested Folder Structure
Json files can also be nested for a more modular, tree-style layout, each folder replaces a key in the Json.
Using the "core" config section from above, you can use either of the following files:
configs/configs.json or configs/profileFixes.json, name doesn't matter
configs/core/profileFixes.json
Further, you could nest "removeModItemsFromProfile" in a file in configs/core/fixes/.
Deleting Entries
Config and database entries can be deleted by setting its value to null.
The following example will remove Jaeger's dehydration quest and set the starting requirement of the next quest (Wounded Beast) to the previous (Thrifty).