{
  "$id": "blockception.minecraft.behavior.1.16.200.blocks",
  "description": "Minecraft blocks 1.16.200",
  "required": ["format_version", "minecraft:block"],
  "title": "Block",
  "type": "object",
  "additionalProperties": false,
  "definitions": {
    "components_ref": {
      "type": "object",
      "title": "Component",
      "description": "UNDOCUMENTED",
      "$comment": "UNDOCUMENTED",
      "additionalProperties": false,
      "properties": {
        "minecraft:block_light_absorption": { "$ref": "./components/minecraft.block_light_absorption.json" },
        "minecraft:block_light_emission": { "$ref": "./components/minecraft.block_light_emission.json" },
        "minecraft:breakonpush": { "$ref": "./components/minecraft.breakonpush.json" },
        "minecraft:breathability": { "$ref": "./components/minecraft.breathability.json" },
        "minecraft:destroy_time": { "$ref": "./components/minecraft.destroy_time.json" },
        "minecraft:display_name": { "$ref": "./components/minecraft.display_name.json" },
        "minecraft:entity_collision": { "$ref": "./components/minecraft.entity_collision.json" },
        "minecraft:explosion_resistance": { "$ref": "./components/minecraft.explosion_resistance.json" },
        "minecraft:flammable": { "$ref": "./components/minecraft.flammable.json" },
        "minecraft:friction": { "$ref": "./components/minecraft.friction.json" },
        "minecraft:geometry": { "$ref": "./components/minecraft.geometry.json" },
        "minecraft:immovable": { "$ref": "./components/minecraft.immovable.json" },
        "minecraft:loot": { "$ref": "./components/minecraft.loot.json" },
        "minecraft:map_color": { "$ref": "./components/minecraft.map_color.json" },
        "minecraft:material_instances": { "$ref": "./components/minecraft.material_instances.json" },
        "minecraft:onlypistonpush": { "$ref": "./components/minecraft.onlypistonpush.json" },
        "minecraft:on_fall_on": { "$ref": "./components/minecraft.on_fall_on.json" },
        "minecraft:on_interact": { "$ref": "./components/minecraft.on_interact.json" },
        "minecraft:on_placed": { "$ref": "./components/minecraft.on_placed.json" },
        "minecraft:on_player_destroyed": { "$ref": "./components/minecraft.on_player_destroyed.json" },
        "minecraft:on_player_placing": { "$ref": "./components/minecraft.on_player_placing.json" },
        "minecraft:on_step_off": { "$ref": "./components/minecraft.on_step_off.json" },
        "minecraft:on_step_on": { "$ref": "./components/minecraft.on_step_on.json" },
        "minecraft:pick_collision": { "$ref": "./components/minecraft.pick_collision.json" },
        "minecraft:placement_filter": { "$ref": "./components/minecraft.placement_filter.json" },
        "minecraft:preventsjumping": { "$ref": "./components/minecraft.preventsjumping.json" },
        "minecraft:random_ticking": { "$ref": "./components/minecraft.random_ticking.json" },
        "minecraft:rotation": { "$ref": "./components/minecraft.rotation.json" },
        "minecraft:ticking": { "$ref": "./components/minecraft.ticking.json" },
        "minecraft:unit_cube": { "$ref": "./components/minecraft.unit_cube.json" },
        "minecraft:unwalkable": { "$ref": "./components/minecraft.unwalkable.json" }
      }
    }
  },
  "properties": {
    "format_version": {
      "title": "1.16.200 Format Version",
      "type": "string",
      "const": "1.16.200",
      "description": "A version that tells minecraft what type of data format can be expected when reading this file."
    },
    "minecraft:block": {
      "title": "Block Definitions",
      "description": "A custom block definition",
      "type": "object",
      "additionalProperties": false,
      "required": ["description", "components"],

      "properties": {
        "description": {
          "title": "Block Description",
          "description": "The description for this block",
          "type": "object",
          "additionalProperties": false,
          "required": ["identifier"],
          "properties": {
            "identifier": {
              "type": "string",
              "description": "The identifier for this block. The name must include a namespace and must not use the Minecraft namespace unless overriding a Vanilla block.",
              "title": "Identifier",
              "$ref": "../../../general/block/identifier.json"
            },
            "is_experimental": {
              "type": "boolean",
              "default": false,
              "description": "If this block is experimental, it will only be registered if the world is marked as experimantal.",
              "title": "Is Experimental"
            },
            "register_to_creative_menu": {
              "type": "boolean",
              "default": false,
              "description": "Whether or not to register this block to the creative inventory menu.",
              "title": "Register To Creative Menu"
            },
            "properties": {
              "title": "Properties",
              "description": "UNDOCUMENTED",
              "$comment": "UNDOCUMENTED",
              "propertyNames": { "pattern": "^([a-zA-Z0-9_]+:[a-zA-Z0-9_\\-]+)$" },
              "additionalProperties": {
                "title": "Property",
                "description": "A block property",
                "oneOf": [
                  {
                    "type": "array",
                    "items": {
                      "title": "Property Value",
                      "description": "The value of this property",
                      "anyOf": [{ "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "string" }]
                    }
                  },
                  { "type": "object" }
                ]
              }
            }
          }
        },
        "events": { "$ref": "./events.json" },
        "components": {
          "type": "object",
          "title": "Component",
          "$ref": "#/definitions/components_ref"
        },
        "permutations": {
          "type": "array",
          "title": "Permutations",
          "description": "UNDOCUMENTED",
          "$comment": "UNDOCUMENTED",
          "items": {
            "title": "Permutation",
            "description": "UNDOCUMENTED",
            "$comment": "UNDOCUMENTED",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "condition": {
                "title": "Condition",
                "description": "UNDOCUMENTED",
                "$comment": "UNDOCUMENTED",
                "$ref": "../../../molang/string.json"
              },
              "components": {
                "type": "object",
                "title": "Component",
                "$ref": "#/definitions/components_ref"
              }
            }
          }
        }
      }
    }
  }
}
