Files
minecraft-bedrock-json-schemas/source/behavior/blocks/format/minecraft.block.json
2023-07-30 13:28:53 +02:00

279 lines
12 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "blockception.minecraft.behavior.blocks",
"title": "Block Definitions",
"description": "A custom block definition.",
"type": "object",
"additionalProperties": false,
"required": ["description", "components"],
"definitions": {
"components_ref": {
"type": "object",
"title": "Component",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"additionalProperties": false,
"properties": {
//Components
"minecraft:collision_box": { "$ref": "./components/collision_box.json" },
"minecraft:crafting_table": { "$ref": "./components/crafting_table.json" },
"minecraft:destructible_by_explosion": { "$ref": "./components/destructible_by_explosion.json" },
"minecraft:destructible_by_mining": { "$ref": "./components/destructible_by_mining.json" },
"minecraft:display_name": { "$ref": "./components/display_name.json" },
"minecraft:flammable": { "$ref": "./components/flammable.json" },
"minecraft:friction": { "$ref": "./components/friction.json" },
"minecraft:geometry": { "$ref": "./components/geometry.json" },
"minecraft:light_dampening": { "$ref": "./components/light_dampening.json" },
"minecraft:light_emission": { "$ref": "./components/light_emission.json" },
"minecraft:loot": { "$ref": "./components/loot.json" },
"minecraft:map_color": { "$ref": "./components/map_color.json" },
"minecraft:material_instances": { "$ref": "./components/material_instances.json" },
"minecraft:part_visibility": { "$ref": "./components/part_visibility.json" },
"minecraft:placement_filter": { "$ref": "./components/placement_filter.json" },
"minecraft:selection_box": { "$ref": "./components/selection_box.json" },
"minecraft:transformation": { "$ref": "./components/transformation.json" },
"minecraft:unit_cube": { "$ref": "./components/unit_cube.json" },
//Triggers
"minecraft:on_fall_on": { "$ref": "./triggers/on_fall_on.json" },
"minecraft:on_interact": { "$ref": "./triggers/on_interact.json" },
"minecraft:on_placed": { "$ref": "./triggers/on_placed.json" },
"minecraft:on_player_destroyed": { "$ref": "./triggers/on_player_destroyed.json" },
"minecraft:on_player_placing": { "$ref": "./triggers/on_player_placing.json" },
"minecraft:on_step_off": { "$ref": "./triggers/on_step_off.json" },
"minecraft:on_step_on": { "$ref": "./triggers/on_step_on.json" },
"minecraft:queued_ticking": { "$ref": "./triggers/queued_ticking.json" },
"minecraft:random_ticking": { "$ref": "./triggers/random_ticking.json" }
}
}
},
"properties": {
"description": {
"title": "Block Description",
"description": "The description for this block.",
"type": "object",
"additionalProperties": false,
"required": ["identifier"],
"properties": {
"menu_category": {
"title": "Menu Category",
"$comment": "UNDOCUMENTED",
"description": "The category this block will be placed in the menu.",
"type": "object",
"default": "misc",
"additionalProperties": false,
"required": ["category"],
"properties": {
"category": {
"title": "Category",
"description": "Determines which category this block will be placed under in the inventory and crafting table container screens. Options are \"construction\", \"nature\", \"equipment\", \"items\", and \"none\". If omitted or \"none\" is specified, the block will not appear in the inventory or crafting table container screens.",
"type": "string",
"enum": ["construction", "nature", "equipment", "items", "none"]
},
"group": {
"title": "Group",
"$comment": "UNDOCUMENTED",
"description": "A translation string of an existing group in minecraft to group this item under",
"type": "string",
"enum": [
"itemGroup.name.anvil",
"itemGroup.name.arrow",
"itemGroup.name.axe",
"itemGroup.name.banner_pattern",
"itemGroup.name.banner",
"itemGroup.name.beacon",
"itemGroup.name.bed",
"itemGroup.name.bell",
"itemGroup.name.boat",
"itemGroup.name.boots",
"itemGroup.name.brick",
"itemGroup.name.buttons",
"itemGroup.name.cactus",
"itemGroup.name.camera",
"itemGroup.name.candles",
"itemGroup.name.chemistrytable",
"itemGroup.name.chest",
"itemGroup.name.chestboat",
"itemGroup.name.chestplate",
"itemGroup.name.clay",
"itemGroup.name.climbing",
"itemGroup.name.cobblestone",
"itemGroup.name.composter",
"itemGroup.name.concrete",
"itemGroup.name.concretePowder",
"itemGroup.name.constructionMisc",
"itemGroup.name.cookedFood",
"itemGroup.name.copper",
"itemGroup.name.coral_decorations",
"itemGroup.name.coral",
"itemGroup.name.craftingTables",
"itemGroup.name.crop",
"itemGroup.name.dirt",
"itemGroup.name.door",
"itemGroup.name.dye",
"itemGroup.name.eggBlocks",
"itemGroup.name.element",
"itemGroup.name.enchantedBook",
"itemGroup.name.enchantingTable",
"itemGroup.name.endPortalFrame",
"itemGroup.name.endRod",
"itemGroup.name.fence",
"itemGroup.name.fenceGate",
"itemGroup.name.firework",
"itemGroup.name.fireworkStars",
"itemGroup.name.flower",
"itemGroup.name.furnaces",
"itemGroup.name.glass",
"itemGroup.name.glassPane",
"itemGroup.name.glazedTerracotta",
"itemGroup.name.glowstone",
"itemGroup.name.goatHorn",
"itemGroup.name.grass",
"itemGroup.name.gravel",
"itemGroup.name.greenery",
"itemGroup.name.grindStone",
"itemGroup.name.helmet",
"itemGroup.name.hoe",
"itemGroup.name.horseArmor",
"itemGroup.name.ice",
"itemGroup.name.ironFence",
"itemGroup.name.items",
"itemGroup.name.leaves",
"itemGroup.name.lectern",
"itemGroup.name.leggings",
"itemGroup.name.lights",
"itemGroup.name.lingeringPotion",
"itemGroup.name.log",
"itemGroup.name.minecart",
"itemGroup.name.miscFood",
"itemGroup.name.mobEgg",
"itemGroup.name.monsterStoneEgg",
"itemGroup.name.mushroom",
"itemGroup.name.musicBlocks",
"itemGroup.name.natureBuildingBlocks",
"itemGroup.name.natureMisc",
"itemGroup.name.ore",
"itemGroup.name.oreBlocks",
"itemGroup.name.permission",
"itemGroup.name.pickaxe",
"itemGroup.name.pistons",
"itemGroup.name.planks",
"itemGroup.name.potion",
"itemGroup.name.pressurePlate",
"itemGroup.name.pumpkins",
"itemGroup.name.purpur",
"itemGroup.name.rail",
"itemGroup.name.rawFood",
"itemGroup.name.record",
"itemGroup.name.redstone",
"itemGroup.name.redstoneContainers",
"itemGroup.name.redstoneProducers",
"itemGroup.name.sand",
"itemGroup.name.sandstone",
"itemGroup.name.sapling",
"itemGroup.name.sculk",
"itemGroup.name.seed",
"itemGroup.name.shovel",
"itemGroup.name.shulkerBox",
"itemGroup.name.sign",
"itemGroup.name.skull",
"itemGroup.name.slab",
"itemGroup.name.splashPotion",
"itemGroup.name.stainedClay",
"itemGroup.name.stairs",
"itemGroup.name.stone",
"itemGroup.name.stoneBrick",
"itemGroup.name.sword",
"itemGroup.name.tnt",
"itemGroup.name.torch",
"itemGroup.name.trapdoor",
"itemGroup.name.walls",
"itemGroup.name.wood",
"itemGroup.name.wool",
"itemGroup.name.woolCarpet"
]
},
"is_hidden_in_commands": {
"title": "Is Hidden In Commands",
"$comment": "UNDOCUMENTED",
"description": "If true, this item will not be shown in the /give command autocomplete list.",
"type": "boolean"
}
}
},
"identifier": {
"type": "string",
"description": "The identifier for this block. The name must include a namespace and must not use the Minecraft namespace unless overriding a Vanilla block.",
"title": "Identifier",
"$ref": "../../../general/block/identifier.json"
},
"is_experimental": {
"type": "boolean",
"default": false,
"description": "If this block is experimental, it will only be registered if the world is marked as experimantal.",
"title": "Is Experimental"
},
"register_to_creative_menu": {
"type": "boolean",
"default": false,
"description": "Whether or not to register this block to the creative inventory menu.",
"title": "Register To Creative Menu"
},
"properties": {
"title": "Properties",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"propertyNames": { "pattern": "^([a-zA-Z0-9_]+:[a-zA-Z0-9_\\-]+)$" },
"type": "object",
"additionalProperties": {
"title": "Property",
"description": "A block property.",
"oneOf": [
{
"type": "array",
"items": {
"title": "Property Value",
"description": "The value of this property.",
"anyOf": [{ "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "string" }]
}
},
{ "type": "object" }
]
}
}
}
},
"events": { "$ref": "./events.json" },
"components": {
"type": "object",
"title": "Component",
"$ref": "#/definitions/components_ref"
},
"permutations": {
"type": "array",
"title": "Permutations",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"items": {
"title": "Permutation",
"description": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"type": "object",
"additionalProperties": false,
"properties": {
"condition": {
"title": "Condition",
"description": "A Molang expression that evaluates to true or false to determine if this permutation should be used. For permutation conditions you are limited to using one Molang query: \"query.block_property()\"",
"$ref": "../../../molang/string.json"
},
"components": {
"type": "object",
"title": "Component",
"$ref": "#/definitions/components_ref"
}
}
}
}
}
}