Skip to content

_Races API

NellsRelo edited this page Jan 17, 2024 · 13 revisions

To insert or remove to/from Race child entries, you have two options, the Config method or directly calling the API

Configuration

The Compatibility Framework allows you to dynamically insert and remove children fields from Races.lsx entries using a configuration file, Mods/ModName/ScriptExtender/CompatibilityFrameworkConfig.json:

{
  "FileVersion": 1,
  "Races": [
    {
      "UUID": "Race's UUID",
      "Children": [
        {
          "Type": "EyeColors",
          "modGuid": "UUID of required mod (Optional)",
          "Values": ["bdf9b779-002c-4077-b377-8ea7c1faa795", "3e4d5829-7bfd-446a-9e7d-ac8d0948c1e4"],
          "Action": "Insert"
        },
        {
          "Type": "LipsMakeupColors",
          "modGuid": "UUID of required mod (Optional)",
          "Values": ["bdf9b779-002c-4077-b377-8ea7c1faa795"],
          "Action": "Remove"
        }
      ]
    }
  ]
}

The Type field corresponds to the node id="" value of a given element. You can add and remove multiple entries by providing additional objects wrapped in curly braces.

API

The Compatibility Framework also allows you to dynamically insert and remove children fields from Races.lsx entries in LUA using the following Endpoints, if you feel more comfortable making the changes in lua:

Api.InsertRaceChildData and Api.RemoveRaceChildData

InsertRaceChildData provides Compatibility Framework support for inserting children fields into Races.lsx entries at runtime. RemoveRaceChildData allows you to remove said fields. Both take the same payload:

  local raceChildData = {
    Author_ModDescriptor = {
      modGuid = "UUID defined in meta.lsx",
      raceGuid= "UUID for Race to be affected",
      children = {
        entry = {
          Type = "Node ID - so ExcludeGods, EyeColors, Tags, etc.",
          Value = "UUID"
        },
        entryB = {
          Type = "Node ID - so ExcludeGods, EyeColors, Tags, etc.",
          Value = "UUID"
        }
      }
    }
  }
  翻译: