{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "blockception.minecraft.resource.fog", "examples": [], "allOf": [{ "if": { "properties": { "format_version": { "type": "string", "const": "1.16.100" } } }, "then": { "$ref": "#/definitions/A" } }], "definitions": { "A_colorHexOrArray": { "oneOf": [ { "type": "array", "items": [ { "type": "number", "minimum": 0, "maximum": 1, "title": "Red" }, { "type": "number", "minimum": 0, "maximum": 1, "title": "Green" }, { "type": "number", "minimum": 0, "maximum": 1, "title": "Blue" } ] }, { "type": "string", "format": "color-hex", "pattern": "^\\#[0-9a-fA-F]{6}$" } ] }, "B": { "type": "string", "title": "The minecraft fog identifier", "description": "The minecraft fog identifier", "pattern": "^[0-9a-zA-Z:_\\.\\-]+$" }, "A": { "type": "object", "additionalProperties": false, "title": "Fog specification", "description": "TODO", "properties": { "format_version": { "title": "Format version", "description": "TODO: format_version", "type": "string" }, "minecraft:fog_settings": { "title": "Fog settings", "description": "TODO", "type": "object", "additionalProperties": false, "properties": { "description": { "title": "Description", "description": "The identifying description of this fog settings", "type": "object", "additionalProperties": false, "properties": { "identifier": { "type": "string", "title": "Identifier", "$ref": "#/definitions/B" } } }, "distance": { "title": "Distance", "description": "The fog that is generated by the distance of the players view", "type": "object", "propertyNames": { "enum": ["water", "air", "weather", "lava", "lava_resistance"] }, "additionalProperties": { "title": "Fog specification", "description": "TODO", "type": "object", "additionalProperties": false, "properties": { "fog_start": { "title": "Fog start", "description": "The distance where the fog will start", "type": "number" }, "fog_end": { "title": "Fog end", "description": "The distance where the fog will be opague", "type": "number" }, "fog_color": { "title": "Fog color", "description": "The color of the fog", "type": "string", "format": "color-hex" }, "render_distance_type": { "title": "Render distance type", "description": "Wheter the fog should be calculated from the render distance or a fixed depth", "type": "string", "enum": ["fixed", "render"] } } } }, "volumetric": { "title": "Volumetric", "description": "Settings for light passing through blocks and the resulting fog", "type": "object", "additionalProperties": false, "properties": { "density": { "title": "Density", "description": "TODO", "propertyNames": { "enum": ["water", "air", "weather", "lava", "lava_resistance"] }, "additionalProperties": { "description": "TODO", "type": "object", "additionalProperties": false, "properties": { "max_density": { "title": "Max density", "description": "How much the fog disrupts the light", "type": "number", "minimum": 0, "maximum": 1 }, "uniform": { "title": "Uniform", "description": "If the fog should be evenly spread", "type": "boolean" }, "zero_density_height": { "title": "Zero density height", "description": "NOTE: only works if uniform is false, The amount of blocks this fog will appear above blocks", "type": "number" }, "max_density_height": { "title": "Max density height", "description": "NOTE: only works if uniform is false, The amount of blocks that the fog will become its maximum", "type": "number" } } } }, "media_coefficients": { "title": "Density", "description": "Describes what happens to the light when it passes through a medium", "propertyNames": { "enum": ["water", "air", "cloud"] }, "additionalProperties": { "description": "TODO", "type": "object", "additionalProperties": false, "properties": { "absorption": { "title": "Absorption", "description": "How much of the light will be absorbed accross the RGB range", "$ref": "#/definitions/A_colorHexOrArray" }, "scattering": { "title": "Scattering", "description": "How much of the light will be spread accross the RGB range", "$ref": "#/definitions/A_colorHexOrArray" } } } } } } } } } } } }