{
  "$id": "blockception.minecraft.behavior.lighting.global",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "format_version": { "$ref": "../../general/format_version.json" },
    "directional_lights": {
      "type": "object",
      "additionalProperties": false,
      "title": "Directional Lights",
      "description": "The directional lights that affect the world",
      "properties": {
        "sun": {
          "type": "object",
          "title": "Sun",
          "description": "The sun directional light",
          "additionalProperties": false,
          "properties": {
            "illuminance": {
              "type": "number",
              "title": "Illuminance",
              "description": "How bright the sun is, measured in lux (lx)"
            },
            "color": {
              "title": "Color",
              "description": "The RGB color that the sun contributes to direct surface lighting; supports RGB array or HEX string",
              "$ref": "./color.json"
            }
          }
        },
        "moon": {
          "type": "object",
          "title": "Moon",
          "description": "The moon directional light",
          "additionalProperties": false,
          "properties": {
            "illuminance": {
              "type": "number",
              "title": "Illuminance",
              "description": "How bright the moon is, measured in lux (lx)"
            },
            "color": {
              "title": "Color",
              "description": "The RGB color that the moon contributes to direct surface lighting; supports RGB array or HEX string",
              "$ref": "./color.json"
            }
          }
        },
        "orbital_offset_degrees": {
          "type": "number",
          "title": "Orbital Offset Degrees",
          "description": "The rotational offset of the sun and moon from their standard orbital axis; measured in degrees"
        },
        "point_lights": {
          "type": "object",
          "title": "Point Lights",
          "description": "The point lights that affect the world",
          "additionalProperties": false,
          "properties": {
            "colors": {
              "type": "object",
              "title": "Colors",
              "description": "List of key-value pairs where the key is a namespace-qualified block name and the value is a color",
              "additionalProperties": {
                "$ref": "./color.json"
              },
              "examples": [
                {
                  "minecraft:stone": "#ffffff",
                  "minecraft:grass": [0, 255, 0]
                }
              ]
            }
          }
        },
        "pbr": {
          "title": "PBR",
          "description": "The physically-based rendering properties for the world",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "blocks": {
              "title": "Blocks",
              "description": "The PBR properties for blocks",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "color": {
                  "title": "Color",
                  "description": "The default MER value to use for blocks when not defined via textureset; supports RGB array or HEX string",
                  "$ref": "./color.json"
                }
              }
            },
            "actors": {
              "title": "Actors",
              "description": "The PBR properties for actors",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "color": {
                  "title": "Color",
                  "description": "The default MER value to use for actors/mobs when not defined via textureset; supports RGB array or HEX string",
                  "$ref": "./color.json"
                }
              }
            },
            "particles": {
              "title": "Particles",
              "description": "The PBR properties for particles",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "color": {
                  "title": "Color",
                  "description": "The default MER value to use for particles when not defined via textureset; supports RGB array or HEX string",
                  "$ref": "./color.json"
                }
              }
            }
          }
        }
      }
    }
  }
}
