{
  "$id": "blockception.minecraft.block.json",
  "type": "object",
  "title": "Blocks",
  "description": "The minecraft block definition file",
  "definitions": {
    "texture": {
      "oneOf": [
        { "type": "string" },
        {
          "additionalProperties": false,
          "type": "object",
          "properties": {
            "down": { "type": "string", "pattern": "^[\\w_\\-]+$" },
            "up": { "type": "string", "pattern": "^[\\w_\\-]+$" },
            "side": { "type": "string", "pattern": "^[\\w_\\-]+$" },
            "south": { "type": "string", "pattern": "^[\\w_\\-]+$" },
            "north": { "type": "string", "pattern": "^[\\w_\\-]+$" },
            "west": { "type": "string", "pattern": "^[\\w_\\-]+$" },
            "east": { "type": "string", "pattern": "^[\\w_\\-]+$" }
          }
        }
      ]
    }
  },
  "propertyNames": { "pattern": "^[\\w_\\-:]+$" },
  "properties": {
    "format_version": {
      "type": "array",
      "items": [{ "type": "integer" }, { "type": "integer" }, { "type": "integer" }],
      "description": "A version that tells minecraft what type of data format can be expected when reading this file.",
      "title": "Format Version"
    }
  },
  "additionalProperties": {
    "additionalProperties": false,
    "title": "Block",
    "description": "Block texture definition",
    "type": "object",
    "properties": {
      "brightness_gamma": {
        "type": "number",
        "title": "Brightness Gamma",
        "description": "UNDOCUMENTED",
        "$comment": "UNDOCUMENTED"
      },
      "carried_textures": {
        "$ref": "#/definitions/texture",
        "title": "Carried Textures",
        "description": "UNDOCUMENTED",
        "$comment": "UNDOCUMENTED"
      },
      "isotropic": {
        "title": "Isotropic",
        "description": "Marks if this block is isotropic or not, or which side are",
        "oneOf": [
          { "type": "boolean" },
          {
            "additionalProperties": false,
            "type": "object",
            "properties": {
              "down": { "type": "boolean" },
              "up": { "type": "boolean" },
              "side": { "type": "boolean" },
              "south": { "type": "boolean" },
              "north": { "type": "boolean" },
              "west": { "type": "boolean" },
              "east": { "type": "boolean" }
            }
          }
        ]
      },
      "sound": { "type": "string", "title": "Sound", "description": "The sound definition of this block" },
      "textures": { "$ref": "#/definitions/texture", "title": "Sound", "description": "Textures" }
    }
  }
}
