{
  "title": "blockLoot",
  "type": "array",
  "uniqueItems": true,
  "items": {
    "title": "blockLootEntry",
    "type": "object",
    "properties": {
      "block": {
        "description": "The name of the block",
        "type": "string",
        "pattern": "\\S+"
      },
      "states": {
        "description": "The states of the block (Bedrock Edition)",
        "type": "object"
      },
      "drops": {
        "description": "The list of item drops",
        "type": "array",
        "uniqueItems": true,
        "items": {
          "title": "blockItemDrop",
          "type": "object",
          "properties": {
            "item": {
              "description": "The name of the item being dropped",
              "type": "string"
            },
            "metadata": {
              "description": "The metadata of the item being dropped (Bedrock Edition)",
              "type": "integer",
              "minimum": 0,
              "maximum": 127
            },
            "dropChance": {
              "description": "The percent chance of the item drop to occur",
              "type": "number"
            },
            "stackSizeRange": {
              "description": "The min/max of number of items in this item drop stack",
              "type": "array",
              "items": {
                "type": ["number", "null"]
              }
            },
            "blockAge": {
              "description": "The required age of the block for the item drop to occur",
              "type": "number"
            },
            "silkTouch": {
              "description": "If silk touch is required",
              "type": "boolean"
            },
            "noSilkTouch": {
              "description": "If not having silk touch is required",
              "type": "boolean"
            }
          },
          "required": [
            "item",
            "dropChance",
            "stackSizeRange"
          ],
          "additionalProperties": false
        }
      }
    },
    "required": [
      "block",
      "drops"
    ],
    "additionalProperties": false
  }
}
