2022-06-07 21:37:57 +02:00
{
"$schema" : "http://json-schema.org/draft-07/schema" ,
2022-06-07 21:39:02 +02:00
"$id" : "blockception.minecraft.behavior.blocks" ,
2022-06-07 21:37:57 +02:00
"title" : "Block Definitions" ,
2022-07-22 19:41:04 +02:00
"description" : "A custom block definition." ,
2022-06-07 21:37:57 +02:00
"type" : "object" ,
"additionalProperties" : false ,
"required" : [ "description" , "components" ] ,
"definitions" : {
"components_ref" : {
"type" : "object" ,
"title" : "Component" ,
2022-07-22 19:41:04 +02:00
"description" : "UNDOCUMENTED." ,
2022-06-07 21:37:57 +02:00
"$comment" : "UNDOCUMENTED" ,
"additionalProperties" : false ,
"properties" : {
2022-10-29 16:36:39 +02:00
//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" } ,
2022-06-07 21:37:57 +02:00
"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" } ,
2022-10-29 16:36:39 +02:00
"minecraft:light_dampening" : { "$ref" : "./components/light_dampening.json" } ,
"minecraft:light_emission" : { "$ref" : "./components/light_emission.json" } ,
2022-06-07 21:37:57 +02:00
"minecraft:loot" : { "$ref" : "./components/loot.json" } ,
"minecraft:map_color" : { "$ref" : "./components/map_color.json" } ,
"minecraft:material_instances" : { "$ref" : "./components/material_instances.json" } ,
2022-07-27 19:30:39 +02:00
"minecraft:part_visibility" : { "$ref" : "./components/part_visibility.json" } ,
2022-06-07 21:37:57 +02:00
"minecraft:placement_filter" : { "$ref" : "./components/placement_filter.json" } ,
"minecraft:rotation" : { "$ref" : "./components/rotation.json" } ,
2022-10-29 16:36:39 +02:00
"minecraft:selection_box" : { "$ref" : "./components/selection_box.json" } ,
2022-06-07 21:37:57 +02:00
"minecraft:unit_cube" : { "$ref" : "./components/unit_cube.json" } ,
2022-10-29 16:36:39 +02:00
//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" }
2022-06-07 21:37:57 +02:00
}
}
} ,
"properties" : {
"description" : {
"title" : "Block Description" ,
2022-07-22 19:41:04 +02:00
"description" : "The description for this block." ,
2022-06-07 21:37:57 +02:00
"type" : "object" ,
"additionalProperties" : false ,
"required" : [ "identifier" ] ,
"properties" : {
2022-10-10 19:34:01 +02:00
"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" : {
2022-10-29 16:36:39 +02:00
"menu_category" : {
"title" : "" ,
"description" : "" ,
"type" : "object" ,
"additionalProperties" : false ,
"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" ,
"description" : "Specifies the language file key that maps to which expandable/collapsible group this block will be a part of within a category. If this field is omitted, or there is no group whose name matches the loc string, this block will be placed standalone in the given category." ,
"type" : "string"
}
}
2022-10-10 19:34:01 +02:00
} ,
"group" : {
"title" : "Group" ,
"$comment" : "UNDOCUMENTED" ,
2022-10-11 21:01:26 +02:00
"description" : "A translation string of an existing group in minecraft to group this item under" ,
2022-10-10 19:34:01 +02:00
"type" : "string" ,
2022-10-11 21:01:26 +02:00
"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"
]
2022-10-10 19:34:01 +02:00
}
}
} ,
2022-06-07 21:37:57 +02:00
"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" ,
2022-07-22 19:41:04 +02:00
"description" : "UNDOCUMENTED." ,
2022-06-07 21:37:57 +02:00
"$comment" : "UNDOCUMENTED" ,
"propertyNames" : { "pattern" : "^([a-zA-Z0-9_]+:[a-zA-Z0-9_\\-]+)$" } ,
"type" : "object" ,
"additionalProperties" : {
"title" : "Property" ,
2022-07-22 19:41:04 +02:00
"description" : "A block property." ,
2022-06-07 21:37:57 +02:00
"oneOf" : [
{
"type" : "array" ,
"items" : {
"title" : "Property Value" ,
2022-07-22 19:41:04 +02:00
"description" : "The value of this property." ,
2022-06-07 21:37:57 +02:00
"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" ,
2022-07-22 19:41:04 +02:00
"description" : "UNDOCUMENTED." ,
2022-06-07 21:37:57 +02:00
"$comment" : "UNDOCUMENTED" ,
"items" : {
"title" : "Permutation" ,
2022-07-22 19:41:04 +02:00
"description" : "UNDOCUMENTED." ,
2022-06-07 21:37:57 +02:00
"$comment" : "UNDOCUMENTED" ,
"type" : "object" ,
"additionalProperties" : false ,
"properties" : {
"condition" : {
"title" : "Condition" ,
2022-10-29 16:36:39 +02:00
"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()\"" ,
2022-06-07 21:37:57 +02:00
"$ref" : "../../../molang/string.json"
} ,
"components" : {
"type" : "object" ,
"title" : "Component" ,
"$ref" : "#/definitions/components_ref"
}
}
}
}
}
}