diff --git a/resource/fog/1.16.100/fog.json b/resource/fog/1.16.100/fog.json new file mode 100644 index 00000000..e622cfc3 --- /dev/null +++ b/resource/fog/1.16.100/fog.json @@ -0,0 +1,161 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "blockception.minecraft.resource.1.16.100.resource", + "type": "object", + "additionalProperties": false, + "title": "Fog specification", + "description": "TODO", + "definitions": { + "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}$" + } + ] + } + }, + "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": "../../../general/fog/identifier.json" + } + } + }, + "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/colorHexOrArray" + }, + "scattering": { + "title": "Scattering", + "description": "How much of the light will be spread accross the RGB range", + "$ref": "#/definitions/colorHexOrArray" + } + } + } + } + } + } + } + } + } +} diff --git a/resource/fog/fog.json b/resource/fog/fog.json new file mode 100644 index 00000000..4a018582 --- /dev/null +++ b/resource/fog/fog.json @@ -0,0 +1,11 @@ +{ + "$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": "./1.16.100/fog.json" } + } + ] +}