{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://json.schemastore.org/minecraft-tag.json",
  "$comment": "https://minecraft.wiki/w/Data_Pack",
  "description": "A tag's for a Minecraft data pack config schema",
  "properties": {
    "replace": {
      "type": "boolean",
      "default": false
    },
    "values": {
      "description": "Values",
      "type": "array",
      "items": {
        "oneOf": [
          {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[a-z0-9_.-]+:[a-z0-9_.-]+"
              },
              {
                "type": "string",
                "pattern": "^#[a-z0-9_.-]+:[a-z0-9_.-]+"
              }
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "anyOf": [
                  {
                    "description": "An identifier for the current data pack",
                    "type": "string",
                    "pattern": "^[a-z0-9_.-]+:[a-z0-9_.-]+"
                  },
                  {
                    "description": "An identifier for the current data pack",
                    "type": "string",
                    "pattern": "^#[a-z0-9_.-]+:[a-z0-9_.-]+"
                  }
                ]
              },
              "required": {
                "description": "Whether it's required for the current data pack",
                "type": "boolean"
              }
            }
          }
        ]
      }
    }
  },
  "required": ["values"],
  "title": "Minecraft Data Pack Tag",
  "type": "object"
}
