{"$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"}},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"B_components_ref":{"type":"object","title":"Component","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"minecraft:block_light_filter":{"$ref":"#/definitions/C"},"minecraft:block_light_emission":{"$ref":"#/definitions/D"},"minecraft:breakonpush":{"$ref":"#/definitions/E"},"minecraft:breathability":{"$ref":"#/definitions/F"},"minecraft:creative_category":{"$ref":"#/definitions/G"},"minecraft:destroy_time":{"$ref":"#/definitions/H"},"minecraft:display_name":{"$ref":"#/definitions/I"},"minecraft:entity_collision":{"$ref":"#/definitions/J"},"minecraft:explosion_resistance":{"$ref":"#/definitions/BA"},"minecraft:flammable":{"$ref":"#/definitions/BB"},"minecraft:friction":{"$ref":"#/definitions/BC"},"minecraft:geometry":{"$ref":"#/definitions/BD"},"minecraft:immovable":{"$ref":"#/definitions/BE"},"minecraft:loot":{"$ref":"#/definitions/BF"},"minecraft:map_color":{"$ref":"#/definitions/BG"},"minecraft:material_instances":{"$ref":"#/definitions/BH"},"minecraft:onlypistonpush":{"$ref":"#/definitions/BI"},"minecraft:part_visibility.json":{"$ref":"#/definitions/BJ"},"minecraft:on_fall_on":{"$ref":"#/definitions/CA"},"minecraft:on_interact":{"$ref":"#/definitions/CB"},"minecraft:on_placed":{"$ref":"#/definitions/CC"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/CD"},"minecraft:on_player_placing":{"$ref":"#/definitions/CE"},"minecraft:on_step_off":{"$ref":"#/definitions/CF"},"minecraft:on_step_on":{"$ref":"#/definitions/CG"},"minecraft:pick_collision":{"$ref":"#/definitions/CH"},"minecraft:placement_filter":{"$ref":"#/definitions/CI"},"minecraft:preventsjumping":{"$ref":"#/definitions/CJ"},"minecraft:random_ticking":{"$ref":"#/definitions/DA"},"minecraft:rotation":{"$ref":"#/definitions/DB"},"minecraft:ticking":{"$ref":"#/definitions/DC"},"minecraft:unit_cube":{"$ref":"#/definitions/DD"},"minecraft:unwalkable":{"$ref":"#/definitions/DE"}}},"C":{"additionalProperties":false,"type":"integer","title":"Block Light filter","description":"The amount of light this block will filter out. Higher value means more light will be filtered out (0 - 15).","default":0},"D":{"additionalProperties":false,"type":"number","title":"Block Light Emission","description":"The amount of light this block will emit in a range [0.0, 1.0].","minimum":0,"maximum":1,"default":0.0},"E":{"additionalProperties":false,"type":"boolean","title":"Break On Push","description":"When pushed by a piston the block breaks."},"F":{"additionalProperties":false,"type":"string","title":"Breathability","description":"Property describing the breathability of the block, and whether it's treated as a solid block or a block of air.","enum":["solid","air"],"default":"solid"},"G":{"additionalProperties":false,"type":"boolean","title":"Creative Category","description":"Specifies the creative group for the block."},"H":{"additionalProperties":false,"type":"number","title":"Destroy Time","description":"Sets the destroy time property for the block. Greater numbers result in greater mining times. Time is measured in seconds with base equipment.","default":0.0},"I":{"additionalProperties":false,"type":"string","title":"Display Name","description":"Specifies the language file key that maps to what text will be displayed when you hover over the block."},"J":{"title":"Entity Collision","description":"Can only be set to false or an object, it disables the collision of the block with entities.","oneOf":[{"type":"boolean","const":false},{"type":"object","additionalProperties":false,"properties":{"origin":{"type":"array","title":"Origin","description":"Minimal position Bounds of the collision box.","default":[-8.0,0.0,-8.0],"items":[{"type":"number","title":"X","description":"The x offset."},{"type":"number","title":"Y","description":"The y offset."},{"type":"number","title":"Z","description":"The z offset."}]},"size":{"type":"array","title":"Size","description":"Size of each side of the box of the component.","default":[16.0,16.0,16.0],"items":[{"type":"number","title":"X","description":"The x size."},{"type":"number","title":"Y","description":"The y size."},{"type":"number","title":"Z","description":"The z size."}]}}}]},"BA":{"additionalProperties":false,"type":"number","title":"Explosion Resistance","description":"Sets the explosion resistance for this block.","default":0.0},"BB":{"additionalProperties":false,"type":"object","title":"Flammable","description":"Describes the flammable properties for this block.","additionalItems":false,"properties":{"burn_odds":{"type":"integer","default":0,"description":"How likely the block will be destroyed by flames when on fire. Value must be greater than or equal to 0.","title":"Burn Odds"},"flame_odds":{"type":"integer","default":0,"description":"How likely the block will catch flame when next to a fire. Value must be greater than or equal to 0.","title":"Flame Odds"}}},"BC":{"additionalProperties":false,"type":"number","title":"Friction","description":"Property describing the friction for this block. Friction effects an entities movements when it walks on the block.","default":0.1},"BD":{"additionalProperties":false,"type":"string","title":"Geometry","description":"The geometry description identifier to use, this identifier must match an existing geometry identifier in any of the currently loaded resource packs.","pattern":"^geometry\\.[a-zA-Z0-9_\\-\\.]+$"},"BE":{"additionalProperties":false,"type":"boolean","title":"Immovable","description":"An Immovable block cannot be pushed by pistons."},"BF":{"additionalProperties":false,"type":"string","title":"Loot","description":"The path to the loot table, relative to the behavior pack. Path string is limited to 256 characters.","pattern":"loot_tables/.*\\.json$"},"BG":{"additionalProperties":false,"type":"string","title":"Map Color","description":"A color represented as a hex value. This will be the color rendered to a map.","format":"color-hex","examples":["#FFFFFF"]},"BH_material_instance":{"title":"Material Instance","description":"A single material instance.","additionalProperties":false,"properties":{"ambient_occlusion":{"title":"Ambient Occlusion","type":"boolean","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"face_dimming":{"title":"Face Dimming","type":"boolean","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"render_method":{"type":"string","title":"Render Method","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["blend","opaque","alpha_test"]},"texture":{"type":"string","title":"Texture","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"BH":{"type":"object","title":"Material Instances","description":"Maps face or material_instance names in a geometry file to an actual material instance. Material instance can either be a full material instance or a name to another already defined instance","properties":{"*":{"$ref":"#/definitions/BH_material_instance"}},"additionalProperties":{"$ref":"#/definitions/BH_material_instance"}},"BI":{"type":"boolean","title":"Only Piston Push","description":"Blocks with those components won't stick to stickyPistons."},"BJ":{"title":"Part Visibility","description":"Maps bone names in a geometry file to a condition that turns their rendering on/off. The condition should be a Molang query that uses block properties to determine true/falseSupported queries include 'has_block_property', 'block_property', and other queries that can evaluate without knowledge of the block's in-game positional or player affected data.","type":"object","additionalProperties":{"title":"Bone Name","examples":[{"root":"query.variant"}],"type":"string"}},"CA":{"type":"object","title":"On Fall On","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"min_fall_distance":{"type":"number","default":0,"description":"The minimum distance in blocks that an actor needs to fall to trigger this event.","title":"Minimum Fall Distance"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CB":{"type":"object","title":"On Fall On","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CC":{"type":"object","title":"On Placed","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CD":{"type":"object","title":"On Player Destroyed","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CE":{"type":"object","title":"On Player Placing","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CF":{"type":"object","title":"On Step Off","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CG":{"type":"object","title":"On Step On","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CH":{"title":"Pick Collision","description":"Can only be set to false, it disables the collision of the block with entities.","oneOf":[{"type":"boolean","const":false},{"type":"object","additionalProperties":false,"properties":{"origin":{"type":"array","title":"Origin","description":"Minimal position Bounds of the collision box.","default":[-8.0,0.0,-8.0],"items":[{"type":"number","title":"X","description":"The x offset."},{"type":"number","title":"Y","description":"The y offset."},{"type":"number","title":"Z","description":"The z offset."}]},"size":{"type":"array","title":"Size","description":"Size of each side of the box of the component.","default":[16.0,16.0,16.0],"items":[{"type":"number","title":"X","description":"The x size."},{"type":"number","title":"Y","description":"The y size."},{"type":"number","title":"Z","description":"The z size."}]}}}]},"CI":{"title":"Placement Filter","description":"Sets rules for under what conditions the block can be placed/survive.","type":"object","properties":{"conditions":{"title":"Conditions","description":"List of conditions where the block can be placed/survive.","type":"array","items":{"type":"object","title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"allowed_faces":{"title":"Allowed Faces","description":"List of any of the following strings: up, down, north, south, east, west, side, all.","type":"array","items":{"type":"string","enum":["up","down","north","south","east","west","side","all"]}},"block_filter":{"title":"Block Filter","description":"List of blocks (can use tags to specify them) that this block can be placed against in the allowed_faces direction.","type":"array","items":{"type":"string","title":"Block Identifier","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}}}}}},"CJ":{"title":"Prevents Jumping","description":"This component makes it so actors can't jump when walking on this block.","type":"boolean"},"DA":{"title":"Random Ticking","description":"Describes the component that will trigger an even at a regular interval between two values.","type":"object","additionalProperties":false,"properties":{"on_tick":{"title":"On Tick","description":"Describes the component that will trigger an even at a regular interval between two values.","type":"string","additionalProperties":false,"properties":{"condition":{"title":"Condition","type":"string","default":"1","description":"The condition of event to be executed on the block. Molang"},"event":{"title":"Event","type":"string","default":"set_block_property","description":"The type of event executed on the block."},"range":{"title":"Range","type":"array","items":[{"type":"integer"},{"type":"integer"}]},"target":{"title":"Target","description":"The target of event executed on the block.","type":"string","enum":["block","damager","other","parent","player","self","target"]}}},"looping":{"type":"boolean","default":true,"description":"Does the event loop.","title":"Looping"},"range":{"type":"array","default":[10,10],"description":"The Range between which the component will trigger his event.","title":"Range"}}},"DB":{"title":"Rotation","description":"This is the block's rotation around the center of the cube in degrees. The rotation order is x-y-z.","type":"array","additionalProperties":false,"items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]},"DC":{"title":"Ticking","description":"Describes the component that will trigger an even at a regular interval between two values.","type":"object","additionalProperties":false,"properties":{"looping":{"type":"boolean","title":"Looping","description":"Does the event loop."},"range":{"title":"Range","description":"The Range between which the component will trigger his event.","type":"array","items":[{"type":"integer"},{"type":"integer"}]},"on_tick":{"type":"object","title":"On Tick","description":"Describes the component that will trigger an even at a regular interval between two values.","condition":{"title":"Condition","type":"string","description":"The condition of event to be executed on the block. Molang"},"event":{"title":"Event","type":"string","description":"The type of event executed on the block."},"target":{"title":"Target","description":"The target of event executed on the block.","type":"string","enum":["block","damager","other","parent","player","self","target"]}}}},"DD":{"title":"Unit Cube","description":"Specifies that a unit cube is to be used with tessellation.","type":"object"},"DE":{"title":"Unwalkable","description":"Sets the block as unwalkable. Mobs would not attempt to path over top of it when the value is set to true.","default":false,"type":"boolean"},"DF":{"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"}]},"DG_event_base":{"title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"condition":{"title":"Condition","description":"The condition of event to be executed on the block.","type":"string"},"event":{"title":"Event","description":"The event executed on the block.","type":"string"},"target":{"title":"Target","description":"The target of event executed on the block.","type":"string","default":"self"}}},"DG":{"title":"Events","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","properties":{"minecraft:on_fall_on":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_interact":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_placed":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_player_placing":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_step_off":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_step_on":{"$ref":"#/definitions/DG_event_base"}}},"DH":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"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":{"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":"#/definitions/DF"},"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":"#/definitions/DG"},"components":{"type":"object","title":"Component","$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":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/DH"},"components":{"type":"object","title":"Component","$ref":"#/definitions/B_components_ref"}}}}}}}}