diff --git a/.vscode/easy.code-snippets b/.vscode/easy.code-snippets new file mode 100644 index 00000000..7660a1e4 --- /dev/null +++ b/.vscode/easy.code-snippets @@ -0,0 +1,13 @@ +{ + "speed_multiplier": { + "prefix": "snippet.speed_multiplier", + "body": [ + "\"priority\": { \"$ref\": \"types/base_priority.json\" },", + "\"speed_multiplier\": { \"$ref\": \"types/base_speed_multiplier.json\" }," + ] + }, + "priority": { + "prefix": "snippet.priority", + "body": "\"priority\": { \"$ref\": \"types/base_priority.json\" }," + } +} \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..05f1d086 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,10 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. + // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp + + // List of extensions which should be recommended for users of this workspace. + "recommendations": [ + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode" + ] +} diff --git a/Minecraft bedrock json schemas.code-workspace b/Minecraft bedrock json schemas.code-workspace index 362d7c25..d6c3860c 100644 --- a/Minecraft bedrock json schemas.code-workspace +++ b/Minecraft bedrock json schemas.code-workspace @@ -3,5 +3,10 @@ { "path": "." } - ] + ], + "extensions": { + "recommendations": [ + "vscode-icons-team.vscode-icons" + ] + } } \ No newline at end of file diff --git a/behaviour/items/1.16.100/components/minecraft.entity_placer.json b/behaviour/items/1.16.100/components/minecraft.entity_placer.json index 918357e8..c4fba8e3 100644 --- a/behaviour/items/1.16.100/components/minecraft.entity_placer.json +++ b/behaviour/items/1.16.100/components/minecraft.entity_placer.json @@ -1,10 +1,34 @@ { "$schema": "http://json-schema.org/draft-07/schema", - "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:", - "title": "", - "description": "", + "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:entity_placer", + "title": "Entity placer", + "description": "Entity placer item component. You can specifiy allowed blocks that the item is restricted to.", "type": "object", "additionalProperties": false, - "required": [""], - "properties": {} + "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": "UNDOCUMENTATED", + "description": "UNDOCUMENTATED" + } + }, + "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": "UNDOCUMENTATED", + "description": "UNDOCUMENTATED" + } + } + } } diff --git a/behaviour/items/1.16.100/components/minecraft.food.json b/behaviour/items/1.16.100/components/minecraft.food.json index 918357e8..00eceb08 100644 --- a/behaviour/items/1.16.100/components/minecraft.food.json +++ b/behaviour/items/1.16.100/components/minecraft.food.json @@ -1,10 +1,52 @@ { "$schema": "http://json-schema.org/draft-07/schema", - "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:", - "title": "", - "description": "", + "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:food", + "title": "Food", + "description": "When an item has a food component, it becomes edible to the player.", "type": "object", "additionalProperties": false, - "required": [""], - "properties": {} + "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" + }, + "on_consume": { + "title": "On consume", + "description": "UNDOCUMENATED", + "type": "object", + "additionalProperties": false, + "properties": { + "event": { + "type": "string", + "title": "UNDOCUMENATED", + "description": "UNDOCUMENATED" + }, + "target": { + "type": "string", + "title": "UNDOCUMENATED", + "description": "UNDOCUMENATED", + "enum": [ + "self" + ] + } + } + }, + "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" + }, + "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/behaviour/items/1.16.100/components/minecraft.fuel.json b/behaviour/items/1.16.100/components/minecraft.fuel.json index 918357e8..12f1fc5b 100644 --- a/behaviour/items/1.16.100/components/minecraft.fuel.json +++ b/behaviour/items/1.16.100/components/minecraft.fuel.json @@ -1,10 +1,16 @@ { "$schema": "http://json-schema.org/draft-07/schema", - "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:", - "title": "", - "description": "", + "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:fuel", + "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": [""], - "properties": {} + "required": ["duration"], + "properties": { + "duration": { + "type": "number", + "title": "duration", + "description": "How long in seconds will this fuel cook items for." + } + } } diff --git a/behaviour/items/1.16.100/components/minecraft.icon.json b/behaviour/items/1.16.100/components/minecraft.icon.json index 918357e8..e52831da 100644 --- a/behaviour/items/1.16.100/components/minecraft.icon.json +++ b/behaviour/items/1.16.100/components/minecraft.icon.json @@ -1,10 +1,27 @@ { "$schema": "http://json-schema.org/draft-07/schema", - "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:", - "title": "", - "description": "", + "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:icon", + "title": "Icon", + "description": "The icon item componenent determines the icon to represent the item in the UI and elsewhere.", "type": "object", "additionalProperties": false, - "required": [""], - "properties": {} + "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", + "title": "Texture", + "description": "The key from the resource_pack/textures/item_texture.json 'texture_data' object associated with the texture file Example: blaze_powder." + } + } } diff --git a/behaviour/items/1.16.100/components/minecraft.knockback_resistance.json b/behaviour/items/1.16.100/components/minecraft.knockback_resistance.json index 918357e8..8a703cc8 100644 --- a/behaviour/items/1.16.100/components/minecraft.knockback_resistance.json +++ b/behaviour/items/1.16.100/components/minecraft.knockback_resistance.json @@ -1,10 +1,16 @@ { "$schema": "http://json-schema.org/draft-07/schema", - "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:", - "title": "", - "description": "", + "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:knockback_resistance", + "title": "Knockback resistance", + "description": "Knockback Resistance Item. Component put on items that provide knockback resistance.", "type": "object", "additionalProperties": false, - "required": [""], - "properties": {} + "required": ["protection"], + "properties": { + "protection": { + "title": "Protection", + "description": "Amount of knockback resistance provided with the total maximum protection being 1.0", + "type":"number" + } + } } diff --git a/behaviour/items/1.16.100/components/minecraft.on_use.json b/behaviour/items/1.16.100/components/minecraft.on_use.json index 918357e8..d1cd6f5e 100644 --- a/behaviour/items/1.16.100/components/minecraft.on_use.json +++ b/behaviour/items/1.16.100/components/minecraft.on_use.json @@ -1,10 +1,30 @@ { "$schema": "http://json-schema.org/draft-07/schema", - "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:", - "title": "", - "description": "", + "$id": "blockception.minecraft.behaviour.1.16.100.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": [""], - "properties": {} + "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": "UNDOCUMENATED", + "description": "UNDOCUMENATED" + }, + "target": { + "type": "string", + "title": "UNDOCUMENATED", + "description": "UNDOCUMENATED", + "enum": ["self"] + } + } + } + } } diff --git a/behaviour/items/1.16.100/components/minecraft.on_use_on.json b/behaviour/items/1.16.100/components/minecraft.on_use_on.json index 918357e8..3acb2d2b 100644 --- a/behaviour/items/1.16.100/components/minecraft.on_use_on.json +++ b/behaviour/items/1.16.100/components/minecraft.on_use_on.json @@ -1,10 +1,30 @@ { "$schema": "http://json-schema.org/draft-07/schema", "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:", - "title": "", - "description": "", + "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": [""], - "properties": {} + "required": ["on_use_on"], + "properties": { + "on_use": { + "title": "On use", + "description": "Event trigger for when the item is used.", + "type": "object", + "additionalProperties": false, + "properties": { + "event": { + "type": "string", + "title": "UNDOCUMENATED", + "description": "UNDOCUMENATED" + }, + "target": { + "type": "string", + "title": "UNDOCUMENATED", + "description": "UNDOCUMENATED", + "enum": ["block"] + } + } + } + } } diff --git a/behaviour/items/1.16.100/components/minecraft.projectile.json b/behaviour/items/1.16.100/components/minecraft.projectile.json index 918357e8..cfcc5ee5 100644 --- a/behaviour/items/1.16.100/components/minecraft.projectile.json +++ b/behaviour/items/1.16.100/components/minecraft.projectile.json @@ -1,10 +1,21 @@ { "$schema": "http://json-schema.org/draft-07/schema", - "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:", - "title": "", - "description": "", + "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:projectile", + "title": "Projectile", + "description": "Projectile item component. projectile items shoot out, like an arrow.", "type": "object", "additionalProperties": false, - "required": [""], - "properties": {} + "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" + } + } } diff --git a/behaviour/items/1.16.100/components/minecraft.repairable.json b/behaviour/items/1.16.100/components/minecraft.repairable.json index 918357e8..9882e37c 100644 --- a/behaviour/items/1.16.100/components/minecraft.repairable.json +++ b/behaviour/items/1.16.100/components/minecraft.repairable.json @@ -1,10 +1,43 @@ { "$schema": "http://json-schema.org/draft-07/schema", - "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:", - "title": "", - "description": "", + "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:repairable", + "title": "Repairable", + "description": "Repairable item component: how much damage can this item repair, what items can repair it.", "type": "object", "additionalProperties": false, - "required": [""], - "properties": {} + "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.", + "type": "array", + "items": { + "type": "object", + "title": "UNDOCUMENATED", + "description": "UNDOCUMENATED", + "additionalProperties": false, + "properties": { + "items": { + "title": "Items", + "description": "UNDOCUMENATED", + "type": "array", + "items": { + "type": "string", + "title": "Item", + "description": "UNDOCUMENATED" + } + }, + "repair_amount": { + "title": "Repair amount", + "description": "UNDOCUMENATED", + "$ref": "../../../../general/molang/1.8.0/number.json" + } + } + } + } + } } diff --git a/behaviour/items/1.16.100/components/minecraft.shooter.json b/behaviour/items/1.16.100/components/minecraft.shooter.json index 918357e8..a3f870c2 100644 --- a/behaviour/items/1.16.100/components/minecraft.shooter.json +++ b/behaviour/items/1.16.100/components/minecraft.shooter.json @@ -1,10 +1,73 @@ { "$schema": "http://json-schema.org/draft-07/schema", - "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:", - "title": "", - "description": "", + "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:shooter", + "title": "Shooter", + "description": "Shooter Item Component.", "type": "object", "additionalProperties": false, - "required": [""], - "properties": {} + "properties": { + "ammunition": { + "title": "Ammunition", + "description": "Ammunition", + "type": "array", + "items": { + "type": "object", + "title": "UNDOCUMENTATED", + "description": "UNDOCUMENTATED", + "additionalProperties": false, + "properties": { + "item": { + "title": "Item", + "description": "UNDOCUMENTATED", + "type": "string" + }, + "use_offhand": { + "title": "Use offhand", + "description": "UNDOCUMENTATED", + "type": "boolean" + }, + "search_inventory": { + "title": "Search inventory", + "description": "UNDOCUMENTATED", + "type": "boolean" + }, + "use_in_creative": { + "title": "Use in creative", + "description": "UNDOCUMENTATED", + "type": "boolean" + } + } + } + }, + "charge_on_draw": { + "title": "Charge on draw", + "description": "Charge on draw? Default is set to false.", + "default": false, + "type": "boolean" + }, + "launch_power_scale": { + "title": "Launch power scale", + "description": "Launch power scale. Default is set to 1.0.", + "default": 1.0, + "type": "number" + }, + "max_draw_duration": { + "title": "Max draw duration", + "description": "Draw Duration. Default is set to 0.", + "default": 0, + "type": "number" + }, + "max_launch_power": { + "title": "Max launch power", + "description": "Launch power. Default is set to 1.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" + } + } } diff --git a/behaviour/items/1.16.100/components/minecraft.throwable.json b/behaviour/items/1.16.100/components/minecraft.throwable.json index 918357e8..a7d1cabb 100644 --- a/behaviour/items/1.16.100/components/minecraft.throwable.json +++ b/behaviour/items/1.16.100/components/minecraft.throwable.json @@ -1,10 +1,46 @@ { "$schema": "http://json-schema.org/draft-07/schema", "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:", - "title": "", - "description": "", + "title": "minecraft:throwable", + "description": "Throwable item component. Throwable items, such as a snowball.", "type": "object", "additionalProperties": false, - "required": [""], - "properties": {} + "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": "Max 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": "Min 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": "Max 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" + } + } } diff --git a/behaviour/items/1.16.100/components/minecraft.weapon.json b/behaviour/items/1.16.100/components/minecraft.weapon.json index 918357e8..dd26f042 100644 --- a/behaviour/items/1.16.100/components/minecraft.weapon.json +++ b/behaviour/items/1.16.100/components/minecraft.weapon.json @@ -1,10 +1,61 @@ { "$schema": "http://json-schema.org/draft-07/schema", - "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:", - "title": "", - "description": "", + "$id": "blockception.minecraft.behaviour.1.16.100.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, - "required": [""], - "properties": {} + "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": "UNDOCUMENATED", + "description": "UNDOCUMENATED" + }, + "target": { + "type": "string", + "title": "UNDOCUMENATED", + "description": "UNDOCUMENATED", + "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": "UNDOCUMENATED", + "description": "UNDOCUMENATED" + }, + "target": { + "type": "string", + "title": "UNDOCUMENATED", + "description": "UNDOCUMENATED", + "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": "UNDOCUMENATED", + "description": "UNDOCUMENATED" + }, + "target": { + "type": "string", + "title": "UNDOCUMENATED", + "description": "UNDOCUMENATED", + "enum": ["self"] + } + } + } } diff --git a/behaviour/items/1.16.100/components/minecraft.wearable.json b/behaviour/items/1.16.100/components/minecraft.wearable.json index e69de29b..178f37a5 100644 --- a/behaviour/items/1.16.100/components/minecraft.wearable.json +++ b/behaviour/items/1.16.100/components/minecraft.wearable.json @@ -0,0 +1,34 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "blockception.minecraft.behaviour.1.16.100.items.minecraft:wearable", + "title": "Wearable", + "description": "Wearable item component.", + "type": "object", + "additionalProperties": false, + "properties": { + "dispensable": { + "title": "Dispensable", + "description": "", + "type": "boolean" + }, + "slot": { + "title": "Slot", + "description": "equipment_slot: 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", + "type": "string", + "enum": [ + "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" + ] + } + } +}