-
Notifications
You must be signed in to change notification settings - Fork 31
/
blocks.json
1 lines (1 loc) · 32 KB
/
blocks.json
1
{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.block","$comment":"UNDOCUMENTED","required":["format_version","minecraft:block"],"type":"object","title":"Block Behavior","description":"The minecraft block behavior specification.","additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:block":{"$ref":"#/definitions/B"}},"defaultSnippets":[{"label":"New block","body":{"format_version":"${1:1.20.80}","minecraft:block":{"description":{"identifier":"$2:${3:${TM_FILENAME/[\\.].*//}}"},"components":"^{$4}"}}}],"definitions":{"A":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^([1-9]+)\\.([0-9]+)\\.([0-9]+)$","type":"string","default":"1.20.81","examples":["1.20.81","1.20.40","1.19.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18,19,20|}.${3|2|0|}"}]},"B_components_ref":{"type":"object","title":"Component","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"minecraft:collision_box":{"$ref":"#/definitions/C"},"minecraft:crafting_table":{"$ref":"#/definitions/D"},"minecraft:destructible_by_explosion":{"$ref":"#/definitions/E"},"minecraft:destructible_by_mining":{"$ref":"#/definitions/F"},"minecraft:display_name":{"$ref":"#/definitions/G"},"minecraft:flammable":{"$ref":"#/definitions/H"},"minecraft:friction":{"$ref":"#/definitions/I"},"minecraft:geometry":{"$ref":"#/definitions/J"},"minecraft:item_visual":{"$ref":"#/definitions/BA"},"minecraft:light_dampening":{"$ref":"#/definitions/BC"},"minecraft:light_emission":{"$ref":"#/definitions/BD"},"minecraft:liquid_detection":{"$ref":"#/definitions/BE"},"minecraft:loot":{"$ref":"#/definitions/BF"},"minecraft:map_color":{"$ref":"#/definitions/BG"},"minecraft:material_instances":{"$ref":"#/definitions/BB"},"minecraft:placement_filter":{"$ref":"#/definitions/BH"},"minecraft:redstone_conductivity":{"$ref":"#/definitions/CB"},"minecraft:selection_box":{"$ref":"#/definitions/CC"},"minecraft:transformation":{"$ref":"#/definitions/CD"},"minecraft:custom_components":{"$ref":"#/definitions/CE"},"minecraft:tick":{"$ref":"#/definitions/CF"},"minecraft:entity_fall_on":{"$ref":"#/definitions/CG"},"tag:minecraft:diamond_tier_destructible":{},"tag:minecraft:iron_tier_destructible":{},"tag:minecraft:is_axe_item_destructible":{},"tag:minecraft:is_hoe_item_destructible":{},"tag:minecraft:is_mace_item_destructible":{},"tag:minecraft:is_pickaxe_item_destructible":{},"tag:minecraft:is_shears_item_destructible":{},"tag:minecraft:is_shovel_item_destructible":{},"tag:minecraft:is_sword_item_destructible":{},"tag:minecraft:netherite_tier_destructible":{},"tag:minecraft:stone_tier_destructible":{}},"patternProperties":{"tag:.+":{"title":"Tag","description":"Applies a tag to the block, using the key without the \"tag:\" prefix as the tag name.","type":"object","additionalProperties":false}}},"B_states_ref":{"title":"States","description":"Block states are variables that can be set to different values in order to change how your block looks or behaves.","type":"object","propertyNames":{"pattern":"^([a-zA-Z0-9_]+:[a-zA-Z0-9_\\-]+)$"},"additionalProperties":{"title":"State","description":"The key defines the name of a state, which must be properly namespaced. Each value is an array that contains all of the possible values of that state or an object defining a range of integers.","oneOf":[{"$ref":"#/definitions/CH"},{"$ref":"#/definitions/CI"}]}},"B_traits_ref":{"title":"Traits","description":"A shortcut for creators to use Vanilla block states without needing to define and manage a series of events or triggers on custom blocks","type":"object","additionalProperties":false,"properties":{"minecraft:placement_direction":{"$ref":"#/definitions/CJ"},"minecraft:placement_position":{"$ref":"#/definitions/DA"}}},"C":{"title":"Collision Box","description":"This component can be specified as a Boolean. If this component is omitted, the default value for this component is true, which will give your block the default values for its parameters (a collision box the size/shape of a regular block).","oneOf":[{"type":"boolean","default":true},{"type":"object","additionalProperties":false,"properties":{"origin":{"title":"Origin","description":"Minimal position of the bounds of the collision box. origin is specified as [x, y, z] and must be in the range (-8, 0, -8) to (8, 16, 8), inclusive.","type":"array","items":[{"title":"X","type":"number","minimum":-8.0,"maximum":8},{"title":"Y","type":"number","minimum":0,"maximum":16},{"title":"Z","type":"number","minimum":-8.0,"maximum":8}]},"size":{"title":"Size","description":"Size of each side of the collision box. Size is specified as [x, y, z]. origin + size must be in the range (-8, 0, -8) to (8, 16, 8), inclusive.","type":"array","items":[{"title":"X","type":"number","minimum":-8.0,"maximum":8},{"title":"Y","type":"number","minimum":0,"maximum":16},{"title":"Z","type":"number","minimum":-8.0,"maximum":8}]}}}]},"D":{"title":"Crafting Table","description":"Makes your block into a custom crafting table which enables the crafting table UI and the ability to craft recipes.","additionalProperties":false,"type":"object","required":[],"properties":{"crafting_tags":{"title":"Crafting Tags","description":"Defines the tags recipes should define to be crafted on this table. Limited to 64 tags. Each tag is limited to 64 characters.","type":"array","maxItems":64,"items":{"type":"string","title":"Tag","description":"The tag to check for.","minLength":1,"maxLength":64}},"table_name":{"title":"Table Name","description":"Specifies the language file key that maps to what text will be displayed in the UI of this table. If the string given can not be resolved as a loc string, the raw string given will be displayed. If this field is omitted, the name displayed will default to the name specified in the \"display_name\" component. If this block has no \"display_name\" component, the name displayed will default to the name of the block.","type":"string"}}},"E":{"title":"Destructible By Explosion","description":"Describes the destructible by explosion properties for this block. If set to true, the block will have the default explosion resistance. If set to false, this block is indestructible by explosion. If the component is omitted, the block will have the default explosion resistance.","oneOf":[{"type":"boolean","default":true},{"type":"object","additionalProperties":false,"required":[],"properties":{"explosion_resistance":{"title":"Explosion Resistance","description":"Describes how resistant the block is to explosion. Greater values mean the block is less likely to break when near an explosion (or has higher resistance to explosions). The scale will be different for different explosion power levels. A negative value or 0 means it will easily explode; larger numbers increase level of resistance.","type":"number","default":0.0}}}]},"F":{"title":"Destructible By Mining","description":"Describes the destructible by mining properties for this block. If set to true, the block will take the default number of seconds to destroy. If set to false, this block is indestructible by mining. If the component is omitted, the block will take the default number of seconds to destroy.","oneOf":[{"type":"boolean","default":true},{"type":"object","additionalProperties":false,"required":[],"properties":{"seconds_to_destroy":{"title":"Seconds To Destroy","description":"Sets the number of seconds it takes to destroy the block with base equipment. Greater numbers result in greater mining times.","type":"number","default":0.0},"item_specific_speeds":{"type":"array","title":"Item Specific Destroy Speeds","description":"Optional array of objects to describe item-specific block destroy speeds.","minItems":1,"items":{"title":"Item Specific Destroy Speed","type":"object","additionalProperties":false,"required":["item","destroy_speed"],"properties":{"item":{"anyOf":[{"title":"Item Identifer","description":"ItemDescriptor filtering for the item used while mining.","type":"string"},{"type":"object","description":"ItemDescriptor filtering for the item used while mining.","additionalProperties":false,"properties":{"tags":{"title":"Tags","description":"Molang or tag","type":"string"}}}]},"destroy_speed":{"title":"Destroy Speed","type":"number","description":"Sets the number of seconds it takes to destroy the block with base equipment. Greater numbers result in greater mining times.","minimum":0}}}}}}]},"G":{"title":"Display Name","description":"Specifies the language file key that maps to what text will be displayed when you hover over the block in your inventory and hotbar. If the string given can not be resolved as a loc string, the raw string given will be displayed. If this component is omitted, the name of the block will be used as the display name.","type":"string"},"H":{"title":"Flammable","description":"Describes the flammable properties for this block. If set to true, default values are used. If set to false, or if this component is omitted, the block will not be able to catch on fire naturally from neighbors, but it can still be directly ignited.","oneOf":[{"type":"boolean","default":true},{"type":"object","additionalProperties":false,"required":[],"properties":{"catch_chance_modifier":{"title":"Catch Chance Modifier","description":"A modifier affecting the chance that this block will catch flame when next to a fire. Values are greater than or equal to 0, with a higher number meaning more likely to catch on fire","type":"number","default":5},"destroy_chance_modifier":{"title":"Destroy Chance Modifier","description":"A modifier affecting the chance that this block will be destroyed by flames when on fire.","type":"number","default":20}}}]},"I":{"title":"Friction","description":"Describes the friction for this block in a range of (0.0-0.9). Friction affects an entity's movement speed when it travels on the block. Greater value results in more friction.","type":"number","default":0.4,"minimum":0,"maximum":0.9},"J":{"title":"Geometry","description":"The description identifier of the geometry file to use to render this block. This identifier must match an existing geometry identifier in any of the currently loaded resource packs.","oneOf":[{"type":"string","pattern":"[a-zA-Z0-9_\\.:\\=]"},{"type":"object","additionalProperties":false,"required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The description identifier of the geometry file to use to render this block. This identifier must match an existing geometry identifier in any of the currently loaded resource packs.","type":"string","pattern":"[a-zA-Z0-9_\\.:\\=]"},"bone_visibility":{"title":"Bone Visibility","description":"A list of bones that should be visible when rendering this block. If not specified, all bones will be visible.","type":"object","additionalProperties":{"type":["boolean","string"],"description":"Whether or not the bone should be visible. Can be defined as a boolean or a molang expression resulting in a boolean.","title":"Bone Visibility"}},"culling":{"title":"Block Culling Rule","description":"The description identifer of the block culling rule used to cull this block. This identifier must match an existing geometry identifier in any of the currently loaded resource packs.","type":"string"}}}]},"BB":{"title":"Material Instances","description":"The material instances for a block. Maps face or material_instance names in a geometry file to an actual material instance. You can assign a material instance object to any of these faces: \"up\", \"down\", \"north\", \"south\", \"east\", \"west\", or \"*\". You can also give an instance the name of your choosing such as \"my_instance\", and then assign it to a face by doing \"north\":\"my_instance\".","required":[],"examples":[{"*":{}},{"custom_sides":{}},{"up":{}},{"down":{}},{"north":{}},{"south":"custom_sides"},{"east":"custom_sides"},{"west":"custom_sides"}],"type":"object","additionalProperties":{"title":"Material Instance","description":"The material instance for a block. Maps face or material_instance names in a geometry file to an actual material instance. You can assign a material instance object to any of these faces: \"up\", \"down\", \"north\", \"south\", \"east\", \"west\", or \"*\". You can also give an instance the name of your choosing such as \"my_instance\", and then assign it to a face by doing \"north\":\"my_instance\".","oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"properties":{"ambient_occlusion":{"title":"Ambient Occlusion","description":"Should this material have ambient occlusion applied when lighting? If true, shadows will be created around and underneath the block.","anyOf":[{"type":"boolean","default":true},{"type":"number","minimum":0}]},"face_dimming":{"title":"Face Dimming","type":"boolean","default":true,"description":"Should this material be dimmed by the direction it's facing?"},"render_method":{"title":"Render Method","type":"string","default":"opaque","description":"The render method to use. Must be one of these options: opaque - Used for a regular block texture without an alpha layer. Does not allow for transparency or translucency. double_sided - Used for completely disabling backface culling. blend - Used for a block like stained glass. Allows for transparency and translucency (slightly transparent textures). alpha_test - Used for a block like the vanilla (unstained) glass. Does not allow for translucency, only fully opaque or fully transparent textures. Also disables backface culling.","markdownDescription":"The render method to use. Must be one of these options: \nopaque - Used for a regular block texture without an alpha layer. Does not allow for transparency or translucency.\ndouble_sided - Used for completely disabling backface culling.\nblend - Used for a block like stained glass. Allows for transparency and translucency (slightly transparent textures).\nalpha_test - Used for a block like the vanilla (unstained) glass. Does not allow for translucency, only fully opaque or fully transparent textures. Also disables backface culling.","enum":["opaque","double_sided","blend","alpha_test","alpha_test_single_sided"]},"texture":{"title":"Texture","type":"string","description":"Texture name for the material."}}}]}},"BA":{"title":"Item Visual","description":"The description identifier of the geometry and material used to render the item of this block.\nExperimental toggles required: Upcoming Creator Features","type":"object","additionalProperties":false,"required":["geometry","material_instances"],"properties":{"geometry":{"title":"Geometry","description":"The \"minecraft:geometry\" component that will be used for the item.","$ref":"#/definitions/J"},"material_instances":{"title":"Geometry","description":"The \"minecraft:material_instances\" component that will be used for the item.","$ref":"#/definitions/BB"}}},"BC":{"title":"Light Dampening","description":"The amount that light will be dampened when it passes through the block, in a range (0-15). Higher value means the light will be dampened more.","type":"integer","default":15,"minimum":0,"maximum":15},"BD":{"title":"Light Emission","description":"The amount of light this block will emit in a range (0-15). Higher value means more light will be emitted.","type":"integer","default":15,"minimum":0,"maximum":15},"BE_definition_rule":{"title":"Definition Rule","description":"The definition rule that specifies the behavior for one liquid type.","type":"object","additionalProperties":false,"properties":{"can_contain_liquid":{"title":"Can Contain Liquid","description":"Whether this block can contain the liquid. For example, if the liquid type is water, this means the block can be waterlogged.","type":"boolean","default":false},"liquid_type":{"title":"Liquid Type","description":"The type of liquid this detection rule is for.","type":"string","enum":["water"],"default":"water"},"on_liquid_touches":{"title":"On Liquid Touches","description":"How the block reacts to flowing water. Must be one of the following options:\n\"blocking\" - The default value for this field. The block stops the liquid from flowing.\n\"broken\" - The block is destroyed completely.\n\"popped\" - The block is destroyed and its item is spawned.\n\"no_reaction\" - The block is unaffected; visually, the liquid will flow through the block.","type":"string","enum":["blocking","broken","popped","no_reaction"],"default":"blocking"},"stops_liquid_flowing_from_direction":{"title":"Stops Liquid Flowing From Direction","description":"When a block contains a liquid, controls the directions in which the liquid can't flow out from the block. Also controls the directions in which a block can stop liquid flowing into it if no_reaction is set for the on_liquid_touches field. The default is an empty list; this means that liquid can flow out of all directions by default.","type":"array","uniqueItems":true,"items":{"type":"string","enum":["up","down","north","south","east","west","side","all"]}}}},"BE":{"title":"Liquid Detection","description":"The definitions for how a block behaves when detecting liquid. Only one rule definition is allowed per liquid type - if multiple are specified, the first will be used and the rest will be ignored.\nExperimental toggles required: Upcoming Creator Features","type":"object","additionalProperties":false,"required":[],"properties":{"detection_rules":{"type":"array","items":{"$ref":"#/definitions/BE_definition_rule"}}}},"BF":{"title":"Loot","description":"The path to the loot table, relative to the behavior pack.","type":"string","pattern":"loot_tables/.*\\.json$","maxLength":256},"BG":{"title":"Map Color","description":"Sets the color of the block when rendered to a map. The color is represented as a hex value in the format \"#RRGGBB\". May also be expressed as an array of [R, G, B] from 0 to 255. If this component is omitted, the block will not show up on the map.","oneOf":[{"type":"string","format":"colox-hex","default":"#FFFFFF"},{"type":"array","items":[{"title":"Red","type":"integer","default":0,"minimum":0,"maximum":255},{"title":"Green","type":"integer","default":0,"minimum":0,"maximum":255},{"title":"Blue","type":"integer","default":0,"minimum":0,"maximum":255}]}],"examples":["#FFFFFF",[255,255,255]]},"BJ":{"description":"A minecraft block identifier.","examples":["namespace:block"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Block Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"CA":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"BI":{"description":"A minecraft block reference.","examples":["namespace:block",{"name":"namespace:block"}],"title":"Block Reference","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}],"oneOf":[{"type":"string","$ref":"#/definitions/BJ"},{"title":"Block Reference","description":"","type":"object","additionalProperties":false,"properties":{"name":{"type":"string","$ref":"#/definitions/BJ"},"states":{"title":"States","description":"","type":"object","propertyNames":{"pattern":"\\w*:?\\w+"},"example":[{"property":"value"}],"additionalProperties":{"type":["boolean","integer","string"],"title":"State Value","description":"The key of property is the name of the block state/property, the value must be the same as the block properties accepted values."}},"tags":{"$ref":"#/definitions/CA","description":"A condition using Molang queries that results to true/false that can be used to query for blocks with certain tags.","examples":["query.any_tag('wood')"]}}}]},"BH":{"title":"Placement Filter","type":"object","properties":{"conditions":{"title":"Conditions","description":"List of conditions where the block can be placed/survive. Limited to 64 conditions. Each condition is a JSON Object that must contain at least one (and can contain both) of the parameters allowed_faces or block_filter as shown below.","examples":[{"allowed_faces":["up"],"block_filter":["grass"]}],"type":"array","minItems":1,"items":{"title":"Placement Filter","type":"object","additionalProperties":false,"properties":{"allowed_faces":{"title":"Allowed Faces","type":"array","description":"List of any of the following strings describing which face(s) this block can be placed on: \"up\", \"down\", \"north\", \"south\", \"east\", \"west\", \"side\", \"all\". Limited to 6 faces.","uniqueItems":true,"items":{"type":"string","enum":["up","down","north","south","east","west","side","all"]}},"block_filter":{"title":"Block Filter","type":"array","description":"List of blocks that this block can be placed against in the \"allowed_faces\" direction. Limited to 64 blocks. Each block in this list can either be specified as a String (block name) or as a BlockDescriptor. A BlockDescriptor is an object that allows you to reference a block (or multiple blocks) based on its tags, or based on its name and states. The fields of a BlockDescriptor are described below.","items":{"title":"Block Filter","description":"[Experimental]","$ref":"#/definitions/BI"}}}}}}},"CB":{"title":"Redstone Conductivity","description":"The basic redstone properties of a block; if the component is not provided the default values are used.","type":"object","additionalProperties":false,"required":[],"properties":{"allows_wire_to_step_down":{"title":"Allows Wire To Step Down","description":"Specifies if redstone wire can stair-step downward on the block.","type":"boolean","default":true},"redstone_conductor":{"title":"Redstone Conductor","description":"Specifies if the block can be powered by redstone.","type":"boolean","default":false}}},"CC":{"title":"Selection Box","description":"Defines the area of the block that is selected by the player's cursor. If set to true, default values are used. If set to false, this block is not selectable by the player's cursor. If this component is omitted, default values are used.","oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"properties":{"origin":{"title":"Origin","default":[0,0,0],"description":"Minimal position of the bounds of the selection box. \"origin\" is specified as [x, y, z] and must be in the range (-8, 0, -8) to (8, 16, 8), inclusive.","type":"array","items":[{"title":"X","type":"number","minimum":-8.0,"maximum":8},{"title":"Y","type":"number","minimum":0,"maximum":16},{"title":"Z","type":"number","minimum":-8.0,"maximum":8}]},"size":{"title":"Size","default":[8.0,8.0,8.0],"description":"Size of each side of the selection box. Size is specified as [x, y, z]. \"origin\" + \"size\" must be in the range (-8, 0, -8) to (8, 16, 8), inclusive.","type":"array","items":[{"title":"X","type":"number","minimum":-8.0,"maximum":8},{"title":"Y","type":"number","minimum":0,"maximum":16},{"title":"Z","type":"number","minimum":-8.0,"maximum":8}]}}}]},"CD":{"title":"Transformation","description":"Supports rotation, scaling, and translation","type":"object","additionalProperties":false,"properties":{"rotation":{"title":"Rotation","description":"Amount in degrees the block should be rotated on each axis. \"rotation\" is specified as [x, y, z] using floating point values and must be axis aligned, otherwise the value will be rounded to the nearest axis-aligned value.","type":"array","items":[{"title":"X","type":"number","default":0},{"title":"Y","type":"number","default":0},{"title":"Z","type":"number","default":0}]},"scale":{"title":"Scale","description":"Amount the block should be scaled along each axis. \"scale\" is specified as [x, y, z] using floating point values.","type":"array","items":[{"title":"X","type":"number","default":1},{"title":"Y","type":"number","default":1},{"title":"Z","type":"number","default":1}]},"translation":{"title":"Translation","description":"Amount the block should be translated along each axis. \"translation\" is specified as [x, y, z] using floating point values.","type":"array","items":[{"title":"X","type":"number","default":0},{"title":"Y","type":"number","default":0},{"title":"Z","type":"number","default":0}]},"scale_pivot":{"title":"Scale Pivot","description":"Offset to the pivot point around which to apply the scale. \"scale_pivot\" is specified as [x, y, z] using floating point values.","type":"array","default":[0,0,0],"items":[{"title":"X","type":"number","default":0},{"title":"Y","type":"number","default":0},{"title":"Z","type":"number","default":0}]},"rotation_pivot":{"title":"Rotation Pivot","description":"Offset to the pivot point around which to apply the rotation. \"rotation_pivot\" is specified as [x, y, z] using floating point values.","type":"array","default":[0,0,0],"items":[{"title":"X","type":"number","default":0},{"title":"Y","type":"number","default":0},{"title":"Z","type":"number","default":0}]}}},"CE":{"title":"Custom Components","description":"Used to register custom components.","additionalProperties":false,"type":"array","items":{"type":"string"}},"CF":{"title":"Tick","description":"Describes the component that will trigger an even at a regular interval between two values.","type":"object","additionalProperties":false,"properties":{"looping":{"type":"boolean","default":true,"description":"Does the event loop.","title":"Looping"},"interval_range":{"type":"array","description":"The Range between which the component will trigger his event.","title":"Interval Range"}}},"CG":{"title":"Entity Fall On","description":"Required component to use the custom component `onEntityFallOn`.","type":"object","additionalProperties":false,"required":[],"properties":{"min_fall_distance":{"title":"Min Fall Distance","description":"Sets the minimum fall distance required to trigger the custom component.","type":"number"}}},"CH":{"type":"array","minItems":1,"maxItems":16,"uniqueItems":true,"items":{"description":"A valid value of this state. All valid values must be of the same type (boolean, integer or string)."},"oneOf":[{"items":{"title":"Boolean State Value","type":"boolean"}},{"items":{"title":"Integer State Value","type":"integer"}},{"items":{"title":"String State Value","type":"string"}}]},"CI":{"type":"object","required":["values"],"additionalProperties":false,"properties":{"values":{"title":"State Integer Value Range","type":"object","required":["min","max"],"additionalProperties":false,"properties":{"min":{"title":"Minimum","description":"The lowest integer this state supports. This is also used as the default state value.","type":"integer","default":0},"max":{"title":"Maximum","description":"The highest integer this state supports. This cannot be more than 15 above the minimum.","type":"integer","default":15}}}}},"CJ":{"title":"Placement Direction","description":"Contains information about the player's rotation when the block was placed.","additionalProperties":false,"type":"object","required":["enabled_states"],"properties":{"enabled_states":{"title":"Enabled States","description":"Block states you wish to enable","type":"array","uniqueItems":true,"minItems":1,"items":{"enum":["minecraft:cardinal_direction","minecraft:facing_direction"]}},"y_rotation_offset":{"title":"Y Rotation Offset","description":"This rotation offset only applies to the horizontal state values","type":"number","multipleOf":90,"default":0,"examples":[90,180,270,-90,-180,-270]}}},"DA":{"title":"Placement Position","description":"Contains information about where the player placed the block.","additionalProperties":false,"type":"object","required":["enabled_states"],"properties":{"enabled_states":{"title":"Enabled States","description":"Block states you wish to enable","type":"array","maxItems":2,"minItems":1,"items":{"enum":["minecraft:block_face","minecraft:vertical_half"]}}}},"DB":{"type":"string","title":"Category","description":"Determines which category this block/item will be placed under in the inventory and crafting table container screens.","enum":["construction","equipment","items","nature","none"]},"DC":{"type":"string","title":"Item Group","description":"A translation string of an existing group in minecraft to group this block/item under","enum":["itemGroup.name.anvil","itemGroup.name.arrow","itemGroup.name.axe","itemGroup.name.banner","itemGroup.name.banner_pattern","itemGroup.name.bed","itemGroup.name.boat","itemGroup.name.boots","itemGroup.name.buttons","itemGroup.name.candles","itemGroup.name.chalkboard","itemGroup.name.chest","itemGroup.name.chestboat","itemGroup.name.chestplate","itemGroup.name.concrete","itemGroup.name.concretePowder","itemGroup.name.cookedFood","itemGroup.name.copper","itemGroup.name.coral","itemGroup.name.coral_decorations","itemGroup.name.crop","itemGroup.name.door","itemGroup.name.dye","itemGroup.name.enchantedBook","itemGroup.name.fence","itemGroup.name.fenceGate","itemGroup.name.firework","itemGroup.name.fireworkStars","itemGroup.name.flower","itemGroup.name.glass","itemGroup.name.glassPane","itemGroup.name.glazedTerracotta","itemGroup.name.goatHorn","itemGroup.name.grass","itemGroup.name.hanging_sign","itemGroup.name.helmet","itemGroup.name.hoe","itemGroup.name.horseArmor","itemGroup.name.leaves","itemGroup.name.leggings","itemGroup.name.lingeringPotion","itemGroup.name.log","itemGroup.name.minecart","itemGroup.name.miscFood","itemGroup.name.mobEgg","itemGroup.name.monsterStoneEgg","itemGroup.name.mushroom","itemGroup.name.netherWartBlock","itemGroup.name.ore","itemGroup.name.permission","itemGroup.name.pickaxe","itemGroup.name.planks","itemGroup.name.potion","itemGroup.name.potterySherds","itemGroup.name.pressurePlate","itemGroup.name.rail","itemGroup.name.rawFood","itemGroup.name.record","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.smithing_templates","itemGroup.name.splashPotion","itemGroup.name.stainedClay","itemGroup.name.stairs","itemGroup.name.stone","itemGroup.name.stoneBrick","itemGroup.name.sword","itemGroup.name.trapdoor","itemGroup.name.walls","itemGroup.name.wood","itemGroup.name.wool","itemGroup.name.woolCarpet"]},"DD":{"title":"Molang Boolean","description":"The minecraft molang definition that results in a boolean.","anyOf":[{"type":"string","minLength":0},{"type":"boolean"}],"examples":["(1.0)","(0.0)"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"B":{"title":"Block Definitions","description":"A custom block definition.","type":"object","additionalProperties":false,"required":["description","components"],"properties":{"description":{"title":"Block Description","description":"The description for this block.","type":"object","additionalProperties":false,"required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The identifier for this block. The name must include a namespace and must not use the Minecraft namespace unless overriding a Vanilla block.","type":"string","$ref":"#/definitions/BJ"},"menu_category":{"title":"Menu Category","description":"Specifies the menu category and group for the block, which determine where this block is placed in the inventory and crafting table container screens. If this field is omitted, the block will not appear in the inventory or crafting table container screens.","type":"object","examples":[{"category":"construction"}],"additionalProperties":false,"required":["category"],"properties":{"category":{"$ref":"#/definitions/DB"},"group":{"$ref":"#/definitions/DC"},"is_hidden_in_commands":{"title":"Is Hidden In Commands","description":"Determines whether or not this item can be used with commands such as /give and /setblock. Commands can use blocks by default","type":"boolean","default":false}}},"states":{"$ref":"#/definitions/B_states_ref"},"traits":{"$ref":"#/definitions/B_traits_ref"}}},"components":{"$ref":"#/definitions/B_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_state()\"","$ref":"#/definitions/DD"},"components":{"type":"object","title":"Component","$ref":"#/definitions/B_components_ref"}}}}}}}}