{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://json.schemastore.org/minecraft-configured-carver.json",
  "$comment": "https://minecraft.wiki/w/Custom_world_generation#Carvers",
  "description": "A carver for a data pack for Minecraft\nhttps://minecraft.wiki/w/Custom_world_generation#Carvers",
  "properties": {
    "type": {
      "description": "A type for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
      "type": "string",
      "enum": [
        "minecraft:cave",
        "cave",
        "minecraft:nether_cave",
        "nether_cave",
        "minecraft:canyon",
        "canyon",
        "minecraft:underwater_canyon",
        "underwater_canyon",
        "minecraft:underwater_cave",
        "underwater_cave"
      ]
    },
    "config": {
      "title": "carver options",
      "description": "Options for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
      "type": "object",
      "properties": {
        "probability": {
          "description": "A probability that each chunk attempts to generate for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "y": {
          "title": "height",
          "description": "A height at which to generate the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
          "type": "object"
        },
        "lava_level": {
          "description": "A height at which to generate the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
          "type": "string",
          "enum": ["absolute", "above_bottom", "below_top"]
        },
        "replaceable": {
          "description": "Blocks can be carved for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
          "oneOf": [
            {
              "type": "string",
              "minLength": 1
            },
            {
              "type": "array",
              "uniqueItems": true,
              "items": {
                "description": "A block can be carved for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
                "type": "string",
                "minLength": 1
              }
            }
          ]
        },
        "debug_settings": {
          "title": "replacement options",
          "description": "Replace blocks for debugging for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
          "type": "object",
          "properties": {
            "debug_mode": {
              "description": "Whether to enable debug mode for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
              "type": "boolean",
              "default": false
            },
            "air_state": {
              "title": "air replacement options",
              "description": "Air replacement options for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
              "type": "object",
              "additionalProperties": true
            },
            "water_state": {
              "title": "water replacement options",
              "description": "Water replacement options for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
              "type": "object",
              "additionalProperties": true
            },
            "lava_state": {
              "title": "lava replacement options",
              "description": "Lava replacement options for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
              "type": "object",
              "additionalProperties": true
            },
            "barrier_state": {
              "title": "barrier replacement options",
              "description": "Barrier replacement options for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
              "type": "object",
              "additionalProperties": true
            }
          },
          "additionalProperties": false
        },
        "yScale": {
          "title": "vertical scaling options",
          "description": "Vertical scaling options for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
          "oneOf": [
            {
              "type": "number"
            },
            {
              "type": "object",
              "additionalProperties": true
            }
          ]
        },
        "horizontal_radius_multiplier": {
          "title": "horizontal tunnel scaling options",
          "description": "Horizontal tunnel scaling options for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
          "oneOf": [
            {
              "type": "number"
            },
            {
              "type": "object",
              "additionalProperties": true
            }
          ]
        },
        "vertical_radius_multiplier": {
          "title": "vertical tunnel scaling options",
          "description": "Vertical tunnel scaling options for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
          "oneOf": [
            {
              "type": "number"
            },
            {
              "type": "object",
              "additionalProperties": true
            }
          ]
        },
        "floor_level": {
          "title": "floor level options",
          "description": "Floor level options for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
          "oneOf": [
            {
              "type": "number",
              "minimum": -1,
              "maximum": 1
            },
            {
              "type": "object",
              "additionalProperties": true
            }
          ]
        },
        "vertical_rotation": {
          "title": "vertical rotation options",
          "description": "Vertical rotation options for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
          "oneOf": [
            {
              "type": "number"
            },
            {
              "type": "object",
              "additionalProperties": true
            }
          ]
        },
        "shape": {
          "title": "ravine shape options",
          "description": "Ravine shape for the current carver\nhttps://minecraft.wiki/w/Custom_carver#JSON_format",
          "type": "object",
          "additionalProperties": true
        }
      },
      "additionalProperties": false
    }
  },
  "title": "carver",
  "type": "object"
}
