-
Notifications
You must be signed in to change notification settings - Fork 3
Home
isathar edited this page Aug 29, 2020
·
5 revisions
- Config files use the JSON format (see https://www.json.org/json-en.html ).
- You can add any number of blank lines between objects to help make things more readable.
- It's also possible to do the opposite and combine as many entries as you want into single lines.
- You can add any number of blank lines between objects to help make things more readable.
- Any variables not specified as required can be omitted. They will either use their default values or be ignored.
- The JSON spec and the parser used in this tool do not support comments.
- If you need to add a comment somewhere, use variables named "info" (or any unused variable names).
- They won't be used in code, but are still loaded into memory, so don't overdo it.
- Multi-line comments are possible using arrays.
- A User-Defined Language file for Notepad++ is included in the nppUDL folder to make the json configuration files easier to read.
- There are four passes in the loading process:
- GameSettings - done first because they can affect stats in other forms.
- Races - done before Actors because they act as templates for their stats.
- Forms besides Races
- Name Prefixes - done last to include any name edits from Form overrides.
- Variable Types:
- Basic types: String, float, int
-
bool
- Written as true and false (no quotation marks)
- 0 and 1 probably work, too
-
Array
- Example: ["thing1", "thing2", thing3"]
- Written as a list of variables or objects surrounded by []
-
Object
- Example: {"name": "something", "id": 1}
- Written as some variables surrounded by {}
- Used for things that require more than one variable to be set (ActorValues, Perks, Add/Remove lists, etc.)
-
FormID String
- Example: "PluginName.esp|000000"
- Replace the first byte (or two numbers/letters) of a FormID with its plugin name and extension followed by | .
- The rest must be a hex string (don't convert it to an integer).
- Leading 0s can be omitted. -ex.: Plugin.esp|00012F == Plugin.esp|12F
- Use "none" if something needs to be null. (to disable naming rules for weapons or armor, for example)
-
activeOverrides
- Type: Array(Object) - required
- The list of Overrides to load and their requirements, if any.
-
Variables:
-
path
- Type: String - required
- The path to the Override to load, relative to SAKELoader\Presets\
- Paths can be specific json files or folder names.
- If a folder name is used, all json files it contains are loaded. Subdirectorie are ignored and can be used for optional files.
-
includeIf
- Type: Array(String)
- A list of mod plugins that need to be enabled to load this entry.
-
excludeIf
- Type: Array(String)
- A list of mod plugins that will prevent this entry from being loaded.
-
path
- JSON files containing form edits.
- Found in SAKELoader\Presets\
-
overrides
- Type: Array(Object)
- A list of edits to base forms.
- The basic variable names for these are shared among different forms, but most are going to depend on the form's type.
- See FormTypes for details on the variables used in this list. FormTypes
-
gameSettings
- Type: Array(Object)
- A list of GameSettings to edit.
-
Variables:
-
name
- Type: String - required
- The name of the GameSetting to edit.
-
valueFloat
- Type: float
- Value to change the setting to if it contains a floating point number.
-
valueInt
- Type: int
- Value to change the setting to if it contains an integer.
-
valueBool
- Type: bool
- Value to change the setting to if it contains a boolean.
-
valueString
- Type: String
- Value to change the setting to if it contains a string.
-
name
-
namePrefixes
- Type: Array(Object)
- A list of prefixes to add to the specified forms' names.
-
Variables:
-
prefix
- Type: String - required
- The text to add to the front of the specified forms' names.
-
forms
- Type: Array(FormID String) - required
- A list of forms to apply this name prefix to.
- Limited to types that can be stored in inventories (except holotapes and books/notes for now).
-
prefix