* - Added precipitation client biome component

* - Renamed input_air_controlled to free_camera_controlled

* - Added vertical_movement_action

* - Renamed dash to dash_action

* - Updated on_death documentation

* - Updated :interact slot list

* - Added drop_item event response

* - Removed experimental markers for poly_mesh

* - Removed experimental markers for texture_meshes

* - Added use_pixel_depth option to texture_mesh

* - Updated swamp surface builder

* - Updated roar behavior

* - Standardize control_flags definition

* - Updated slime_attack behavior

* - Added control_flags to certain goals based on vanilla schemas

* - Added direction to dash_action

* - Added fire_resistant component

* - Added underwater_music field to biome_music

* - Added redstone_producer block component

* - Added flower_pottable

* - Added embedded_visual component

* - Added embedded item_display_transform

* - Added y_rotation filter

* - Added on_take_flower trigger to give_flower behavior

* - Added passenger_of_entity loot condition

* - Added is_baby loot condition

* - Added manifest v3

* - Added stonecutter recipe tag
- Remove duplicate description in recipe schema

* - Give entity_placer block a type
This commit is contained in:
Xterionix
2025-09-08 07:01:39 -05:00
committed by GitHub
parent e9ff52d23a
commit 2082ad8e86
48 changed files with 887 additions and 107 deletions

View File

@@ -4,22 +4,22 @@
"type": "object",
"title": "Manifest Schema",
"description": "The minecraft manifest schema.",
"required": ["format_version", "header"],
"required": [ "format_version", "header" ],
"examples": [
{
"format_version": 2,
"format_version": 3,
"header": {
"description": "pack.description",
"name": "pack.name",
"uuid": "UUID2",
"min_engine_version": [1, 20, 40],
"version": [1, 0, 0]
"min_engine_version": [ 1, 20, 40 ],
"version": [ 1, 0, 0 ]
},
"modules": [
{
"type": "data",
"uuid": "UUID2",
"version": [1, 0, 0]
"version": [ 1, 0, 0 ]
}
]
}
@@ -28,19 +28,19 @@
{
"label": "New Manifest",
"body": {
"format_version": 2,
"format_version": 3,
"header": {
"description": "pack.description",
"name": "pack.name",
"uuid": "$UUID",
"min_engine_version": [1, 20, 10],
"version": [1, 0, 0]
"min_engine_version": [ 1, 20, 10 ],
"version": [ 1, 0, 0 ]
},
"modules": [
{
"type": "data",
"uuid": "$UUID",
"version": [1, 0, 0]
"version": [ 1, 0, 0 ]
}
]
}
@@ -70,6 +70,18 @@
}
},
"then": { "$ref": "./manifest/manifest.2.json" }
},
{
"if": {
"properties": {
"format_version": {
"const": 3,
"type": "number",
"title": "Format Version"
}
}
},
"then": { "$ref": "./manifest/manifest.3.json" }
}
]
}

View File

@@ -0,0 +1,464 @@
{
"$id": "blockception.minecraft.manifest.3",
"type": "object",
"title": "Manifest V3 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": {
"title": "Capabilities",
"description": "These are the different features that the pack makes use of that aren't necessarily enabled by default.",
"oneOf": [
{
"type": "array",
"minItems": 1,
"items": {
"enum": [ "raytraced", "pbr", "script_eval", "editorExtension", "experimental_custom_ui", "chemistry" ]
}
},
{
"type": "object",
"properties": {
"chemistry": {
"type": "boolean",
"description": "Allows the pack to add, change or replace Chemistry functionality.",
"title": "Chemistry"
},
"editorExtension": {
"type": "boolean",
"description": "Indicates that this pack contains extensions for editing.",
"title": "Editor Extension"
},
"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"
},
"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 or modules that are required in order for this manifest.json file to work.",
"items": {
"oneOf": [
{
"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": "../UUIDV4.json",
"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": {
"title": "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",
"oneOf": [ { "$ref": "../Version.json" }, { "$ref": "../format_version.json" } ]
}
}
},
{
"additionalProperties": false,
"type": "object",
"title": "Dependency",
"description": "Section containing definitions for any other packs or modules that are required in order for this manifest.json file to work.",
"properties": {
"module_name": {
"type": "string",
"description": "This is the name of the module that this pack depends on.",
"title": "Module Name",
"examples": [
"@minecraft/server",
"@minecraft/server-editor",
"@minecraft/server-ui",
"@minecraft/server-gametest",
"@minecraft/server-admin",
"@minecraft/server-net"
]
},
"version": {
"title": "Version",
"description": "This is the specific version of the module that your pack depends on.",
"$ref": "../semver.json",
"default": "1.9.0",
"examples": [ "1.10.0-beta", "1.10.0", "1.9.0", "1.8.0", "1.7.0", "1.6.0", "1.5.0", "1.4.0", "1.3.0", "1.2.0", "1.2.0-beta", "1.1.0", "1.0.0" ]
}
}
}
]
}
},
"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": {
"allow_random_seed": {
"title": "Allow Random Seed",
"type": "boolean",
"description": "This option is required for any world templates. This will allow the player to use a random seed when creating a new world from your template."
},
"base_game_version": {
"$ref": "../Version.json",
"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": "../Version.json",
"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."
},
"pack_scope": {
"title": "Pack Scope",
"type": "string",
"description": "This is the scope of the pack. This is only for resource packs",
"enum": [ "global", "world", "any" ]
},
"uuid": {
"title": "UUID",
"$ref": "../UUIDV4.json",
"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",
"description": "This is the version of your pack in the format [majorVersion, minorVersion, revision].",
"oneOf": [ { "$ref": "../Version.json" }, { "$ref": "../semver.json" } ]
}
}
},
"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", "script" ],
"description": "This is the type of the module.",
"title": "Type"
},
"language": {
"type": "string",
"title": "Language",
"description": "The programming language to use.",
"enum": [ "javascript", "Javascript" ]
},
"uuid": {
"$ref": "../UUIDV4.json",
"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": {
"title": "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",
"oneOf": [ { "$ref": "../Version.json" }, { "$ref": "../semver.json" } ]
},
"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." }
},
"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
},
"additionalProperties": {
"type": "array",
"examples": [ [ "1.0.0" ] ],
"title": "Tool",
"description": "The tool and the version used to modified this pack.",
"items": {
"title": "Version",
"$ref": "../semver.json"
}
}
},
"license": { "type": "string", "title": "License", "description": "The license of the pack." },
"product_type": {
"type": "string",
"title": "Product Type",
"description": "The type of product this pack is. This is used to determine how the pack is displayed in the store.",
"enum": [ "", "addon" ]
},
"url": { "type": "string", "format": "uri", "title": "Url", "description": "The home website of your pack." }
}
},
"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."
}
}
}
},
"settings": {
"title": "Settings",
"description": "UNDOCUMENTED",
"type": "array",
"items": {
"oneOf": [
{
"title": "Label Setting",
"description": "UNDOCUMENTED",
"type": "object",
"properties": {
"text": {
"title": "Text",
"description": "UNDOCUMENTED",
"type": "string"
},
"type": {
"title": "Setting Type",
"description": "UNDOCUMENTED",
"type": "string",
"const": "label"
}
},
"required": [
"text",
"type"
]
},
{
"title": "Slider Setting",
"type": "object",
"properties": {
"default": {
"title": "Default",
"description": "UNDOCUMENTED",
"type": "number"
},
"max": {
"title": "Max",
"description": "UNDOCUMENTED",
"type": "number"
},
"min": {
"title": "Min",
"description": "UNDOCUMENTED",
"type": "number"
},
"name": {
"title": "Name",
"description": "UNDOCUMENTED",
"type": "string",
"pattern": "^(?:(?!^(minecraft):).)+:(?:.)+$"
},
"step": {
"title": "Step",
"description": "UNDOCUMENTED",
"type": "number",
"exclusiveMinimum": 0.0
},
"text": {
"title": "Text",
"description": "UNDOCUMENTED",
"type": "string"
},
"type": {
"title": "Setting Type",
"description": "UNDOCUMENTED",
"type": "string",
"const": "slider"
}
},
"required": [
"default",
"max",
"min",
"name",
"step",
"text",
"type"
]
},
{
"title": "Toggle Setting",
"type": "object",
"properties": {
"default": {
"title": "Default",
"description": "UNDOCUMENTED",
"type": "boolean"
},
"name": {
"title": "Name",
"description": "UNDOCUMENTED",
"type": "string",
"pattern": "^(?:(?!^(minecraft):).)+:(?:.)+$"
},
"text": {
"title": "Text",
"description": "UNDOCUMENTED",
"type": "string"
},
"type": {
"title": "Setting Type",
"description": "UNDOCUMENTED",
"type": "string",
"const": "toggle"
}
},
"required": [
"default",
"name",
"text",
"type"
]
},
{
"title": "Dropdown Setting",
"type": "object",
"properties": {
"default": {
"title": "Default",
"description": "UNDOCUMENTED",
"type": "string",
"minLength": 1
},
"name": {
"title": "Name",
"description": "UNDOCUMENTED",
"type": "string",
"pattern": "^(?:(?!^(minecraft):).)+:(?:.)+$"
},
"options": {
"title": "Options",
"description": "UNDOCUMENTED",
"type": "array",
"items": {
"title": "Dropdown Option",
"description": "UNDOCUMENTED",
"type": "object",
"properties": {
"name": {
"title": "Name",
"description": "UNDOCUMENTED",
"type": "string",
"minLength": 1
},
"text": {
"title": "Text",
"description": "UNDOCUMENTED",
"type": "string",
"minLength": 1
}
},
"required": [
"name",
"text"
]
},
"minItems": 2
},
"text": {
"title": "Text",
"description": "UNDOCUMENTED",
"type": "string"
},
"type": {
"title": "Setting Type",
"description": "UNDOCUMENTED",
"type": "string",
"const": "dropdown"
}
},
"required": [
"default",
"name",
"options",
"text",
"type"
]
}
]
},
"minItems": 1
}
}
}