{
  "$id": "blockception.minecraft.behavior.loot_tables.Functions",
  "description": "A minecraft loot table condition.",
  "title": "Functions",
  "type": "object",
  "properties": {
    "function": {
      "type": "string",
      "enum": [
        "enchant_book_for_trading",
        "enchant_random_gear",
        "enchant_randomly",
        "enchant_with_levels",
        "exploration_map",
        "fill_container",
        "furnace_smelt",
        "looting_enchant",
        "random_aux_value",
        "random_block_state",
        "random_dye",
        "set_actor_id",
        "set_banner_details",
        "set_book_contents",
        "set_count",
        "set_damage",
        "set_data_from_color_index",
        "set_data",
        "set_lore",
        "set_name",
        "set_potion",
        "specific_enchants",
        "trader_material_type",
        "minecraft:enchant_book_for_trading",
        "minecraft:enchant_random_gear",
        "minecraft:enchant_randomly",
        "minecraft:enchant_with_levels",
        "minecraft:exploration_map",
        "minecraft:fill_container",
        "minecraft:furnace_smelt",
        "minecraft:looting_enchant",
        "minecraft:random_aux_value",
        "minecraft:random_block_state",
        "minecraft:random_dye",
        "minecraft:set_actor_id",
        "minecraft:set_banner_details",
        "minecraft:set_book_contents",
        "minecraft:set_count",
        "minecraft:set_damage",
        "minecraft:set_data_from_color_index",
        "minecraft:set_data",
        "minecraft:set_lore",
        "minecraft:set_name",
        "minecraft:set_potion",
        "minecraft:specific_enchants",
        "minecraft:trader_material_type"
      ]
    },
    "add": {
      "title": "Add",
      "description": "UNDOCUMENTED.",
      "type": "boolean",
      "default": false
    }
  },
  "allOf": [
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*enchant_random_gear$" } } }, "then": { "$ref": "./functions/enchant_random_gear.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*enchant_book_for_trading$" } } }, "then": { "$ref": "./functions/enchant_book_for_trading.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*enchant_randomly$" } } }, "then": { "$ref": "./functions/enchant_randomly.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*enchant_with_levels$" } } }, "then": { "$ref": "./functions/enchant_with_levels.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*exploration_map$" } } }, "then": { "$ref": "./functions/exploration_map.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*fill_container$" } } }, "then": { "$ref": "./functions/fill_container.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*furnace_smelt$" } } }, "then": { "$ref": "./functions/furnace_smelt.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*looting_enchant$" } } }, "then": { "$ref": "./functions/looting_enchant.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*random_aux_value$" } } }, "then": { "$ref": "./functions/random_aux_value.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*random_block_state$" } } }, "then": { "$ref": "./functions/random_block_state.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*set_actor_id$" } } }, "then": { "$ref": "./functions/set_actor_id.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*set_banner_details$" } } }, "then": { "$ref": "./functions/set_banner_details.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*set_book_contents$" } } }, "then": { "$ref": "./functions/set_book_contents.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*set_count$" } } }, "then": { "$ref": "./functions/set_count.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*set_damage$" } } }, "then": { "$ref": "./functions/set_damage.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*set_data$" } } }, "then": { "$ref": "./functions/set_data.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*set_data_from_color_index$" } } }, "then": { "$ref": "./functions/set_data_from_color_index.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*trader_material_type$" } } }, "then": { "$ref": "./functions/trader_material_type.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*random_dye$" } } }, "then": { "$ref": "./functions/random_dye.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*set_lore$" } } }, "then": { "$ref": "./functions/set_lore.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*set_name$" } } }, "then": { "$ref": "./functions/set_name.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*set_potion$" } } }, "then": { "$ref": "./functions/set_potion.json" } },
    { "if": { "properties": { "function": { "type": "string", "pattern": "^(minecraft:)*specific_enchants$" } } }, "then": { "$ref": "./functions/specific_enchants.json" } }
  ]
}
