{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/foundry-vtt-system-data-template/latest.json",
  "title": "JSON schema for Foundry VTT template.json files.",
  "x-lintel": {
    "source": "https://www.schemastore.org/foundryvtt-template.json",
    "sourceSha256": "e2b790903c164b1608f928ed1c47b0d3a42b02383edcce74081c7f5530c41987",
    "fileMatch": [
      "**/systems/*/template.json"
    ],
    "parsers": [
      "json"
    ]
  },
  "type": "object",
  "properties": {
    "Actor": {
      "$ref": "#/$defs/entity",
      "description": "The top level data schema for Actor types."
    },
    "Item": {
      "$ref": "#/$defs/entity",
      "description": "The top level data schema for Item types."
    }
  },
  "$defs": {
    "entity": {
      "type": "object",
      "properties": {
        "types": {
          "type": "array",
          "description": "Array of strings defining the entity subtypes defined by the schema.",
          "items": {
            "type": "string"
          }
        },
        "templates": {
          "type": "object",
          "description": "Template schemas that can be reused by entity subtypes.",
          "additionalProperties": {
            "type": "object",
            "description": "Definition of a template schema.",
            "additionalProperties": {
              "description": "Custom property defined for this schema."
            }
          }
        }
      },
      "additionalProperties": {
        "type": "object",
        "description": "Definition of an entity subtype.",
        "properties": {
          "templates": {
            "type": "array",
            "description": "Array of strings specifying which template schemas to apply to this type.",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": {
          "description": "Custom property defined for this schema."
        }
      }
    }
  },
  "additionalProperties": false
}
