Files
minecraft-bedrock-json-schemas/resource/fog/fog.json
2021-02-02 13:37:58 +01:00

135 lines
5.9 KiB
JSON

{
"$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"
}
}
}
}
}
}
}
}
}
}
}
}