diff --git a/behavior/items/items.json b/behavior/items/items.json index ae52a171..ea2b04cb 100644 --- a/behavior/items/items.json +++ b/behavior/items/items.json @@ -1,1729 +1,1610 @@ { - "$id": "blockception.minecraft.behavior.items", - "defaultSnippets": [ - { - "label": "New item", - "body": { - "format_version": "${1:1.20.80}", - "minecraft:item": { - "description": { - "identifier": "$2:${3:${TM_FILENAME/[\\.].*//}}", - "menu_category": { - "category": "${4:items}" - } - }, - "components": { - "minecraft:icon": "$2.${3:${TM_FILENAME/[\\.].*//}}" - } - } + "$id": "blockception.minecraft.behavior.items", + "defaultSnippets": [ + { + "label": "New item", + "body": { + "format_version": "${1:1.20.80}", + "minecraft:item": { + "description": { + "identifier": "$2:${3:${TM_FILENAME/[\\.].*//}}", + "menu_category": { + "category": "${4:items}" + } + }, + "components": { + "minecraft:icon": { + "texture": "$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" + } + } + ], + "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|}" } + ] }, - "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" - } - ] + "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" }, - "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" - } - } + { + "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" }, - "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 - } - ] + "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" }, - "BA": { - "title": "Custom Components", - "description": "Used to register custom components.", - "additionalProperties": false, - "type": "array", - "items": { - "type": "string" + { + "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" }, - "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' )" - ] - } - } - } - ] - } - } - } - } - } + "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 }, - "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.", + "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, - "required": [ - "value" - ], "properties": { - "value": { + "speed": { + "title": "Speed", + "type": "number" + }, + "block": { + "title": "Block", + "oneOf": [ + { "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": { + "description": "The block identifier." + }, + { "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" + "tags": { + "type": "string", + "title": "Block Tags", + "description": "The block tags.", + "examples": ["query.any_tag( 'stone', 'metal' )"] + } } - } + } + ] + } } - }, - "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" - } + } + } + } + }, + "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." } + } }, - "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 - } - ] + "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"] }, - "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 - } - } - } - ] + "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." }, - "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 - } - } - } - ] + "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" + } }, - "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." - } - } - } - } - } - ] + "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 }, - "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 - } - } - } - ] + "nutrition": { + "title": "Nutrition", + "description": "How much nutrition does this food item give the player when eaten.", + "type": "number", + "default": 0 }, - "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 - } - } - } - ] + "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 }, - "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" - } - ] + "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" }, - "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" - } + { + "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" }, - "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" - } - } - } - } + { + "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" }, - "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" - } - ] - } + { + "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" }, - "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" - ] + { + "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 }, - "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" - } - } - } - ] + 16, + { + "value": 16 + } + ], + "oneOf": [ + { + "type": "number", + "minimum": 1, + "maximum": 64 }, - "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 - } + { + "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 }, - "DF": { - "title": "Wearable", - "description": "Wearable item component.", + { + "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": { - "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" - ] + "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" + } } - }, - "DG_event_base": { - "title": "Event", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", + } + } + } + }, + "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, - "$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" - ] - } - } - } + "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" + } } + } }, - "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" - } + "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" }, - "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" - } + { + "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" }, - "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" - } + { + "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" }, - "DJ": { - "title": "Decrement Stack", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "type": "object", - "additionalProperties": false + "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" }, - "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" - ] - } - } + "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" }, - "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" - } + "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 }, - "EC": { - "title": "Swing", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "type": "object", - "additionalProperties": false + "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 }, - "ED": { - "title": "Teleport", + "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", - "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" - } - ] - } - } + "$ref": "#/definitions/DG_event_functions" + } }, - "EE": { - "title": "Transform Item", + "randomize": { + "title": "Randomize", + "description": "UNDOCUMENTED.", + "$comment": "UNDOCUMENTED", + "type": "array", + "items": { + "title": "Randomize", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", - "additionalProperties": false, + "$ref": "#/definitions/DG_event_functions", + "required": ["weight"], "properties": { - "transform": { - "title": "Transform", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "type": "string" - } + "weight": { + "title": "Weight", + "description": "UNDOCUMENTED.", + "$comment": "UNDOCUMENTED", + "type": "integer", + "minimum": 0 + } } + } }, - "DG": { - "title": "Events", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "type": "object", - "properties": { - "on_consume": { - "$ref": "#/definitions/DG_event_base" - } + "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" + } }, - "additionalProperties": { - "$ref": "#/definitions/DG_event_base" + "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" }, - "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" - } - } - } - } + "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" }, - "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" - } - } + "category": { + "$ref": "#/definitions/E" }, - "events": { - "$ref": "#/definitions/DG" + "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 + } +}