Generic Synthesis Patcher uses JSON configuration files to apply patches to many different record types. It has a number of ways to filter for records to match and also 3 main actions (Fill / Forward / Merge).
Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou are not allowed to upload this file to other sites under any circumstances
Modification permissionYou are allowed to modify my files and release bug fixes or improve on the features so long as you credit me as the original creator
Conversion permissionYou can convert this file to work with other games as long as you credit me as the creator of the file
Asset use permissionYou are allowed to use the assets in this file without permission as long as you credit me
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
While core code all written myself the following examples are from other mods. Which have permissive usage.
"Amulets of Skyrim SSE.json" is Synthesis version of uni_SL's mod https://www.nexusmods.com/skyrimspecialedition/mods/487 "NARC Remade.json" is Synthesis version of jss2a98aj's remake of Pharros's NARC mod. https://www.nexusmods.com/skyrimspecialedition/mods/17946 "Survival Mode Food.json" is Synthesis version of monkeyangie's mod https://www.nexusmods.com/skyrimspecialedition/mods/125940
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Changelogs
Version v1.1
Fixed bug when passing empty string "" in some JSON sections
Version v1.0
Now include merge ability and a lot more implemented record types and fields!
Added merge actions to some field types.
Allow setting fields to null.
Added PatchedBy and Patched filters.
Version 0.5
Can now group rules together, and also stop matching rules in a group once first match found.
Single values under Fill, Forward and Matches in multi-value fields no longer need [ ] to bring inline with Basic filters.
Implemented new fields and improved doco. https://github.com/tkoopman/Generic-Synthesis-Patcher/blob/master/docs/Fields.md
Now allow regular expressions to be used in Matches against String values for Editor IDs (for fields that accept Form Key(s) or Editor ID(s))
Bug Fixes
Version 0.4
Configs with Advanced Filters for Keywords & Factions need updating
Added new config "Matches" that can be used to filter on any supported field type.
As this covers current Keywords and Factions filters those configs now need to be moved into this section.
Version 0.3
Increased processing speed by only processing records needed for loaded rules.
Fixed bug with DefaultRandom
Version 0.2b
Added Forward type of DefaultRandom
Bug Fixes.
Version 0.2
Added extra forward modes (SelfMasterOnly & DefaultThenSelfMasterOnly)
Added extra filter for Keywords, and improved filter for Factions
Added support for record types Containers & Worldspace
Add support for a ton of extra fields
Version 0.1
Initial Release
Version 1.0 now include merge ability and a lot more implemented record types and fields!
Generic Synthesis Patcher uses JSON configuration files to apply patches to many different record types. It has a number of ways to filter for records to apply actions to, including matching against most implemented fields, and even using RegEx against strings or Editor IDs and also 3 main actions, fill, forward and merge. Rules can even be grouped to share some common filters, or stop processing rules after one has matched. Once a record has matched a rule following actions could be applied:
Fill action will apply static changes to the winning record. Could be used to rename items, or add / remove keywords for example.
Forward action will find matching parent record and forward only the selected fields to the winning record. This is useful when you have multiple patches for the one record all for different fields.It has a few extra modes for when forwarding lists, like Container/Outfit Items.
Merge action is the newest to be added. This would be similar to bash, but with more control, like using filters to only merge some records, only merging select fields, or excluding a plugin from a merge.
You can see list of all implemented fields over on GitHub.
If you have any bugs, suggestions, feature requests or even help with configuration file, please feel free to post here or on GitHub Issues, and I will look at them when time permits, but I make no promises.
I have only tested this with latest Skyrim SE however it should work on other versions.
More details at GitHub including example configuration files. By default config files need to be placed in a folder called GSP in your Skyrim's data folder however you can change this using this patcher's Settings page in Synthesis.
Can also just add to Synthesis using the Add Git Repository and search for "Generic Synthesis Patcher" however please still Endorse if you find this useful.