236 lines
9.9 KiB
JSON
Vendored
236 lines
9.9 KiB
JSON
Vendored
{
|
|
"$id": "blockception.minecraft.resource.fog",
|
|
"examples": [],
|
|
"allOf": [
|
|
{ "if": { "properties": { "format_version": { "type": "string", "const": "1.16.100" } } }, "then": { "$ref": "#/definitions/A" } },
|
|
{ "properties": { "format_version": { "$ref": "#/definitions/C" } } }
|
|
],
|
|
"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": "Fog Identifier", "description": "The minecraft fog identifier", "pattern": "^[0-9a-zA-Z:_\\.\\-]+$" },
|
|
"A": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"title": "Fog",
|
|
"description": "TODO",
|
|
"properties": {
|
|
"format_version": {
|
|
"title": "Format Version",
|
|
"description": "A version that tells minecraft what type of data format can be expected when reading this file.",
|
|
"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": "#/definitions/A_defaultFogSettings"
|
|
},
|
|
"weather": {
|
|
"title": "Weather",
|
|
"description": " The fog settings for when the camera is in the air with active weather (rain, snow, etc..).",
|
|
"$ref": "#/definitions/A_defaultFogSettings"
|
|
},
|
|
"water": {
|
|
"title": "Water",
|
|
"description": "The fog settings when the camera is in water.",
|
|
"$ref": "#/definitions/A_defaultFogSettings"
|
|
},
|
|
"lava": {
|
|
"title": "Lava",
|
|
"description": "The fog settings when the camera is in lava.",
|
|
"$ref": "#/definitions/A_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/A_defaultFogSettings"
|
|
},
|
|
"powder_snow": {
|
|
"title": "Powder Snow",
|
|
"description": "The fog settings when the camera is inside a Powder Snow block.",
|
|
"$ref": "#/definitions/A_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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"C": {
|
|
"title": "Format Version",
|
|
"description": "A version that tells minecraft what type of data format can be expected when reading this file.",
|
|
"pattern": "^(1)\\.([0-9]+)\\.([0-9]+)$",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|