diff --git a/behavior/blocks/blocks.json b/behavior/blocks/blocks.json index b6d4dc8d..78a65d75 100644 --- a/behavior/blocks/blocks.json +++ b/behavior/blocks/blocks.json @@ -1 +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.41}","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:light_dampening":{"$ref":"#/definitions/BA"},"minecraft:light_emission":{"$ref":"#/definitions/BB"},"minecraft:loot":{"$ref":"#/definitions/BC"},"minecraft:map_color":{"$ref":"#/definitions/BD"},"minecraft:material_instances":{"$ref":"#/definitions/BE"},"minecraft:placement_filter":{"$ref":"#/definitions/BF"},"minecraft:selection_box":{"$ref":"#/definitions/BJ"},"minecraft:transformation":{"$ref":"#/definitions/CA"},"minecraft:on_fall_on":{"$ref":"#/definitions/CB"},"minecraft:on_interact":{"$ref":"#/definitions/CC"},"minecraft:on_placed":{"$ref":"#/definitions/CD"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/CE"},"minecraft:on_player_placing":{"$ref":"#/definitions/CF"},"minecraft:on_step_off":{"$ref":"#/definitions/CG"},"minecraft:on_step_on":{"$ref":"#/definitions/CH"},"minecraft:queued_ticking":{"$ref":"#/definitions/CI"},"minecraft:random_ticking":{"$ref":"#/definitions/CJ"}},"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/DA"},{"$ref":"#/definitions/DB"}]}},"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/DC"},"minecraft:placement_position":{"$ref":"#/definitions/DD"}}},"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}}}]},"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"}}}]},"BA":{"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},"BB":{"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},"BC":{"title":"Loot","description":"The path to the loot table, relative to the behavior pack.","type":"string","pattern":"loot_tables/.*\\.json$","maxLength":256},"BD":{"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]]},"BE":{"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","type":"boolean","default":true,"description":"Should this material have ambient occlusion applied when lighting? If true, shadows will be created around and underneath the block."},"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"]},"texture":{"title":"Texture","type":"string","default":"","description":"Texture name for the material."}}}]}},"BH":{"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"}]},"BI":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"BG":{"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/BH"},{"title":"Block Reference","description":"","type":"object","additionalProperties":false,"properties":{"name":{"type":"string","$ref":"#/definitions/BH"},"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/BI","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')"]}}}]},"BF":{"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/BG"}}}}}}},"BJ":{"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}]}}}]},"CA":{"title":"Transformation","description":"Supports rotation, scaling, and translation","type":"object","additionalProperties":false,"properties":{"rotation":{"title":"Rotation","description":"Rotation in xxx?","type":"array","items":[{"title":"X","description":"Rotation in xxx?","type":"number","default":0},{"title":"Y","description":"Rotation in xxx?","type":"number","default":0},{"title":"Z","description":"Rotation in xxx?","type":"number","default":0}]},"scale":{"title":"Scale","description":"UNDOCUMENTED","type":"array","items":[{"title":"X","description":"UNDOCUMENTED","type":"number","default":1},{"title":"Y","description":"UNDOCUMENTED","type":"number","default":1},{"title":"Z","description":"UNDOCUMENTED","type":"number","default":1}]},"translation":{"title":"Translation","description":"UNDOCUMENTED","type":"array","items":[{"title":"X","description":"UNDOCUMENTED","type":"number","default":0},{"title":"Y","description":"UNDOCUMENTED","type":"number","default":0},{"title":"Z","description":"UNDOCUMENTED","type":"number","default":0}]}}},"CB":{"type":"object","title":"On Fall On","description":"[Experimental] 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"}}},"CC":{"type":"object","title":"On Fall On","description":"[Experimental] 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 Placed","description":"[Experimental] 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 Destroyed","description":"[Experimental] 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 Player Placing","description":"[Experimental] 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 Off","description":"[Experimental] 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":{"type":"object","title":"On Step On","description":"[Experimental] 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"}}},"CI":{"title":"Random Ticking","description":"[Experimental] 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"}}},"CJ":{"title":"Random Ticking","description":"[Experimental] Triggers the specified event randomly based on the random tick speed gamerule. The random tick speed determines how often blocks are updated.","type":"object","additionalProperties":false,"properties":{"on_tick":{"title":"On Tick","description":"the event that will be triggered on random ticks."},"condition":{"title":"Condition","type":"string","default":"1","description":"A condition using Molang queries that results to true/false. If true on the random tick, the event will be triggered. If false on the random tick, the event will not be triggered."},"event":{"title":"Event","type":"string","default":"set_block_property","description":"The event that will be triggered."},"target":{"title":"Target","type":"string","default":"self","description":"The target of the event executed by the block"}}},"DA":{"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"}}]},"DB":{"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}}}}},"DC":{"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]}}},"DD":{"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"]}}}},"DE":{"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"]},"DF":{"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"]},"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":{"title":"Molang Boolean","description":"The minecraft molang definition that results in a boolean.","anyOf":[{"type":"string","minLength":0},{"type":"boolean"}],"examples":[0,"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":{"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/BH"},"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/DE"},"group":{"$ref":"#/definitions/DF"},"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"}}},"events":{"$ref":"#/definitions/DG"},"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/DH"},"components":{"type":"object","title":"Component","$ref":"#/definitions/B_components_ref"}}}}}}}} \ No newline at end of file +{"$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.41}","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:light_dampening":{"$ref":"#/definitions/BA"},"minecraft:light_emission":{"$ref":"#/definitions/BB"},"minecraft:loot":{"$ref":"#/definitions/BC"},"minecraft:map_color":{"$ref":"#/definitions/BD"},"minecraft:material_instances":{"$ref":"#/definitions/BE"},"minecraft:placement_filter":{"$ref":"#/definitions/BF"},"minecraft:selection_box":{"$ref":"#/definitions/BJ"},"minecraft:transformation":{"$ref":"#/definitions/CA"},"minecraft:custom_components":{"$ref":"#/definitions/CB"},"minecraft:on_fall_on":{"$ref":"#/definitions/CC"},"minecraft:on_interact":{"$ref":"#/definitions/CD"},"minecraft:on_placed":{"$ref":"#/definitions/CE"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/CF"},"minecraft:on_player_placing":{"$ref":"#/definitions/CG"},"minecraft:on_step_off":{"$ref":"#/definitions/CH"},"minecraft:on_step_on":{"$ref":"#/definitions/CI"},"minecraft:queued_ticking":{"$ref":"#/definitions/CJ"},"minecraft:random_ticking":{"$ref":"#/definitions/DA"}},"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/DB"},{"$ref":"#/definitions/DC"}]}},"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/DD"},"minecraft:placement_position":{"$ref":"#/definitions/DE"}}},"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}}}]},"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"}}}]},"BA":{"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},"BB":{"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},"BC":{"title":"Loot","description":"The path to the loot table, relative to the behavior pack.","type":"string","pattern":"loot_tables/.*\\.json$","maxLength":256},"BD":{"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]]},"BE":{"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","type":"boolean","default":true,"description":"Should this material have ambient occlusion applied when lighting? If true, shadows will be created around and underneath the block."},"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"]},"texture":{"title":"Texture","type":"string","default":"","description":"Texture name for the material."}}}]}},"BH":{"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"}]},"BI":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"BG":{"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/BH"},{"title":"Block Reference","description":"","type":"object","additionalProperties":false,"properties":{"name":{"type":"string","$ref":"#/definitions/BH"},"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/BI","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')"]}}}]},"BF":{"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/BG"}}}}}}},"BJ":{"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}]}}}]},"CA":{"title":"Transformation","description":"Supports rotation, scaling, and translation","type":"object","additionalProperties":false,"properties":{"rotation":{"title":"Rotation","description":"Rotation in xxx?","type":"array","items":[{"title":"X","description":"Rotation in xxx?","type":"number","default":0},{"title":"Y","description":"Rotation in xxx?","type":"number","default":0},{"title":"Z","description":"Rotation in xxx?","type":"number","default":0}]},"scale":{"title":"Scale","description":"UNDOCUMENTED","type":"array","items":[{"title":"X","description":"UNDOCUMENTED","type":"number","default":1},{"title":"Y","description":"UNDOCUMENTED","type":"number","default":1},{"title":"Z","description":"UNDOCUMENTED","type":"number","default":1}]},"translation":{"title":"Translation","description":"UNDOCUMENTED","type":"array","items":[{"title":"X","description":"UNDOCUMENTED","type":"number","default":0},{"title":"Y","description":"UNDOCUMENTED","type":"number","default":0},{"title":"Z","description":"UNDOCUMENTED","type":"number","default":0}]}}},"CB":{"title":"Custom Components","description":"Used to register custom components.","additionalProperties":false,"type":"array","items":{"type":"string"}},"CC":{"type":"object","title":"On Fall On","description":"[Experimental] 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"}}},"CD":{"type":"object","title":"On Fall On","description":"[Experimental] 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 Placed","description":"[Experimental] 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 Player Destroyed","description":"[Experimental] 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 Player Placing","description":"[Experimental] 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":{"type":"object","title":"On Step Off","description":"[Experimental] 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"}}},"CI":{"type":"object","title":"On Step On","description":"[Experimental] 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"}}},"CJ":{"title":"Random Ticking","description":"[Experimental] 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"}}},"DA":{"title":"Random Ticking","description":"[Experimental] Triggers the specified event randomly based on the random tick speed gamerule. The random tick speed determines how often blocks are updated.","type":"object","additionalProperties":false,"properties":{"on_tick":{"title":"On Tick","description":"the event that will be triggered on random ticks."},"condition":{"title":"Condition","type":"string","default":"1","description":"A condition using Molang queries that results to true/false. If true on the random tick, the event will be triggered. If false on the random tick, the event will not be triggered."},"event":{"title":"Event","type":"string","default":"set_block_property","description":"The event that will be triggered."},"target":{"title":"Target","type":"string","default":"self","description":"The target of the event executed by the block"}}},"DB":{"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"}}]},"DC":{"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}}}}},"DD":{"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]}}},"DE":{"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"]}}}},"DF":{"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"]},"DG":{"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"]},"DH_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"}}},"DH":{"title":"Events","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","properties":{"minecraft:on_fall_on":{"$ref":"#/definitions/DH_event_base"},"minecraft:on_interact":{"$ref":"#/definitions/DH_event_base"},"minecraft:on_placed":{"$ref":"#/definitions/DH_event_base"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/DH_event_base"},"minecraft:on_player_placing":{"$ref":"#/definitions/DH_event_base"},"minecraft:on_step_off":{"$ref":"#/definitions/DH_event_base"},"minecraft:on_step_on":{"$ref":"#/definitions/DH_event_base"}}},"DI":{"title":"Molang Boolean","description":"The minecraft molang definition that results in a boolean.","anyOf":[{"type":"string","minLength":0},{"type":"boolean"}],"examples":[0,"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":{"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/BH"},"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/DF"},"group":{"$ref":"#/definitions/DG"},"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"}}},"events":{"$ref":"#/definitions/DH"},"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/DI"},"components":{"type":"object","title":"Component","$ref":"#/definitions/B_components_ref"}}}}}}}} \ No newline at end of file diff --git a/behavior/items/items.json b/behavior/items/items.json index 1e3364ba..bd1309f0 100644 --- a/behavior/items/items.json +++ b/behavior/items/items.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.behavior.items","defaultSnippets":[{"label":"New item","body":{"format_version":"${1:1.20.41}","minecraft:item":{"description":{"identifier":"$2:${3:${TM_FILENAME/[\\.].*//}}","menu_category":{"category":"${4:items}"}},"components":{"minecraft:icon":"$2.${3:${TM_FILENAME/[\\.].*//}}"}}}}],"description":"Minecraft items","required":["format_version","minecraft:item"],"title":"Item","type":"object","properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:item":{"$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.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|}"}]},"C":{"description":"A minecraft item identifier.","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"D":{"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"]},"E":{"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"]},"F":{"title":"Allow Off Hand","description":"The allow off hand component determines whether the item can be placed in the off hand slot of the inventory.","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item can be placed in the off hand slot","type":"boolean","default":false}}}]},"G_use_on_item":{"type":"object","title":"Allowed Block","description":"A block descriptor that allows to be placed.","properties":{"tags":{"title":"Tags","description":"Tags.","$ref":"#/definitions/H"}}},"H":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"G":{"title":"Block Placer","description":"Planter item component. planter items are items that can be planted.","type":"object","additionalProperties":false,"required":["block"],"properties":{"block":{"type":"string","description":"Set the placement block name for the planter item.","title":"Block"},"use_on":{"description":"List of block descriptors that contain blocks that this item can be used on. If left empty, all blocks will be allowed.","title":"Use On","type":"array","items":{"$ref":"#/definitions/G_use_on_item"}}}},"I":{"title":"Can Destroy In Creative","description":"The can destroy in creative component determines if the item will break blocks in creative when swinging.","default":true,"examples":[false,{"value":false}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item can destroy blocks while in creative","type":"boolean","default":true}}}]},"J":{"title":"Cooldown","description":"Cool down time for a component. After you use an item it becomes unusable for the duration specified by the `cool down time` setting in this component.","type":"object","additionalProperties":false,"required":["category","duration"],"properties":{"category":{"type":"string","description":"The type of cool down for this item.","title":"Category"},"duration":{"description":"The duration of time this item will spend cooling down before becoming usable again.","title":"Duration","type":"number"}},"examples":[{"category":"attack","duration":0.2}]},"BA":{"additionalProperties":false,"type":"object","title":"Damage","description":"The damage component determines how much extra damage the item does on attack.","required":["value"],"properties":{"value":{"type":"number","title":"Value","description":"How much extra damage the item does, must be a positive number.","minimum":1}},"examples":[{"value":7}]},"BB":{"title":"Digger","description":"Digger item. Component put on items that dig.","type":"object","additionalProperties":false,"required":["destroy_speeds"],"properties":{"use_efficiency":{"title":"Use Efficiency","type":"boolean","description":"Toggles if the item will be used efficiently.","default":false},"destroy_speeds":{"type":"array","title":"Destroy Speeds","description":"Destroy speed per block.","items":{"title":"Destroy Speed","description":"Destroy speed per block.","type":"object","additionalProperties":false,"properties":{"speed":{"title":"Speed","type":"number"},"block":{"title":"Block","oneOf":[{"type":"string","description":"The block identifier."},{"type":"object","additionalProperties":false,"properties":{"tags":{"type":"string","title":"Block Tags","description":"The block tags.","examples":["query.any_tag( 'stone', 'metal' )"]}}}]}}}}}},"BC":{"title":"Display Name","description":"Display Name item component. Display Names display the name of an item.","$comment":"Does not currently support single value parsing.","type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"string","title":"Value","description":"Set the display name for an item."}},"examples":[{"value":"secret_weapon"}]},"BD":{"title":"Durability","description":"Durability item component: how much damage can this item take before breaking.","type":"object","additionalProperties":false,"required":["max_durability"],"properties":{"damage_chance":{"type":"object","title":"Damage Chance","description":"Damage chance.","additionalProperties":false,"required":["min","max"],"properties":{"min":{"title":"Min","type":"integer","description":"The minimum."},"max":{"title":"Max","type":"integer","description":"The maximum."}}},"max_durability":{"title":"Maximum Durability","description":"Maximum durability is the amount of damage that this item can take before breaking.","type":"integer","minimum":0}},"examples":[{"damage_chance":{"min":10,"max":50},"max_durability":36}]},"BE":{"title":"Enchantable","description":"The enchantable component determines what enchantments can be applied to the item.","type":"object","additionalProperties":false,"required":["slot"],"properties":{"slot":{"title":"Slot","description":"If true you can always eat this item (even when not hungry), defaults to false.","enum":["axe","bow","armor_feet","armor_torso","armor_head","armor_legs","hoe","pickaxe","shovel","elytra","fishing_rod","flintsteel","sword","shears","cosmetic_head"]},"value":{"title":"Value","description":"The value of the enchantment.","type":"number","minimum":0}}},"BF":{"title":"Entity Placer","description":"Entity placer item component. You can specifiy allowed blocks that the item is restricted to.","type":"object","additionalProperties":false,"required":["entity"],"properties":{"entity":{"type":"string","title":"Entity","description":"The entity to be placed in the world."},"dispense_on":{"type":"array","title":"Dispense On","description":"List of block descriptors that contain blocks that this item can be dispensed on. If left empty, all blocks will be allowed.","items":{"title":"Block Descriptor","description":"Block that item can be dispensed on.","$comment":"UNDOCUMENTED"}},"use_on":{"type":"array","title":"Use On","description":"List of block descriptors that contain blocks that this item can be used on. If left empty, all blocks will be allowed.","items":{"title":"Block Descriptor","description":"Block that item can be used on","$comment":"UNDOCUMENTED"}}}},"BG":{"title":"Food","description":"When an item has a food component, it becomes edible to the player.","type":"object","additionalProperties":false,"properties":{"can_always_eat":{"title":"Can Always Eat","description":"If true you can always eat this item (even when not hungry), defaults to false.","type":"boolean","default":false},"nutrition":{"title":"Nutrition","description":"How much nutrition does this food item give the player when eaten.","type":"number","default":0},"saturation_modifier":{"title":"Saturation Modifier","description":"Saturation Modifier is used in this formula: (nutrition * saturation_modifier * 2) when appling the saturation buff. Which happens when you eat the item.","type":"number","default":0.6},"using_converts_to":{"title":"Using Converts To","description":"When used, convert the *this* item to the one specified by `using_converts_to`.","type":"string"}}},"BH":{"title":"Fuel","description":"Fuel component. Allows this item to be used as fuel in a furnace to `cook` other items.","type":"object","additionalProperties":false,"required":["duration"],"properties":{"duration":{"type":"number","title":"Duration","description":"How long in seconds will this fuel cook items for."}},"examples":[{"duration":3.0}]},"BI":{"title":"Glint","description":"The glint component determines whether the item has the enchanted glint render effect on it","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item has the glint effect.","type":"boolean","default":false}}}]},"BJ":{"title":"Hand Equipped","description":"This component determines if an item is rendered like a tool while in hand.","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"If the item is rendered like a tool while in hand.","type":"boolean","default":false}}}]},"CA":{"title":"Icon","description":"The icon item componenent determines the icon to represent the item in the UI and elsewhere.","examples":["stick",{"textures":{"default":"stick"}}],"oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"required":["textures"],"properties":{"textures":{"title":"Textures","description":"Contains key-value pairs of textures used by the item","type":"object","additionalProperties":{"type":"string","title":"Texture","description":"The key from the resource_pack/textures/item_texture.json `texture_data` object associated with the texture file Example: blaze_powder."},"required":["default"],"properties":{"default":{"type":"string","title":"Default Texture","description":"The key from the resource_pack/textures/item_texture.json `texture_data` object associated with the texture file Example: blaze_powder."}}}}}]},"CB":{"title":"Liquid Clipped","description":"The liquid clipped component determines whether the item interacts with liquid blocks on use.","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item interacts with liquid blocks on use.","type":"boolean","default":false}}}]},"CC":{"title":"Max Stack Size","description":"The max stack size component determines how many of the item can be stacked together.","default":64,"examples":[1,{"value":1},16,{"value":16}],"oneOf":[{"type":"number","minimum":1,"maximum":64},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"How many of the item that can be stacked.","type":"number","default":64,"minimum":1,"maximum":64}}}]},"CD":{"title":"Projectile","description":"Compels the item shoot, like an arrow. Pair with minecraft:shooter for dispensers or as ammunition. Pair with minecraft:throwable to set the entity spawned.","type":"object","additionalProperties":false,"required":["projectile_entity"],"properties":{"minimum_critical_power":{"type":"number","title":"Minimum Critical Power","description":"How long you must charge a projectile for it to critically hit."},"projectile_entity":{"title":"Projectile Entity","description":"The entity to be fired as a projectile.","type":"string"}},"examples":[{"minimum_critical_power":1.25,"projectile_entity":"arrow"}]},"CE":{"title":"Record","description":"Used by record items to play music.","type":"object","additionalProperties":false,"required":["sound_event"],"properties":{"comparator_signal":{"title":"Comparator Signal","description":"Signal strength for comparator blocks to use, from 1 - 13","type":"number","minimum":1,"maximum":13},"duration":{"title":"Duration","description":"Duration of sound event in seconds, float value.","type":"number","minimum":0},"sound_event":{"title":"Sound Event","description":"Sound event type: 13, cat, blocks, chirp, far, mall, mellohi, stal, strad, ward, 11, wait, pigstep, otherside, 5, relic.","type":"string"}}},"CG":{"title":"Molang Number","description":"The minecraft molang definition that results in a float.","anyOf":[{"type":"string","minLength":0},{"type":"number"}],"examples":[0,"query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"CF":{"title":"Repairable","description":"Repairable item component: how much damage can this item repair, what items can repair it.","type":"object","additionalProperties":false,"properties":{"repair_items":{"title":"Repair Items","description":"Repair item entries.","type":"array","items":{"type":"object","title":"Repar Item","description":"List of repair item entries.","additionalProperties":false,"properties":{"items":{"title":"Items","description":"Items that can be used to repeair it","$comment":"List of items","type":"array","items":{"type":"string","title":"Item","description":"Item identifier"}},"repair_amount":{"title":"Repair Amount","description":"Amount that can be repaired","$ref":"#/definitions/CG"}}}}}},"CH":{"title":"Shooter","description":"Shooter Item Component.","type":"object","additionalProperties":false,"properties":{"ammunition":{"title":"Ammunition","description":"Ammunition.","type":"array","items":{"type":"object","title":"Ammunition","description":"Ammunition definition","additionalProperties":false,"properties":{"item":{"title":"Item","description":"Item identifier","type":"string"},"use_offhand":{"title":"Use Offhand","description":"If ammo can be in offhand","type":"boolean"},"search_inventory":{"title":"Search Inventory","description":"If ammo can be stored in the inventory","type":"boolean"},"use_in_creative":{"title":"Use In Creative","description":"If it needs ammo to be used in creative","type":"boolean"}}}},"charge_on_draw":{"title":"Charge On Draw","description":"Charge on draw? Default is set to false.","default":false,"type":"boolean"},"max_draw_duration":{"title":"Maximum Draw Duration","description":"Draw Duration. Default is set to 0.","default":0,"type":"number"},"scale_power_by_draw_duration":{"title":"Scale Power By Draw Duration","description":"Scale power by draw duration? Default is set to false.","default":false,"type":"boolean"}},"examples":[{"ammunition":[{"item":"custom_projectile","use_offhand":true,"search_inventory":true,"use_in_creative":true}],"max_draw_duration":1.0,"scale_power_by_draw_duration":true,"charge_on_draw":false}]},"CI":{"title":"Should Despawn","description":"Should despawn component determines if the item should eventually despawn while floating in the world","default":true,"examples":[false,{"value":false}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item should eventually despawn while floating in the world","type":"boolean","default":true}}}]},"CJ":{"title":"Stacked By Data","description":"The stacked by data component determines if the same item with different aux values can stack.","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Also defines whether the item actors can merge while floating in the world.","type":"boolean","default":false}}}]},"DA":{"title":"Tags","description":"The tags component determines which tags an item has on it.","type":"object","additionalProperties":false,"required":["tags"],"properties":{"tags":{"title":"Tags","description":"An array that can contain multiple item tags.","type":"array","uniqueItems":true,"minItems":1,"items":{"anyOf":[{"enum":["minecraft:arrow","minecraft:banner","minecraft:boat","minecraft:boats","minecraft:bookshelf_books","minecraft:chainmail_tier","minecraft:coals","minecraft:crimson_stems","minecraft:decorated_pot_sherds","minecraft:diamond_tier","minecraft:digger","minecraft:door","minecraft:golden_tier","minecraft:hanging_actor","minecraft:hanging_sign","minecraft:horse_armor","minecraft:iron_tier","minecraft:is_armor","minecraft:is_axe","minecraft:is_cooked","minecraft:is_fish","minecraft:is_food","minecraft:is_hoe","minecraft:is_meat","minecraft:is_minecart","minecraft:is_pickaxe","minecraft:is_shovel","minecraft:is_sword","minecraft:is_tool","minecraft:is_trident","minecraft:leather_tier","minecraft:lectern_books","minecraft:logs","minecraft:logs_that_burn","minecraft:mangrove_logs","minecraft:music_disc","minecraft:netherite_tier","minecraft:planks","minecraft:sand","minecraft:sign","minecraft:soul_fire_base_blocks","minecraft:spawn_egg","minecraft:stone_bricks","minecraft:stone_crafting_materials","minecraft:stone_tier","minecraft:stone_tool_materials","minecraft:transform_materials","minecraft:transform_templates","minecraft:transformable_items","minecraft:trim_templates","minecraft:trimmable_armors","minecraft:vibration_damper","minecraft:warped_stems","minecraft:wooden_slabs","minecraft:wooden_tier","minecraft:wool"]},{"type":"string"}]}}}},"DB":{"title":"Throwable","description":"Throwable item component. Throwable items, such as a snowball.","type":"object","additionalProperties":false,"properties":{"do_swing_animation":{"title":"Do Swing Animation","description":"Whether the item should use the swing animation when thrown. Default is set to false.","default":false,"type":"boolean"},"launch_power_scale":{"title":"Launch Power Scale","description":"The scale at which the power of the throw increases. Default is set to 1.0.","default":1.0,"type":"number"},"max_draw_duration":{"title":"Maximum Draw Duration","description":"The maximum duration to draw a throwable item. Default is set to 0.0.","default":0,"type":"number"},"min_draw_duration":{"title":"Minimum Draw Duration","description":"The minimum duration to draw a throwable item. Default is set to 0.0.","default":0,"type":"number"},"max_launch_power":{"title":"Maximum Launch Power","description":"The maximum power to launch the throwable item. Default is set to 1.0.","default":1.0,"type":"number"},"scale_power_by_draw_duration":{"title":"Scale Power By Draw Duration","description":"Whether or not the power of the throw increases with duration charged. Default is set to false.","default":false,"type":"boolean"}},"examples":[{"do_swing_animation":false,"min_draw_duration":0.0,"max_draw_duration":1.0,"launch_power_scale":1.0,"max_launch_power":2.0,"scale_power_by_draw_duration":false}]},"DC_animation":{"enum":["bow","brush","camera","crossbow","drink","eat","none","spear","spyglass"]},"DC":{"title":"Use Animation","description":"This component determines which animation plays when using the item.","oneOf":[{"$ref":"#/definitions/DC_animation"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Which animation to play when using the item.","$ref":"#/definitions/DC_animation"}}}]},"DD":{"additionalProperties":false,"required":["use_duration"],"type":"object","title":"Use Modifiers","description":"How long to use before item is done being used.","properties":{"movement_modifier":{"title":"Movement Modifier","description":"Modifier value to scale the players movement speed when item is in use.","type":"number","minimum":0},"use_duration":{"title":"Use Duration","description":"How long the item takes to use in seconds.","type":"number","minimum":0}}},"DE":{"title":"Wearable","description":"Wearable item component.","type":"object","additionalProperties":false,"properties":{"protection":{"type":"integer","description":"How much protection does the armor item have.","title":"Protection","minimum":0},"dispensable":{"title":"Dispensable","description":"Sets if the item can be dropped by a dispenser block","type":"boolean"},"slot":{"title":"Slot","description":"Which equipment slot the item can fit in","type":"string","enum":["none","slot.weapon.mainhand","slot.weapon.offhand","slot.armor.head","slot.armor.chest","slot.armor.legs","slot.armor.feet","slot.hotbar","slot.inventory","slot.enderchest","slot.saddle","slot.armor","slot.chest","slot.equippable"]}}},"DF_event_base":{"title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"$ref":"#/definitions/DF_event_functions","properties":{"sequence":{"title":"Sequence","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Sequence","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/DF_event_functions"}},"randomize":{"title":"Randomize","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Randomize","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/DF_event_functions","required":["weight"],"properties":{"weight":{"title":"Weight","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}}},"run_command":{"title":"Run Command","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"command":{"title":"Command","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"type":"string","title":"Command","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["other"]}}}}},"DF_event_functions":{"title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","properties":{"add_mob_effect":{"$ref":"#/definitions/DG"},"damage":{"$ref":"#/definitions/DH"},"decrement_stack":{"$ref":"#/definitions/DI"},"remove_mob_effect":{"$ref":"#/definitions/DJ"},"shoot":{"$ref":"#/definitions/EA"},"swing":{"$ref":"#/definitions/EB"},"teleport":{"$ref":"#/definitions/EC"},"transform_item":{"$ref":"#/definitions/ED"}}},"DG":{"title":"Add Mob Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"effect":{"type":"string","title":"Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["holder"]},"duration":{"type":"number","title":"Duration","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"amplifier":{"type":"number","title":"Amplifier","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"DH":{"title":"Shoot","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"type":{"type":"string","title":"Type","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["magic"]},"amount":{"type":"number","title":"Amount","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"DI":{"title":"Decrement Stack","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"DJ":{"title":"Remove Mob Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"effect":{"type":"string","title":"Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["holder"]}}},"EA":{"title":"Shoot","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"angle_offset":{"type":"number","title":"Angle Offset","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"launch_power":{"type":"number","title":"Launch Power","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"projectile":{"type":"string","title":"Projectile","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"EB":{"title":"Swing","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"EC":{"title":"Teleport","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["holder"]},"max_range":{"type":"array","title":"Maximum Range","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":[{"type":"number","title":"X","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},{"type":"number","title":"Y","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},{"type":"number","title":"Z","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}]}}},"ED":{"title":"Transform Item","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"transform":{"title":"Transform","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"}}},"DF":{"title":"Events","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","properties":{"on_consume":{"$ref":"#/definitions/DF_event_base"}},"additionalProperties":{"$ref":"#/definitions/DF_event_base"}},"B":{"additionalProperties":false,"required":["description"],"type":"object","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Item","properties":{"description":{"additionalProperties":false,"type":"object","title":"Description","description":"The description for this item","$comment":"UNDOCUMENTED","properties":{"identifier":{"title":"Identifier","type":"string","description":"The identifier for this item. The name must include a namespace and must not use the Minecraft namespace unless overriding a Vanilla item.","$ref":"#/definitions/C"},"is_experimental":{"type":"boolean","default":false,"description":"If this item is experimental, it will only be registered if the world is marked as experimental.","title":"Is Experimental"},"menu_category":{"type":"object","title":"Menu Category","description":"The Creative Category that includes the specified item.","additionalProperties":false,"properties":{"group":{"$ref":"#/definitions/D"},"category":{"$ref":"#/definitions/E"},"is_hidden_in_commands":{"type":"boolean","default":false,"title":"Is Hidden In Commands","description":"Determines whether or not this item can be used with commands. Commands can use items by default"}}}}},"components":{"additionalProperties":{"type":"object"},"type":"object","description":"The components of this item.","properties":{"minecraft:allow_off_hand":{"$ref":"#/definitions/F"},"minecraft:block_placer":{"$ref":"#/definitions/G"},"minecraft:can_destroy_in_creative":{"$ref":"#/definitions/I"},"minecraft:cooldown":{"$ref":"#/definitions/J"},"minecraft:damage":{"$ref":"#/definitions/BA"},"minecraft:digger":{"$ref":"#/definitions/BB"},"minecraft:display_name":{"$ref":"#/definitions/BC"},"minecraft:durability":{"$ref":"#/definitions/BD"},"minecraft:enchantable":{"$ref":"#/definitions/BE"},"minecraft:entity_placer":{"$ref":"#/definitions/BF"},"minecraft:food":{"$ref":"#/definitions/BG"},"minecraft:fuel":{"$ref":"#/definitions/BH"},"minecraft:glint":{"$ref":"#/definitions/BI"},"minecraft:hand_equipped":{"$ref":"#/definitions/BJ"},"minecraft:icon":{"$ref":"#/definitions/CA"},"minecraft:liquid_clipped":{"$ref":"#/definitions/CB"},"minecraft:max_stack_size":{"$ref":"#/definitions/CC"},"minecraft:projectile":{"$ref":"#/definitions/CD"},"minecraft:record":{"$ref":"#/definitions/CE"},"minecraft:repairable":{"$ref":"#/definitions/CF"},"minecraft:shooter":{"$ref":"#/definitions/CH"},"minecraft:should_despawn":{"$ref":"#/definitions/CI"},"minecraft:stacked_by_data":{"$ref":"#/definitions/CJ"},"minecraft:tags":{"$ref":"#/definitions/DA"},"minecraft:throwable":{"$ref":"#/definitions/DB"},"minecraft:use_animation":{"$ref":"#/definitions/DC"},"minecraft:use_modifiers":{"$ref":"#/definitions/DD"},"minecraft:wearable":{"$ref":"#/definitions/DE"}}},"events":{"$ref":"#/definitions/DF"}}}}} \ No newline at end of file +{"$id":"blockception.minecraft.behavior.items","defaultSnippets":[{"label":"New item","body":{"format_version":"${1:1.20.41}","minecraft:item":{"description":{"identifier":"$2:${3:${TM_FILENAME/[\\.].*//}}","menu_category":{"category":"${4:items}"}},"components":{"minecraft:icon":"$2.${3:${TM_FILENAME/[\\.].*//}}"}}}}],"description":"Minecraft items","required":["format_version","minecraft:item"],"title":"Item","type":"object","properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:item":{"$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.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|}"}]},"C":{"description":"A minecraft item identifier.","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"D":{"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"]},"E":{"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"]},"F":{"title":"Allow Off Hand","description":"The allow off hand component determines whether the item can be placed in the off hand slot of the inventory.","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item can be placed in the off hand slot","type":"boolean","default":false}}}]},"G_use_on_item":{"type":"object","title":"Allowed Block","description":"A block descriptor that allows to be placed.","properties":{"tags":{"title":"Tags","description":"Tags.","$ref":"#/definitions/H"}}},"H":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"G":{"title":"Block Placer","description":"Planter item component. planter items are items that can be planted.","type":"object","additionalProperties":false,"required":["block"],"properties":{"block":{"type":"string","description":"Set the placement block name for the planter item.","title":"Block"},"use_on":{"description":"List of block descriptors that contain blocks that this item can be used on. If left empty, all blocks will be allowed.","title":"Use On","type":"array","items":{"$ref":"#/definitions/G_use_on_item"}}}},"I":{"title":"Can Destroy In Creative","description":"The can destroy in creative component determines if the item will break blocks in creative when swinging.","default":true,"examples":[false,{"value":false}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item can destroy blocks while in creative","type":"boolean","default":true}}}]},"J":{"title":"Cooldown","description":"Cool down time for a component. After you use an item it becomes unusable for the duration specified by the `cool down time` setting in this component.","type":"object","additionalProperties":false,"required":["category","duration"],"properties":{"category":{"type":"string","description":"The type of cool down for this item.","title":"Category"},"duration":{"description":"The duration of time this item will spend cooling down before becoming usable again.","title":"Duration","type":"number"}},"examples":[{"category":"attack","duration":0.2}]},"BA":{"title":"Custom Components","description":"Used to register custom components.","additionalProperties":false,"type":"array","items":{"type":"string"}},"BB":{"additionalProperties":false,"type":"object","title":"Damage","description":"The damage component determines how much extra damage the item does on attack.","required":["value"],"properties":{"value":{"type":"number","title":"Value","description":"How much extra damage the item does, must be a positive number.","minimum":1}},"examples":[{"value":7}]},"BC":{"title":"Digger","description":"Digger item. Component put on items that dig.","type":"object","additionalProperties":false,"required":["destroy_speeds"],"properties":{"use_efficiency":{"title":"Use Efficiency","type":"boolean","description":"Toggles if the item will be used efficiently.","default":false},"destroy_speeds":{"type":"array","title":"Destroy Speeds","description":"Destroy speed per block.","items":{"title":"Destroy Speed","description":"Destroy speed per block.","type":"object","additionalProperties":false,"properties":{"speed":{"title":"Speed","type":"number"},"block":{"title":"Block","oneOf":[{"type":"string","description":"The block identifier."},{"type":"object","additionalProperties":false,"properties":{"tags":{"type":"string","title":"Block Tags","description":"The block tags.","examples":["query.any_tag( 'stone', 'metal' )"]}}}]}}}}}},"BD":{"title":"Display Name","description":"Display Name item component. Display Names display the name of an item.","$comment":"Does not currently support single value parsing.","type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"string","title":"Value","description":"Set the display name for an item."}},"examples":[{"value":"secret_weapon"}]},"BE":{"title":"Durability","description":"Durability item component: how much damage can this item take before breaking.","type":"object","additionalProperties":false,"required":["max_durability"],"properties":{"damage_chance":{"type":"object","title":"Damage Chance","description":"Damage chance.","additionalProperties":false,"required":["min","max"],"properties":{"min":{"title":"Min","type":"integer","description":"The minimum."},"max":{"title":"Max","type":"integer","description":"The maximum."}}},"max_durability":{"title":"Maximum Durability","description":"Maximum durability is the amount of damage that this item can take before breaking.","type":"integer","minimum":0}},"examples":[{"damage_chance":{"min":10,"max":50},"max_durability":36}]},"BF":{"title":"Enchantable","description":"The enchantable component determines what enchantments can be applied to the item.","type":"object","additionalProperties":false,"required":["slot"],"properties":{"slot":{"title":"Slot","description":"If true you can always eat this item (even when not hungry), defaults to false.","enum":["axe","bow","armor_feet","armor_torso","armor_head","armor_legs","hoe","pickaxe","shovel","elytra","fishing_rod","flintsteel","sword","shears","cosmetic_head"]},"value":{"title":"Value","description":"The value of the enchantment.","type":"number","minimum":0}}},"BG":{"title":"Entity Placer","description":"Entity placer item component. You can specifiy allowed blocks that the item is restricted to.","type":"object","additionalProperties":false,"required":["entity"],"properties":{"entity":{"type":"string","title":"Entity","description":"The entity to be placed in the world."},"dispense_on":{"type":"array","title":"Dispense On","description":"List of block descriptors that contain blocks that this item can be dispensed on. If left empty, all blocks will be allowed.","items":{"title":"Block Descriptor","description":"Block that item can be dispensed on.","$comment":"UNDOCUMENTED"}},"use_on":{"type":"array","title":"Use On","description":"List of block descriptors that contain blocks that this item can be used on. If left empty, all blocks will be allowed.","items":{"title":"Block Descriptor","description":"Block that item can be used on","$comment":"UNDOCUMENTED"}}}},"BH":{"title":"Food","description":"When an item has a food component, it becomes edible to the player.","type":"object","additionalProperties":false,"properties":{"can_always_eat":{"title":"Can Always Eat","description":"If true you can always eat this item (even when not hungry), defaults to false.","type":"boolean","default":false},"nutrition":{"title":"Nutrition","description":"How much nutrition does this food item give the player when eaten.","type":"number","default":0},"saturation_modifier":{"title":"Saturation Modifier","description":"Saturation Modifier is used in this formula: (nutrition * saturation_modifier * 2) when appling the saturation buff. Which happens when you eat the item.","type":"number","default":0.6},"using_converts_to":{"title":"Using Converts To","description":"When used, convert the *this* item to the one specified by `using_converts_to`.","type":"string"}}},"BI":{"title":"Fuel","description":"Fuel component. Allows this item to be used as fuel in a furnace to `cook` other items.","type":"object","additionalProperties":false,"required":["duration"],"properties":{"duration":{"type":"number","title":"Duration","description":"How long in seconds will this fuel cook items for."}},"examples":[{"duration":3.0}]},"BJ":{"title":"Glint","description":"The glint component determines whether the item has the enchanted glint render effect on it","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item has the glint effect.","type":"boolean","default":false}}}]},"CA":{"title":"Hand Equipped","description":"This component determines if an item is rendered like a tool while in hand.","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"If the item is rendered like a tool while in hand.","type":"boolean","default":false}}}]},"CB":{"title":"Icon","description":"The icon item componenent determines the icon to represent the item in the UI and elsewhere.","examples":["stick",{"textures":{"default":"stick"}}],"oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"required":["textures"],"properties":{"textures":{"title":"Textures","description":"Contains key-value pairs of textures used by the item","type":"object","additionalProperties":{"type":"string","title":"Texture","description":"The key from the resource_pack/textures/item_texture.json `texture_data` object associated with the texture file Example: blaze_powder."},"required":["default"],"properties":{"default":{"type":"string","title":"Default Texture","description":"The key from the resource_pack/textures/item_texture.json `texture_data` object associated with the texture file Example: blaze_powder."}}}}}]},"CC":{"title":"Liquid Clipped","description":"The liquid clipped component determines whether the item interacts with liquid blocks on use.","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item interacts with liquid blocks on use.","type":"boolean","default":false}}}]},"CD":{"title":"Max Stack Size","description":"The max stack size component determines how many of the item can be stacked together.","default":64,"examples":[1,{"value":1},16,{"value":16}],"oneOf":[{"type":"number","minimum":1,"maximum":64},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"How many of the item that can be stacked.","type":"number","default":64,"minimum":1,"maximum":64}}}]},"CE":{"title":"Projectile","description":"Compels the item shoot, like an arrow. Pair with minecraft:shooter for dispensers or as ammunition. Pair with minecraft:throwable to set the entity spawned.","type":"object","additionalProperties":false,"required":["projectile_entity"],"properties":{"minimum_critical_power":{"type":"number","title":"Minimum Critical Power","description":"How long you must charge a projectile for it to critically hit."},"projectile_entity":{"title":"Projectile Entity","description":"The entity to be fired as a projectile.","type":"string"}},"examples":[{"minimum_critical_power":1.25,"projectile_entity":"arrow"}]},"CF":{"title":"Record","description":"Used by record items to play music.","type":"object","additionalProperties":false,"required":["sound_event"],"properties":{"comparator_signal":{"title":"Comparator Signal","description":"Signal strength for comparator blocks to use, from 1 - 13","type":"number","minimum":1,"maximum":13},"duration":{"title":"Duration","description":"Duration of sound event in seconds, float value.","type":"number","minimum":0},"sound_event":{"title":"Sound Event","description":"Sound event type: 13, cat, blocks, chirp, far, mall, mellohi, stal, strad, ward, 11, wait, pigstep, otherside, 5, relic.","type":"string"}}},"CH":{"title":"Molang Number","description":"The minecraft molang definition that results in a float.","anyOf":[{"type":"string","minLength":0},{"type":"number"}],"examples":[0,"query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"CG":{"title":"Repairable","description":"Repairable item component: how much damage can this item repair, what items can repair it.","type":"object","additionalProperties":false,"properties":{"repair_items":{"title":"Repair Items","description":"Repair item entries.","type":"array","items":{"type":"object","title":"Repar Item","description":"List of repair item entries.","additionalProperties":false,"properties":{"items":{"title":"Items","description":"Items that can be used to repeair it","$comment":"List of items","type":"array","items":{"type":"string","title":"Item","description":"Item identifier"}},"repair_amount":{"title":"Repair Amount","description":"Amount that can be repaired","$ref":"#/definitions/CH"}}}}}},"CI":{"title":"Shooter","description":"Shooter Item Component.","type":"object","additionalProperties":false,"properties":{"ammunition":{"title":"Ammunition","description":"Ammunition.","type":"array","items":{"type":"object","title":"Ammunition","description":"Ammunition definition","additionalProperties":false,"properties":{"item":{"title":"Item","description":"Item identifier","type":"string"},"use_offhand":{"title":"Use Offhand","description":"If ammo can be in offhand","type":"boolean"},"search_inventory":{"title":"Search Inventory","description":"If ammo can be stored in the inventory","type":"boolean"},"use_in_creative":{"title":"Use In Creative","description":"If it needs ammo to be used in creative","type":"boolean"}}}},"charge_on_draw":{"title":"Charge On Draw","description":"Charge on draw? Default is set to false.","default":false,"type":"boolean"},"max_draw_duration":{"title":"Maximum Draw Duration","description":"Draw Duration. Default is set to 0.","default":0,"type":"number"},"scale_power_by_draw_duration":{"title":"Scale Power By Draw Duration","description":"Scale power by draw duration? Default is set to false.","default":false,"type":"boolean"}},"examples":[{"ammunition":[{"item":"custom_projectile","use_offhand":true,"search_inventory":true,"use_in_creative":true}],"max_draw_duration":1.0,"scale_power_by_draw_duration":true,"charge_on_draw":false}]},"CJ":{"title":"Should Despawn","description":"Should despawn component determines if the item should eventually despawn while floating in the world","default":true,"examples":[false,{"value":false}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item should eventually despawn while floating in the world","type":"boolean","default":true}}}]},"DA":{"title":"Stacked By Data","description":"The stacked by data component determines if the same item with different aux values can stack.","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Also defines whether the item actors can merge while floating in the world.","type":"boolean","default":false}}}]},"DB":{"title":"Tags","description":"The tags component determines which tags an item has on it.","type":"object","additionalProperties":false,"required":["tags"],"properties":{"tags":{"title":"Tags","description":"An array that can contain multiple item tags.","type":"array","uniqueItems":true,"minItems":1,"items":{"anyOf":[{"enum":["minecraft:arrow","minecraft:banner","minecraft:boat","minecraft:boats","minecraft:bookshelf_books","minecraft:chainmail_tier","minecraft:coals","minecraft:crimson_stems","minecraft:decorated_pot_sherds","minecraft:diamond_tier","minecraft:digger","minecraft:door","minecraft:golden_tier","minecraft:hanging_actor","minecraft:hanging_sign","minecraft:horse_armor","minecraft:iron_tier","minecraft:is_armor","minecraft:is_axe","minecraft:is_cooked","minecraft:is_fish","minecraft:is_food","minecraft:is_hoe","minecraft:is_meat","minecraft:is_minecart","minecraft:is_pickaxe","minecraft:is_shovel","minecraft:is_sword","minecraft:is_tool","minecraft:is_trident","minecraft:leather_tier","minecraft:lectern_books","minecraft:logs","minecraft:logs_that_burn","minecraft:mangrove_logs","minecraft:music_disc","minecraft:netherite_tier","minecraft:planks","minecraft:sand","minecraft:sign","minecraft:soul_fire_base_blocks","minecraft:spawn_egg","minecraft:stone_bricks","minecraft:stone_crafting_materials","minecraft:stone_tier","minecraft:stone_tool_materials","minecraft:transform_materials","minecraft:transform_templates","minecraft:transformable_items","minecraft:trim_templates","minecraft:trimmable_armors","minecraft:vibration_damper","minecraft:warped_stems","minecraft:wooden_slabs","minecraft:wooden_tier","minecraft:wool"]},{"type":"string"}]}}}},"DC":{"title":"Throwable","description":"Throwable item component. Throwable items, such as a snowball.","type":"object","additionalProperties":false,"properties":{"do_swing_animation":{"title":"Do Swing Animation","description":"Whether the item should use the swing animation when thrown. Default is set to false.","default":false,"type":"boolean"},"launch_power_scale":{"title":"Launch Power Scale","description":"The scale at which the power of the throw increases. Default is set to 1.0.","default":1.0,"type":"number"},"max_draw_duration":{"title":"Maximum Draw Duration","description":"The maximum duration to draw a throwable item. Default is set to 0.0.","default":0,"type":"number"},"min_draw_duration":{"title":"Minimum Draw Duration","description":"The minimum duration to draw a throwable item. Default is set to 0.0.","default":0,"type":"number"},"max_launch_power":{"title":"Maximum Launch Power","description":"The maximum power to launch the throwable item. Default is set to 1.0.","default":1.0,"type":"number"},"scale_power_by_draw_duration":{"title":"Scale Power By Draw Duration","description":"Whether or not the power of the throw increases with duration charged. Default is set to false.","default":false,"type":"boolean"}},"examples":[{"do_swing_animation":false,"min_draw_duration":0.0,"max_draw_duration":1.0,"launch_power_scale":1.0,"max_launch_power":2.0,"scale_power_by_draw_duration":false}]},"DD_animation":{"enum":["bow","brush","camera","crossbow","drink","eat","none","spear","spyglass"]},"DD":{"title":"Use Animation","description":"This component determines which animation plays when using the item.","oneOf":[{"$ref":"#/definitions/DD_animation"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Which animation to play when using the item.","$ref":"#/definitions/DD_animation"}}}]},"DE":{"additionalProperties":false,"required":["use_duration"],"type":"object","title":"Use Modifiers","description":"How long to use before item is done being used.","properties":{"movement_modifier":{"title":"Movement Modifier","description":"Modifier value to scale the players movement speed when item is in use.","type":"number","minimum":0},"use_duration":{"title":"Use Duration","description":"How long the item takes to use in seconds.","type":"number","minimum":0}}},"DF":{"title":"Wearable","description":"Wearable item component.","type":"object","additionalProperties":false,"properties":{"protection":{"type":"integer","description":"How much protection does the armor item have.","title":"Protection","minimum":0},"dispensable":{"title":"Dispensable","description":"Sets if the item can be dropped by a dispenser block","type":"boolean"},"slot":{"title":"Slot","description":"Which equipment slot the item can fit in","type":"string","enum":["none","slot.weapon.mainhand","slot.weapon.offhand","slot.armor.head","slot.armor.chest","slot.armor.legs","slot.armor.feet","slot.hotbar","slot.inventory","slot.enderchest","slot.saddle","slot.armor","slot.chest","slot.equippable"]}}},"DG_event_base":{"title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"$ref":"#/definitions/DG_event_functions","properties":{"sequence":{"title":"Sequence","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Sequence","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/DG_event_functions"}},"randomize":{"title":"Randomize","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Randomize","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/DG_event_functions","required":["weight"],"properties":{"weight":{"title":"Weight","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}}},"run_command":{"title":"Run Command","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"command":{"title":"Command","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"type":"string","title":"Command","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["other"]}}}}},"DG_event_functions":{"title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","properties":{"add_mob_effect":{"$ref":"#/definitions/DH"},"damage":{"$ref":"#/definitions/DI"},"decrement_stack":{"$ref":"#/definitions/DJ"},"remove_mob_effect":{"$ref":"#/definitions/EA"},"shoot":{"$ref":"#/definitions/EB"},"swing":{"$ref":"#/definitions/EC"},"teleport":{"$ref":"#/definitions/ED"},"transform_item":{"$ref":"#/definitions/EE"}}},"DH":{"title":"Add Mob Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"effect":{"type":"string","title":"Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["holder"]},"duration":{"type":"number","title":"Duration","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"amplifier":{"type":"number","title":"Amplifier","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"DI":{"title":"Shoot","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"type":{"type":"string","title":"Type","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["magic"]},"amount":{"type":"number","title":"Amount","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"DJ":{"title":"Decrement Stack","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"EA":{"title":"Remove Mob Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"effect":{"type":"string","title":"Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["holder"]}}},"EB":{"title":"Shoot","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"angle_offset":{"type":"number","title":"Angle Offset","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"launch_power":{"type":"number","title":"Launch Power","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"projectile":{"type":"string","title":"Projectile","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"EC":{"title":"Swing","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"ED":{"title":"Teleport","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["holder"]},"max_range":{"type":"array","title":"Maximum Range","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":[{"type":"number","title":"X","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},{"type":"number","title":"Y","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},{"type":"number","title":"Z","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}]}}},"EE":{"title":"Transform Item","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"transform":{"title":"Transform","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"}}},"DG":{"title":"Events","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","properties":{"on_consume":{"$ref":"#/definitions/DG_event_base"}},"additionalProperties":{"$ref":"#/definitions/DG_event_base"}},"B":{"additionalProperties":false,"required":["description"],"type":"object","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Item","properties":{"description":{"additionalProperties":false,"type":"object","title":"Description","description":"The description for this item","$comment":"UNDOCUMENTED","properties":{"identifier":{"title":"Identifier","type":"string","description":"The identifier for this item. The name must include a namespace and must not use the Minecraft namespace unless overriding a Vanilla item.","$ref":"#/definitions/C"},"is_experimental":{"type":"boolean","default":false,"description":"If this item is experimental, it will only be registered if the world is marked as experimental.","title":"Is Experimental"},"menu_category":{"type":"object","title":"Menu Category","description":"The Creative Category that includes the specified item.","additionalProperties":false,"properties":{"group":{"$ref":"#/definitions/D"},"category":{"$ref":"#/definitions/E"},"is_hidden_in_commands":{"type":"boolean","default":false,"title":"Is Hidden In Commands","description":"Determines whether or not this item can be used with commands. Commands can use items by default"}}}}},"components":{"additionalProperties":{"type":"object"},"type":"object","description":"The components of this item.","properties":{"minecraft:allow_off_hand":{"$ref":"#/definitions/F"},"minecraft:block_placer":{"$ref":"#/definitions/G"},"minecraft:can_destroy_in_creative":{"$ref":"#/definitions/I"},"minecraft:cooldown":{"$ref":"#/definitions/J"},"minecraft:custom_components":{"$ref":"#/definitions/BA"},"minecraft:damage":{"$ref":"#/definitions/BB"},"minecraft:digger":{"$ref":"#/definitions/BC"},"minecraft:display_name":{"$ref":"#/definitions/BD"},"minecraft:durability":{"$ref":"#/definitions/BE"},"minecraft:enchantable":{"$ref":"#/definitions/BF"},"minecraft:entity_placer":{"$ref":"#/definitions/BG"},"minecraft:food":{"$ref":"#/definitions/BH"},"minecraft:fuel":{"$ref":"#/definitions/BI"},"minecraft:glint":{"$ref":"#/definitions/BJ"},"minecraft:hand_equipped":{"$ref":"#/definitions/CA"},"minecraft:icon":{"$ref":"#/definitions/CB"},"minecraft:liquid_clipped":{"$ref":"#/definitions/CC"},"minecraft:max_stack_size":{"$ref":"#/definitions/CD"},"minecraft:projectile":{"$ref":"#/definitions/CE"},"minecraft:record":{"$ref":"#/definitions/CF"},"minecraft:repairable":{"$ref":"#/definitions/CG"},"minecraft:shooter":{"$ref":"#/definitions/CI"},"minecraft:should_despawn":{"$ref":"#/definitions/CJ"},"minecraft:stacked_by_data":{"$ref":"#/definitions/DA"},"minecraft:tags":{"$ref":"#/definitions/DB"},"minecraft:throwable":{"$ref":"#/definitions/DC"},"minecraft:use_animation":{"$ref":"#/definitions/DD"},"minecraft:use_modifiers":{"$ref":"#/definitions/DE"},"minecraft:wearable":{"$ref":"#/definitions/DF"}}},"events":{"$ref":"#/definitions/DG"}}}}} \ No newline at end of file