content: {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "definitions": {
      "pack_config": {
        "properties": {
          "description": {
            "description": "Description of the pack. Overwrites project description",
            "type": "string"
          },
          "load": {
            "description": "Load and merge existing packs",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "name": {
            "description": "Name of the pack. Overwrites project name",
            "type": "string"
          },
          "pack_format": {
            "default": 6,
            "description": "Pack version",
            "minimum": 0,
            "type": "integer"
          },
          "render": {
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "description": "Groups of files that will be processed with templates",
            "type": "object"
          },
          "zipped": {
            "description": "Whether the pack should be zipped",
            "type": "boolean"
          }
        },
        "type": "object"
      }
    },
    "description": "Beet project config",
    "properties": {
      "author": {
        "description": "Project author. Included in pack.mcmeta",
        "type": "string"
      },
      "data_pack": {
        "$ref": "#/definitions/pack_config",
        "description": "Datapack config"
      },
      "description": {
        "description": "Project description. Included in pack.mcmeta",
        "type": "string"
      },
      "directory": {
        "description": "Root directory of the project",
        "type": "string"
      },
      "extend": {
        "description": "List of project config files to inherit from",
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "ignore": {
        "description": "List of paths whose modification should be ignored by the watch command",
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "meta": {
        "description": "Storage for during the build process. Also contains plugin config",
        "properties": {
          "babelbox": {
            "$ref": "plugins/babelbox.json",
            "description": "babelbox plugin settings"
          },
          "format_json": {
            "$ref": "contrib/format_json.json",
            "description": "format_json plugin settings"
          },
          "function_header": {
            "$ref": "contrib/function_header.json",
            "description": "function_header plugin settings"
          },
          "generate_format": {
            "description": "Default location of generated files",
            "type": "string"
          },
          "generate_namespace": {
            "description": "Default namespace of generated files",
            "type": "string"
          },
          "generate_prefix": {
            "description": "Default prefix of generated files",
            "type": "string"
          },
          "generate_scoreboard": {
            "description": "Scoreboards objectives to generate",
            "patternProperties": {
              ".*": {
                "$ref": "minecraft/scoreboard_criteria.json",
                "description": "Objective name and its criteria"
              }
            },
            "type": "object"
          },
          "hangman": {
            "$ref": "contrib/hangman.json",
            "description": "hangman plugin settings"
          },
          "lantern_load": {
            "$ref": "contrib/lantern_load.json",
            "description": "lantern_load plugin settings"
          },
          "mcanitexgen": {
            "$ref": "plugins/mcanitexgen.json",
            "description": "mcanitexgen plugin settings"
          },
          "render": {
            "$ref": "contrib/render.json",
            "description": "render plugin settings"
          },
          "sandstone": {
            "$ref": "contrib/sandstone.json",
            "description": "sandstone plugin settings"
          },
          "scoreboard": {
            "$ref": "contrib/scoreboard.json",
            "description": "scoreboard plugin settings"
          }
        },
        "type": "object"
      },
      "name": {
        "description": "Project name",
        "type": "string"
      },
      "output": {
        "description": "Output directory",
        "directory": "Generated files will be put here",
        "type": "string"
      },
      "pipeline": {
        "description": "The plugin pipeline",
        "items": {
          "anyOf": [
            {
              "const": "beet.contrib.babelbox",
              "description": "Loads translations from csv files (minimal built-in implementation)"
            },
            {
              "const": "beet.contrib.dundervar",
              "description": "Jinja extension for turning '__foo__' into '{{ foo }}'"
            },
            {
              "const": "beet.contrib.format_json",
              "description": "Format json files"
            },
            {
              "const": "beet.contrib.function_header",
              "description": "Automatically adds a header to functions"
            },
            {
              "const": "beet.contrib.hangman",
              "description": "Indentation-based syntactic extensions for functions"
            },
            {
              "const": "beet.contrib.inline_function",
              "description": "Jinja extension for declaring functions inline"
            },
            {
              "const": "beet.contrib.inline_function_tag",
              "description": "Jinja extension for declaring function tags inline"
            },
            {
              "const": "beet.contrib.lantern_load",
              "description": "Adds Lantern Load runtime dependencies"
            },
            {
              "const": "beet.contrib.minify_function",
              "description": "Minifies function files"
            },
            {
              "const": "beet.contrib.minify_json",
              "description": "Minifies json files"
            },
            {
              "const": "beet.contrib.relative_function_path",
              "description": "Resolves relative function paths within a namespace"
            },
            {
              "const": "beet.contrib.render",
              "description": "Invokes the built-in template renderer"
            },
            {
              "const": "beet.contrib.sandstone",
              "description": "Builds a sandstone project"
            },
            {
              "const": "beet.contrib.scoreboard",
              "description": "Adds generated scoreboards to the data pack"
            },
            {
              "const": "beet.contrib.template_context",
              "description": "Exposes the beet context in templates"
            },
            {
              "const": "beet.contrib.yellow_shulker_box",
              "description": "Includes the yellow shulker box loot table"
            },
            {
              "const": "babelbox.integration.beet",
              "description": "Loads translations from csv files (Full-featured implementation, requires https://pypi.org/project/babelbox/)"
            },
            {
              "const": "mcanitexgen.integration.beet",
              "description": "Generates .mcmeta files for animated textures"
            },
            {
              "description": "Custom plugin",
              "type": "string"
            },
            {
              "$ref": "#",
              "description": "Nested beet project configuration"
            }
          ]
        },
        "type": "array",
        "uniqueItems": true
      },
      "require": {
        "description": "List of plugins running before the bootstrap plugin",
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "resource_pack": {
        "$ref": "#/definitions/pack_config",
        "description": "Resourcepack config"
      },
      "templates": {
        "description": "List of directories containing rendering templates",
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "version": {
        "description": "Project version. Included in pack.mcmeta",
        "type": "string"
      },
      "whitelist": {
        "items": {
          "type": "string"
        },
        "type": "array"
      }
    },
    "type": "object"
  }