Files
minecraft-bedrock-json-schemas/resource/fog/fog.json

180 lines
8.7 KiB
JSON
Raw Normal View History

2021-03-11 16:07:04 +01:00
{
"$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": {
"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}$" }
]
},
"A_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" },
"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"]
}
}
},
"A_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": "Max 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": "Max 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" }
}
},
"A_volumeMediaObject": {
"type": "object",
"additionalProperties": false,
"properties": {
"absorption": { "title": "Absorption", "description": "Proportion of light that is absorbed (lost) per block.", "$ref": "#/definitions/A_colorHexOrArray" },
"scattering": { "title": "Scattering", "description": "Proportion of light that is scattered per block.", "$ref": "#/definitions/A_colorHexOrArray" }
}
},
"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": "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": "#/definitions/B"
}
}
},
"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": "#/defintions/defaultFogSettings" },
"weather": {
"title": "Weather",
"description": " The fog settings for when the camera is in the air with active weather (rain, snow, etc..).",
"$ref": "#/defintions/defaultFogSettings"
},
"water": { "title": "Water", "description": "The fog settings when the camera is in water.", "$ref": "#/defintions/defaultFogSettings" },
"lava": { "title": "Lava", "description": "The fog settings when the camera is in lava.", "$ref": "#/defintions/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": "#/defintions/defaultFogSettings"
},
"powder_snow": {
"title": "Powder snow",
"description": "The fog settings when the camera is inside a Powder Snow block.",
"$ref": "#/defintions/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/A_volumeDensityObject" },
"water": { "title": "Water", "description": "Fog density values as light passes through water blocks.", "$ref": "#/definitions/A_volumeDensityObject" },
"lava": { "title": "Lava", "description": "Fog density values as light passes through lava blocks.", "$ref": "#/definitions/A_volumeDensityObject" },
"lava_resistance": {
"title": "Lava resistance",
"description": "Fog density values as light passes through lava blocks while the player has lava resistance.",
"$ref": "#/definitions/A_volumeDensityObject"
}
}
},
"media_coefficients": {
"title": "Media coefficients",
"description": "The coefficient settings for the volumetric fog in different blocks.",
"additionalProperties": false,
"properties": {
"air": { "title": "Air", "description": "Fog coefficient values while light passes through air.", "$ref": "#/definitions/A_volumeMediaObject" },
"water": { "title": "Water", "description": "Fog coefficient values while light passes through water.", "$ref": "#/definitions/A_volumeMediaObject" },
"cloud": { "title": "Cloud", "description": "Fog coefficient values while light passes through clouds.", "$ref": "#/definitions/A_volumeMediaObject" }
}
}
}
}
}
}
}
}
}
}