{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Item Definitions",
  "type": "object",
  "additionalProperties": false,
  "required": ["schemaVersion", "items"],
  "properties": {
    "schemaVersion": {
      "type": "integer",
      "minimum": 1
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "name",
          "type",
          "actionsList",
          "rarity",
          "maxStack",
          "value",
          "actions",
          "questItem",
          "destroyable",
          "sellable",
          "unique",
          "effects",
          "tags",
          "icon"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "type": {
            "type": "string",
            "minLength": 1
          },
          "actionsList": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "required": ["action", "effects"],
              "properties": {
                "action": {
                  "type": "string",
                  "minLength": 1
                },
                "effects": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "triggers": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "rarity": {
            "type": "string",
            "minLength": 1
          },
          "maxStack": {
            "type": "integer",
            "minimum": 1
          },
          "value": {
            "type": "integer",
            "minimum": 0
          },
          "actions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "questItem": {
            "type": "boolean"
          },
          "destroyable": {
            "type": "boolean"
          },
          "sellable": {
            "type": "boolean"
          },
          "unique": {
            "type": "boolean"
          },
          "effects": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "icon": {
            "type": "string"
          }
        }
      }
    }
  }
}
