Minecraft:Manifest.json: Difference between revisions
More actions
Fix template calls: add MC/ prefix |
Sync: updated from Minecraft |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{DISPLAYTITLE:<samp>manifest.json</samp>}} | {{DISPLAYTITLE:<samp>manifest.json</samp>}} | ||
{{ | {{exclusive|bedrock}} | ||
<code>'''manifest.json'''</code> is a {{ | <code>'''manifest.json'''</code> is a {{w|manifest file}} that contains metadata information for the ''Minecraft'' package format. It is required by [[Minecraft:resource pack]]s, [[Minecraft:behavior pack]]s, [[Minecraft:skin pack]]s, and [[Minecraft:world template]]s in order to be successfully imported into the game. | ||
== JSON format == | == JSON format == | ||
=== Version 3 === | === Version 3 === | ||
<div class="treeview"> | <div class="treeview"> | ||
* {{ | * {{nbt|compound}}: The root tag. | ||
** {{ | ** {{nbt|int|format_version}}: The syntax version used in the manifest file. In this section, it is version {{cd|3}}. | ||
** {{ | ** {{nbt|compound|header}}: External information about the pack. | ||
*** {{ | *** {{nbt|bool|allow_random_seed}}: Specific to world templates. Whether a random seed should be generated on world creation. | ||
*** {{ | *** {{nbt|string|base_game_version}}: Specific to world templates. A string {{cd|"A.B.C"}} representing the version of the vanilla resource and behavior packs to apply. | ||
*** {{ | *** {{nbt|string|description}}: A description of the pack. Can be text or a translation key. | ||
*** {{ | *** {{nbt|bool|platform_locked}}: (only for skin and behaviour packs). Locks the pack from being used as a global pack, rendering it impossible to use on other player's worlds or servers. | ||
*** {{ | *** {{nbt|bool|lock_template_options}}: Specific to world templates. If enabled, the player can not modify the world options. | ||
*** {{ | *** {{nbt|string|min_engine_version}}: A string {{cd|"A.B.C"}} representing the minimum version of the game the pack can run on. | ||
*** {{ | *** {{nbt|string|name}}: The name of the pack. Can be text or a translation key. | ||
*** {{ | *** {{nbt|string|pack_scope}}: Works in behaviour and resource packs (but needed more often in resource packs). Represents at which level the pack can be applied. {{cd|"world"}} packs can be applied to a world, {{cd|"global"}} in global resources and {{cd|"any"}} anywhere. Defaults to {{cd|"any"}}. | ||
*** {{ | *** {{nbt|string|uuid}}: A unique identifier for the pack. Must be of the form {{cd|"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}}, where x in a hexadecimal number (0-9 or a-f). | ||
*** {{ | *** {{nbt|string|version}}: A string of the form {{cd|"A.B.C"}} representing the current version of pack. Used to handle updates to the pack. | ||
**** {{ | **** {{nbt|string|buildMeta}}: Name in front of preRelease. | ||
**** {{ | **** {{nbt|int|major}}: First version number, for [[Minecraft:Marketplace]] packages this value always needs to be greater than 0. | ||
**** {{ | **** {{nbt|int|minor}}: Second version number. | ||
**** {{ | **** {{nbt|int|patch}}: Third version number. | ||
**** {{ | **** {{nbt|string|preRelease}}: Name in front of version. | ||
** {{ | ** {{nbt|list|modules}}: Describes modules which are content types that the pack may contain. | ||
*** {{ | *** {{nbt|compound}}: A module object in the list. | ||
**** {{ | **** {{nbt|string|description}}: An internal description of the module. | ||
**** {{ | **** {{nbt|string|type}}: The type of the module, can be: {{cd|"resources"}} ([[Minecraft:resource pack]]), {{cd|"data"}} ([[Minecraft:behavior pack]]),{{cd|"persona_piece"}} ([[Minecraft:Character Creator]] item or [[Minecraft:cape]] (marketplace content only)), {{cd|"[[Minecraft:skin_pack]]"}}, {{cd|"[[Minecraft:World template|world_template]]"}}, or {{cd|"script"}} ([[Minecraft:Add-on#Scripting|script]] module). | ||
**** {{nbt|string|uuid}}: An identifier unique to the module. Must be of the form {{cd|"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}}, where x in a hexadecimal number (0-9 or a-f). | |||
**** {{ | **** {{nbt|string|version}}: A string of the form {{cd|"A.B.C"}} representing the current version of pack. Used to handle updates to the pack. | ||
**** {{ | ***** {{nbt|string|buildMeta}}: Name in front of preRelease. | ||
***** {{ | ***** {{nbt|int|major}}: First version number. | ||
***** {{ | ***** {{nbt|int|minor}}: Second version number. | ||
***** {{ | ***** {{nbt|int|patch}}: Third version number. | ||
***** {{ | ***** {{nbt|string|preRelease}}: Name in front of version. | ||
***** {{ | **** {{nbt|string|language}}: Specific to script modules. The language the scripts are written in. Only supports {{cd|"javascript"}}. | ||
**** {{ | **** {{nbt|string|entry}}: Specific to script modules. Relative path to the main script file. | ||
**** {{ | ** {{nbt|list|dependencies}}: Describes external dependencies that the pack requires. The dependency may be another pack, or a script module. | ||
** {{ | *** {{nbt|compound}}: Describes a pack dependency. | ||
*** {{ | **** {{nbt|string|uuid}}: {{cd|uuid}} of the pack dependency. | ||
**** {{ | **** {{nbt|string|name}}: The name of the pack. Can be text or a translation key. | ||
**** {{ | **** {{nbt|int-array}}{{nbt|string|version}}: {{cd|version}} of the dependency to use. | ||
**** {{ | *** {{nbt|compound}}: Describes a script module dependency. | ||
*** {{ | **** {{nbt|string|uuid}}: {{cd|uuid}} of the script module. ''Optional'' | ||
**** {{ | **** {{nbt|string|module_name}}: Name of the script module, used for importing the [[Minecraft:Script API]]. | ||
**** {{ | **** {{nbt|int-array}}{{nbt|string|version}}: {{cd|version}} of the dependency to use. | ||
**** {{ | ** {{nbt|list|capabilities}}: Optional features that can be enabled. | ||
** {{ | *** {{nbt|string}}: A capability to enable, can be: | ||
*** {{ | **** {{cd|"chemistry"}} – specific to ''[[Minecraft:Minecraft Education]]'' [[Minecraft:chemistry]] features. | ||
**** {{ | **** {{cd|"editorExtension"}} – used internally in the game in the vanilla [[Minecraft:Bedrock Editor]] resource pack, and for importing <code>@minecraft/server-editor</code> script module.<ref>https://wiki.bedrock.dev/scripting/api-modules</ref> | ||
**** {{ | **** {{cd|"experimental_custom_ui"}} – experimental custom UI based on HTML and JavaScript. Unsupported since [[Minecraft:1.18.10.28]].<ref>https://bedrock.dev/docs/1.18.0.0/1.18.10.28/UI</ref> | ||
**** {{ | **** {{cd|"script_eval"}} – enables dynamic code execution in [[Minecraft:scripting]] via <code>eval()</code> function or <code>Function()</code> constructor.<ref>https://wiki.bedrock.dev/scripting/api-environment</ref> | ||
**** {{ | **** {{cd|"raytraced"}} – enables PBR features specific to [[Minecraft:ray tracing]], which only supports MER subset. Compatible with Vibrant Visuals. | ||
**** {{ | **** {{cd|"pbr"}} – enables PBR features specific to [[Minecraft:Vibrant Visuals]] with full MERS support. | ||
**** {{ | ** {{nbt|compound|metadata}}: Metadata on the pack, currently mandatory in this version. | ||
** {{ | *** {{nbt|list|authors}}: List of creators of the pack, currently mandatory in this version. | ||
*** {{ | **** {{nbt|string}}: The name of a creator of the pack. | ||
**** {{ | *** {{nbt|string|license}}: License the pack is distributed under. | ||
*** {{ | *** {{nbt|compound|generated_with}}: Tools used to generate the manifest. | ||
*** {{ | **** {{nbt|list}}: The name of the list element should be the name of a tool used to generate the manifest. It must be made of simple characters and can be up to 32 characters long. | ||
**** {{ | ***** {{nbt|string}}: A string of the form {{cd|"A.B.C"}} representing a version of the tool used to modify the manifest. | ||
***** {{ | *** {{nbt|string|product_type}}: If set to {{cd|"addon"}}, indicates the pack is meant as part of an [[Minecraft:add-on]]. This allows the add-on to not disable achievements when activated, and it makes the resource pack required to be downloaded by other players joining the world. | ||
*** {{ | *** {{nbt|string|url}}: URL to a website. | ||
**{{nbt|list|subpacks}}: Only for resource pack. List of sub-packs used in the pack, which can be enabled and disabled individually. | |||
**{{ | ***{{nbt|compound}}: A sub-pack in the list | ||
***{{ | ****{{nbt|string|folder_name}}: Name of the folder where the sub-pack is located. | ||
****{{ | ****{{nbt|string|name}}: In-game display name of the sub-pack | ||
****{{ | ****{{nbt|int|memory_performance_tier}}: Denotes the minimum amount of RAM required to run the sub-pack (values range 1–5<ref>https://learn.microsoft.com/en-us/minecraft/creator/documents/texturebudgets</ref>). | ||
****{{ | ** {{nbt|list|settings}}: Order-dependent list of settings the player can modify in the game's UI. Pack settings can be applied to both behavior packs and resource packs. Behavior pack settings can be changed by the world or server owner, and are configured per-world. Resource pack settings can be individually configured on a per-player basis.<ref>[https://learn.microsoft.com/en-us/minecraft/creator/documents/addons/custompacksettings?view=minecraft-bedrock-stable#:~:text=The%20custom%20pack,per%2Dplayer%20basis. https://learn.microsoft.com/en-us/minecraft/creator/documents/addons/custompacksettings?view=minecraft-bedrock-stable#:~:text=The%20custom%20pack,per%2Dplayer%20basis.]</ref> | ||
*** {{nbt|compound}}: A read-only label, used for describing or breaking up the sections of the settings area. | |||
**** {{nbt|string|type}}: {{cd|"label"}} | |||
**** {{nbt|string|text}}: Text value of the label. | |||
*** {{nbt|compound}}: A binary toggle. | |||
**** {{nbt|string|type}}: {{cd|"toggle"}} | |||
**** {{nbt|string|text}}: Textual, user-visible label for the toggle. | |||
**** {{nbt|string|name}}: Programmatic identifier for the value of this toggle that must include a namespace. | |||
**** {{ | **** {{nbt|bool|default}}: Default value of this setting. | ||
*** {{nbt|compound}}: A sliding that allows for setting of a number within a range. | |||
**** {{ | **** {{nbt|string|type}}: {{cd|"slider"}} | ||
**** {{nbt|string|text}}: Textual, user-visible label for the slider. | |||
**** {{ | **** {{nbt|string|name}}: Programmatic identifier for the value of this slider that must include a namespace. | ||
**** {{nbt|double|min}}: Minimum value for the slider. | |||
**** {{ | **** {{nbt|double|max}}: Maximum value for the slider. | ||
**** {{ | **** {{nbt|double|step}}: Incremental "notches" for the slider. | ||
**** {{nbt|double|default}}: Default value of the slider. | |||
*** {{nbt|compound}}: A dropdown that allows for you to choose between a fixed number of options. | |||
**** {{nbt|string|type}}: {{cd|"dropdown"}} | |||
**** {{nbt|string|text}}: Textual, user-visible label for the dropdown. | |||
**** {{nbt|string|name}}: Programmatic identifier for the value of this dropdown that must include a namespace. | |||
**** {{nbt|list|options}}: List of all the items in the dropdown. | |||
***** {{Nbt|string|text}}: Textual, user-visible label for the dropdown. | |||
***** {{Nbt|string|name}}: Programmatic identifier for the value of this dropdown item. | |||
**** {{nbt|string|default}}: Default value of the dropdown. | |||
</div> | </div> | ||
=== Version 2 === | === Version 2 === | ||
<div class="treeview"> | <div class="treeview"> | ||
* {{ | * {{nbt|compound}}: The root tag. | ||
** {{ | ** {{nbt|int|format_version}}: The syntax version used in the manifest file. In this section, it is version {{cd|2}}. | ||
** {{ | ** {{nbt|compound|header}}: External information about the pack. | ||
*** {{ | *** {{nbt|bool|allow_random_seed}}: Specific to world templates. Whether a random seed should be generated on world creation. | ||
*** {{ | *** {{nbt|int-array|base_game_version}}: Specific to world templates. A vector {{cd|[A,B,C]}} representing the version of the vanilla resource and behavior packs to apply. | ||
*** {{ | *** {{nbt|string|description}}: A description of the pack. Can be text or a translation key. | ||
*** {{ | *** {{nbt|bool|platform_locked}}: Locks the pack from being used as a global pack, rendering it impossible to use on other player's worlds or servers. | ||
*** {{ | *** {{nbt|bool|lock_template_options}}: Specific to world templates. If enabled, the player can not modify the world options. | ||
*** {{ | *** {{nbt|int-array|min_engine_version}}: A vector {{cd|[A,B,C]}} representing the minimum version of the game the pack can run on. | ||
*** {{ | *** {{nbt|string|name}}: The name of the pack. Can be text or a translation key. | ||
*** {{ | *** {{nbt|string|pack_scope}}: Specific to resource packs. Represents at which level the pack can be applied. {{cd|"world"}} packs can be applied to a world, {{cd|"global"}} in global resources and {{cd|"any"}} anywhere. Defaults to {{cd|"any"}}. | ||
*** {{ | *** {{nbt|string|uuid}}: A unique identifier for the pack. Must be of the form {{cd|"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}}, where x in a hexadecimal number (0-9 or a-f). | ||
*** {{ | *** {{nbt|int-array}}{{nbt|string|version}}: A string of the form {{cd|"A.B.C"}} or vector {{cd|[A,B,C]}} representing the current version of pack. Used to handle updates to the pack. | ||
** {{ | ** {{nbt|list|modules}}: Describes modules which are content types that the pack may contain. | ||
*** {{ | *** {{nbt|compound}}: A module object in the list. | ||
**** {{ | **** {{nbt|string|description}}: An internal description of the module. | ||
**** {{ | **** {{nbt|string|type}}: The type of the module, can be: {{cd|"resources"}} ([[Minecraft:resource pack]]), {{cd|"data"}} ([[Minecraft:behavior pack]]), {{cd|"persona_piece"}} ([[Minecraft:Character Creator]] item or [[Minecraft:cape]]), {{cd|"[[Minecraft:Skin pack|skin_pack]]"}}, {{cd|"[[Minecraft:World template|world_template]]"}}, or {{cd|"script"}} ([[Minecraft:scripting]]). | ||
**** {{ | **** {{nbt|string|uuid}}: An identifier unique to the module. Must be of the form {{cd|"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}}, where x in a hexadecimal number (0-9 or a-f). | ||
**** {{ | **** {{nbt|int-array}}{{nbt|string|version}}: A string of the form {{cd|"A.B.C"}} or vector {{cd|[A,B,C]}} representing the current version of pack. Used to handle updates to the pack. | ||
**** {{ | **** {{nbt|string|language}}: Specific to script modules. The language the scripts are written in. Only supports {{cd|"javascript"}}. | ||
**** {{ | **** {{nbt|string|entry}}: Specific to script modules. Relative path to the main script file. | ||
** {{ | ** {{nbt|list|dependencies}}: Describes external dependencies that the pack requires. The dependency may be another pack, or a script module. | ||
*** {{ | *** {{nbt|compound}}: Describes a pack dependency. | ||
**** {{ | **** {{nbt|string|uuid}}: {{cd|uuid}} of the pack dependency. | ||
**** {{ | **** {{nbt|string|name}}: The name of the pack. Can be text or a translation key. | ||
**** {{ | **** {{nbt|int-array}}{{nbt|string|version}}: {{cd|version}} of the dependency to use. | ||
*** {{ | *** {{nbt|compound}}: Describes a script module dependency. | ||
**** {{ | **** {{nbt|string|uuid}}: {{cd|uuid}} of the script module. ''Optional'' | ||
**** {{ | **** {{nbt|string|module_name}}: Name of the script module, used for importing the [[Minecraft:Script API]]. | ||
**** {{ | **** {{nbt|int-array}}{{nbt|string|version}}: {{cd|version}} of the dependency to use. | ||
** {{ | ** {{nbt|list|capabilities}}: Optional features that can be enabled. | ||
*** {{ | *** {{nbt|string}}: A capability to enable, can be: | ||
**** {{ | **** {{cd|"chemistry"}} – specific to ''[[Minecraft:Minecraft Education]]'' [[Minecraft:chemistry]] features. | ||
**** {{ | **** {{cd|"editorExtension"}} – used internally in the game in the vanilla [[Minecraft:Bedrock Editor]] resource pack, and for importing <code>@minecraft/server-editor</code> script module.<ref>https://wiki.bedrock.dev/scripting/api-modules</ref> | ||
**** {{ | **** {{cd|"experimental_custom_ui"}} – experimental custom UI based on HTML and JavaScript. Unsupported since [[Minecraft:1.18.10.28]].<ref>https://bedrock.dev/docs/1.18.0.0/1.18.10.28/UI</ref> | ||
**** {{ | **** {{cd|"script_eval"}} – enables dynamic code execution in [[Minecraft:scripting]] via <code>eval()</code> function or <code>Function()</code> constructor.<ref>https://wiki.bedrock.dev/scripting/api-environment</ref> | ||
**** {{ | **** {{cd|"raytraced"}} – enables PBR features specific to [[Minecraft:ray tracing]], which only supports MER subset. Compatible with Vibrant Visuals. | ||
**** {{ | **** {{cd|"pbr"}} – enables PBR features specific to [[Minecraft:Vibrant Visuals]] with full MERS support. | ||
** {{ | ** {{nbt|compound|metadata}}: Metadata on the pack. | ||
*** {{ | *** {{nbt|list|authors}}: List of creators of the pack. | ||
**** {{ | **** {{nbt|string}}: The name of a creator of the pack. | ||
*** {{ | *** {{nbt|string|license}}: License the pack is distributed under. | ||
*** {{ | *** {{nbt|compound|generated_with}}: Tools used to generate the manifest. | ||
**** {{ | **** {{nbt|list}}: The name of the list element should be the name of a tool used to generate the manifest. It must be made of simple characters and can be up to 32 characters long. | ||
***** {{ | ***** {{nbt|string}}: A string of the form {{cd|"A.B.C"}} representing a version of the tool used to modify the manifest. | ||
*** {{ | *** {{nbt|string|product_type}}: If set to {{cd|"addon"}}, indicates the pack is meant as part of an [[Minecraft:add-on]], this also allows the addon to not disable achievements when activated. | ||
*** {{ | *** {{nbt|string|url}}: URL to a website. | ||
</div> | </div> | ||
| Line 145: | Line 151: | ||
The previous iteration of <code>manifest.json</code> only ever contains few basic information about the package, such as <code>header</code>, <code>modules</code>, and <code>dependencies</code>, being very similar to version 2 without the modern features. | The previous iteration of <code>manifest.json</code> only ever contains few basic information about the package, such as <code>header</code>, <code>modules</code>, and <code>dependencies</code>, being very similar to version 2 without the modern features. | ||
These manifest files are documented from multiple built-in resource packs, which are found in the game's directory: | These manifest files are documented from multiple built-in resource packs, which are found in the [[Minecraft:Microsoft.MinecraftUWP|game's directory]]: | ||
<div class="treeview"> | <div class="treeview"> | ||
* {{ | * {{nbt|compound}}: The root tag. | ||
** {{ | ** {{nbt|int|format_version}}: The syntax version used in the manifest file, version 1. | ||
** {{ | ** {{nbt|compound|header}}: The pack's display information. | ||
*** {{ | *** {{nbt|string|description}}: A description of the pack. Can be text or a translation key. | ||
*** {{ | *** {{nbt|string|name}}: The name of the pack. Can be text or a translation key. | ||
*** {{ | *** {{nbt|string|uuid}}: A unique identifier for the pack. Must be of the form {{cd|"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}}, where x in a hexadecimal number (0-9 or a-f). | ||
*** {{ | *** {{nbt|int-array|version}}: An array consist of three integer numbers representing the current version of pack. | ||
*** {{ | *** {{nbt|int-array|min_engine_version}}: An array consist of three integer numbers representing the minimum version of the game the pack can run on. | ||
** {{ | ** {{nbt|list|modules}}: Describes modules which are content types that the pack may contain. | ||
*** {{ | *** {{nbt|compound}}: A module object in the list. | ||
**** {{ | **** {{nbt|string|description}}: An internal description of the module. | ||
**** {{ | **** {{nbt|string|type}}: The type of the module, can be: {{cd|"resource"}} ([[Minecraft:resource pack]]), {{cd|"data"}} ([[Minecraft:behavior pack]]), and {{cd|"skin_pack"}}. | ||
**** {{ | **** {{nbt|string|uuid}}: An identifier unique to the module. Must be of the form {{cd|"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}}, where x in a hexadecimal number (0-9 or a-f). | ||
**** {{ | **** {{nbt|int-array|version}}: An array consist of three integer numbers representing the version of the pack. | ||
** {{ | ** {{nbt|list|dependencies}}: Describes external dependencies that the pack requires. | ||
*** {{ | *** {{nbt|compound}}: Describes a pack dependency. | ||
**** {{ | **** {{nbt|string|uuid}}: {{cd|uuid}} of the pack dependency. | ||
**** {{ | **** {{nbt|string|name}}: The name of the pack. Can be text or a translation key. | ||
**** {{ | **** {{nbt|int-array|version}}: An array consist of three integer numbers representing the version of the pack. | ||
</div> | </div> | ||
=== Version 0 === | === Version 0 === | ||
The very first version of <code>manifest.json</code>, at the time was named <code>pack_manifest.json</code>, is used back in the v0.16.0 alpha versions. Its syntax is very different from version 1, containing the <code>header</code> object with different properties that would be renamed in the next iteration. Notably, <code>modules</code> and <code>dependencies</code> are contained inside the <code>header</code> object. | The very first version of <code>manifest.json</code>, at the time was named <code>pack_manifest.json</code>, is used back in the [[Minecraft:v0.16.0 alpha]] versions. Its syntax is very different from version 1, containing the <code>header</code> object with different properties that would be renamed in the next iteration. Notably, <code>modules</code> and <code>dependencies</code> are contained inside the <code>header</code> object. | ||
It is retroactively called version 0 in the [https://learn.microsoft.com/en-us/minecraft/creator/reference/content/versiondisambiguation?view=minecraft-bedrock-stable Creator Documentation]. Additionally, when the pack containing this manifest is loaded in later versions, it would get converted to version 1 with the new <code>manifest.json</code>, while the old <code>pack_manifest.json</code> would get backed up as <code>pack_manifest.json.old</code>.<ref>https://learn.microsoft.com/en-us/minecraft/creator/reference/content/versiondisambiguation?view=minecraft-bedrock-stable</ref> | It is retroactively called version 0 in the [https://learn.microsoft.com/en-us/minecraft/creator/reference/content/versiondisambiguation?view=minecraft-bedrock-stable Creator Documentation]. Additionally, when the pack containing this manifest is loaded in later versions, it would get converted to version 1 with the new <code>manifest.json</code>, while the old <code>pack_manifest.json</code> would get backed up as <code>pack_manifest.json.old</code>.<ref>https://learn.microsoft.com/en-us/minecraft/creator/reference/content/versiondisambiguation?view=minecraft-bedrock-stable</ref> | ||
| Line 175: | Line 181: | ||
Version 0 resource packs are separated into the ''client'' and ''server'' packs, both serve very similar purposes to the modern resource pack (client) and behavior pack (server). | Version 0 resource packs are separated into the ''client'' and ''server'' packs, both serve very similar purposes to the modern resource pack (client) and behavior pack (server). | ||
These manifest files are documented from multiple built-in resource packs, which are found in the game's directory: | These manifest files are documented from multiple built-in resource packs, which are found in the [[Minecraft:Microsoft.MinecraftUWP|game's directory]]: | ||
<div class="treeview"> | <div class="treeview"> | ||
* {{ | * {{nbt|compound}}: The root tag. | ||
** {{ | ** {{nbt|compound|header}}: The pack's display information. | ||
*** {{ | *** {{nbt|string|pack_id}}: A unique identifier for the pack. Must be of the form {{cd|"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}}, where x in a hexadecimal number (0-9 or a-f). | ||
*** {{ | *** {{nbt|string|name}}: The name of the pack. Can be text or a translation key. | ||
*** {{ | *** {{nbt|int-array|packs_version}}: An array consist of three integer numbers representing the current version of pack. | ||
*** {{ | *** {{nbt|string|description}}: A description of the pack. Can be text or a translation key. | ||
*** {{ | *** {{nbt|list|modules}}: Describes modules which are content types that the pack may contain. | ||
**** {{ | **** {{nbt|compound}}: A module object in the list. | ||
***** {{ | ***** {{nbt|string|description}}: An internal description of the module. | ||
***** {{ | ***** {{nbt|string|type}}: The type of the module, can be: {{cd|"resource"}} (client) and {{cd|"data"}} (server). | ||
***** {{ | ***** {{nbt|string|uuid}}: An identifier unique to the module. Must be of the form {{cd|"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}}, where x in a hexadecimal number (0-9 or a-f). | ||
***** {{ | ***** {{nbt|string|version}}: A string formatted like <code>X.Y.Z</code> representing the version of the pack. | ||
*** {{ | *** {{nbt|list|dependencies}}: Describes external dependencies that the pack requires. | ||
**** {{ | **** {{nbt|compound}}: Describes a pack dependency. | ||
***** {{ | ***** {{nbt|string|uuid}}: {{cd|uuid}} of the pack dependency. | ||
***** {{ | ***** {{nbt|string|name}}: The name of the pack. Can be text or a translation key. | ||
***** {{ | ***** {{nbt|string|version}}: A string formatted like <code>X.Y.Z</code> representing the version of the pack. | ||
</div> | </div> | ||
== History == | == History == | ||
{{ | {{empty section}} | ||
== External links == | == External links == | ||
| Line 210: | Line 216: | ||
== Navigation == | == Navigation == | ||
{{ | {{Navbox Bedrock Edition}} | ||
[[Category:Development]] | [[Category:Development]] | ||
pt:Manifest.json | [[Minecraft:es:Manifest.json]] | ||
uk:Manifest.json | [[Minecraft:pt:Manifest.json]] | ||
zh: | [[Minecraft:uk:Manifest.json]] | ||
[[Minecraft:zh:清单文件]] | |||
Latest revision as of 11:08, 2 August 2026
Template:Exclusive
manifest.json is a Template:W that contains metadata information for the Minecraft package format. It is required by Minecraft:resource packs, Minecraft:behavior packs, Minecraft:skin packs, and Minecraft:world templates in order to be successfully imported into the game.
JSON format
Version 3
- Template:Nbt: The root tag.
- Template:Nbt: The syntax version used in the manifest file. In this section, it is version Template:Cd.
- Template:Nbt: External information about the pack.
- Template:Nbt: Specific to world templates. Whether a random seed should be generated on world creation.
- Template:Nbt: Specific to world templates. A string Template:Cd representing the version of the vanilla resource and behavior packs to apply.
- Template:Nbt: A description of the pack. Can be text or a translation key.
- Template:Nbt: (only for skin and behaviour packs). Locks the pack from being used as a global pack, rendering it impossible to use on other player's worlds or servers.
- Template:Nbt: Specific to world templates. If enabled, the player can not modify the world options.
- Template:Nbt: A string Template:Cd representing the minimum version of the game the pack can run on.
- Template:Nbt: The name of the pack. Can be text or a translation key.
- Template:Nbt: Works in behaviour and resource packs (but needed more often in resource packs). Represents at which level the pack can be applied. Template:Cd packs can be applied to a world, Template:Cd in global resources and Template:Cd anywhere. Defaults to Template:Cd.
- Template:Nbt: A unique identifier for the pack. Must be of the form Template:Cd, where x in a hexadecimal number (0-9 or a-f).
- Template:Nbt: A string of the form Template:Cd representing the current version of pack. Used to handle updates to the pack.
- Template:Nbt: Name in front of preRelease.
- Template:Nbt: First version number, for Minecraft:Marketplace packages this value always needs to be greater than 0.
- Template:Nbt: Second version number.
- Template:Nbt: Third version number.
- Template:Nbt: Name in front of version.
- Template:Nbt: Describes modules which are content types that the pack may contain.
- Template:Nbt: A module object in the list.
- Template:Nbt: An internal description of the module.
- Template:Nbt: The type of the module, can be: Template:Cd (Minecraft:resource pack), Template:Cd (Minecraft:behavior pack),Template:Cd (Minecraft:Character Creator item or Minecraft:cape (marketplace content only)), Template:Cd, Template:Cd, or Template:Cd (script module).
- Template:Nbt: An identifier unique to the module. Must be of the form Template:Cd, where x in a hexadecimal number (0-9 or a-f).
- Template:Nbt: A string of the form Template:Cd representing the current version of pack. Used to handle updates to the pack.
- Template:Nbt: Name in front of preRelease.
- Template:Nbt: First version number.
- Template:Nbt: Second version number.
- Template:Nbt: Third version number.
- Template:Nbt: Name in front of version.
- Template:Nbt: Specific to script modules. The language the scripts are written in. Only supports Template:Cd.
- Template:Nbt: Specific to script modules. Relative path to the main script file.
- Template:Nbt: A module object in the list.
- Template:Nbt: Describes external dependencies that the pack requires. The dependency may be another pack, or a script module.
- Template:Nbt: Describes a pack dependency.
- Template:Nbt: Template:Cd of the pack dependency.
- Template:Nbt: The name of the pack. Can be text or a translation key.
- Template:NbtTemplate:Nbt: Template:Cd of the dependency to use.
- Template:Nbt: Describes a script module dependency.
- Template:Nbt: Template:Cd of the script module. Optional
- Template:Nbt: Name of the script module, used for importing the Minecraft:Script API.
- Template:NbtTemplate:Nbt: Template:Cd of the dependency to use.
- Template:Nbt: Describes a pack dependency.
- Template:Nbt: Optional features that can be enabled.
- Template:Nbt: A capability to enable, can be:
- Template:Cd – specific to Minecraft:Minecraft Education Minecraft:chemistry features.
- Template:Cd – used internally in the game in the vanilla Minecraft:Bedrock Editor resource pack, and for importing
@minecraft/server-editorscript module.<ref>https://wiki.bedrock.dev/scripting/api-modules</ref> - Template:Cd – experimental custom UI based on HTML and JavaScript. Unsupported since Minecraft:1.18.10.28.<ref>https://bedrock.dev/docs/1.18.0.0/1.18.10.28/UI</ref>
- Template:Cd – enables dynamic code execution in Minecraft:scripting via
eval()function orFunction()constructor.<ref>https://wiki.bedrock.dev/scripting/api-environment</ref> - Template:Cd – enables PBR features specific to Minecraft:ray tracing, which only supports MER subset. Compatible with Vibrant Visuals.
- Template:Cd – enables PBR features specific to Minecraft:Vibrant Visuals with full MERS support.
- Template:Nbt: A capability to enable, can be:
- Template:Nbt: Metadata on the pack, currently mandatory in this version.
- Template:Nbt: List of creators of the pack, currently mandatory in this version.
- Template:Nbt: The name of a creator of the pack.
- Template:Nbt: License the pack is distributed under.
- Template:Nbt: Tools used to generate the manifest.
- Template:Nbt: The name of the list element should be the name of a tool used to generate the manifest. It must be made of simple characters and can be up to 32 characters long.
- Template:Nbt: A string of the form Template:Cd representing a version of the tool used to modify the manifest.
- Template:Nbt: The name of the list element should be the name of a tool used to generate the manifest. It must be made of simple characters and can be up to 32 characters long.
- Template:Nbt: If set to Template:Cd, indicates the pack is meant as part of an Minecraft:add-on. This allows the add-on to not disable achievements when activated, and it makes the resource pack required to be downloaded by other players joining the world.
- Template:Nbt: URL to a website.
- Template:Nbt: List of creators of the pack, currently mandatory in this version.
- Template:Nbt: Only for resource pack. List of sub-packs used in the pack, which can be enabled and disabled individually.
- Template:Nbt: A sub-pack in the list
- Template:Nbt: Name of the folder where the sub-pack is located.
- Template:Nbt: In-game display name of the sub-pack
- Template:Nbt: Denotes the minimum amount of RAM required to run the sub-pack (values range 1–5<ref>https://learn.microsoft.com/en-us/minecraft/creator/documents/texturebudgets</ref>).
- Template:Nbt: A sub-pack in the list
- Template:Nbt: Order-dependent list of settings the player can modify in the game's UI. Pack settings can be applied to both behavior packs and resource packs. Behavior pack settings can be changed by the world or server owner, and are configured per-world. Resource pack settings can be individually configured on a per-player basis.<ref>https://learn.microsoft.com/en-us/minecraft/creator/documents/addons/custompacksettings?view=minecraft-bedrock-stable#:~:text=The%20custom%20pack,per%2Dplayer%20basis.</ref>
- Template:Nbt: A read-only label, used for describing or breaking up the sections of the settings area.
- Template:Nbt: Template:Cd
- Template:Nbt: Text value of the label.
- Template:Nbt: A binary toggle.
- Template:Nbt: Template:Cd
- Template:Nbt: Textual, user-visible label for the toggle.
- Template:Nbt: Programmatic identifier for the value of this toggle that must include a namespace.
- Template:Nbt: Default value of this setting.
- Template:Nbt: A sliding that allows for setting of a number within a range.
- Template:Nbt: Template:Cd
- Template:Nbt: Textual, user-visible label for the slider.
- Template:Nbt: Programmatic identifier for the value of this slider that must include a namespace.
- Template:Nbt: Minimum value for the slider.
- Template:Nbt: Maximum value for the slider.
- Template:Nbt: Incremental "notches" for the slider.
- Template:Nbt: Default value of the slider.
- Template:Nbt: A dropdown that allows for you to choose between a fixed number of options.
- Template:Nbt: Template:Cd
- Template:Nbt: Textual, user-visible label for the dropdown.
- Template:Nbt: Programmatic identifier for the value of this dropdown that must include a namespace.
- Template:Nbt: List of all the items in the dropdown.
- Template:Nbt: Textual, user-visible label for the dropdown.
- Template:Nbt: Programmatic identifier for the value of this dropdown item.
- Template:Nbt: Default value of the dropdown.
- Template:Nbt: A read-only label, used for describing or breaking up the sections of the settings area.
Version 2
- Template:Nbt: The root tag.
- Template:Nbt: The syntax version used in the manifest file. In this section, it is version Template:Cd.
- Template:Nbt: External information about the pack.
- Template:Nbt: Specific to world templates. Whether a random seed should be generated on world creation.
- Template:Nbt: Specific to world templates. A vector Template:Cd representing the version of the vanilla resource and behavior packs to apply.
- Template:Nbt: A description of the pack. Can be text or a translation key.
- Template:Nbt: Locks the pack from being used as a global pack, rendering it impossible to use on other player's worlds or servers.
- Template:Nbt: Specific to world templates. If enabled, the player can not modify the world options.
- Template:Nbt: A vector Template:Cd representing the minimum version of the game the pack can run on.
- Template:Nbt: The name of the pack. Can be text or a translation key.
- Template:Nbt: Specific to resource packs. Represents at which level the pack can be applied. Template:Cd packs can be applied to a world, Template:Cd in global resources and Template:Cd anywhere. Defaults to Template:Cd.
- Template:Nbt: A unique identifier for the pack. Must be of the form Template:Cd, where x in a hexadecimal number (0-9 or a-f).
- Template:NbtTemplate:Nbt: A string of the form Template:Cd or vector Template:Cd representing the current version of pack. Used to handle updates to the pack.
- Template:Nbt: Describes modules which are content types that the pack may contain.
- Template:Nbt: A module object in the list.
- Template:Nbt: An internal description of the module.
- Template:Nbt: The type of the module, can be: Template:Cd (Minecraft:resource pack), Template:Cd (Minecraft:behavior pack), Template:Cd (Minecraft:Character Creator item or Minecraft:cape), Template:Cd, Template:Cd, or Template:Cd (Minecraft:scripting).
- Template:Nbt: An identifier unique to the module. Must be of the form Template:Cd, where x in a hexadecimal number (0-9 or a-f).
- Template:NbtTemplate:Nbt: A string of the form Template:Cd or vector Template:Cd representing the current version of pack. Used to handle updates to the pack.
- Template:Nbt: Specific to script modules. The language the scripts are written in. Only supports Template:Cd.
- Template:Nbt: Specific to script modules. Relative path to the main script file.
- Template:Nbt: A module object in the list.
- Template:Nbt: Describes external dependencies that the pack requires. The dependency may be another pack, or a script module.
- Template:Nbt: Describes a pack dependency.
- Template:Nbt: Template:Cd of the pack dependency.
- Template:Nbt: The name of the pack. Can be text or a translation key.
- Template:NbtTemplate:Nbt: Template:Cd of the dependency to use.
- Template:Nbt: Describes a script module dependency.
- Template:Nbt: Template:Cd of the script module. Optional
- Template:Nbt: Name of the script module, used for importing the Minecraft:Script API.
- Template:NbtTemplate:Nbt: Template:Cd of the dependency to use.
- Template:Nbt: Describes a pack dependency.
- Template:Nbt: Optional features that can be enabled.
- Template:Nbt: A capability to enable, can be:
- Template:Cd – specific to Minecraft:Minecraft Education Minecraft:chemistry features.
- Template:Cd – used internally in the game in the vanilla Minecraft:Bedrock Editor resource pack, and for importing
@minecraft/server-editorscript module.<ref>https://wiki.bedrock.dev/scripting/api-modules</ref> - Template:Cd – experimental custom UI based on HTML and JavaScript. Unsupported since Minecraft:1.18.10.28.<ref>https://bedrock.dev/docs/1.18.0.0/1.18.10.28/UI</ref>
- Template:Cd – enables dynamic code execution in Minecraft:scripting via
eval()function orFunction()constructor.<ref>https://wiki.bedrock.dev/scripting/api-environment</ref> - Template:Cd – enables PBR features specific to Minecraft:ray tracing, which only supports MER subset. Compatible with Vibrant Visuals.
- Template:Cd – enables PBR features specific to Minecraft:Vibrant Visuals with full MERS support.
- Template:Nbt: A capability to enable, can be:
- Template:Nbt: Metadata on the pack.
- Template:Nbt: List of creators of the pack.
- Template:Nbt: The name of a creator of the pack.
- Template:Nbt: License the pack is distributed under.
- Template:Nbt: Tools used to generate the manifest.
- Template:Nbt: The name of the list element should be the name of a tool used to generate the manifest. It must be made of simple characters and can be up to 32 characters long.
- Template:Nbt: A string of the form Template:Cd representing a version of the tool used to modify the manifest.
- Template:Nbt: The name of the list element should be the name of a tool used to generate the manifest. It must be made of simple characters and can be up to 32 characters long.
- Template:Nbt: If set to Template:Cd, indicates the pack is meant as part of an Minecraft:add-on, this also allows the addon to not disable achievements when activated.
- Template:Nbt: URL to a website.
- Template:Nbt: List of creators of the pack.
Old versions
Version 1
The previous iteration of manifest.json only ever contains few basic information about the package, such as header, modules, and dependencies, being very similar to version 2 without the modern features.
These manifest files are documented from multiple built-in resource packs, which are found in the game's directory:
- Template:Nbt: The root tag.
- Template:Nbt: The syntax version used in the manifest file, version 1.
- Template:Nbt: The pack's display information.
- Template:Nbt: A description of the pack. Can be text or a translation key.
- Template:Nbt: The name of the pack. Can be text or a translation key.
- Template:Nbt: A unique identifier for the pack. Must be of the form Template:Cd, where x in a hexadecimal number (0-9 or a-f).
- Template:Nbt: An array consist of three integer numbers representing the current version of pack.
- Template:Nbt: An array consist of three integer numbers representing the minimum version of the game the pack can run on.
- Template:Nbt: Describes modules which are content types that the pack may contain.
- Template:Nbt: A module object in the list.
- Template:Nbt: An internal description of the module.
- Template:Nbt: The type of the module, can be: Template:Cd (Minecraft:resource pack), Template:Cd (Minecraft:behavior pack), and Template:Cd.
- Template:Nbt: An identifier unique to the module. Must be of the form Template:Cd, where x in a hexadecimal number (0-9 or a-f).
- Template:Nbt: An array consist of three integer numbers representing the version of the pack.
- Template:Nbt: A module object in the list.
- Template:Nbt: Describes external dependencies that the pack requires.
- Template:Nbt: Describes a pack dependency.
- Template:Nbt: Template:Cd of the pack dependency.
- Template:Nbt: The name of the pack. Can be text or a translation key.
- Template:Nbt: An array consist of three integer numbers representing the version of the pack.
- Template:Nbt: Describes a pack dependency.
Version 0
The very first version of manifest.json, at the time was named pack_manifest.json, is used back in the Minecraft:v0.16.0 alpha versions. Its syntax is very different from version 1, containing the header object with different properties that would be renamed in the next iteration. Notably, modules and dependencies are contained inside the header object.
It is retroactively called version 0 in the Creator Documentation. Additionally, when the pack containing this manifest is loaded in later versions, it would get converted to version 1 with the new manifest.json, while the old pack_manifest.json would get backed up as pack_manifest.json.old.<ref>https://learn.microsoft.com/en-us/minecraft/creator/reference/content/versiondisambiguation?view=minecraft-bedrock-stable</ref>
Version 0 resource packs are separated into the client and server packs, both serve very similar purposes to the modern resource pack (client) and behavior pack (server).
These manifest files are documented from multiple built-in resource packs, which are found in the game's directory:
- Template:Nbt: The root tag.
- Template:Nbt: The pack's display information.
- Template:Nbt: A unique identifier for the pack. Must be of the form Template:Cd, where x in a hexadecimal number (0-9 or a-f).
- Template:Nbt: The name of the pack. Can be text or a translation key.
- Template:Nbt: An array consist of three integer numbers representing the current version of pack.
- Template:Nbt: A description of the pack. Can be text or a translation key.
- Template:Nbt: Describes modules which are content types that the pack may contain.
- Template:Nbt: A module object in the list.
- Template:Nbt: An internal description of the module.
- Template:Nbt: The type of the module, can be: Template:Cd (client) and Template:Cd (server).
- Template:Nbt: An identifier unique to the module. Must be of the form Template:Cd, where x in a hexadecimal number (0-9 or a-f).
- Template:Nbt: A string formatted like
X.Y.Zrepresenting the version of the pack.
- Template:Nbt: A module object in the list.
- Template:Nbt: Describes external dependencies that the pack requires.
- Template:Nbt: Describes a pack dependency.
- Template:Nbt: Template:Cd of the pack dependency.
- Template:Nbt: The name of the pack. Can be text or a translation key.
- Template:Nbt: A string formatted like
X.Y.Zrepresenting the version of the pack.
- Template:Nbt: Describes a pack dependency.
- Template:Nbt: The pack's display information.
History
External links
- Template:Cite
- Manifest file examples in the
bedrock-samplesprovided by Mojang:
References
<references/>
Template:Navbox Bedrock Edition
Minecraft:es:Manifest.json Minecraft:pt:Manifest.json Minecraft:uk:Manifest.json Minecraft:zh:清单文件