diff --git a/source/behavior/blocks/format/components/collision_box.json b/source/behavior/blocks/format/components/collision_box.json index 4fafd43c..50bb88af 100644 --- a/source/behavior/blocks/format/components/collision_box.json +++ b/source/behavior/blocks/format/components/collision_box.json @@ -26,9 +26,9 @@ "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" }, - { "title": "Y", "type": "number" }, - { "title": "Z", "type": "number" } + { "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 } ] } } diff --git a/source/behavior/blocks/format/components/crafting_table.json b/source/behavior/blocks/format/components/crafting_table.json index 66aae2a2..520e1f75 100644 --- a/source/behavior/blocks/format/components/crafting_table.json +++ b/source/behavior/blocks/format/components/crafting_table.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.behavior.blocks.minecraft.crafting_table", "title": "Crafting Table", - "description": "[Experimental] Makes your block into a custom crafting table which enables the crafting table UI and the ability to craft recipes.", + "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": [], diff --git a/source/behavior/blocks/format/components/flammable.json b/source/behavior/blocks/format/components/flammable.json index f96e6d93..94e570e6 100644 --- a/source/behavior/blocks/format/components/flammable.json +++ b/source/behavior/blocks/format/components/flammable.json @@ -12,11 +12,17 @@ "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.", + "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": 0.0 + "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 } } } diff --git a/source/behavior/blocks/format/components/geometry.json b/source/behavior/blocks/format/components/geometry.json index 43c7b139..d180da2f 100644 --- a/source/behavior/blocks/format/components/geometry.json +++ b/source/behavior/blocks/format/components/geometry.json @@ -13,7 +13,7 @@ "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", - "enum": ["minecraft:geometry.full_block"] + "enum": ["minecraft:geometry.full_block", "minecraft:geometry.cross"] } } }, @@ -36,6 +36,11 @@ "description": "Whether or not the bone should be visible.", "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" } } } diff --git a/source/behavior/blocks/format/components/loot.json b/source/behavior/blocks/format/components/loot.json index a2c5d626..bacdd4a4 100644 --- a/source/behavior/blocks/format/components/loot.json +++ b/source/behavior/blocks/format/components/loot.json @@ -3,5 +3,6 @@ "title": "Loot", "description": "The path to the loot table, relative to the behavior pack.", "type": "string", - "pattern": "loot_tables/.*\\.json$" + "pattern": "loot_tables/.*\\.json$", + "maxLength": 256 } diff --git a/source/behavior/blocks/format/components/part_visibility.json b/source/behavior/blocks/format/components/part_visibility.json deleted file mode 100644 index 8c1c7e68..00000000 --- a/source/behavior/blocks/format/components/part_visibility.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "$id": "blockception.minecraft.behavior.blocks.minecraft.part_visibility", - "title": "Part Visibility", - "description": "[Experimental] Maps bone names in a geometry file to a condition that turns their rendering on/off. The condition should be a Molang query that uses block properties to determine true/false.", - "type": "object", - "additionalProperties": { - "title": "Part Visibility", - "description": "[Experimental] Maps bone names in a geometry file to a condition that turns their rendering on/off. The condition should be a Molang query that uses block properties to determine true/false.", - "type": ["string", "boolean"] - } -} diff --git a/source/behavior/blocks/format/components/placement_filter.json b/source/behavior/blocks/format/components/placement_filter.json index 9fb6c4f1..e519c882 100644 --- a/source/behavior/blocks/format/components/placement_filter.json +++ b/source/behavior/blocks/format/components/placement_filter.json @@ -1,7 +1,6 @@ { "$id": "blockception.minecraft.behavior.blocks.minecraft.placement_filter", "title": "Placement Filter", - "description": "[Experimental]", "type": "object", "properties": { "conditions": { @@ -17,7 +16,6 @@ "minItems": 1, "items": { "title": "Placement Filter", - "description": "[Experimental]", "type": "object", "additionalProperties": false, "properties": { diff --git a/source/behavior/blocks/format/components/selection_box.json b/source/behavior/blocks/format/components/selection_box.json index dbdbd57e..7eec9518 100644 --- a/source/behavior/blocks/format/components/selection_box.json +++ b/source/behavior/blocks/format/components/selection_box.json @@ -25,9 +25,9 @@ "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" }, - { "title": "Y", "type": "number" }, - { "title": "Z", "type": "number" } + { "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} ] } } diff --git a/source/behavior/blocks/format/components/unit_cube.json b/source/behavior/blocks/format/components/unit_cube.json deleted file mode 100644 index b90e134b..00000000 --- a/source/behavior/blocks/format/components/unit_cube.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$id": "blockception.minecraft.behavior.blocks.minecraft.unit_cube", - "title": "Unit Cube", - "description": "[Deprecated][Experimental] Specifies that a unit cube is to be used with tessellation.", - "type": "object", - "additionalProperties": false, - "properties": {} -} diff --git a/source/behavior/blocks/format/minecraft.block.json b/source/behavior/blocks/format/minecraft.block.json index 43e989f2..7a564805 100644 --- a/source/behavior/blocks/format/minecraft.block.json +++ b/source/behavior/blocks/format/minecraft.block.json @@ -28,11 +28,9 @@ "minecraft:loot": { "$ref": "./components/loot.json" }, "minecraft:map_color": { "$ref": "./components/map_color.json" }, "minecraft:material_instances": { "$ref": "./components/material_instances.json" }, - "minecraft:part_visibility": { "$ref": "./components/part_visibility.json" }, "minecraft:placement_filter": { "$ref": "./components/placement_filter.json" }, "minecraft:selection_box": { "$ref": "./components/selection_box.json" }, "minecraft:transformation": { "$ref": "./components/transformation.json" }, - "minecraft:unit_cube": { "$ref": "./components/unit_cube.json" }, //Triggers "minecraft:on_fall_on": { "$ref": "./triggers/on_fall_on.json" }, diff --git a/source/behavior/entities/format/events.json b/source/behavior/entities/format/events.json index c93253ee..7f90bf9b 100644 --- a/source/behavior/entities/format/events.json +++ b/source/behavior/entities/format/events.json @@ -126,6 +126,25 @@ } } }, + "emit_vibration": { + "title": "Emit Vibration", + "description": "UNDOCUMENTED", + "type": "object", + "properties": { + "vibration": { + "enum": [ + "shear", + "entity_act", + "entity_interact" + ] + } + }, + "examples": [ + { "vibration": "shear"}, + { "vibration": "entity_act"}, + { "vibration": "entity_interact"} + ] + }, "set_property": { "title": "Set Property", "description": "Sets a property on the entity.", diff --git a/source/behavior/items/format/components/allow_off_hand.json b/source/behavior/items/format/components/allow_off_hand.json new file mode 100644 index 00000000..95a33685 --- /dev/null +++ b/source/behavior/items/format/components/allow_off_hand.json @@ -0,0 +1,12 @@ +{ + "$id": "blockception.minecraft.behavior.items.minecraft:allow_off_hand", + "additionalProperties": false, + "type": "object", + "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.", + "required": ["value"], + "properties": { "value": { "type": "boolean", "title": "Value", "description": "Whether the item can be placed in the off hand slot" } }, + "examples": [ + { "value": true } + ] +} diff --git a/source/behavior/items/format/components/armor.json b/source/behavior/items/format/components/armor.json deleted file mode 100644 index c868f3bc..00000000 --- a/source/behavior/items/format/components/armor.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "$id": "blockception.minecraft.behavior.items.minecraft:armor", - "title": "Armor", - "description": "The armor item component determines the amount of protection you have in your armor item.", - "type": "object", - "additionalProperties": false, - "required": ["protection", "texture_type"], - "properties": { - "protection": { "type": "integer", "description": "How much protection does the armor item have.", "title": "Protection", "minimum": 0 }, - "texture_type": { - "type": "string", - "default": "gold", - "description": "Texture Type to apply for the armor. Note that Horse armor is restricted to leather, iron, gold, or diamond.", - "title": "Texture Type", - "enum": ["gold", "none", "leather", "chain", "iron", "diamond", "elytra", "turtle", "netherite"] - } - }, - "examples": [ - { - "protection": 5, - "texture_type" : "diamond" - } - ] -} diff --git a/source/behavior/items/format/components/can_destroy_in_creative.json b/source/behavior/items/format/components/can_destroy_in_creative.json new file mode 100644 index 00000000..c8865226 --- /dev/null +++ b/source/behavior/items/format/components/can_destroy_in_creative.json @@ -0,0 +1,12 @@ +{ + "$id": "blockception.minecraft.behavior.items.minecraft:can_destroy_in_creative", + "additionalProperties": false, + "type": "object", + "title": "Can Destroy In Creative", + "description": "The can destroy in creative component determines if the item will break blocks in creative when swinging.", + "required": ["value"], + "properties": { "value": { "type": "boolean", "title": "Value", "description": "Whether the item can destroy blocks while in creative" } }, + "examples": [ + { "value": false } + ] +} diff --git a/source/behavior/items/format/components/damage.json b/source/behavior/items/format/components/damage.json new file mode 100644 index 00000000..6bb5590e --- /dev/null +++ b/source/behavior/items/format/components/damage.json @@ -0,0 +1,12 @@ +{ + "$id": "blockception.minecraft.behavior.items.minecraft:damage", + "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 } + ] +} diff --git a/source/behavior/items/format/components/digger.json b/source/behavior/items/format/components/digger.json index c1e4a9d0..a1445da2 100644 --- a/source/behavior/items/format/components/digger.json +++ b/source/behavior/items/format/components/digger.json @@ -22,8 +22,7 @@ "type": "object", "additionalProperties": false, "properties": { - "speed": { "title": "Speed", "description": "Speed.", "type": "number" }, - "on_dig": { "type": "string", "title": "On Dig", "description": "Trigger for when you dig a block that isn't listed in destroy_speeds." }, + "speed": { "title": "Speed", "type": "number" }, "block": { "title": "Block", "oneOf": [ @@ -45,7 +44,6 @@ } } } - }, - "on_dig": { "type": "string", "title": "On Dig", "description": "Trigger for when you dig a block that isn't listed in destroy_speeds." } + } } } diff --git a/source/behavior/items/format/components/durability.json b/source/behavior/items/format/components/durability.json index 7265334e..322e9aaf 100644 --- a/source/behavior/items/format/components/durability.json +++ b/source/behavior/items/format/components/durability.json @@ -4,7 +4,7 @@ "description": "Durability item component: how much damage can this item take before breaking.", "type": "object", "additionalProperties": false, - "required": ["damage_chance"], + "required": ["max_durability"], "properties": { "damage_chance": { "type": "object", @@ -20,7 +20,8 @@ "max_durability": { "title": "Maximum Durability", "description": "Maximum durability is the amount of damage that this item can take before breaking.", - "type": "integer" + "type": "integer", + "minimum": 0 } }, "examples": [ diff --git a/source/behavior/items/format/components/dye_powder.json b/source/behavior/items/format/components/dye_powder.json deleted file mode 100644 index 07d97c07..00000000 --- a/source/behavior/items/format/components/dye_powder.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$id": "blockception.minecraft.behavior.items.minecraft:dye_powder", - "title": "Dye Powder", - "description": "Dye powder, there are 16 kinds of dye.", - "type": "object", - "additionalProperties": false, - "required": ["color"], - "properties": { - "color": { - "type": "string", - "title": "Color", - "description": "Defines what color the dye is.", - "enum": ["black", "red", "green", "brown", "blue", "purple", "cyan", "silver", "gray", "pink", "lime", "yellow", "lightblue", "magenta", "orange", "white"] - } - } -} diff --git a/source/behavior/items/format/components/enchantable.json b/source/behavior/items/format/components/enchantable.json new file mode 100644 index 00000000..5a3224ff --- /dev/null +++ b/source/behavior/items/format/components/enchantable.json @@ -0,0 +1,37 @@ +{ + "$id": "blockception.minecraft.behavior.items.minecraft:enchantable", + "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 + } + } +} diff --git a/source/behavior/items/format/components/foil.json b/source/behavior/items/format/components/foil.json deleted file mode 100644 index b70a9074..00000000 --- a/source/behavior/items/format/components/foil.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$id": "blockception.minecraft.behavior.items.minecraft:foil", - "additionalProperties": false, - "required": ["texture"], - "type": "boolean", - "title": "Foil", - "description": "Foil or glint." -} diff --git a/source/behavior/items/format/components/food.json b/source/behavior/items/format/components/food.json index 3cbccd58..f4ff09b1 100644 --- a/source/behavior/items/format/components/food.json +++ b/source/behavior/items/format/components/food.json @@ -11,74 +11,17 @@ "type": "boolean", "default": false }, - "nutrition": { "title": "Nutrition", "description": "How much nutrition does this food item give the player when eaten.", "type": "number" }, - "on_consume": { - "title": "On Consume", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "type": "object", - "additionalProperties": false, - "properties": { - "event": { "type": "string", "title": "Event", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, - "target": { "type": "string", "title": "Target", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["self"] } - } + "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 }, - "is_meat": { - "title": "Is Meat", - "description": "If true, this food item is considered meat.", - "type": "boolean", - "default": false - } - }, - "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.", - "oneOf": [ - { "type": "number" }, - { - "type": "string", - "enum": ["poor", "low"] - } - ] - }, - "using_converts_to": { - "title": "Using Converts To", - "description": "When used, convert the *this* item to the one specified by `using_converts_to`.", - "type": "string" - }, - "effects": { - "title": "Effects", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "type": "array", - "items": { - "title": "Effect", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "type": "object", - "additionalProperties": false, - "properties": { - "name": { - "title": "Name", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "type": "string" - }, - "duration": { - "type": "integer", - "default": 0, - "minimum": 0, - "description": "The duration of the effect.", - "$comment": "UNDOCUMENTED" - }, - "amplifier": { - "type": "integer", - "default": 0, - "minimum": 0, - "description": "The amplifier of the effect.", - "$comment": "UNDOCUMENTED" - } - } + "using_converts_to": { + "title": "Using Converts To", + "description": "When used, convert the *this* item to the one specified by `using_converts_to`.", + "type": "string" } } } diff --git a/source/behavior/items/format/components/glint.json b/source/behavior/items/format/components/glint.json new file mode 100644 index 00000000..74b6867a --- /dev/null +++ b/source/behavior/items/format/components/glint.json @@ -0,0 +1,12 @@ +{ + "$id": "blockception.minecraft.behavior.items.minecraft:foil", + "additionalProperties": false, + "type": "object", + "title": "Glint", + "description": "The glint component determines whether the item has the enchanted glint render effect on it", + "required": ["value"], + "properties": { "value": { "type": "boolean", "title": "Value", "description": "Whether the item has the glint effect." } }, + "examples": [ + { "value": true } + ] +} diff --git a/source/behavior/items/format/components/hand_equipped.json b/source/behavior/items/format/components/hand_equipped.json index b138c33c..e45bc52b 100644 --- a/source/behavior/items/format/components/hand_equipped.json +++ b/source/behavior/items/format/components/hand_equipped.json @@ -1,8 +1,12 @@ { "$id": "blockception.minecraft.behavior.items.minecraft:hand_equipped", "additionalProperties": false, - "required": ["texture"], - "type": "boolean", + "type": "object", "title": "Hand Equipped", - "description": "Is this a hand equipped item." + "description": "This component determines if an item is rendered like a tool while in hand.", + "required": ["value"], + "properties": { "value": { "type": "boolean", "title": "Value", "description": "If the item is rendered like a tool while in hand." } }, + "examples": [ + { "value": true } + ] } diff --git a/source/behavior/items/format/components/hover_text_color.json b/source/behavior/items/format/components/hover_text_color.json new file mode 100644 index 00000000..8f4263e3 --- /dev/null +++ b/source/behavior/items/format/components/hover_text_color.json @@ -0,0 +1,19 @@ +{ + "$id": "blockception.minecraft.behavior.items.minecraft:hover_text_color", + "additionalProperties": false, + "type": "object", + "title": "Hover Text Color", + "description": "The hover text color component determines the color of the item name when hovering over it.", + "required": ["value"], + "properties": { + "value": { + "description": "The color of the item's hover text.", + "type": "string", + "enum": ["black", "blue", "brown", "cyan", "gray", "green", "light_blue", "light_green", "magenta", "orange", "pink", "purple", "red", "silver", "white", "yellow"], + "title": "Value" + } + }, + "examples": [ + { "value": "light_blue" } + ] +} diff --git a/source/behavior/items/format/components/icon.json b/source/behavior/items/format/components/icon.json index 884186c7..f6c1a383 100644 --- a/source/behavior/items/format/components/icon.json +++ b/source/behavior/items/format/components/icon.json @@ -6,12 +6,6 @@ "additionalProperties": false, "required": ["texture"], "properties": { - "frame": { - "type": "string", - "title": "Frame", - "description": "An index or expression for which frame of the icon to display. Default resolves to 0.", - "default": 0 - }, "legacy_id": { "type": "string", "title": "Texture", "description": "Legacy texture id for older item icons." }, "texture": { "type": "string", diff --git a/source/behavior/items/format/components/knockback_resistance.json b/source/behavior/items/format/components/knockback_resistance.json deleted file mode 100644 index e2040219..00000000 --- a/source/behavior/items/format/components/knockback_resistance.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$id": "blockception.minecraft.behavior.items.minecraft:knockback_resistance", - "title": "Knockback Resistance", - "description": "Knockback Resistance Item. Component put on items that provide knockback resistance.", - "type": "object", - "additionalProperties": false, - "required": ["protection"], - "properties": { - "protection": { - "title": "Protection", - "description": "Amount of knockback resistance provided with the total maximum protection being 1.0", - "type": "number", - "maximum": 1.0 - } - }, - "examples": [ - { "protection": 0.5} - ] -} diff --git a/source/behavior/items/format/components/liquid_clipped.json b/source/behavior/items/format/components/liquid_clipped.json new file mode 100644 index 00000000..0c3cf865 --- /dev/null +++ b/source/behavior/items/format/components/liquid_clipped.json @@ -0,0 +1,12 @@ +{ + "$id": "blockception.minecraft.behavior.items.minecraft:liquid_clipped", + "additionalProperties": false, + "type": "object", + "title": "Liquid Clipped", + "description": "The liquid clipped component determines whether the item interacts with liquid blocks on use.", + "required": ["value"], + "properties": { "value": { "type": "boolean", "title": "Value", "description": "Whether the item interacts with liquid blocks on use." } }, + "examples": [ + { "value": true } + ] +} \ No newline at end of file diff --git a/source/behavior/items/format/components/max_damage.json b/source/behavior/items/format/components/max_damage.json deleted file mode 100644 index c3e04e89..00000000 --- a/source/behavior/items/format/components/max_damage.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "$id": "blockception.minecraft.behavior.items.minecraft:max_damage", - "additionalProperties": false, - "type": "integer", - "title": "Max Damage", - "description": "Maximum Damage.", - "$comment": "UNDOCUMENTED", - "minimum": 0 -} diff --git a/source/behavior/items/format/components/max_stack_size.json b/source/behavior/items/format/components/max_stack_size.json index 6537cd8a..304c0ed2 100644 --- a/source/behavior/items/format/components/max_stack_size.json +++ b/source/behavior/items/format/components/max_stack_size.json @@ -1,9 +1,12 @@ { "$id": "blockception.minecraft.behavior.items.minecraft:max_stack_size", "additionalProperties": false, - "required": ["texture"], - "type": "integer", + "type": "object", "title": "Max Stack Size", - "description": "Maximum stack size.", - "minimum": 0 + "description": "The max stack size component determines how many of the item can be stacked together.", + "required": ["value"], + "properties": { "value": { "type": "number", "title": "Value", "description": "How many of the item that can be stacked.", "default": 64, "minimum": 1 } }, + "examples": [ + { "value": 1 } + ] } diff --git a/source/behavior/items/format/components/on_use.json b/source/behavior/items/format/components/on_use.json deleted file mode 100644 index b8fde025..00000000 --- a/source/behavior/items/format/components/on_use.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$id": "blockception.minecraft.behavior.items.minecraft:on_use", - "title": "On Use", - "description": "The on_use item component allows you to receive an event when the item is used.", - "type": "object", - "additionalProperties": false, - "required": ["on_use"], - "properties": { - "on_use": { - "title": "On Use", - "description": "Event trigger for when the item is used.", - "type": "object", - "additionalProperties": false, - "properties": { - "event": { "type": "string", "title": "Event", "description": "Event trigger for when the item is used."}, - "target": { "type": "string", "title": "Target", "description": "Event Target.", "enum": ["self"] } - } - } - }, - "examples": [ - { - "on_use": "minecraft:entity_transformed" - } - ] -} diff --git a/source/behavior/items/format/components/on_use_on.json b/source/behavior/items/format/components/on_use_on.json deleted file mode 100644 index 75f789bb..00000000 --- a/source/behavior/items/format/components/on_use_on.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$id": "blockception.minecraft.behavior.items.minecraft:on_use_on", - "title": "On Use On", - "description": "The on_use_on item component allows you to receive an event when the item is used on a block in the world.", - "type": "object", - "additionalProperties": false, - "required": ["on_use_on"], - "properties": { - "on_use_on": { - "title": "On Use On", - "description": "Event trigger for when the item is used.", - "type": "object", - "additionalProperties": false, - "properties": { - "event": { "type": "string", "title": "Event", "description": "Event trigger for when the item is used." }, - "target": { "type": "string", "title": "Target", "description": "Event target (block).", "$comment": "UNDOCUMENTED", "enum": ["block"] } - } - } - }, - "Examples": [ - { - "on_use_on": "minecraft:entity_primed" - } - ] -} diff --git a/source/behavior/items/format/components/record.json b/source/behavior/items/format/components/record.json new file mode 100644 index 00000000..5bb55469 --- /dev/null +++ b/source/behavior/items/format/components/record.json @@ -0,0 +1,29 @@ +{ + "$id": "blockception.minecraft.behavior.items.minecraft:record", + "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" + } + } + } + \ No newline at end of file diff --git a/source/behavior/items/format/components/render_offsets.json b/source/behavior/items/format/components/render_offsets.json deleted file mode 100644 index 3077c924..00000000 --- a/source/behavior/items/format/components/render_offsets.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "$id": "blockception.minecraft.behavior.items.minecraft:render_offsets", - "title": "Render Offsets", - "description": "Render offsets component: optional values can be given to offset the way the item is rendered. Depreciated in json formats 1.20.10 and higher", - "type": "object", - "additionalProperties": false, - "definitions": { - "offset_spec": { - "type": "object", - "title": "Offset", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "additionalProperties": false, - "properties": { - "first_person": { - "title": "First Person", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "$ref": "#/definitions/mode" - }, - "thrid_person": { - "title": "Thrid Person", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "$ref": "#/definitions/mode" - } - } - }, - "mode": { - "type": "object", - "title": "Mode", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", - "additionalProperties": false, - "properties": { - "position": { - "title": "Position", - "description": "The position transformation.", - "$ref": "#/definitions/vec3" - }, - "rotation": { - "title": "Rotation", - "description": "The rotation transformation.", - "$ref": "#/definitions/vec3" - }, - "scale": { - "title": "Scale", - "description": "The scale transformation.", - "$ref": "#/definitions/vec3" - } - } - }, - "vec3": { - "type": "array", - "title": "Vector", - "description": "X Y Z.", - "items": [ - { "title": "X", "description": "The X tranformation.", "type": "number" }, - { "title": "Y", "description": "The Y tranformation.", "type": "number" }, - { "title": "Z", "description": "The Z tranformation.", "type": "number" } - ] - } - }, - "properties": { - "main_hand": { "title": "Main Hand", "description": "Right hand transform data.", "type": "string" }, - "off_hand": { "title": "Off Hand", "description": "Left hand transform data.", "type": "string" } - }, - "examples": [ - { - "main_hand": [0,0,0], - "off_hand":[0,0.5,0] - } - ] -} diff --git a/source/behavior/items/format/components/repairable.json b/source/behavior/items/format/components/repairable.json index b4f3fed4..429abc37 100644 --- a/source/behavior/items/format/components/repairable.json +++ b/source/behavior/items/format/components/repairable.json @@ -5,7 +5,6 @@ "type": "object", "additionalProperties": false, "properties": { - "on_repaired": { "title": "On Repaired", "description": "Event that is called when this item has been repaired.", "type": "object" }, "repair_items": { "title": "Repair Items", "description": "Repair item entries.", @@ -13,21 +12,19 @@ "items": { "type": "object", "title": "Repar Item", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", + "description": "List of repair item entries.", "additionalProperties": false, "properties": { "items": { "title": "Items", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", + "description": "Items that can be used to repeair it", + "$comment": "List of items", "type": "array", - "items": { "type": "string", "title": "Item", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } + "items": { "type": "string", "title": "Item", "description": "Item identifier" } }, "repair_amount": { "title": "Repair Amount", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", + "description": "Amount that can be repaired", "$ref": "../../../../molang/number.json" } } diff --git a/source/behavior/items/format/components/shooter.json b/source/behavior/items/format/components/shooter.json index a62df5c5..5625f208 100644 --- a/source/behavior/items/format/components/shooter.json +++ b/source/behavior/items/format/components/shooter.json @@ -12,14 +12,13 @@ "items": { "type": "object", "title": "Ammunition", - "description": "UNDOCUMENTED.", - "$comment": "UNDOCUMENTED", + "description": "Ammunition definition", "additionalProperties": false, "properties": { - "item": { "title": "Item", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" }, - "use_offhand": { "title": "Use Offhand", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "boolean" }, - "search_inventory": { "title": "Search Inventory", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "boolean" }, - "use_in_creative": { "title": "Use In Creative", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "boolean" } + "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" } } } }, diff --git a/source/behavior/items/format/components/should_despawn.json b/source/behavior/items/format/components/should_despawn.json new file mode 100644 index 00000000..3cbab587 --- /dev/null +++ b/source/behavior/items/format/components/should_despawn.json @@ -0,0 +1,12 @@ +{ + "$id": "blockception.minecraft.behavior.items.minecraft:should_despawn", + "title": "Should Despawn", + "description": "Should despawn component determines if the item should eventually despawn while floating in the world", + "additionalProperties": false, + "type": "object", + "required": ["value"], + "properties": { "value": { "type": "boolean", "title": "Value", "description": "Whether the item should eventually despawn while floating in the world" } }, + "examples": [ + { "value": false } + ] +} \ No newline at end of file diff --git a/source/behavior/items/format/components/stacked_by_data.json b/source/behavior/items/format/components/stacked_by_data.json index d334eb84..b8bf473d 100644 --- a/source/behavior/items/format/components/stacked_by_data.json +++ b/source/behavior/items/format/components/stacked_by_data.json @@ -1,6 +1,12 @@ { "$id": "blockception.minecraft.behavior.items.minecraft:stacked_by_data", - "title": "On Use", - "description": "The on_use item component allows you to receive an event when the item is used.", - "type": "boolean" + "title": "Stacked By Data", + "description": "The stacked by data component determines if the same item with different aux values can stack.", + "additionalProperties": false, + "type": "object", + "required": ["value"], + "properties": { "value": { "type": "boolean", "title": "Value", "description": "Also defines whether the item actors can merge while floating in the world." } }, + "examples": [ + { "value": true } + ] } diff --git a/source/behavior/items/format/components/tags.json b/source/behavior/items/format/components/tags.json new file mode 100644 index 00000000..a06be5f1 --- /dev/null +++ b/source/behavior/items/format/components/tags.json @@ -0,0 +1,81 @@ +{ + "$id": "blockception.minecraft.behavior.items.minecraft:tags", + "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" } + ] + } + } + } +} diff --git a/source/behavior/items/format/components/use_animation.json b/source/behavior/items/format/components/use_animation.json new file mode 100644 index 00000000..52c5edb9 --- /dev/null +++ b/source/behavior/items/format/components/use_animation.json @@ -0,0 +1,21 @@ +{ + "$id": "blockception.minecraft.behavior.items.minecraft:use_animation", + "additionalProperties": false, + "required": [ "value" ], + "type": "object", + "title": "Use Animation", + "description": "This component determines which animation plays when using the item.", + "properties": { + "value": { + "title": "Value", + "description": "Which animation to play when using the item.", + "enum": [ + "bow", + "eat", + "crossbow", + "drink", + "camera" + ] + } + } +} diff --git a/source/behavior/items/format/components/use_duration.json b/source/behavior/items/format/components/use_duration.json deleted file mode 100644 index d5b64fa6..00000000 --- a/source/behavior/items/format/components/use_duration.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$id": "blockception.minecraft.behavior.items.minecraft:use_duration", - "additionalProperties": false, - "required": ["texture"], - "type": "integer", - "title": "Use Duration", - "description": "How long to use before item is done being used." -} diff --git a/source/behavior/items/format/components/use_modifiers.json b/source/behavior/items/format/components/use_modifiers.json new file mode 100644 index 00000000..9fc51500 --- /dev/null +++ b/source/behavior/items/format/components/use_modifiers.json @@ -0,0 +1,22 @@ +{ + "$id": "blockception.minecraft.behavior.items.minecraft:use_modifiers", + "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 + } + } +} diff --git a/source/behavior/items/format/components/weapon.json b/source/behavior/items/format/components/weapon.json deleted file mode 100644 index 15660e63..00000000 --- a/source/behavior/items/format/components/weapon.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "$id": "blockception.minecraft.behavior.items.minecraft:weapon", - "title": "Weapon", - "description": "Weapon Item Component. Added to every weapon item such as axe, sword, trident, bow, crossbow.", - "type": "object", - "additionalProperties": false, - "properties": { - "on_hit_block": { - "title": "On Hit Block", - "description": "Trigger for letting you know when this item is used to hit a block.", - "type": "object", - "additionalProperties": false, - "event": { "type": "string", "title": "Event", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, - "target": { "type": "string", "title": "Target", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["self"] } - }, - "on_hurt_entity": { - "title": "On Hurt Entity", - "description": "Trigger for letting you know when this item is used to hurt another mob.", - "type": "object", - "additionalProperties": false, - "event": { "type": "string", "title": "Event", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, - "target": { "type": "string", "title": "Target", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["self", "holder"] } - }, - "on_not_hurt_entity": { - "title": "On Not Hurt Entity", - "description": "Trigger for letting you know when this item hit another actor, but didn't do damage.", - "type": "object", - "additionalProperties": false, - "event": { "type": "string", "title": "Event", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, - "target": { "type": "string", "title": "Target", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["self"] } - } - }, - "examples": [ - { - "on_hit_block" : "my_event:block_hit", - "on_hurt_entity" : "my_event:ouch", - "on_not_hurt_entity" : "my_event:panic" - } - ] -} diff --git a/source/behavior/items/format/components/wearable.json b/source/behavior/items/format/components/wearable.json index 03175861..07cfdf22 100644 --- a/source/behavior/items/format/components/wearable.json +++ b/source/behavior/items/format/components/wearable.json @@ -5,6 +5,7 @@ "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", diff --git a/source/behavior/items/format/minecraft.item.json b/source/behavior/items/format/minecraft.item.json index 5324a595..ca40460d 100644 --- a/source/behavior/items/format/minecraft.item.json +++ b/source/behavior/items/format/minecraft.item.json @@ -60,32 +60,33 @@ "type": "object", "description": "The components of this item.", "properties": { - "minecraft:armor": { "$ref": "./components/armor.json" }, + "minecraft:allow_off_hand": {"$ref": "./components/allow_off_hand.json"}, "minecraft:block_placer": { "$ref": "./components/block_placer.json" }, + "minecraft:can_destroy_in_creative": {"$ref": "./components/can_destroy_in_creative.json"}, "minecraft:cooldown": { "$ref": "./components/cooldown.json" }, + "minecraft:damage": {"$ref": "./components/damage.json"}, "minecraft:digger": { "$ref": "./components/digger.json" }, "minecraft:display_name": { "$ref": "./components/display_name.json" }, "minecraft:durability": { "$ref": "./components/durability.json" }, - "minecraft:dye_powder": { "$ref": "./components/dye_powder.json" }, + "minecraft:enchantable": { "$ref": "./components/enchantable.json" }, "minecraft:entity_placer": { "$ref": "./components/entity_placer.json" }, - "minecraft:foil": { "$ref": "./components/foil.json" }, "minecraft:food": { "$ref": "./components/food.json" }, "minecraft:fuel": { "$ref": "./components/fuel.json" }, + "minecraft:glint": { "$ref": "./components/glint.json" }, "minecraft:hand_equipped": { "$ref": "./components/hand_equipped.json" }, "minecraft:icon": { "$ref": "./components/icon.json" }, - "minecraft:knockback_resistance": { "$ref": "./components/knockback_resistance.json" }, - "minecraft:max_damage": { "$ref": "./components/max_damage.json" }, + "minecraft:liquid_clipped": { "$ref": "./components/liquid_clipped.json" }, "minecraft:max_stack_size": { "$ref": "./components/max_stack_size.json" }, - "minecraft:on_use_on": { "$ref": "./components/on_use_on.json" }, - "minecraft:on_use": { "$ref": "./components/on_use.json" }, "minecraft:projectile": { "$ref": "./components/projectile.json" }, - "minecraft:render_offsets": { "$ref": "./components/render_offsets.json" }, + "minecraft:record": { "$ref": "./components/record.json" }, "minecraft:repairable": { "$ref": "./components/repairable.json" }, "minecraft:shooter": { "$ref": "./components/shooter.json" }, - "minecraft:stacked_by_data": { "$ref": "./components/knockback_resistance.json" }, + "minecraft:should_despawn": { "$ref": "./components/should_despawn.json" }, + "minecraft:stacked_by_data": { "$ref": "./components/stacked_by_data.json" }, + "minecraft:tags": { "$ref": "./components/tags.json" }, "minecraft:throwable": { "$ref": "./components/throwable.json" }, - "minecraft:use_duration": { "$ref": "./components/use_duration.json" }, - "minecraft:weapon": { "$ref": "./components/weapon.json" }, + "minecraft:use_animation": { "$ref": "./components/use_animation.json" }, + "minecraft:use_modifiers": { "$ref": "./components/use_modifiers.json" }, "minecraft:wearable": { "$ref": "./components/wearable.json" } } },