{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "blockception.minecraft.resource.fog", "examples": [], "type": "object", "additionalProperties": false, "title": "Fog", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "definitions": { "colorHexOrArray": { "examples": ["#056bd1"], "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}$" } ] }, "defaultFogSettings": { "type": "object", "additionalProperties": false, "required": ["fog_start", "fog_end", "fog_color", "render_distance_type"], "examples": [{ "fog_start": 100, "fog_end": 200, "fog_color": "#056bd1", "render_distance_type": "render" }], "properties": { "fog_start": { "title": "Fog Start", "description": "The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'.", "type": "number", "minimum": 0 }, "fog_end": { "title": "Fog End", "description": "The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'.", "type": "number", "minimum": 0 }, "fog_color": { "title": "Fog Color", "description": "The color that the fog will take on.", "type": "string", "format": "color-hex", "examples": ["#FFFFFF"] }, "render_distance_type": { "title": "Render Distance Type", "description": "Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance.", "type": "string", "enum": ["fixed", "render"] }, "transition_fog": { "title": "Transition Fog", "description": "Additional fog data which will slowly transition to the distance fog of current biome.", "type": "object", "default": false, "required": ["init_fog","min_percent", "mid_seconds", "mid_percent", "max_seconds"], "properties": { "init_fog": { "title": "Initial Fog", "description": "Initial fog that will slowly transition into water distance fog of the biome when player goes into water.", "required": ["fog_color", "fog_start", "fog_end", "render_distance_type"], "type": "object", "properties": { "fog_color": { "title": "Fog Color", "description": "The color that the fog will take on.", "type": "string", "format": "color-hex", "examples": ["#FFFFFF"] }, "fog_start": { "title": "Fog Start", "description": "The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'.", "type": "number", "minimum": 0 }, "fog_end": { "title": "Fog End", "description": "The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'.", "type": "number", "minimum": 0 }, "render_distance_type": { "title": "Render Distance Type", "description": "Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance.", "enum": ["fixed", "render"] } } }, "min_percent": { "title": "Minimum Percent", "description": "The minimum progress of fog transition.", "type": "number", "minimum": 0, "maximum": 1 }, "mid_seconds": { "title": "Midpoint Seconds", "description": "The time takes to reach certain progress('mid_percent') of fog transition.", "type": "number", "minimum": 0 }, "mid_percent": { "title": "Midpoint Percent", "description": "The progress of fog transition after 'mid_seconds' seconds.", "type": "number", "minimum": 0, "maximum": 1 }, "max_seconds": { "title": "Maximum Seconds", "description": "Total amount of time takes to complete fog transition.", "type": "number", "minimum": 0 } } } } }, "volumeDensityObject": { "type": "object", "additionalProperties": false, "required": ["max_density"], "examples": [{ "max_density": 0.25 }, { "max_density": 0.25, "max_density_height": 128, "zero_density_height": 20, "uniform": true }], "properties": { "max_density": { "title": "Maximum Density", "description": "The maximum amount of opaqueness that the ground fog will take on. A value from [0.0, 1.0].", "minimum": 0, "maximum": 1, "type": "number" }, "max_density_height": { "title": "Maximum Density Height", "description": "The height in blocks that the ground fog will become it's maximum density.", "minimum": 0, "maximum": 128, "type": "number" }, "zero_density_height": { "title": "Zero Density Height", "description": "The height in blocks that the ground fog will be completely transparent and begin to appear. This value needs to be at least 1 higher than `max_density_height`.", "minimum": 0, "maximum": 128, "type": "number" }, "uniform": { "title": "Uniform", "description": "When set to true, the density will be uniform across all heights.", "type": "boolean" } } }, "volumeMediaObject": { "type": "object", "additionalProperties": false, "properties": { "absorption": { "title": "Absorption", "description": "Proportion of light that is absorbed (lost) per block.", "$ref": "#/definitions/colorHexOrArray" }, "scattering": { "title": "Scattering", "description": "Proportion of light that is scattered per block.", "$ref": "#/definitions/colorHexOrArray" } } } }, "properties": { "format_version": { "$ref": "../../general/format_version.json" }, "minecraft:fog_settings": { "title": "Fog Settings", "description": "The definition of a single fog.", "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", "description": "The identifier for these fog settings. The identifier must include a namespace.", "$ref": "../../general/fog/identifier.json" } } }, "distance": { "title": "Distance", "description": "The distance fog settings for different camera locations.", "type": "object", "additionalProperties": false, "properties": { "air": { "title": "Air", "description": "The fog settings when the camera is in the air.", "$ref": "#/definitions/defaultFogSettings" }, "weather": { "title": "Weather", "description": " The fog settings for when the camera is in the air with active weather (rain, snow, etc..).", "$ref": "#/definitions/defaultFogSettings" }, "water": { "title": "Water", "description": "The fog settings when the camera is in water.", "$ref": "#/definitions/defaultFogSettings" }, "lava": { "title": "Lava", "description": "The fog settings when the camera is in lava.", "$ref": "#/definitions/defaultFogSettings" }, "lava_resistance": { "title": "Lava Resistance", "description": "The fog settings when the camera is in lava and the player has the lava resistance effect active.", "$ref": "#/definitions/defaultFogSettings" }, "powder_snow": { "title": "Powder Snow", "description": "The fog settings when the camera is inside a Powder Snow block.", "$ref": "#/definitions/defaultFogSettings" } } }, "volumetric": { "title": "Volumetric", "description": "The volumetric fog settings.", "type": "object", "additionalProperties": false, "properties": { "density": { "title": "Density", "description": "The density settings for different camera locations.", "type": "object", "additionalProperties": false, "properties": { "air": { "title": "Air", "description": "Fog density values as light passes through air blocks.", "$ref": "#/definitions/volumeDensityObject" }, "water": { "title": "Water", "description": "Fog density values as light passes through water blocks.", "$ref": "#/definitions/volumeDensityObject" }, "lava": { "title": "Lava", "description": "Fog density values as light passes through lava blocks.", "$ref": "#/definitions/volumeDensityObject" }, "lava_resistance": { "title": "Lava Resistance", "description": "Fog density values as light passes through lava blocks while the player has lava resistance.", "$ref": "#/definitions/volumeDensityObject" } } }, "media_coefficients": { "title": "Media Coefficients", "description": "The coefficient settings for the volumetric fog in different blocks.", "additionalProperties": false, "type": "object", "properties": { "air": { "title": "Air", "description": "Fog coefficient values while light passes through air.", "$ref": "#/definitions/volumeMediaObject" }, "water": { "title": "Water", "description": "Fog coefficient values while light passes through water.", "$ref": "#/definitions/volumeMediaObject" }, "cloud": { "title": "Cloud", "description": "Fog coefficient values while light passes through clouds.", "$ref": "#/definitions/volumeMediaObject" } } }, "henyey_greenstein_g": { "title": "Henyey Greenstein G", "description": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "air": { "title": "Air", "description": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "henyey_greenstein_g": { "title": "Henyey Greenstein G", "description": "UNDOCUMENTED", "type": "number" } } }, "water": { "title": "Water", "description": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "henyey_greenstein_g": { "title": "Henyey Greenstein G", "description": "UNDOCUMENTED", "type": "number" } } } } } } } } } } }