Files
minecraft-bedrock-json-schemas/source/behavior/blocks/format/minecraft.block.json
2022-10-11 21:01:26 +02:00

277 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": {
"minecraft:block_light_filter": { "$ref": "./components/block_light_filter.json" },
"minecraft:block_light_emission": { "$ref": "./components/block_light_emission.json" },
"minecraft:breakonpush": { "$ref": "./components/breakonpush.json" },
"minecraft:breathability": { "$ref": "./components/breathability.json" },
"minecraft:destroy_time": { "$ref": "./components/destroy_time.json" },
"minecraft:display_name": { "$ref": "./components/display_name.json" },
"minecraft:entity_collision": { "$ref": "./components/entity_collision.json" },
"minecraft:explosion_resistance": { "$ref": "./components/explosion_resistance.json" },
"minecraft:flammable": { "$ref": "./components/flammable.json" },
"minecraft:friction": { "$ref": "./components/friction.json" },
"minecraft:geometry": { "$ref": "./components/geometry.json" },
"minecraft:immovable": { "$ref": "./components/immovable.json" },
"minecraft:loot": { "$ref": "./components/loot.json" },
"minecraft:map_color": { "$ref": "./components/map_color.json" },
"minecraft:material_instances": { "$ref": "./components/material_instances.json" },
"minecraft:onlypistonpush": { "$ref": "./components/onlypistonpush.json" },
"minecraft:part_visibility": { "$ref": "./components/part_visibility.json" },
"minecraft:on_fall_on": { "$ref": "./components/on_fall_on.json" },
"minecraft:on_interact": { "$ref": "./components/on_interact.json" },
"minecraft:on_placed": { "$ref": "./components/on_placed.json" },
"minecraft:on_player_destroyed": { "$ref": "./components/on_player_destroyed.json" },
"minecraft:on_player_placing": { "$ref": "./components/on_player_placing.json" },
"minecraft:on_step_off": { "$ref": "./components/on_step_off.json" },
"minecraft:on_step_on": { "$ref": "./components/on_step_on.json" },
"minecraft:pick_collision": { "$ref": "./components/pick_collision.json" },
"minecraft:placement_filter": { "$ref": "./components/placement_filter.json" },
"minecraft:preventsjumping": { "$ref": "./components/preventsjumping.json" },
"minecraft:random_ticking": { "$ref": "./components/random_ticking.json" },
"minecraft:rotation": { "$ref": "./components/rotation.json" },
"minecraft:ticking": { "$ref": "./components/ticking.json" },
"minecraft:unit_cube": { "$ref": "./components/unit_cube.json" },
"minecraft:unwalkable": { "$ref": "./components/unwalkable.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 in the menu.",
"type": "object",
"default": "misc",
"additionalProperties": false,
"required": ["category"],
"properties": {
"category": {
"title": "Category",
"$comment": "UNDOCUMENTED",
"description": "construction",
"type": "string",
"enum": ["construction", "equipment", "items", "nature"]
},
"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"
]
}
}
},
"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": "UNDOCUMENTED.",
"$comment": "UNDOCUMENTED",
"$ref": "../../../molang/string.json"
},
"components": {
"type": "object",
"title": "Component",
"$ref": "#/definitions/components_ref"
}
}
}
}
}
}