auto: generated json schemas 2025-10-14 (#390)

Co-authored-by: DaanV2 <2393905+DaanV2@users.noreply.github.com>
This commit is contained in:
github-actions[bot]
2025-10-14 20:08:05 +02:00
committed by GitHub
parent cfa89d59c5
commit 1f04c737cd
24 changed files with 24 additions and 24 deletions

View File

@@ -1 +1 @@
{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.animations","defaultSnippets":[{"label":"New animation","body":{"format_version":"${1:1.10.0}","animations":{"animation.${2:${TM_FILENAME/[\\.].*//}}":"^{$3}"}}}],"examples":[{"format_version":"1.10.0","animations":{"animation.example":{}}}],"definitions":{"animationspec":{"anyOf":[{"title":"Animation Specification","description":"A single string that specifies which animation there are.","type":"string"},{"type":"object","title":"Animation Specification","description":"A object specification on how to transition.","maxProperties":1,"minProperties":1,"additionalProperties":{"$ref":"#/definitions/A"}}]},"particle_effect_spec":{"additionalProperties":false,"type":"object","required":["effect"],"properties":{"bind_to_actor":{"title":"Bind To Actor","type":"boolean","description":"Set to false to have the effect spawned in the world without being bound to an actor (by default an effect is bound to the actor).","const":false},"effect":{"type":"string","description":"The name of a particle effect that should be played.","title":"Effect"},"locator":{"type":"string","description":"The name of a locator on the actor where the effect should be located.","title":"Locator"},"pre_effect_script":{"type":"string","description":"A molang script that will be run when the particle emitter is initialized.","title":"Pre Effect Script"}}},"commands":{"type":"string","description":"The event or commands to execute.","title":"Commands","anyOf":[{"pattern":"^.*=.*;$","title":"Variable","description":"Sets the value to a molang variable."},{"pattern":"^/[a-z].*$","title":"Minecraft Command","description":"Executes a minecraft command."},{"pattern":"[A-Za-z][a-z]*\\.[a-z_0-9]*","title":"Molang"},{"pattern":"^@s .*$","title":"Event","description":"An event to be called upon within the executing entity."}]},"A":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"B":{"title":"Molang Number","description":"The minecraft molang definition that results in a float.","anyOf":[{"type":"string","minLength":0},{"type":"number"}],"examples":["(1.0)","(0.0)"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]}},"type":"object","title":"Animation","description":"Animation for behavior for.","required":["format_version","animations"],"additionalProperties":false,"properties":{"format_version":{"type":"string","enum":["1.8.0","1.10.0"]},"animations":{"title":"Animations Schema","description":"The animation specification.","type":"object","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"additionalProperties":{"title":"Animation","type":"object","description":"A single animation definition for.","additionalProperties":false,"propertyNames":{"examples":["animation.example.foo"]},"properties":{"animation_length":{"type":"number","description":"The time in seconds this animation will last.","title":"Animation Length"},"loop":{"type":"boolean","description":"Whenever this animation should loop once it reaches the end, will only happen if the animation is still active.","title":"Loop"},"timeline":{"title":"Timeline","description":"A timeline specification, property names are timestamps.","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"oneOf":[{"type":"string","$ref":"#/definitions/commands"},{"type":"array","title":"Collection Timelime Items","items":{"$ref":"#/definitions/commands"}}]}},"anim_time_update":{"title":"Animation Time Update","description":"How does time pass when playing the animation. Defaults to `query.anim_time + query.delta_time` which means advance in seconds.","$ref":"#/definitions/B"}}}}}}
{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.animations","defaultSnippets":[{"label":"New animation","body":{"format_version":"${1:1.10.0}","animations":{"animation.${2:${TM_FILENAME/[\\.].*//}}":"^{$3}"}}}],"examples":[{"format_version":"1.10.0","animations":{"animation.example":{}}}],"definitions":{"animationspec":{"anyOf":[{"title":"Animation Specification","description":"A single string that specifies which animation there are.","type":"string"},{"type":"object","title":"Animation Specification","description":"A object specification on how to transition.","maxProperties":1,"minProperties":1,"additionalProperties":{"$ref":"#/definitions/A"}}]},"particle_effect_spec":{"additionalProperties":false,"type":"object","required":["effect"],"properties":{"bind_to_actor":{"title":"Bind To Actor","type":"boolean","description":"Set to false to have the effect spawned in the world without being bound to an actor (by default an effect is bound to the actor).","const":false},"effect":{"type":"string","description":"The name of a particle effect that should be played.","title":"Effect"},"locator":{"type":"string","description":"The name of a locator on the actor where the effect should be located.","title":"Locator"},"pre_effect_script":{"type":"string","description":"A molang script that will be run when the particle emitter is initialized.","title":"Pre Effect Script"}}},"commands":{"type":"string","description":"The event or commands to execute.","title":"Commands","anyOf":[{"pattern":"^.*=.*;$","title":"Variable","description":"Sets the value to a molang variable."},{"pattern":"^/[a-z].*$","title":"Minecraft Command","description":"Executes a minecraft command."},{"pattern":"[A-Za-z][a-z]*\\.[a-z_0-9]*","title":"Molang"},{"pattern":"^@s .*$","title":"Event","description":"An event to be called upon within the executing entity."}]},"A":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"B":{"title":"Molang Number","description":"The minecraft molang definition that results in a float.","anyOf":[{"type":"string","minLength":0},{"type":"number"}],"examples":["(1.0)","(0.0)"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]}},"type":"object","title":"Animation","description":"An animation definition for an entity.","required":["format_version","animations"],"additionalProperties":false,"properties":{"format_version":{"type":"string","enum":["1.8.0","1.10.0"]},"animations":{"title":"Animations Schema","description":"The animation specification.","type":"object","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"additionalProperties":{"title":"Animation","type":"object","description":"A single animation definition for an entity.","additionalProperties":false,"propertyNames":{"examples":["animation.example.foo"]},"properties":{"animation_length":{"type":"number","description":"The time in seconds this animation will last.","title":"Animation Length"},"loop":{"type":"boolean","description":"If set to true, this animation will loop (as long as it remains active).","title":"Loop"},"timeline":{"title":"Timeline","description":"A timeline specification, where property names are timestamps.","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"oneOf":[{"type":"string","$ref":"#/definitions/commands"},{"type":"array","title":"Collection Timelime Items","items":{"$ref":"#/definitions/commands"}}]}},"anim_time_update":{"title":"Animation Time Update","description":"How time passes when playing the animation. Defaults to `query.anim_time + query.delta_time` which means advance in seconds.","$ref":"#/definitions/B"}}}}}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.worldgen.template_pools.template_pool","type":"object","title":"Template Pool","description":"Used to pair block rules with Structure Templates and to randomly place Structure Templates using a weighted list.","required":["format_version","minecraft:template_pool"],"additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:template_pool":{"$ref":"#/definitions/B"}},"definitions":{"A":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^([1-9]+)\\.([0-9]+)\\.([0-9]+)$","type":"string","default":"1.21.60","examples":["1.21.50","1.20.80","1.20.40","1.19.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18,19,20|}.${3|2|0|}"}]},"B_template_pool_element":{"title":"Template Pool Element","description":"A template pool item used to define the element and its weight.","type":"object","additionalProperties":false,"required":["element"],"properties":{"element":{"title":"Element","description":"A grouping of a Structure Template, the Processor List to use when placing the structure, and its weight that determines the likelihood of the element being chosen.","type":"object","properties":{"element_type":{"title":"Element Type","description":" The type of element.","type":"string","const":"minecraft:single_pool_element"},"location":{"title":"Location","description":"The path of the structure file. This path is relative to the behavior pack's \"structures\" folder.","type":"string"},"processors":{"title":"Processors","description":"The identifier of the processor list to use when placing the structure.","type":"string"}},"required":["element_type","location","processors"]},"projection":{"title":"Projection","description":"Specifies how structures should be placed relative to the terrain.","type":"string","default":"rigid","anyOf":[{"const":"rigid","description":"Structures are placed without any height adjustment."},{"const":"terrain_matching","description":"Structures are placed relative to the terrain height. Structure blocks will adjust along the Y axis to match the ground."}]},"weight":{"title":"Weight","description":"The weighted probability of choosing the element from the pool. For example, a template pool containing 2 structures with weights of 1 and 3 will have a 25% and 75% chance of being chosen respectively.","type":"integer","minimum":1.0,"maximum":200.0}}},"B":{"type":"object","title":"Template Pool","additionalProperties":false,"required":["description","elements"],"properties":{"description":{"title":"Description","description":"The description of this template pool.","type":"object","additionalProperties":false,"required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"Identifier of the template pool. This is used by both the start_pool property of the Jigsaw Structure JSON and the Jigsaw Block's Target Pool field.","type":"string"}}},"elements":{"title":"Elements","description":"An array of pool elements.","type":"array","minItems":1,"items":{}},"fallback":{"title":"Fallback","description":"Fallback template pool to use if no element in the pool can be placed successfully.","type":"string"}}}}}
{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.worldgen.template_pools.template_pool","type":"object","title":"Template Pool","description":"Used to pair block rules with Structure Templates and to randomly place Structure Templates using a weighted list.","required":["format_version","minecraft:template_pool"],"additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:template_pool":{"$ref":"#/definitions/B"}},"definitions":{"A":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^([1-9]+)\\.([0-9]+)\\.([0-9]+)$","type":"string","default":"1.21.60","examples":["1.21.50","1.20.80","1.20.40","1.19.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18,19,20|}.${3|2|0|}"}]},"B_template_pool_element":{"title":"Template Pool Element","description":"A template pool item used to define the element and its weight.","type":"object","additionalProperties":false,"required":["element"],"properties":{"element":{"title":"Element","description":"A grouping of a Structure Template, the Processor List to use when placing the structure, and its weight that determines the likelihood of the element being chosen.","oneOf":[{"$ref":"#/definitions/B_empty_element"},{"$ref":"#/definitions/B_single_element"}]},"weight":{"title":"Weight","description":"The weighted probability of choosing the element from the pool. For example, a template pool containing 2 structures with weights of 1 and 3 will have a 25% and 75% chance of being chosen respectively.","type":"integer","minimum":1.0,"maximum":200.0}}},"B_empty_element":{"type":"object","properties":{"element_type":{"title":"Element Type","description":" The type of element.","type":"string","const":"minecraft:empty_pool_element"}},"required":["element_type"]},"B_single_element":{"type":"object","properties":{"element_type":{"title":"Element Type","description":" The type of element.","type":"string","const":"minecraft:single_pool_element"},"location":{"title":"Location","description":"The path of the structure file. This path is relative to the behavior pack's \"structures\" folder.","type":"string"},"processors":{"title":"Processors","description":"The identifier of the processor list to use when placing the structure.","type":"string"},"projection":{"title":"Projection","description":"Specifies how structures should be placed relative to the terrain.","type":"string","default":"rigid","anyOf":[{"const":"rigid","description":"Structures are placed without any height adjustment."},{"const":"terrain_matching","description":"Structures are placed relative to the terrain height. Structure blocks will adjust along the Y axis to match the ground."}]}},"required":["element_type","location"]},"B":{"type":"object","title":"Template Pool","additionalProperties":false,"required":["description","elements"],"properties":{"description":{"title":"Description","description":"The description of this template pool.","type":"object","additionalProperties":false,"required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"Identifier of the template pool. This is used by both the start_pool property of the Jigsaw Structure JSON and the Jigsaw Block's Target Pool field.","type":"string"}}},"elements":{"title":"Elements","description":"An array of pool elements.","type":"array","minItems":1,"items":{"$ref":"#/definitions/B_template_pool_element"}},"fallback":{"title":"Fallback","description":"Fallback template pool to use if no element in the pool can be placed successfully.","type":"string"}}}}}

2
general/manifest.json generated

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
resource/fog/fog.json generated

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.texture.flipbook","additionalProperties":false,"description":"The file that specifies animated textures.","title":"Flipbook Texture File","type":"array","items":{"additionalProperties":false,"description":"A single flipbook texture.","title":"Flipbook Texture","type":"object","properties":{"atlas_index":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Atlas Index","type":"integer"},"atlas_tile":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","pattern":"^[a-z0-9_:\\-]*$","title":"Atlas Index","type":"string"},"atlas_tile_variant":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Atlas Index","type":"integer"},"blend_frames":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Atlas Index","type":"boolean"},"flipbook_texture":{"description":"A texture file.","pattern":"^textures/.+$","title":"Flipbook Texture","type":"string"},"frames":{"title":"Frames","description":"The collection of frame index to display.","items":{"description":"The index of the frame.","minimum":0,"title":"Frame Index","type":"integer"},"type":"array"},"replicate":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Atlas Index","type":"integer"},"ticks_per_frame":{"description":"The amount of ticks to wait between frames.","title":"Ticks Per Frame","type":"integer"}}},"definitions":{}}
{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.texture.flipbook","additionalProperties":false,"description":"The file that specifies animated textures.","title":"Flipbook Texture File","type":"array","items":{"additionalProperties":false,"description":"A single flipbook texture.","title":"Flipbook Texture","type":"object","properties":{"atlas_index":{"description":"The index of the texture array inside the definition of that shortname.","$comment":"UNDOCUMENTED","title":"Atlas Index","type":"integer"},"atlas_tile":{"description":"The shortname defined in the terrain_texture JSON file.","markdownDescription":"The shortname defined in the terrain_texture.json file.","$comment":"UNDOCUMENTED","pattern":"^[a-z0-9_:\\-]*$","title":"Atlas Title","type":"string"},"atlas_tile_variant":{"description":"The variant of the block's texture array inside the shortname's block variation.","$comment":"UNDOCUMENTED","title":"Atlas Tile Variant","type":"integer"},"blend_frames":{"description":"Whether or not Minecraft should interpolate between frames.","$comment":"UNDOCUMENTED","title":"Blend Frames","type":"boolean","default":true},"flipbook_texture":{"description":"A texture file.","pattern":"^textures/.+$","title":"Flipbook Texture","type":"string"},"frames":{"title":"Frames","description":"The order in which frame indices to display. Duplicate frames are allowed.","items":{"description":"The index of the frame.","minimum":0,"title":"Frame Index","type":"integer"},"type":"array"},"replicate":{"description":"Sets the size of pixels.","$comment":"UNDOCUMENTED","title":"Replicate","type":"integer","default":1},"ticks_per_frame":{"description":"The amount of ticks to wait between frames.","title":"Ticks Per Frame","type":"integer"}}},"definitions":{}}

View File

@@ -1 +1 @@
{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.texture.terrain_texture","additionalProperties":false,"type":"object","title":"Terrain Texture File","description":"An collection of texture definitions.","$comment":"UNDOCUMENTED","definitions":{"texture":{"oneOf":[{"description":"A texture file.","type":"string","pattern":"^textures/.+$","title":"Texture"},{"type":"object","additionalProperties":false,"description":"A collection of texture files.","title":"Texture","properties":{"overlay_color":{"description":"The color to apply to the texture.","title":"Overlay Color","format":"color-hex","examples":["#FFFFFF"]},"path":{"description":"A texture file.","type":"string","pattern":"^textures/.+$","title":"Path"},"tint_color":{"title":"Tint Color","description":"The tint color to be applied to the texture.","$comment":"UNDOCUMENTED","format":"color-hex","examples":["#FFFFFF"],"type":"string"},"variations":{"type":"array","title":"Variantions","description":"The possible variations to use for this texture.","$comment":"UNDOCUMENTED","items":{"type":"object","title":"Variantion","description":"One of the variantions, specified along with a possible weight.","$comment":"UNDOCUMENTED","required":["path"],"properties":{"path":{"description":"A texture file.","type":"string","pattern":"^textures/.+$","title":"Path"},"weight":{"type":"integer","title":"Weight","description":"The weight of the texture.","$comment":"UNDOCUMENTED"}}}}}}]}},"properties":{"num_mip_levels":{"type":"integer","title":"Num Mip Levels","description":"Sets the number of mipmap levels for better texture quality at varying distances.","$comment":"UNDOCUMENTED"},"padding":{"type":"integer","title":"Padding","description":"Adds buffer space to prevent textures from bleeding into each other.","$comment":"UNDOCUMENTED"},"resource_pack_name":{"type":"string","title":"Resource Pack Name","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"texture_data":{"type":"object","propertyNames":{"pattern":"^[a-z0-9_:.\\-]*$"},"additionalProperties":{"type":"object","title":"Texture Data","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"textures":{"oneOf":[{"$ref":"#/definitions/texture"},{"type":"array","items":{"$ref":"#/definitions/texture"}}]}}},"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Texture Data"},"texture_name":{"const":"atlas.terrain"}}}
{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.texture.terrain_texture","additionalProperties":false,"type":"object","title":"Terrain Texture File","description":"An collection of texture definitions.","$comment":"UNDOCUMENTED","definitions":{"texture":{"oneOf":[{"description":"A texture file.","type":"string","pattern":"^textures/.+$","title":"Texture"},{"type":"object","additionalProperties":false,"description":"A collection of texture files.","title":"Texture","properties":{"overlay_color":{"description":"The color to apply to the texture.","title":"Overlay Color","format":"color-hex","examples":["#FFFFFF"]},"path":{"description":"A texture file.","type":"string","pattern":"^textures/.+$","title":"Path"},"tint_color":{"title":"Tint Color","description":"The tint color to be applied to the texture.","$comment":"UNDOCUMENTED","format":"color-hex","examples":["#FFFFFF"],"type":"string"},"variations":{"type":"array","title":"Variantions","description":"The possible variations to use for this texture.","$comment":"UNDOCUMENTED","items":{"type":"object","title":"Variantion","description":"One of the variations, specified along with a possible weight.","$comment":"UNDOCUMENTED","required":["path"],"properties":{"path":{"description":"A texture file.","type":"string","pattern":"^textures/.+$","title":"Path"},"weight":{"type":"number","minimum":0.05,"maximum":1000000,"title":"Weight","description":"The weight of the texture.","$comment":"UNDOCUMENTED"}}}}}}]}},"properties":{"num_mip_levels":{"minimum":0,"maximum":4,"default":4,"type":"integer","title":"Num Mip Levels","description":"Sets the number of mipmap levels for reducing texture quality at varying distances. More mipmap levels means reduced texture quality at farther distances.","$comment":"UNDOCUMENTED"},"padding":{"type":"integer","title":"Padding","description":"Adds buffer space to prevent textures from bleeding into each other.","$comment":"UNDOCUMENTED"},"resource_pack_name":{"type":"string","title":"Resource Pack Name","description":"The name of your resource pack, which should match the name in this pack's manifest.","markdownDescription":"The name of your resource pack, which should match the name in `manifest.json`.","$comment":"UNDOCUMENTED"},"texture_data":{"type":"object","propertyNames":{"pattern":"^[a-z0-9_:.\\-]*$"},"additionalProperties":{"type":"object","title":"Texture Data","description":"Describes the texture, including properties like the path to the texture.","$comment":"UNDOCUMENTED","properties":{"textures":{"oneOf":[{"$ref":"#/definitions/texture"},{"type":"array","items":{"$ref":"#/definitions/texture"}}]}}},"description":"A JSON object with shortnames and texture data.","$comment":"UNDOCUMENTED","title":"Texture Data"},"texture_name":{"const":"atlas.terrain"}}}

View File

@@ -1 +1 @@
{"title":"Global Variables","description":"Global variables that can be used in any JSON file.","type":"object","propertyNames":{"pattern":"^\\$[a-zA-Z0-9_]+$"},"additionalProperties":{"title":"Global Variable","type":["array","boolean","integer","number","string"]},"definitions":{}}
{"title":"Global Variables","description":"Global variables that can be used in any JSON file.","type":"object","propertyNames":{"pattern":"^\\$[a-zA-Z0-9_-]+$"},"additionalProperties":{"title":"Global Variable","type":["array","boolean","integer","number","string"]},"definitions":{}}

2
resource/ui/ui.json generated

File diff suppressed because one or more lines are too long

2
skinpacks/skins.json generated
View File

@@ -1 +1 @@
{"$schema":"http://json-schema.org/draft-07/schema","title":"Skip Pack","description":"Skin pack definition.","type":"object","additionalProperties":false,"required":["serialize_name","localization_name","skins"],"properties":{"serialize_name":{"title":"Serialize Name","description":"The name of the pack as an identifier, they must be the same as the name of pack without spaces.","type":"string"},"localization_name":{"title":"Locatlization Name","description":"The key in the language file to use to display text.","type":"string"},"skins":{"type":"array","title":"Skins","description":"An array of item.","examples":[{"localization_name":"TemplateSkin1","geometry":"geometry.humanoid.custom","texture":"some_texture.png","type":"paid"}],"items":{"title":"Skin","description":"A single skin definition.","additionalProperties":false,"required":["localization_name","geometry","texture","type"],"type":"object","properties":{"localization_name":{"title":"Locatlization Name","description":"The key in the language file to use to display text.","type":"string"},"geometry":{"title":"Geometry","description":"The type of geometry to use.","type":"string","pattern":"^[Gg]eometry\\..+$","examples":["geometry.humanoid.custom","geometry.humanoid.customSlim"]},"texture":{"title":"Texture","description":"The filename of the skin.","pattern":"^.*\\.png$"},"type":{"title":"Type","description":"The type of skin.","enum":["free","paid"]}}}}},"definitions":{}}
{"$schema":"http://json-schema.org/draft-07/schema","title":"Skin Pack","description":"Skin pack definition.","type":"object","additionalProperties":false,"required":["serialize_name","localization_name","skins"],"properties":{"serialize_name":{"title":"Serialize Name","description":"The name of the pack as an identifier, they must be the same as the name of pack without spaces.","type":"string"},"localization_name":{"title":"Locatlization Name","description":"The key in the language file to use to display text.","type":"string"},"skins":{"type":"array","title":"Skins","description":"An array of item.","examples":[{"localization_name":"TemplateSkin1","geometry":"geometry.humanoid.custom","texture":"some_texture.png","type":"paid"}],"items":{"title":"Skin","description":"A single skin definition.","additionalProperties":false,"required":["localization_name","geometry","texture","type"],"type":"object","properties":{"localization_name":{"title":"Locatlization Name","description":"The key in the language file to use to display text.","type":"string"},"geometry":{"title":"Geometry","description":"The type of geometry to use.","type":"string","pattern":"^[Gg]eometry\\..+$","examples":["geometry.humanoid.custom","geometry.humanoid.customSlim"]},"texture":{"title":"Texture","description":"The filename of the skin.","pattern":"^.*\\.png$"},"type":{"title":"Type","description":"The type of skin.","enum":["free","paid"]}}}}},"definitions":{}}