{
  "$id": "blockception.minecraft.behavior.loot_tables",
  "additionalProperties": false,
  "description": "A minecraft loot table",
  "title": "Loot Table",
  "type": "object",
  "examples": [
    {
      "pools": [
        {
          "rolls": 1,
          "entries": [
            {
              "type": "item",
              "name": "minecraft:spawn_egg",
              "weight": 1,
              "functions": [{ "function": "set_count", "count": { "min": 1, "max": 1 } }, { "function": "set_actor_id" }]
            }
          ]
        }
      ]
    }
  ],
  "definitions": {
    "pools_spec": {
      "title": "Pools",
      "description": "UNDOCUMENTED",
      "$comment": "UNDOCUMENTED",
      "type": "array",
      "additionalProperties": false,
      "items": {
        "additionalProperties": false,
        "title": "A Single Pool",
        "type": "object",
        "properties": {
          "rolls": {
            "title": "Rolls",
            "description": "UNDOCUMENTED",
            "$comment": "UNDOCUMENTED",
            "oneOf": [
              { "type": "integer", "minimum": 0 },
              {
                "type": "object",
                "required": ["min", "max"],
                "properties": {
                  "min": { "title": "Minimum", "type": "number", "minimum": 0 },
                  "max": { "title": "Minimum", "type": "number", "minimum": 1 }
                }
              }
            ]
          },
          "type": {
            "title": "Type",
            "type": "string",
            "description": "UNDOCUMENTED",
            "$comment": "UNDOCUMENTED",
            "enum": ["loot_table", "item", "empty"]
          },
          "conditions": {
            "title": "Conditions",
            "description": "UNDOCUMENTED",
            "$comment": "UNDOCUMENTED",
            "type": "array",
            "items": { "$ref": "./conditions.json" }
          },
          "entries": {
            "title": "Entries",
            "type": "array",
            "description": "UNDOCUMENTED",
            "$comment": "UNDOCUMENTED",
            "items": {
              "additionalProperties": false,
              "type": "object",
              "required": ["type"],
              "title": "Entry",
              "description": "UNDOCUMENTED",
              "$comment": "UNDOCUMENTED",
              "properties": {
                "type": {
                  "title": "Type",
                  "type": "string",
                  "enum": ["item", "empty", "loot_table"],
                  "description": "UNDOCUMENTED",
                  "$comment": "UNDOCUMENTED"
                },
                "count": {
                  "type": "integer",
                  "title": "Count",
                  "description": "The amount of the item"
                },
                "name": { "title": "Name", "type": "string", "description": "An item or loottable", "pattern": "^([\\w]+:|loot_tables/)" },
                "weight": {
                  "title": "Weight",
                  "type": "integer",
                  "minimum": 1,
                  "description": "UNDOCUMENTED",
                  "$comment": "UNDOCUMENTED"
                },
                "functions": {
                  "title": "Functions",
                  "type": "array",
                  "description": "UNDOCUMENTED",
                  "$comment": "UNDOCUMENTED",
                  "items": {
                    "type": "object",
                    "description": "UNDOCUMENTED",
                    "$comment": "UNDOCUMENTED",
                    "required": ["function"],
                    "title": "Function",
                    "$ref": "./functions.json"
                  }
                },
                "pools": { "$ref": "#/definitions/pools_spec" },
                "quality": { "title": "Quality", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "integer" }
              }
            }
          },
          "tiers": {
            "title": "Tiers",
            "description": "UNDOCUMENTED",
            "$comment": "UNDOCUMENTED",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "bonus_chance": { "title": "Bonus Chance", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "number" },
              "bonus_rolls": { "title": "Bonus Rolls", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "integer" },
              "initial_range": { "title": "Initial Range", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "integer" }
            }
          }
        }
      }
    }
  },
  "properties": {
    "pools": { "$ref": "#/definitions/pools_spec", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Pools" },
    "type": { "title": "Type", "type": "string", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "enum": ["minecraft:chest"] }
  }
}
