diff --git a/general/manifest.json b/general/manifest.json index b6347a7e..9668b012 100644 --- a/general/manifest.json +++ b/general/manifest.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.manifest","type":"object","title":"Manifest Schema","description":"The minecraft manifest schema","required":["format_version","header"],"examples":[{"format_version":2,"header":{"description":"pack.description","name":"pack.name","uuid":"UUID2","min_engine_version":[1,16,0],"version":[1,0,0]},"modules":[{"type":"data","uuid":"UUID2","version":[1,0,0]}]}],"defaultSnippets":[{"label":"New Manifest","body":{"format_version":2,"header":{"description":"pack.description","name":"pack.name","uuid":"$UUID","min_engine_version":[1,16,0],"version":[1,0,0]},"modules":[{"type":"data","uuid":"$UUID","version":[1,0,0]}]}}],"allOf":[{"if":{"properties":{"format_version":{"const":1,"type":"number","title":"Format Version"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"const":2,"type":"number","title":"Format Version"}}},"then":{"$ref":"#/definitions/D"}}],"definitions":{"A_uuidv4":{"$ref":"#/definitions/B"},"A_version":{"$ref":"#/definitions/C"},"B":{"description":"A valid uuid v4","format":"uuid","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","title":"A UUID V4","type":"string","defaultSnippets":[{"label":"new UUID v4","body":"$UUID"}]},"C":{"type":"array","title":"Version Numbering","description":"A version made of 3 numbers","examples":[[1,0,0]],"items":[{"type":"number","minimum":1,"title":""},{"type":"number","minimum":0,"title":"Major"},{"type":"number","minimum":0,"title":"Minor"}]},"A":{"type":"object","title":"Manifest V1 Schema","description":"The manifest file contains all the basic information about the pack that Minecraft needs to identify it. The tables below contain all the components of the manifest, their individual properties, and what they mean.","additionalProperties":false,"required":["format_version","header"],"properties":{"format_version":{"type":"number","description":"This defines the current version of the manifest. Don't change this unless you have a good reason to","title":"Format Version"},"header":{"required":["name","uuid","version"],"properties":{"name":{"type":"string","default":0,"description":"This is the name of the pack as it appears within Minecraft","title":"Name"},"description":{"type":"string","default":0,"description":"This is a short description of the pack. It will appear in the game below the name of the pack. We recommend keeping it to 1-2 lines.","title":"Description"},"uuid":{"type":"string","$ref":"#/definitions/A_uuidv4","description":"This is a special type of identifier that uniquely identifies this pack from any other pack. UUIDs are written in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx where each x is a hexadecimal value (0-9 or a-f). We recommend using an online service to generate this and guarantee their uniqueness (just bing UUID Generator to find some)","title":"UUID"},"version":{"$ref":"#/definitions/A_version","description":"This is the version of your pack in the format [majorVersion, minorVersion, revision].","title":"Version"},"min_engine_version":{"type":"string","$ref":"#/definitions/A_version","description":"This is the minimum version of the game that this pack was written for. This helps the game identify whether any backwards compatibility is needed for your pack. You should always use the highest version currently available when creating packs","title":"Minimum Engine Version"},"lock_template_options":{"type":"boolean","description":"UNDOCUMENTED: lock template options","title":"Lock Template Options"},"base_game_version":{"$ref":"#/definitions/A_version","description":"UNDOCUMENTED: base game version","title":"Base Game Version"}},"description":"UNDOCUMENTED: header","title":"Header"},"modules":{"type":"array","title":"Modules","items":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED: modules","title":"Modules","required":["type","uuid","version"],"properties":{"type":{"description":"This is the type of the module. Can be any of the following: resources, data, client_data, interface, world_template","type":"string","enum":["resources","data","client_data","interface","world_template","skin_pack"],"title":"Type"},"description":{"type":"string","description":"This is a short description of the module. This is not user-facing at the moment but is a good place to remind yourself why the module is defined","title":"Description"},"uuid":{"$ref":"#/definitions/A_uuidv4","description":"This is a unique identifier for the module in the same format as the pack's UUID in the header. This should be different from the pack's UUID, and different for every module","title":"UUID"},"version":{"$ref":"#/definitions/A_version","description":"This is the version of the module in the same format as the pack's version in the header. This can be used to further identify changes in your pack","title":"Version"}}},"description":"UNDOCUMENTED: modules"},"dependencies":{"type":"array","description":"These are the different features that the pack makes use of that aren't necessarily enabled by default.","items":{"additionalProperties":false,"type":"object","properties":{"uuid":{"type":"string","$ref":"#/definitions/A_uuidv4","description":"This is the unique identifier of the pack that this pack depends on. It needs to be the exact same UUID that the pack has defined in the header section of it's manifest file","title":"UUID"},"version":{"$ref":"#/definitions/A_version","description":"This is the specific version of the pack that your pack depends on. Should match the version the other pack has in its manifest file","title":"Version"}},"description":"UNDOCUMENTED: dependencies","title":"Dependencies"},"title":"Dependencies"},"capabilities":{"type":"object","title":"Capabilities","description":"These are the different features that the pack makes use of that aren't necessarily enabled by default.","properties":{"experimental_custom_ui":{"type":"boolean","description":"Allows HTML files in the pack to be used for custom UI, and scripts in the pack to call and manipulate custom UI","title":"Experimental Custom Ui"},"chemistry":{"type":"boolean","description":"Allows the pack to add, change or replace Chemistry functionality","title":"Chemistry"}}},"metadata":{"authors":{"title":"Authors","description":"Name of the author(s) of the pack","type":"array","items":{"type":"string","title":"Name","description":"Name of the author of the pack"}},"license":{"type":"string","description":"The license of the pack","title":"License"},"url":{"type":"string","description":"The home website of your pack","title":"Url"},"description":"UNDOCUMENTED: metadata","title":"Metadata"}}},"D_uuidv4":{"type":"string","title":"An UUID V4","description":"A valid uuid v4","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","format":"uuid"},"D_version":{"$ref":"#/definitions/C"},"D":{"type":"object","title":"Manifest V2 Schema","description":"The manifest file contains all the basic information about the pack that Minecraft needs to identify it. The tables below contain all the components of the manifest, their individual properties, and what they mean.","required":["format_version","header"],"additionalProperties":false,"properties":{"format_version":{"title":"Format Version","type":"number","description":"This defines the current version of the manifest. Don't change this unless you have a good reason to"},"capabilities":{"type":"object","title":"Capabilities","description":"These are the different features that the pack makes use of that aren't necessarily enabled by default.","properties":{"experimental_custom_ui":{"type":"boolean","description":"Allows HTML files in the pack to be used for custom UI, and scripts in the pack to call and manipulate custom UI","title":"Experimental Custom Ui"},"chemistry":{"type":"boolean","description":"Allows the pack to add, change or replace Chemistry functionality","title":"Chemistry"},"raytraced":{"type":"boolean","description":"Indicates that this pack contains Raytracing Enhanced or Physical Based Materials for rendering","title":"Raytraced"}}},"dependencies":{"type":"array","title":"Dependencies","description":"Section containing definitions for any other packs that are required in order for this manifest.json file to work.","items":{"additionalProperties":false,"type":"object","title":"Dependency","description":"Section containing definitions for any other packs that are required in order for this manifest.json file to work.","properties":{"uuid":{"type":"string","$ref":"#/definitions/D_uuidv4","description":"This is the unique identifier of the pack that this pack depends on. It needs to be the exact same UUID that the pack has defined in the header section of it's manifest file","title":"Uuid"},"version":{"$ref":"#/definitions/D_version","description":"This is the specific version of the pack that your pack depends on. Should match the version the other pack has in its manifest file","title":"Version"}}}},"header":{"description":"Section containing information regarding the name of the pack, description, and other features that are public facing.","title":"Header","required":["description","name","uuid","version"],"properties":{"base_game_version":{"$ref":"#/definitions/D_version","title":"Base Game Version","description":"This is the version of the base game your world template requires, specified as [majorVersion, minorVersion, revision]. We use this to determine what version of the base game resource and behavior packs to apply when your content is used."},"description":{"title":"Description","type":"string","default":0,"description":"This is a short description of the pack. It will appear in the game below the name of the pack. We recommend keeping it to 1-2 lines."},"lock_template_options":{"title":"Lock Template Options","type":"boolean","description":"This option is required for any world templates. This will lock the player from modifying the options of the world."},"min_engine_version":{"title":"Minimum Engine Version","$ref":"#/definitions/D_version","description":"This is the minimum version of the game that this pack was written for. This is a required field for resource and behavior packs. This helps the game identify whether any backwards compatibility is needed for your pack. You should always use the highest version currently available when creating packs"},"name":{"title":"Name","type":"string","description":"This is the name of the pack as it appears within Minecraft. This is a required field."},"uuid":{"title":"UUID","$ref":"#/definitions/D_uuidv4","description":"This is a special type of identifier that uniquely identifies this pack from any other pack. UUIDs are written in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx where each x is a hexadecimal value (0-9 or a-f). We recommend using an online service to generate this and guarantee their uniqueness (just bing UUID Generator to find some)"},"version":{"title":"Version","$ref":"#/definitions/D_version","description":"This is the version of your pack in the format [majorVersion, minorVersion, revision]."}}},"modules":{"type":"array","title":"Modules","description":"Section containing information regarding the type of content that is being brought in.","items":{"type":"object","additionalProperties":false,"description":"Section containing information regarding the type of content that is being brought in.","title":"Module","required":["type","uuid","version"],"properties":{"description":{"type":"string","description":"This is a short description of the module. This is not user-facing at the moment but is a good place to remind yourself why the module is defined","title":"Description"},"type":{"type":"string","enum":["resources","data","client_data","interface","world_template","javascript"],"description":"This is the type of the module.","title":"Type"},"uuid":{"$ref":"#/definitions/D_uuidv4","description":"This is a unique identifier for the module in the same format as the pack's UUID in the header. This should be different from the pack's UUID, and different for every module","title":"Uuid"},"version":{"$ref":"#/definitions/D_version","description":"This is the version of your pack in the format [majorVersion, minorVersion, revision]. The version number is used when importing a pack that has been imported before. The new pack will replace the old one if the version is higher, and ignored if it's the same or lower","title":"Version"},"entry":{"type":"string","title":"Entry","description":"The javascript entry point for tests, only works if types has been set to `javascript`"}}}},"metadata":{"additionalProperties":false,"type":"object","description":"Section containing the metadata about the file such as authors and licensing information.","title":"Metadata","properties":{"authors":{"title":"Authors","description":"Name of the author(s) of the pack","type":"array","items":{"type":"string","title":"Name","description":"Name of the author of the pack"}},"license":{"type":"string","title":"License","description":"The license of the pack"},"url":{"type":"string","format":"uri","title":"Url","description":"The home website of your pack"},"generated_with":{"title":"Generated With","description":"A list of tools and their version that have modified this pack","type":"object","propertyNames":{"pattern":"^[a-zA-Z0-9\\_\\-]+$","maxLength":32,"maximum":32},"additionalProperties":{"type":"array","examples":[["1.0.0"]],"title":"Tool","description":"The tool and the version used to modified this pack","items":{"type":"string","title":"Version","examples":["1.0.0"],"pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}}}},"subpacks":{"type":"array","title":"Subpacks","description":"A list of subpacks that are applied per memory tier","items":{"type":"object","additionalProperties":false,"description":"A single definition of a subpack","title":"Subpacks","required":["folder_name","name","memory_tier"],"example":[{"folder_name":"tier1","name":"low","memory_tier":1}],"properties":{"folder_name":{"type":"string","description":"This represents the folder name located in \"subpacks\" folder. When user select this resolution Minecraft loads the content inside the folder.","title":"Folder Name"},"name":{"type":"string","description":"This is the name of the pack resolution. This lets user know what resolution they are choosing.","title":"Name"},"memory_tier":{"type":"number","title":"Memory Tier","description":"This creates a requirement on the capacity of memory needed to select the resolution. Each tier increases memory requirement by 256 MB."}}}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.manifest","type":"object","title":"Manifest Schema","description":"The minecraft manifest schema","required":["format_version","header"],"examples":[{"format_version":2,"header":{"description":"pack.description","name":"pack.name","uuid":"UUID2","min_engine_version":[1,16,0],"version":[1,0,0]},"modules":[{"type":"data","uuid":"UUID2","version":[1,0,0]}]}],"defaultSnippets":[{"label":"New Manifest","body":{"format_version":2,"header":{"description":"pack.description","name":"pack.name","uuid":"$UUID","min_engine_version":[1,16,0],"version":[1,0,0]},"modules":[{"type":"data","uuid":"$UUID","version":[1,0,0]}]}}],"allOf":[{"if":{"properties":{"format_version":{"const":1,"type":"number","title":"Format Version"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"const":2,"type":"number","title":"Format Version"}}},"then":{"$ref":"#/definitions/D"}}],"definitions":{"A_uuidv4":{"$ref":"#/definitions/B"},"A_version":{"$ref":"#/definitions/C"},"B":{"description":"A valid uuid v4","format":"uuid","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","title":"A UUID V4","type":"string","defaultSnippets":[{"label":"new UUID v4","body":"$UUID"}]},"C":{"type":"array","title":"Version Numbering","description":"A version made of 3 numbers","examples":[[1,0,0]],"items":[{"type":"number","minimum":1,"title":""},{"type":"number","minimum":0,"title":"Major"},{"type":"number","minimum":0,"title":"Minor"}]},"A":{"type":"object","title":"Manifest V1 Schema","description":"The manifest file contains all the basic information about the pack that Minecraft needs to identify it. The tables below contain all the components of the manifest, their individual properties, and what they mean.","additionalProperties":false,"required":["format_version","header"],"properties":{"format_version":{"type":"number","description":"This defines the current version of the manifest. Don't change this unless you have a good reason to","title":"Format Version"},"header":{"required":["name","uuid","version"],"properties":{"name":{"type":"string","default":0,"description":"This is the name of the pack as it appears within Minecraft","title":"Name"},"description":{"type":"string","default":0,"description":"This is a short description of the pack. It will appear in the game below the name of the pack. We recommend keeping it to 1-2 lines.","title":"Description"},"uuid":{"type":"string","$ref":"#/definitions/A_uuidv4","description":"This is a special type of identifier that uniquely identifies this pack from any other pack. UUIDs are written in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx where each x is a hexadecimal value (0-9 or a-f). We recommend using an online service to generate this and guarantee their uniqueness (just bing UUID Generator to find some)","title":"UUID"},"version":{"$ref":"#/definitions/A_version","description":"This is the version of your pack in the format [majorVersion, minorVersion, revision].","title":"Version"},"min_engine_version":{"type":"string","$ref":"#/definitions/A_version","description":"This is the minimum version of the game that this pack was written for. This helps the game identify whether any backwards compatibility is needed for your pack. You should always use the highest version currently available when creating packs","title":"Minimum Engine Version"},"lock_template_options":{"type":"boolean","description":"UNDOCUMENTED: lock template options","title":"Lock Template Options"},"base_game_version":{"$ref":"#/definitions/A_version","description":"UNDOCUMENTED: base game version","title":"Base Game Version"}},"description":"UNDOCUMENTED: header","title":"Header"},"modules":{"type":"array","title":"Modules","items":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED: modules","title":"Modules","required":["type","uuid","version"],"properties":{"type":{"description":"This is the type of the module. Can be any of the following: resources, data, client_data, interface, world_template","type":"string","enum":["resources","data","client_data","interface","world_template","skin_pack"],"title":"Type"},"description":{"type":"string","description":"This is a short description of the module. This is not user-facing at the moment but is a good place to remind yourself why the module is defined","title":"Description","default":""},"uuid":{"$ref":"#/definitions/A_uuidv4","description":"This is a unique identifier for the module in the same format as the pack's UUID in the header. This should be different from the pack's UUID, and different for every module","title":"UUID"},"version":{"$ref":"#/definitions/A_version","description":"This is the version of the module in the same format as the pack's version in the header. This can be used to further identify changes in your pack","title":"Version"}}},"description":"UNDOCUMENTED: modules"},"dependencies":{"type":"array","description":"These are the different features that the pack makes use of that aren't necessarily enabled by default.","items":{"additionalProperties":false,"type":"object","properties":{"uuid":{"type":"string","$ref":"#/definitions/A_uuidv4","description":"This is the unique identifier of the pack that this pack depends on. It needs to be the exact same UUID that the pack has defined in the header section of it's manifest file","title":"UUID"},"version":{"$ref":"#/definitions/A_version","description":"This is the specific version of the pack that your pack depends on. Should match the version the other pack has in its manifest file","title":"Version"}},"description":"UNDOCUMENTED: dependencies","title":"Dependencies"},"title":"Dependencies"},"capabilities":{"type":"object","title":"Capabilities","description":"These are the different features that the pack makes use of that aren't necessarily enabled by default.","properties":{"experimental_custom_ui":{"type":"boolean","description":"Allows HTML files in the pack to be used for custom UI, and scripts in the pack to call and manipulate custom UI","title":"Experimental Custom Ui"},"chemistry":{"type":"boolean","description":"Allows the pack to add, change or replace Chemistry functionality","title":"Chemistry"}}},"metadata":{"authors":{"title":"Authors","description":"Name of the author(s) of the pack","type":"array","items":{"type":"string","title":"Name","description":"Name of the author of the pack"}},"license":{"type":"string","description":"The license of the pack","title":"License"},"url":{"type":"string","description":"The home website of your pack","title":"Url"},"description":"UNDOCUMENTED: metadata","title":"Metadata"}}},"D_uuidv4":{"type":"string","title":"An UUID V4","description":"A valid uuid v4","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","format":"uuid"},"D_version":{"$ref":"#/definitions/C"},"D":{"type":"object","title":"Manifest V2 Schema","description":"The manifest file contains all the basic information about the pack that Minecraft needs to identify it. The tables below contain all the components of the manifest, their individual properties, and what they mean.","required":["format_version","header"],"additionalProperties":false,"properties":{"format_version":{"title":"Format Version","type":"number","description":"This defines the current version of the manifest. Don't change this unless you have a good reason to"},"capabilities":{"type":"object","title":"Capabilities","description":"These are the different features that the pack makes use of that aren't necessarily enabled by default.","properties":{"experimental_custom_ui":{"type":"boolean","description":"Allows HTML files in the pack to be used for custom UI, and scripts in the pack to call and manipulate custom UI","title":"Experimental Custom Ui"},"chemistry":{"type":"boolean","description":"Allows the pack to add, change or replace Chemistry functionality","title":"Chemistry"},"raytraced":{"type":"boolean","description":"Indicates that this pack contains Raytracing Enhanced or Physical Based Materials for rendering","title":"Raytraced"}}},"dependencies":{"type":"array","title":"Dependencies","description":"Section containing definitions for any other packs that are required in order for this manifest.json file to work.","items":{"additionalProperties":false,"type":"object","title":"Dependency","description":"Section containing definitions for any other packs that are required in order for this manifest.json file to work.","properties":{"uuid":{"type":"string","$ref":"#/definitions/D_uuidv4","description":"This is the unique identifier of the pack that this pack depends on. It needs to be the exact same UUID that the pack has defined in the header section of it's manifest file","title":"Uuid"},"version":{"$ref":"#/definitions/D_version","description":"This is the specific version of the pack that your pack depends on. Should match the version the other pack has in its manifest file","title":"Version"}}}},"header":{"description":"Section containing information regarding the name of the pack, description, and other features that are public facing.","title":"Header","required":["description","name","uuid","version"],"properties":{"base_game_version":{"$ref":"#/definitions/D_version","title":"Base Game Version","description":"This is the version of the base game your world template requires, specified as [majorVersion, minorVersion, revision]. We use this to determine what version of the base game resource and behavior packs to apply when your content is used."},"description":{"title":"Description","type":"string","default":"","description":"This is a short description of the pack. It will appear in the game below the name of the pack. We recommend keeping it to 1-2 lines."},"lock_template_options":{"title":"Lock Template Options","type":"boolean","description":"This option is required for any world templates. This will lock the player from modifying the options of the world."},"min_engine_version":{"title":"Minimum Engine Version","$ref":"#/definitions/D_version","description":"This is the minimum version of the game that this pack was written for. This is a required field for resource and behavior packs. This helps the game identify whether any backwards compatibility is needed for your pack. You should always use the highest version currently available when creating packs"},"name":{"title":"Name","type":"string","description":"This is the name of the pack as it appears within Minecraft. This is a required field."},"uuid":{"title":"UUID","$ref":"#/definitions/D_uuidv4","description":"This is a special type of identifier that uniquely identifies this pack from any other pack. UUIDs are written in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx where each x is a hexadecimal value (0-9 or a-f). We recommend using an online service to generate this and guarantee their uniqueness (just bing UUID Generator to find some)"},"version":{"title":"Version","$ref":"#/definitions/D_version","description":"This is the version of your pack in the format [majorVersion, minorVersion, revision]."}}},"modules":{"type":"array","title":"Modules","description":"Section containing information regarding the type of content that is being brought in.","items":{"type":"object","additionalProperties":false,"description":"Section containing information regarding the type of content that is being brought in.","title":"Module","required":["type","uuid","version"],"properties":{"description":{"type":"string","description":"This is a short description of the module. This is not user-facing at the moment but is a good place to remind yourself why the module is defined","title":"Description"},"type":{"type":"string","enum":["resources","data","client_data","interface","world_template","javascript"],"description":"This is the type of the module.","title":"Type"},"uuid":{"$ref":"#/definitions/D_uuidv4","description":"This is a unique identifier for the module in the same format as the pack's UUID in the header. This should be different from the pack's UUID, and different for every module","title":"Uuid"},"version":{"$ref":"#/definitions/D_version","description":"This is the version of your pack in the format [majorVersion, minorVersion, revision]. The version number is used when importing a pack that has been imported before. The new pack will replace the old one if the version is higher, and ignored if it's the same or lower","title":"Version"},"entry":{"type":"string","title":"Entry","description":"The javascript entry point for tests, only works if types has been set to `javascript`"}}}},"metadata":{"additionalProperties":false,"type":"object","description":"Section containing the metadata about the file such as authors and licensing information.","title":"Metadata","properties":{"authors":{"title":"Authors","description":"Name of the author(s) of the pack","type":"array","items":{"type":"string","title":"Name","description":"Name of the author of the pack"}},"license":{"type":"string","title":"License","description":"The license of the pack"},"url":{"type":"string","format":"uri","title":"Url","description":"The home website of your pack"},"generated_with":{"title":"Generated With","description":"A list of tools and their version that have modified this pack","type":"object","propertyNames":{"pattern":"^[a-zA-Z0-9\\_\\-]+$","maxLength":32,"maximum":32},"additionalProperties":{"type":"array","examples":[["1.0.0"]],"title":"Tool","description":"The tool and the version used to modified this pack","items":{"type":"string","title":"Version","examples":["1.0.0"],"pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}}}},"subpacks":{"type":"array","title":"Subpacks","description":"A list of subpacks that are applied per memory tier","items":{"type":"object","additionalProperties":false,"description":"A single definition of a subpack","title":"Subpacks","required":["folder_name","name","memory_tier"],"example":[{"folder_name":"tier1","name":"low","memory_tier":1}],"properties":{"folder_name":{"type":"string","description":"This represents the folder name located in \"subpacks\" folder. When user select this resolution Minecraft loads the content inside the folder.","title":"Folder Name"},"name":{"type":"string","description":"This is the name of the pack resolution. This lets user know what resolution they are choosing.","title":"Name"},"memory_tier":{"type":"number","title":"Memory Tier","description":"This creates a requirement on the capacity of memory needed to select the resolution. Each tier increases memory requirement by 256 MB."}}}}}}}} \ No newline at end of file diff --git a/resource/blocks.json b/resource/blocks.json index 683aba6d..a7447935 100644 --- a/resource/blocks.json +++ b/resource/blocks.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.block.json","type":"object","title":"Blocks","description":"The minecraft block definition file","definitions":{"texture":{"oneOf":[{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"down":{"type":"string","pattern":"^[\\w_\\-]+$"},"up":{"type":"string","pattern":"^[\\w_\\-]+$"},"side":{"type":"string","pattern":"^[\\w_\\-]+$"},"south":{"type":"string","pattern":"^[\\w_\\-]+$"},"north":{"type":"string","pattern":"^[\\w_\\-]+$"},"west":{"type":"string","pattern":"^[\\w_\\-]+$"},"east":{"type":"string","pattern":"^[\\w_\\-]+$"}}}]}},"propertyNames":{"pattern":"^[\\w_\\-:\\.]+$"},"properties":{"format_version":{"type":"array","items":[{"type":"integer"},{"type":"integer"},{"type":"integer"}],"description":"A version that tells minecraft what type of data format can be expected when reading this file.","title":"Format Version"}},"additionalProperties":{"additionalProperties":false,"title":"Block","description":"Block texture definition","type":"object","properties":{"brightness_gamma":{"type":"number","title":"Brightness Gamma","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"carried_textures":{"$ref":"#/definitions/texture","title":"Carried Textures","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"isotropic":{"title":"Isotropic","description":"Marks if this block is isotropic or not, or which side are","oneOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"down":{"type":"boolean"},"up":{"type":"boolean"},"side":{"type":"boolean"},"south":{"type":"boolean"},"north":{"type":"boolean"},"west":{"type":"boolean"},"east":{"type":"boolean"}}}]},"sound":{"type":"string","title":"Sound","description":"The sound definition of this block"},"textures":{"$ref":"#/definitions/texture","title":"Sound","description":"Textures"}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.block.json","type":"object","title":"Blocks","description":"The minecraft block definition file","definitions":{"texture":{"oneOf":[{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"down":{"type":"string","pattern":"^[\\w_\\-]+$"},"up":{"type":"string","pattern":"^[\\w_\\-]+$"},"side":{"type":"string","pattern":"^[\\w_\\-]+$"},"south":{"type":"string","pattern":"^[\\w_\\-]+$"},"north":{"type":"string","pattern":"^[\\w_\\-]+$"},"west":{"type":"string","pattern":"^[\\w_\\-]+$"},"east":{"type":"string","pattern":"^[\\w_\\-]+$"}}}]},"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","examples":["1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${2|0|}"}]}},"propertyNames":{"pattern":"^[\\w_\\-:\\.]+$"},"properties":{"format_version":{"$ref":"#/definitions/A"}},"additionalProperties":{"additionalProperties":false,"title":"Block","description":"Block texture definition","type":"object","properties":{"brightness_gamma":{"type":"number","title":"Brightness Gamma","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"carried_textures":{"$ref":"#/definitions/texture","title":"Carried Textures","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"isotropic":{"title":"Isotropic","description":"Marks if this block is isotropic or not, or which side are","oneOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"down":{"type":"boolean"},"up":{"type":"boolean"},"side":{"type":"boolean"},"south":{"type":"boolean"},"north":{"type":"boolean"},"west":{"type":"boolean"},"east":{"type":"boolean"}}}]},"sound":{"type":"string","title":"Sound","description":"The sound definition of this block"},"textures":{"$ref":"#/definitions/texture","title":"Sound","description":"Textures"}}}} \ No newline at end of file diff --git a/resource/particles/particles.json b/resource/particles/particles.json index bfeb6ccf..e724d851 100644 --- a/resource/particles/particles.json +++ b/resource/particles/particles.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.particle","examples":[{"format_version":"1.17.0","particle_effect":{"description":{"identifier":"example:particle","basic_render_parameters":{"material":"particles_alpha","texture":"textures/particle/particle"}},"curves":{},"components":{}}}],"type":"object","additionalProperties":false,"description":"A particle definition file","title":"Particle","properties":{"format_version":{"$ref":"#/definitions/A"},"particle_effect":{"type":"object","additionalProperties":false,"description":"UNDOCUMENTED: particle effect","title":"Particle Effect","properties":{"description":{"additionalProperties":false,"type":"object","required":["identifier","basic_render_parameters"],"properties":{"identifier":{"type":"string","description":"UNDOCUMENTED: identifier","title":"Identifier","$ref":"#/definitions/B"},"basic_render_parameters":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED: basic render parameters","title":"Basic Render Parameters","properties":{"material":{"type":"string","examples":["particles_alpha","particles_blend"],"description":" Minecraft material to use for emitter","title":"Material"},"texture":{"type":"string","pattern":"^.+$","description":"Minecraft texture to use for emitter","title":"Texture"}}}},"description":"UNDOCUMENTED: description","title":"Description"},"curves":{"title":"Curves","description":"Curves are interpolation values, with inputs from 0 to 1, and outputs based on the curve. The result of the curve is a Molang variable of the same name that can be referenced in Molang in components. For each rendering frame for each particle, the curves are evaluated and the result is placed in a Molang variable of the name of the curve.","type":"object","propertyNames":{"pattern":"^(v|variable)\\.[a-zA-z0-9]+$"},"additionalProperties":{"type":"object","additionalProperties":false,"title":"Curve","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"input":{"$ref":"#/definitions/C","title":"Input","description":"What is the input value to use"},"nodes":{"description":"Control nodes for curve. These are assumed to be equally, used Object for bezier_chain","title":"Nodes","oneOf":[{"minItems":1,"type":"array","items":{"$ref":"#/definitions/C"}},{"type":"object","propertyNames":{"pattern":"(^[\\-0-9]+$|^[\\-0-9]+\\.[\\-0-9]+$)"},"additionalProperties":{"type":"object","properties":{}}}]},"type":{"type":"string","title":"Type","description":"The type of curve","enum":["linear","bezier","bezier_chain","catmull_rom"]},"horizontal_range":{"title":"Horizontal Range","description":"What is the range the input is mapped onto","$ref":"#/definitions/C"}}}},"components":{"additionalProperties":false,"type":"object","description":"The particle components.","title":"Components","properties":{"minecraft:emitter_initialization":{"$ref":"#/definitions/D"},"minecraft:emitter_lifetime_events":{"$ref":"#/definitions/F"},"minecraft:emitter_lifetime_expression":{"$ref":"#/definitions/G"},"minecraft:emitter_lifetime_once":{"$ref":"#/definitions/H"},"minecraft:emitter_lifetime_looping":{"$ref":"#/definitions/I"},"minecraft:emitter_local_space":{"$ref":"#/definitions/J"},"minecraft:emitter_rate_instant":{"$ref":"#/definitions/BA"},"minecraft:emitter_rate_manual":{"$ref":"#/definitions/BB"},"minecraft:emitter_rate_steady":{"$ref":"#/definitions/BC"},"minecraft:emitter_shape_box":{"$ref":"#/definitions/BD"},"minecraft:emitter_shape_custom":{"$ref":"#/definitions/BE"},"minecraft:emitter_shape_disc":{"$ref":"#/definitions/BF"},"minecraft:emitter_shape_entity_aabb":{"$ref":"#/definitions/BG"},"minecraft:emitter_shape_point":{"$ref":"#/definitions/BH"},"minecraft:emitter_shape_sphere":{"$ref":"#/definitions/BI"},"minecraft:particle_appearance_billboard":{"$ref":"#/definitions/BJ"},"minecraft:particle_appearance_tinting":{"$ref":"#/definitions/CA"},"minecraft:particle_appearance_lighting":{"$ref":"#/definitions/CB"},"minecraft:particle_expire_if_not_in_blocks":{"$ref":"#/definitions/CC"},"minecraft:particle_initialization":{"$ref":"#/definitions/CE"},"minecraft:particle_initial_speed":{"$ref":"#/definitions/CF"},"minecraft:particle_initial_spin":{"$ref":"#/definitions/CG"},"minecraft:particle_lifetime_expression":{"$ref":"#/definitions/CH"},"minecraft:particle_lifetime_events":{"$ref":"#/definitions/CI"},"minecraft:particle_kill_plane":{"$ref":"#/definitions/CJ"},"minecraft:particle_motion_collision":{"$ref":"#/definitions/DA"},"minecraft:particle_motion_dynamic":{"$ref":"#/definitions/DB"},"minecraft:particle_motion_parametric":{"$ref":"#/definitions/DC"}}},"events":{"type":"object","description":"UNDOCUMENTED: events","title":"Events","additionalProperties":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Event","type":"object","additionalProperties":false,"properties":{"particle_effect":{"title":"Particle Effect","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"effect":{"type":"string","description":"UNDOCUMENTED: effect","title":"Effect"},"type":{"type":"string","description":"UNDOCUMENTED: type","title":"Type"}}},"sound_effect":{"title":"Sound Effect","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"event_name":{"type":"string","description":"UNDOCUMENTED: effect","title":"Event Name"}}}}}}}}},"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]},"B":{"description":"The minecraft particle identifier","examples":["namespace:particle_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Particle Identifier","type":"string"},"C":{"title":"Molang Number","description":"The minecraft molang definition that results in a float","anyOf":[{"type":"string","minLength":0},{"type":"number"}],"examples":[0,"query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"E":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"D":{"description":"This component allows the emitter to run some Molang at creation, primarily to populate any Molang variables that get used later.","type":"object","title":"Emitter Initialization Component For 1.10.0","additionalProperties":false,"properties":{"creation_expression":{"$ref":"#/definitions/E","description":"This is run once at emitter startup.","title":"Creation Expression"},"per_update_expression":{"$ref":"#/definitions/E","description":"This is run once per emitter update.","title":"Per Update Expression"}}},"F":{"type":"object","title":"Emitter Lifetime Events Component For 1.10.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"creation_event":{"title":"Creation Event","description":"Fires when the emitter is created","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"expiration_event":{"title":"Expiration Event","description":"Fires when the emitter expires (does not wait for particles to expire too)","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"timeline":{"title":"Timeline","type":"object","description":"A series of times, e.g. 0.0 or 1.0, that trigger the event, these get fired on every loop the emitter goes through, `time` is the time, e.g. one line might be: `0.4`: `event`","propertyNames":{"pattern":"^[\\d\\.]+$"},"additionalProperties":{"title":"Timeline Object","description":"A single point in time that executes commands/molang/events","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]}},"travel_distance_events":{"title":"Travel Distance Events","description":"A series of distances, e.g. 0.0 or 1.0, that trigger the event these get fired when the emitter has moved by the specified input distance, e.g. one line might be: `0.4`: `event`","propertyNames":{"pattern":"^[\\d\\.]+$"}},"looping_travel_distance_events":{"title":"Looping Travel Distance Events","description":"A series of events that occur at set intervals these get fired every time the emitter has moved the specified input distance from the last time it was fired.","type":"array","items":{"type":"object","title":"Distance Event","additionalProperties":false,"properties":{"distance":{"title":"Distance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"effects":{"title":"Effects","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]}}}}}},"G":{"type":"object","title":"Emitter Rate Manual Component 1.10.0","description":"UNDOCUMENTED","additionalProperties":false,"properties":{"activation_expression":{"$ref":"#/definitions/C","description":"When the expression is non-zero, the emitter will emit particles. Evaluated every frame","title":"Activation Expression"},"expiration_expression":{"$ref":"#/definitions/C","description":"Emitter will expire if the expression is non-zero. Evaluated every frame","title":"Expiration Expression"}}},"H":{"type":"object","title":"Emitter Lifetime Once Component For 1.10.0","additionalProperties":false,"properties":{"active_time":{"$ref":"#/definitions/C","description":"How long the particles emit for evaluated once","title":"Active Time"}},"description":"UNDOCUMENTED"},"I":{"type":"object","title":"Emitter Lifetime Looping Component For 1.10.0","additionalProperties":false,"properties":{"active_time":{"$ref":"#/definitions/C","description":"Emitter will emit particles for this time per loop evaluated once per particle emitter loop","title":"Active Time"},"sleep_time":{"$ref":"#/definitions/C","description":"Emitter will pause emitting particles for this time per loop evaluated once per particle emitter loop","title":"Sleep Time"}},"description":"UNDOCUMENTED"},"J":{"type":"object","title":"Emitter Local Space Component For 1.10.0","description":"UNDOCUMENTED:","additionalProperties":false,"properties":{"position":{"type":"boolean","description":"UNDOCUMENTED: position","title":"Position"},"rotation":{"type":"boolean","description":"UNDOCUMENTED: rotation","title":"Rotation"},"velocity":{"type":"boolean","description":"UNDOCUMENTED: rotation","title":"Rotation"}}},"BA":{"type":"object","title":"Emitter Rate Instant Component For 1.10.0","additionalProperties":false,"properties":{"num_particles":{"$ref":"#/definitions/C","description":"This many particles are emitted at once evaluated once per particle emitter loop.","title":"Num Particles","default":10}},"description":"UNDOCUMENTED"},"BB":{"type":"object","title":"Emitter Rate Manual Component For 1.10.0","additionalProperties":false,"properties":{"max_particles":{"$ref":"#/definitions/C","description":"Evaluated once per particle emitted","title":"Maximum Particles"}},"description":"UNDOCUMENTED"},"BC":{"type":"object","title":"Emitter Rate Steady Component For 1.10.0","additionalProperties":false,"properties":{"max_particles":{"$ref":"#/definitions/C","description":"Maximum number of particles that can be active at once for this emitter, evaluated once per particle emitter loop","title":"Maximum Particles"},"spawn_rate":{"$ref":"#/definitions/C","description":"How often a particle is emitted, in particles/sec evaluated once per particle emitted","title":"Spawn Rate"}},"description":"UNDOCUMENTED"},"BD":{"type":"object","title":"Emitter Shape Box Component For 1.10.0","additionalProperties":false,"properties":{"direction":{"anyOf":[{"type":"string","enum":["inwards","outwards"]},{"type":"array","items":[{"$ref":"#/definitions/C","title":"X"},{"$ref":"#/definitions/C","title":"Y"},{"$ref":"#/definitions/C","title":"Z"}]}],"description":"UNDOCUMENTED: direction","title":"Direction"},"radius":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: radius","title":"Radius"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"},"half_dimensions":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: half dimensions","title":"Half Dimensions"},"surface_only":{"type":"boolean","description":"UNDOCUMENTED: surface only","title":"Surface Only"}},"description":"UNDOCUMENTED"},"BE":{"type":"object","title":"Emitter Shape Custom Component For 1.10.0","additionalProperties":false,"properties":{"direction":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"}},"description":"UNDOCUMENTED"},"BF":{"type":"object","title":"Emitter Shape Disc Component For 1.10.0","additionalProperties":false,"properties":{"direction":{"anyOf":[{"type":"string","enum":["inwards","outwards"]},{"type":"array","items":[{"$ref":"#/definitions/C","title":"X"},{"$ref":"#/definitions/C","title":"Y"},{"$ref":"#/definitions/C","title":"Z"}]}],"description":"UNDOCUMENTED: direction","title":"Direction"},"radius":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: radius","title":"Radius"},"offset":{"type":"array","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}]},"plane_normal":{"title":"Plane Normal","description":"Specifies the normal of the disc plane, the disc will be perpendicular to this direction","default":[0,1,0],"oneOf":[{"type":"string","enum":["x","y","z"]},{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}]}]},"surface_only":{"type":"boolean","description":"UNDOCUMENTED: surface only","title":"Surface Only"}},"description":"UNDOCUMENTED"},"BG":{"type":"object","title":"Emitter Shape Entity Aabb Component For 1.10.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"direction":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"}}},"BH":{"type":"object","title":"Emitter Shape Point Component For 1.10.0","description":"UNDOCUMENTED","additionalProperties":false,"properties":{"direction":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"}}},"BI":{"type":"object","title":"Emitter Shape Sphere Component For 1.10.0","description":"UNDOCUMENTED","additionalProperties":false,"properties":{"direction":{"anyOf":[{"type":"string","enum":["inwards","outwards"]},{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}]}],"description":"UNDOCUMENTED: direction","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"},"radius":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: radius","title":"Radius"},"surface_only":{"type":"boolean","description":"UNDOCUMENTED: surface only","title":"Surface Only"}}},"BJ":{"type":"object","title":"Particle Appearance Billboard Component For 1.10.0","additionalProperties":false,"properties":{"size":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: size","title":"Size"},"description":"UNDOCUMENTED: size","title":"Size"},"facing_camera_mode":{"description":"Used to orient the billboard.","type":"string","enum":["lookat_xyz","lookat_y","rotate_xyz","rotate_y","direction_x","direction_y","direction_z"],"title":"Facing Camera Mode"},"uv":{"additionalProperties":false,"type":"object","properties":{"texture_width":{"type":"integer","description":"UNDOCUMENTED: texture width","title":"Texture Width"},"texture_height":{"type":"integer","description":"UNDOCUMENTED: texture height","title":"Texture Height"},"flipbook":{"additionalProperties":false,"type":"object","required":["max_frame"],"properties":{"base_UV":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: base UV","title":"Base U V"},"description":"UNDOCUMENTED: base UV","title":"Base U V"},"size_UV":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: size UV","title":"Size U V"},"description":"UNDOCUMENTED: size UV","title":"Size U V"},"step_UV":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: step UV","title":"Step U V"},"description":"UNDOCUMENTED: step UV","title":"Step U V"},"frames_per_second":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: frames per second","title":"Frames Per Second"},"max_frame":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: Maximum frame","title":"Maximum Frame"},"stretch_to_lifetime":{"type":"boolean","description":"UNDOCUMENTED: stretch to lifetime","title":"Stretch To Lifetime"},"loop":{"type":"boolean","description":"UNDOCUMENTED: loop","title":"Loop"}},"description":"UNDOCUMENTED: flipbook","title":"Flipbook"},"uv":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: uv","title":"Uv"},"description":"UNDOCUMENTED: uv","title":"Uv"},"uv_size":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: uv size","title":"Uv Size"},"description":"UNDOCUMENTED: uv size","title":"Uv Size"}},"description":"UNDOCUMENTED: uv","title":"Uv"}},"description":"UNDOCUMENTED"},"CA":{"description":"Color fields are special, they can be either an RGB, or a `#RRGGBB` field (or RGBA or `AARRGGBB`). If RGB(A), the channels are from 0 to 1. If the string `#AARRGGBB`, then the values are hex from 00 to ff.","type":"object","title":"Particle Appearance Tinting Component For 1.10.0","additionalProperties":false,"properties":{"color":{"title":"Color","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","anyOf":[{"type":"array","description":"Direct color field","items":{"$ref":"#/definitions/C"}},{"type":"string","format":"color-hex","description":"Direct color field"},{"description":"Interpolation based color","type":"object","additionalProperties":false,"properties":{"gradient":{"title":"Gradient","oneOf":[{"description":"An array of colors","type":"array","items":{"type":"string","description":"Color","title":"Color","format":"color-hex","examples":["#FFFFFF"]}},{"description":"An object of colors","type":"object","propertyNames":{"pattern":"(^[\\-0-9]+$|^[\\-0-9]+\\.[\\-0-9]+$)"},"additionalProperties":{"type":"string","description":"Color","format":"color-hex","examples":["#FFFFFF"]}},{"description":"An array of colors","type":"array","items":{"type":"array","minItems":3,"items":{"oneOf":[{"type":"number","description":"Color","title":"Color","minimum":0,"maximum":1},{"type":"string","title":"Molang"}]}}}]},"interpolant":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: interpolant","title":"Interpolant"}}}]}}},"CB":{"type":"object","title":"Particle Appearance Lighting Component For 1.10.0","additionalProperties":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"CD":{"description":"A minecraft block identifier","examples":["namespace:block"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Block Identifier","type":"string"},"CC":{"type":"array","title":"Particle Expire If Not In Blocks Component For 1.10.0","additionalProperties":false,"items":{"$ref":"#/definitions/CD","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Block"},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"CE":{"type":"object","title":"Particle Initialization Component For 1.10.0","additionalProperties":false,"properties":{"per_update_expression":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: per update expression","title":"Per Update Expression"},"per_render_expression":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: per render expression","title":"Per Render Expression"}},"description":"UNDOCUMENTED"},"CF":{"title":"Particle Initial Speed Component For 1.10.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","anyOf":[{"$ref":"#/definitions/C"},{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}]}]},"CG":{"title":"Particle Initial Spin Component For 1.10.0","description":"Starts the particle with a specified orientation and rotation rate.","additionalProperties":false,"type":"object","properties":{"rotation":{"$ref":"#/definitions/C","description":"Specifies the initial rotation in degrees","title":"Rotation"},"rotation_rate":{"$ref":"#/definitions/C","description":"Specifies the spin rate in degrees/second","title":"Rotation Rate"}}},"CH":{"type":"object","description":"UNDOCUMENTED:","title":"Particle Lifetime Expression Component For 1.10.0","additionalProperties":false,"properties":{"expiration_expression":{"title":"Expiration Expression","description":"This expression makes the particle expire when true (non-zero), The float/expr is evaluated once per particle, evaluated every frame","$ref":"#/definitions/C"},"max_lifetime":{"$ref":"#/definitions/C","description":"Alternate way to express lifetime, particle will expire after this much time, evaluated once","title":"Maximum Lifetime"}}},"CI":{"type":"object","title":"Particle Lifetime Events Component For 1.10.0","additionalProperties":false,"properties":{"creation_event":{"title":"Creation Event","description":"Fires when the particle is created","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"custom_events":{"title":"Custom Events","description":"UNDOCUMENTED, unclear structure :("},"expiration_event":{"title":"Expiration Event","description":"Fires when the particle expires (does not wait for particles to expire too)","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"timeline":{"propertyNames":{"pattern":"[0-9]*.[0-9]*"},"description":"UNDOCUMENTED: timeline","title":"Timeline"}},"description":"UNDOCUMENTED"},"CJ":{"type":"array","title":"Particle Kill Plane Component For 1.10.0","description":"A*x + B*y + C*z + D = 0\nwith the parameters being [ A, B, C, D ]","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"A"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"B"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"C"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"D"}]},"DA":{"type":"object","title":"Particle Motion Collision Component For 1.10.0","additionalProperties":false,"properties":{"collision_drag":{"type":"number","description":"UNDOCUMENTED: collision drag","title":"Collision Drag"},"coefficient_of_restitution":{"type":"number","description":"UNDOCUMENTED: coefficient of restitution","title":"Coefficient Of Restitution"},"collision_radius":{"type":"number","description":"UNDOCUMENTED: collision radius","title":"Collision Radius"},"enabled":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: enabled","title":"Enabled"},"expire_on_contact":{"type":"boolean","description":"UNDOCUMENTED: expire on contact","title":"Expire On Contact"},"events":{"type":"array","items":{"properties":{"additionalProperties":false,"event":{"type":"string","description":"UNDOCUMENTED: event","title":"Event"},"min_speed":{"type":"number","description":"UNDOCUMENTED: Minimum speed","title":"Minimum Speed"}},"description":"UNDOCUMENTED: events","title":"Events"},"description":"UNDOCUMENTED: events","title":"Events"}},"description":"UNDOCUMENTED"},"DB":{"description":"This component specifies the dynamic properties of the particle, from a simulation standpoint what forces act upon the particle? These dynamics alter the velocity of the particle, which is a combination of the direction of the particle and the speed. Particle direction will always be in the direction of the velocity of the particle.","type":"object","title":"Particle Motion Dynamic Component For 1.10.0","additionalProperties":false,"properties":{"linear_acceleration":{"type":"array","default":[0,0,0],"minItems":3,"maxItems":3,"items":{"$ref":"#/definitions/C"},"description":"The linear acceleration applied to the particle. Units are blocks/sec/sec","title":"Linear Acceleration"},"linear_drag_coefficient":{"$ref":"#/definitions/C","description":"Using the equation: `acceleration = -linear_drag_coefficient*velocity` where velocity is the current direction times speed. Think of this as air-drag. The higher the value, the more drag evaluated every frame","default":0,"title":"Linear Drag Coefficient"},"rotation_acceleration":{"$ref":"#/definitions/C","description":"Acceleration applies to the rotation speed of the particle","title":"Rotation Acceleration","default":0},"rotation_drag_coefficient":{"$ref":"#/definitions/C","description":"Drag applied to rotation","title":"Rotation Drag Coefficient","default":0}}},"DC":{"type":"object","title":"Particle Motion Parametric Component For 1.10.0","additionalProperties":false,"properties":{"relative_position":{"type":"array","minItems":3,"maxItems":3,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: relative position","title":"Relative Position"},"description":"UNDOCUMENTED: relative position","title":"Relative Position"},"rotation":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: rotation","title":"Rotation"},"direction":{"type":"array","minItems":3,"maxItems":3,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: relative position","title":"Direction"},"description":"UNDOCUMENTED: relative position","title":"Direction"}},"description":"UNDOCUMENTED"}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.particle","examples":[{"format_version":"1.17.0","particle_effect":{"description":{"identifier":"example:particle","basic_render_parameters":{"material":"particles_alpha","texture":"textures/particle/particle"}},"curves":{},"components":{}}}],"type":"object","additionalProperties":false,"description":"A particle definition file","title":"Particle","properties":{"format_version":{"$ref":"#/definitions/A"},"particle_effect":{"type":"object","additionalProperties":false,"description":"UNDOCUMENTED: particle effect","title":"Particle Effect","properties":{"description":{"additionalProperties":false,"type":"object","required":["identifier","basic_render_parameters"],"properties":{"identifier":{"type":"string","description":"UNDOCUMENTED: identifier","title":"Identifier","$ref":"#/definitions/B"},"basic_render_parameters":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED: basic render parameters","title":"Basic Render Parameters","properties":{"material":{"type":"string","examples":["particles_alpha","particles_blend"],"description":" Minecraft material to use for emitter","title":"Material"},"texture":{"type":"string","pattern":"^.+$","description":"Minecraft texture to use for emitter","title":"Texture"}}}},"description":"UNDOCUMENTED: description","title":"Description"},"curves":{"title":"Curves","description":"Curves are interpolation values, with inputs from 0 to 1, and outputs based on the curve. The result of the curve is a Molang variable of the same name that can be referenced in Molang in components. For each rendering frame for each particle, the curves are evaluated and the result is placed in a Molang variable of the name of the curve.","type":"object","propertyNames":{"pattern":"^(v|variable)\\.[a-zA-z0-9]+$"},"additionalProperties":{"type":"object","additionalProperties":false,"title":"Curve","description":"The curve definitions, conists out of a couple of nodes","$comment":"UNDOCUMENTED","properties":{"input":{"$ref":"#/definitions/C","title":"Input","description":"What is the input value to use"},"nodes":{"description":"Control nodes for curve. These are assumed to be equally, used Object for bezier_chain","title":"Nodes","oneOf":[{"minItems":1,"type":"array","items":{"$ref":"#/definitions/C"}},{"type":"object","propertyNames":{"pattern":"(^[\\-0-9]+$|^[\\-0-9]+\\.[\\-0-9]+$)"},"additionalProperties":{"type":"object","properties":{}}}]},"type":{"type":"string","title":"Type","description":"The type of curve","enum":["linear","bezier","bezier_chain","catmull_rom"]},"horizontal_range":{"title":"Horizontal Range","description":"What is the range the input is mapped onto","$ref":"#/definitions/C"}}}},"components":{"additionalProperties":false,"type":"object","description":"The particle components.","title":"Components","properties":{"minecraft:emitter_initialization":{"$ref":"#/definitions/D"},"minecraft:emitter_lifetime_events":{"$ref":"#/definitions/F"},"minecraft:emitter_lifetime_expression":{"$ref":"#/definitions/G"},"minecraft:emitter_lifetime_once":{"$ref":"#/definitions/H"},"minecraft:emitter_lifetime_looping":{"$ref":"#/definitions/I"},"minecraft:emitter_local_space":{"$ref":"#/definitions/J"},"minecraft:emitter_rate_instant":{"$ref":"#/definitions/BA"},"minecraft:emitter_rate_manual":{"$ref":"#/definitions/BB"},"minecraft:emitter_rate_steady":{"$ref":"#/definitions/BC"},"minecraft:emitter_shape_box":{"$ref":"#/definitions/BD"},"minecraft:emitter_shape_custom":{"$ref":"#/definitions/BE"},"minecraft:emitter_shape_disc":{"$ref":"#/definitions/BF"},"minecraft:emitter_shape_entity_aabb":{"$ref":"#/definitions/BG"},"minecraft:emitter_shape_point":{"$ref":"#/definitions/BH"},"minecraft:emitter_shape_sphere":{"$ref":"#/definitions/BI"},"minecraft:particle_appearance_billboard":{"$ref":"#/definitions/BJ"},"minecraft:particle_appearance_tinting":{"$ref":"#/definitions/CA"},"minecraft:particle_appearance_lighting":{"$ref":"#/definitions/CB"},"minecraft:particle_expire_if_not_in_blocks":{"$ref":"#/definitions/CC"},"minecraft:particle_expire_if_in_blocks":{"$ref":"#/definitions/CE"},"minecraft:particle_initialization":{"$ref":"#/definitions/CF"},"minecraft:particle_initial_speed":{"$ref":"#/definitions/CG"},"minecraft:particle_initial_spin":{"$ref":"#/definitions/CH"},"minecraft:particle_lifetime_expression":{"$ref":"#/definitions/CI"},"minecraft:particle_lifetime_events":{"$ref":"#/definitions/CJ"},"minecraft:particle_kill_plane":{"$ref":"#/definitions/DA"},"minecraft:particle_motion_collision":{"$ref":"#/definitions/DB"},"minecraft:particle_motion_dynamic":{"$ref":"#/definitions/DC"},"minecraft:particle_motion_parametric":{"$ref":"#/definitions/DD"}}},"events":{"type":"object","description":"UNDOCUMENTED: events","title":"Events","additionalProperties":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Event","type":"object","additionalProperties":false,"properties":{"particle_effect":{"title":"Particle Effect","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"effect":{"type":"string","description":"UNDOCUMENTED: effect","title":"Effect"},"type":{"type":"string","description":"UNDOCUMENTED: type","title":"Type"}}},"sound_effect":{"title":"Sound Effect","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"event_name":{"type":"string","description":"UNDOCUMENTED: effect","title":"Event Name"}}}}}}}}},"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","examples":["1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${2|0|}"}]},"B":{"description":"The minecraft particle identifier","examples":["namespace:particle_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Particle Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"C":{"title":"Molang Number","description":"The minecraft molang definition that results in a float","anyOf":[{"type":"string","minLength":0},{"type":"number"}],"examples":[0,"query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"E":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"D":{"description":"This component allows the emitter to run some Molang at creation, primarily to populate any Molang variables that get used later.","type":"object","title":"Emitter Initialization Component For 1.10.0","additionalProperties":false,"properties":{"creation_expression":{"$ref":"#/definitions/E","description":"This is run once at emitter startup.","title":"Creation Expression"},"per_update_expression":{"$ref":"#/definitions/E","description":"This is run once per emitter update.","title":"Per Update Expression"}}},"F":{"type":"object","title":"Emitter Lifetime Events Component For 1.10.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"creation_event":{"title":"Creation Event","description":"Fires when the emitter is created","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"expiration_event":{"title":"Expiration Event","description":"Fires when the emitter expires (does not wait for particles to expire too)","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"timeline":{"title":"Timeline","type":"object","description":"A series of times, e.g. 0.0 or 1.0, that trigger the event, these get fired on every loop the emitter goes through, `time` is the time, e.g. one line might be: `0.4`: `event`","propertyNames":{"pattern":"^[\\d\\.]+$"},"additionalProperties":{"title":"Timeline Object","description":"A single point in time that executes commands/molang/events","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]}},"travel_distance_events":{"title":"Travel Distance Events","description":"A series of distances, e.g. 0.0 or 1.0, that trigger the event these get fired when the emitter has moved by the specified input distance, e.g. one line might be: `0.4`: `event`","propertyNames":{"pattern":"^[\\d\\.]+$"}},"looping_travel_distance_events":{"title":"Looping Travel Distance Events","description":"A series of events that occur at set intervals these get fired every time the emitter has moved the specified input distance from the last time it was fired.","type":"array","items":{"type":"object","title":"Distance Event","additionalProperties":false,"properties":{"distance":{"title":"Distance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"effects":{"title":"Effects","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]}}}}}},"G":{"type":"object","title":"Emitter Rate Manual Component 1.10.0","description":"UNDOCUMENTED","additionalProperties":false,"properties":{"activation_expression":{"$ref":"#/definitions/C","description":"When the expression is non-zero, the emitter will emit particles. Evaluated every frame","title":"Activation Expression"},"expiration_expression":{"$ref":"#/definitions/C","description":"Emitter will expire if the expression is non-zero. Evaluated every frame","title":"Expiration Expression"}}},"H":{"type":"object","title":"Emitter Lifetime Once Component For 1.10.0","additionalProperties":false,"properties":{"active_time":{"$ref":"#/definitions/C","description":"How long the particles emit for evaluated once","title":"Active Time"}},"description":"UNDOCUMENTED"},"I":{"type":"object","title":"Emitter Lifetime Looping Component For 1.10.0","additionalProperties":false,"properties":{"active_time":{"$ref":"#/definitions/C","description":"Emitter will emit particles for this time per loop evaluated once per particle emitter loop","title":"Active Time"},"sleep_time":{"$ref":"#/definitions/C","description":"Emitter will pause emitting particles for this time per loop evaluated once per particle emitter loop","title":"Sleep Time"}},"description":"UNDOCUMENTED"},"J":{"type":"object","title":"Emitter Local Space Component For 1.10.0","description":"UNDOCUMENTED:","additionalProperties":false,"properties":{"position":{"type":"boolean","description":"UNDOCUMENTED: position","title":"Position"},"rotation":{"type":"boolean","description":"UNDOCUMENTED: rotation","title":"Rotation"},"velocity":{"type":"boolean","description":"UNDOCUMENTED: rotation","title":"Rotation"}}},"BA":{"type":"object","title":"Emitter Rate Instant Component For 1.10.0","additionalProperties":false,"properties":{"num_particles":{"$ref":"#/definitions/C","description":"This many particles are emitted at once evaluated once per particle emitter loop.","title":"Num Particles","default":10}},"description":"UNDOCUMENTED"},"BB":{"type":"object","title":"Emitter Rate Manual Component For 1.10.0","additionalProperties":false,"properties":{"max_particles":{"$ref":"#/definitions/C","description":"Evaluated once per particle emitted","title":"Maximum Particles"}},"description":"UNDOCUMENTED"},"BC":{"type":"object","title":"Emitter Rate Steady Component For 1.10.0","additionalProperties":false,"properties":{"max_particles":{"$ref":"#/definitions/C","description":"Maximum number of particles that can be active at once for this emitter, evaluated once per particle emitter loop","title":"Maximum Particles"},"spawn_rate":{"$ref":"#/definitions/C","description":"How often a particle is emitted, in particles/sec evaluated once per particle emitted","title":"Spawn Rate"}},"description":"UNDOCUMENTED"},"BD":{"type":"object","title":"Emitter Shape Box Component For 1.10.0","additionalProperties":false,"properties":{"direction":{"anyOf":[{"type":"string","enum":["inwards","outwards"]},{"type":"array","items":[{"$ref":"#/definitions/C","title":"X"},{"$ref":"#/definitions/C","title":"Y"},{"$ref":"#/definitions/C","title":"Z"}]}],"description":"UNDOCUMENTED: direction","title":"Direction"},"radius":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: radius","title":"Radius"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"},"half_dimensions":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: half dimensions","title":"Half Dimensions"},"surface_only":{"type":"boolean","description":"UNDOCUMENTED: surface only","title":"Surface Only"}},"description":"UNDOCUMENTED"},"BE":{"type":"object","title":"Emitter Shape Custom Component For 1.10.0","additionalProperties":false,"properties":{"direction":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"}},"description":"UNDOCUMENTED"},"BF":{"type":"object","title":"Emitter Shape Disc Component For 1.10.0","additionalProperties":false,"properties":{"direction":{"anyOf":[{"type":"string","enum":["inwards","outwards"]},{"type":"array","items":[{"$ref":"#/definitions/C","title":"X"},{"$ref":"#/definitions/C","title":"Y"},{"$ref":"#/definitions/C","title":"Z"}]}],"description":"UNDOCUMENTED: direction","title":"Direction"},"radius":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: radius","title":"Radius"},"offset":{"type":"array","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}]},"plane_normal":{"title":"Plane Normal","description":"Specifies the normal of the disc plane, the disc will be perpendicular to this direction","default":[0,1,0],"oneOf":[{"type":"string","enum":["x","y","z"]},{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}]}]},"surface_only":{"type":"boolean","description":"UNDOCUMENTED: surface only","title":"Surface Only"}},"description":"UNDOCUMENTED"},"BG":{"type":"object","title":"Emitter Shape Entity Aabb Component For 1.10.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"direction":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"}}},"BH":{"type":"object","title":"Emitter Shape Point Component For 1.10.0","description":"UNDOCUMENTED","additionalProperties":false,"properties":{"direction":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"}}},"BI":{"type":"object","title":"Emitter Shape Sphere Component For 1.10.0","description":"UNDOCUMENTED","additionalProperties":false,"properties":{"direction":{"anyOf":[{"type":"string","enum":["inwards","outwards"]},{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}]}],"description":"UNDOCUMENTED: direction","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"},"radius":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: radius","title":"Radius"},"surface_only":{"type":"boolean","description":"UNDOCUMENTED: surface only","title":"Surface Only"}}},"BJ":{"type":"object","title":"Particle Appearance Billboard Component For 1.10.0","additionalProperties":false,"properties":{"size":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: size","title":"Size"},"description":"UNDOCUMENTED: size","title":"Size"},"facing_camera_mode":{"description":"Used to orient the billboard.","type":"string","enum":["lookat_xyz","lookat_y","rotate_xyz","rotate_y","direction_x","direction_y","direction_z"],"title":"Facing Camera Mode"},"uv":{"additionalProperties":false,"type":"object","properties":{"texture_width":{"type":"integer","description":"UNDOCUMENTED: texture width","title":"Texture Width"},"texture_height":{"type":"integer","description":"UNDOCUMENTED: texture height","title":"Texture Height"},"flipbook":{"additionalProperties":false,"type":"object","required":["max_frame"],"properties":{"base_UV":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: base UV","title":"Base U V"},"description":"UNDOCUMENTED: base UV","title":"Base U V"},"size_UV":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: size UV","title":"Size U V"},"description":"UNDOCUMENTED: size UV","title":"Size U V"},"step_UV":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: step UV","title":"Step U V"},"description":"UNDOCUMENTED: step UV","title":"Step U V"},"frames_per_second":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: frames per second","title":"Frames Per Second"},"max_frame":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: Maximum frame","title":"Maximum Frame"},"stretch_to_lifetime":{"type":"boolean","description":"UNDOCUMENTED: stretch to lifetime","title":"Stretch To Lifetime"},"loop":{"type":"boolean","description":"UNDOCUMENTED: loop","title":"Loop"}},"description":"UNDOCUMENTED: flipbook","title":"Flipbook"},"uv":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: uv","title":"Uv"},"description":"UNDOCUMENTED: uv","title":"Uv"},"uv_size":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: uv size","title":"Uv Size"},"description":"UNDOCUMENTED: uv size","title":"Uv Size"}},"description":"UNDOCUMENTED: uv","title":"Uv"}},"description":"UNDOCUMENTED"},"CA":{"description":"Color fields are special, they can be either an RGB, or a `#RRGGBB` field (or RGBA or `AARRGGBB`). If RGB(A), the channels are from 0 to 1. If the string `#AARRGGBB`, then the values are hex from 00 to ff.","type":"object","title":"Particle Appearance Tinting Component For 1.10.0","additionalProperties":false,"properties":{"color":{"title":"Color","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","anyOf":[{"type":"array","description":"Direct color field","items":{"$ref":"#/definitions/C"}},{"type":"string","format":"color-hex","description":"Direct color field"},{"description":"Interpolation based color","type":"object","additionalProperties":false,"properties":{"gradient":{"title":"Gradient","oneOf":[{"description":"An array of colors","type":"array","items":{"type":"string","description":"Color","title":"Color","format":"color-hex","examples":["#FFFFFF"]}},{"description":"An object of colors","type":"object","propertyNames":{"pattern":"(^[\\-0-9]+$|^[\\-0-9]+\\.[\\-0-9]+$)"},"additionalProperties":{"type":"string","description":"Color","format":"color-hex","examples":["#FFFFFF"]}},{"description":"An array of colors","type":"array","items":{"type":"array","minItems":3,"items":{"oneOf":[{"type":"number","description":"Color","title":"Color","minimum":0,"maximum":1},{"type":"string","title":"Molang"}]}}}]},"interpolant":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: interpolant","title":"Interpolant"}}}]}}},"CB":{"type":"object","title":"Particle Appearance Lighting Component For 1.10.0","additionalProperties":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"CD":{"description":"A minecraft block identifier","examples":["namespace:block"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Block Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"CC":{"type":"array","title":"Particle Expire If Not In Blocks Component For 1.10.0","additionalProperties":false,"items":{"$ref":"#/definitions/CD","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Block"},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"CE":{"type":"array","title":"Particle Expire If Not In Blocks Component For 1.10.0","additionalProperties":false,"items":{"$ref":"#/definitions/CD","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Block"},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"CF":{"type":"object","title":"Particle Initialization Component For 1.10.0","additionalProperties":false,"properties":{"per_update_expression":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: per update expression","title":"Per Update Expression"},"per_render_expression":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: per render expression","title":"Per Render Expression"}},"description":"UNDOCUMENTED"},"CG":{"title":"Particle Initial Speed Component For 1.10.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","anyOf":[{"$ref":"#/definitions/C"},{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}]}]},"CH":{"title":"Particle Initial Spin Component For 1.10.0","description":"Starts the particle with a specified orientation and rotation rate.","additionalProperties":false,"type":"object","properties":{"rotation":{"$ref":"#/definitions/C","description":"Specifies the initial rotation in degrees","title":"Rotation"},"rotation_rate":{"$ref":"#/definitions/C","description":"Specifies the spin rate in degrees/second","title":"Rotation Rate"}}},"CI":{"type":"object","description":"UNDOCUMENTED:","title":"Particle Lifetime Expression Component For 1.10.0","additionalProperties":false,"properties":{"expiration_expression":{"title":"Expiration Expression","description":"This expression makes the particle expire when true (non-zero), The float/expr is evaluated once per particle, evaluated every frame","$ref":"#/definitions/C"},"max_lifetime":{"$ref":"#/definitions/C","description":"Alternate way to express lifetime, particle will expire after this much time, evaluated once","title":"Maximum Lifetime"}}},"CJ":{"type":"object","title":"Particle Lifetime Events Component For 1.10.0","additionalProperties":false,"properties":{"creation_event":{"title":"Creation Event","description":"Fires when the particle is created","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"custom_events":{"title":"Custom Events","description":"UNDOCUMENTED, unclear structure :("},"expiration_event":{"title":"Expiration Event","description":"Fires when the particle expires (does not wait for particles to expire too)","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"timeline":{"propertyNames":{"pattern":"[0-9]*.[0-9]*"},"description":"UNDOCUMENTED: timeline","title":"Timeline"}},"description":"UNDOCUMENTED"},"DA":{"type":"array","title":"Particle Kill Plane Component For 1.10.0","description":"A*x + B*y + C*z + D = 0\nwith the parameters being [ A, B, C, D ]","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"A"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"B"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"C"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"D"}]},"DB":{"type":"object","title":"Particle Motion Collision Component For 1.10.0","additionalProperties":false,"properties":{"collision_drag":{"type":"number","description":"UNDOCUMENTED: collision drag","title":"Collision Drag"},"coefficient_of_restitution":{"type":"number","description":"UNDOCUMENTED: coefficient of restitution","title":"Coefficient Of Restitution"},"collision_radius":{"type":"number","description":"UNDOCUMENTED: collision radius","title":"Collision Radius"},"enabled":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: enabled","title":"Enabled"},"expire_on_contact":{"type":"boolean","description":"UNDOCUMENTED: expire on contact","title":"Expire On Contact"},"events":{"type":"array","items":{"properties":{"additionalProperties":false,"event":{"type":"string","description":"UNDOCUMENTED: event","title":"Event"},"min_speed":{"type":"number","description":"UNDOCUMENTED: Minimum speed","title":"Minimum Speed"}},"description":"UNDOCUMENTED: events","title":"Events"},"description":"UNDOCUMENTED: events","title":"Events"}},"description":"UNDOCUMENTED"},"DC":{"description":"This component specifies the dynamic properties of the particle, from a simulation standpoint what forces act upon the particle? These dynamics alter the velocity of the particle, which is a combination of the direction of the particle and the speed. Particle direction will always be in the direction of the velocity of the particle.","type":"object","title":"Particle Motion Dynamic Component For 1.10.0","additionalProperties":false,"properties":{"linear_acceleration":{"type":"array","default":[0,0,0],"minItems":3,"maxItems":3,"items":{"$ref":"#/definitions/C"},"description":"The linear acceleration applied to the particle. Units are blocks/sec/sec","title":"Linear Acceleration"},"linear_drag_coefficient":{"$ref":"#/definitions/C","description":"Using the equation: `acceleration = -linear_drag_coefficient*velocity` where velocity is the current direction times speed. Think of this as air-drag. The higher the value, the more drag evaluated every frame","default":0,"title":"Linear Drag Coefficient"},"rotation_acceleration":{"$ref":"#/definitions/C","description":"Acceleration applies to the rotation speed of the particle","title":"Rotation Acceleration","default":0},"rotation_drag_coefficient":{"$ref":"#/definitions/C","description":"Drag applied to rotation","title":"Rotation Drag Coefficient","default":0}}},"DD":{"type":"object","title":"Particle Motion Parametric Component For 1.10.0","additionalProperties":false,"properties":{"relative_position":{"type":"array","minItems":3,"maxItems":3,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: relative position","title":"Relative Position"},"description":"UNDOCUMENTED: relative position","title":"Relative Position"},"rotation":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: rotation","title":"Rotation"},"direction":{"type":"array","minItems":3,"maxItems":3,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: relative position","title":"Direction"},"description":"UNDOCUMENTED: relative position","title":"Direction"}},"description":"UNDOCUMENTED"}}} \ No newline at end of file