Files
minecraft-bedrock-json-schemas/source/resource/materials/materials.json
2025-09-06 14:18:20 +00:00

446 lines
16 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.materials",
"type": "object",
"title": "Material",
"description": "A collection of material specifications for the render engine of minecraft.",
"$comment": "UNDOCUMENTED",
"additionalProperties": false,
"required": ["materials"],
"definitions": {
"DefinesSpecification": {
"type": "array",
"title": "Defines",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"items": {
"type": "string",
"title": "Definition",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"enum": [
"ALLOW_FADE",
"ALPHA_TEST",
"ALWAYS_LIT",
"ARRAY_TEXTURE_0",
"AS_ENTITY_RENDERER",
"ATLAS_TEXTURE",
"BLEND",
"BLUR_STEPS 1",
"BLUR_STEPS 10",
"BLUR_STEPS 11",
"BLUR_STEPS 12",
"BLUR_STEPS 2",
"BLUR_STEPS 3",
"BLUR_STEPS 4",
"BLUR_STEPS 5",
"BLUR_STEPS 6",
"BLUR_STEPS 7",
"BLUR_STEPS 8",
"BLUR_STEPS 9",
"Blending",
"COLOR_BASED",
"COLOR_FROMTEX",
"COLOR_MULTIPLIER",
"COLOR_SECOND_TEXTURE",
"COMFORT_MODE",
"DISABLE_TINTING",
"DisableCulling",
"EFFECTS_OFFSET",
"ENABLE_CURRENT_ALPHA_MULTIPLY",
"ENABLE_FOG",
"ENABLE_LIGHT",
"ENABLE_VERTEX_TINT_MASK",
"END_PORTAL",
"FANCY",
"FLIP_OCCLUSION",
"FOG",
"FORCE_DEPTH_ZERO",
"GLINT",
"GRADIENT_2PT",
"GRADIENT_3PTSYMM",
"GRADIENT_FROMTEX",
"GRADIENT_LINEAR",
"GRADIENT_RADIAL",
"HAS_MASK",
"IGNORE_CURRENTCOLOR",
"INVENTORY",
"ITEM_IN_HAND",
"LINE_STRIP",
"LOW_PRECISION",
"MASKED_MULTITEXTURE",
"MSDF",
"MULTIPLICATIVE_TINT",
"MULTIPLICATIVE_TINT_COLOR",
"MULTI_COLOR_TINT",
"NO_OCCLUSION",
"NO_TEXTURE",
"NO_VARIETY",
"SEASONS",
"SEASONS_FAR",
"SMOOTH",
"SNOW",
"STEREO_LEFT_EYE_ONLY",
"TEXEL_AA",
"TINTED",
"TINTED_ALPHA_TEST",
"UI_ENTITY",
"USE_COLOR_BLEND",
"USE_COLOR_MASK",
"USE_EMISSIVE",
"USE_LIGHTING",
"USE_MASK",
"USE_MULTITEXTURE",
"USE_ONLY_EMISSIVE",
"USE_OVERLAY",
"USE_SKINNING",
"USE_STEREO_TEXTURE_ARRAY",
"USE_UV_ANIM",
"WINDOWSMR_MAGICALPHA"
]
}
},
"FailOperation": {
"type": "string",
"title": "Fail Operation",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"enum": ["Keep", "Replace"]
},
"FaceSpecification": {
"type": "object",
"title": "Face",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"additionalProperties": false,
"properties": {
"stencilDepthFailOp": {
"type": "string",
"title": "Stencil Depth Fail Operation",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"$ref": "#/definitions/FailOperation"
},
"stencilFailOp": {
"type": "string",
"title": "Stencil Fail Operation",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"$ref": "#/definitions/FailOperation"
},
"stencilFunc": {
"type": "string",
"title": "Stencil Function",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"enum": ["Always", "Equal", "NotEqual"]
},
"stencilPass": { "type": "string", "title": "Stencil Pass", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["Replace"] },
"stencilPassOp": {
"type": "string",
"title": "Stencil Depth Fail Operation",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"$ref": "#/definitions/FailOperation"
}
}
},
"StatesSpecification": {
"type": "array",
"title": "States",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"items": {
"type": "string",
"title": "State",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"enum": [
"Blending",
"DisableAlphaWrite",
"DisableColorWrite",
"DisableCulling",
"DisableDepthTest",
"DisableDepthWrite",
"EnableAlphaToCoverage",
"EnableStencilTest",
"InvertCulling",
"StencilWrite"
]
}
},
"SamplerStatesSpecification": {
"type": "array",
"title": "Sampler States",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"items": {
"type": "object",
"title": "Sample State",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"additionalProperties": false,
"properties": {
"samplerIndex": {
"type": "integer",
"title": "Sample State",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED"
},
"textureFilter": {
"type": "string",
"title": "Texture Filter",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"enum": ["Point", "Bilinear", "TexelAA"]
},
"textureWrap": {
"type": "string",
"title": "Texture Wrap",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"enum": ["Repeat", "Clamp"]
}
}
}
},
"VertexFieldsSpecification": {
"type": "array",
"title": "Vertex Fields",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"items": {
"type": "object",
"title": "Vertex Field",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"additionalProperties": false,
"properties": {
"field": {
"type": "string",
"title": "Vertex Field",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED"
}
}
}
},
"VariantSpecification": {
"type": "array",
"title": "Variants",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"items": {
"type": "object",
"title": "Variant",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"propertyNames": { "enum": ["fading", "fog", "fog.underwater", "lit", "skinning", "skinning_color", "skinning_alphatest", "underlava", "underwater"] },
"additionalProperties": {
"title": "Variant Item",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"$ref": "#/definitions/VariantsItemSpecificaiton"
}
}
},
"VariantsItemSpecificaiton": {
"type": "object",
"title": "Variant Item",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"additionalProperties": false,
"properties": {
"+defines": { "title": "Defines", "description": "UNDOCUMENTED, Add definitions???.", "$ref": "#/definitions/DefinesSpecification" },
"vertexFields": {
"title": "Vertex Fields",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"$ref": "#/definitions/VertexFieldsSpecification"
},
"states": { "title": "States", "description": "UNDOCUMENTED, start states???.", "$ref": "#/definitions/StatesSpecification" },
"+states": { "title": "States", "description": "UNDOCUMENTED, Add additional states???.", "$ref": "#/definitions/StatesSpecification" },
"-states": { "title": "States", "description": "UNDOCUMENTED, remove additional states???.", "$ref": "#/definitions/StatesSpecification" }
}
}
},
"properties": {
"materials": {
"type": "object",
"title": "Materials",
"description": "The collection of materials, each property key is the identification key of the material, and what it implements if : are used.",
"$comment": "UNDOCUMENTED",
"required": ["version"],
"properties": {
"version": {
"type": "string",
"const": "1.0.0",
"title": "Version",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED"
}
},
"additionalProperties": {
"title": "Material Definitions",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"additionalProperties": false,
"type": "object",
"properties": {
"alphaDst": {
"type": "string",
"title": "Alpha Distance",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"enum": ["DestColor", "OneMinusSrcAlpha"]
},
"backFace": { "title": "Back Face", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/FaceSpecification" },
"blendDst": {
"type": "string",
"title": "Blend Distance",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"enum": ["SourceAlpha", "OneMinusSrcAlpha", "OneMinusSrcColor", "SourceColor", "Zero", "One"]
},
"blendSrc": {
"type": "string",
"title": "Blend Source",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"enum": ["DestColor", "One", "OneMinusDestColor", "SourceAlpha", "SourceColor"]
},
"defines": {
"title": "Defines",
"description": "UNDOCUMENTED, sets or starts definitions???.",
"$ref": "#/definitions/DefinesSpecification"
},
"+defines": { "title": "Defines", "description": "UNDOCUMENTED, Add definitions???.", "$ref": "#/definitions/DefinesSpecification" },
"-defines": { "title": "Defines", "description": "UNDOCUMENTED, removes definitions???.", "$ref": "#/definitions/DefinesSpecification" },
"depthBias": {
"type": "number",
"title": "Depth Bias",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED"
},
"depthBiasOGL": {
"type": "number",
"title": "Depth Bias OGL",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED"
},
"depthFunc": {
"type": "string",
"title": "Depth Function",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"enum": ["LessEqual", "Always", "Equal"]
},
"fragmentShader": {
"type": "string",
"title": "Fragment Shader",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"pattern": "^shaders/.*\\.fragment$"
},
"frontFace": {
"title": "Front Face",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"$ref": "#/definitions/FaceSpecification"
},
"isAnimatedTexture": {
"type": "integer",
"title": "Is Animated Texture",
"description": "UNDOCUMENTED, think its a boolean value as a number, so 1 and 0????."
},
"msaaSupport": {
"type": "string",
"title": "MSAA Support",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"enum": ["Both", "MSAA", "NonMSAA"]
},
"primitiveMode": {
"type": "string",
"title": "Primitive Mode",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"enum": ["Line"]
},
"samplerStates": {
"title": "Sampler States",
"description": "UNDOCUMENTED, set or start samplerStates???.",
"$ref": "#/definitions/SamplerStatesSpecification"
},
"+samplerStates": {
"title": "Sampler States",
"description": "UNDOCUMENTED, Add samplerStates???.",
"$ref": "#/definitions/SamplerStatesSpecification"
},
"slopeScaledDepthBias": {
"type": "number",
"title": "Slope Scaled Depth Bias",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED"
},
"slopeScaledDepthBiasOGL": {
"type": "number",
"title": "Slope Scaled Depth Bias OGL",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED"
},
"states": { "title": "States", "description": "UNDOCUMENTED, start states???.", "$ref": "#/definitions/StatesSpecification" },
"+states": { "title": "States", "description": "UNDOCUMENTED, Add additional states???.", "$ref": "#/definitions/StatesSpecification" },
"-states": { "title": "States", "description": "UNDOCUMENTED, remove additional states???.", "$ref": "#/definitions/StatesSpecification" },
"stencilRef": {
"type": "integer",
"title": "Stencil Ref",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED"
},
"stencilRefOverride": {
"type": "integer",
"title": "Stencil Ref Override",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED"
},
"stencilReadMask": {
"type": "integer",
"title": "Stencil Read Mask",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED"
},
"stencilWriteMask": {
"type": "integer",
"title": "Stencil Write Mask",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED"
},
"variants": { "title": "Variants", "description": "UNDOCUMENTED, sets the variants?.", "$ref": "#/definitions/VariantSpecification" },
"+variants": { "title": "Variants", "description": "UNDOCUMENTED, adds variants?.", "$ref": "#/definitions/VariantSpecification" },
"vertexFields": {
"title": "Vertex Fields",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"$ref": "#/definitions/VertexFieldsSpecification"
},
"vertexShader": {
"type": "string",
"title": "Vertex Shader",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"pattern": "^shaders/.*\\.vertex$"
},
"vrGeometryShader": {
"type": "string",
"title": "VR Geometry Shader",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"pattern": "^shaders/.*\\.geometry$"
}
}
}
}
}
}