diff --git a/behavior/items/items.json b/behavior/items/items.json index eccfbd5f..1e3364ba 100644 --- a/behavior/items/items.json +++ b/behavior/items/items.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.behavior.items","defaultSnippets":[{"label":"New item","body":{"format_version":"${1:1.20.41}","minecraft:item":{"description":{"identifier":"$2:${3:${TM_FILENAME/[\\.].*//}}","menu_category":{"category":"${4:items}"}},"components":{"minecraft:icon":"$2.${3:${TM_FILENAME/[\\.].*//}}"}}}}],"description":"Minecraft items","required":["format_version","minecraft:item"],"title":"Item","type":"object","properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:item":{"$ref":"#/definitions/B"}},"definitions":{"A":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^([1-9]+)\\.([0-9]+)\\.([0-9]+)$","type":"string","default":"1.20.81","examples":["1.20.81","1.20.40","1.19.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18,19,20|}.${3|2|0|}"}]},"C":{"description":"A minecraft item identifier.","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"D":{"type":"string","title":"Item Group","description":"A translation string of an existing group in minecraft to group this block/item under","enum":["itemGroup.name.anvil","itemGroup.name.arrow","itemGroup.name.axe","itemGroup.name.banner","itemGroup.name.banner_pattern","itemGroup.name.bed","itemGroup.name.boat","itemGroup.name.boots","itemGroup.name.buttons","itemGroup.name.candles","itemGroup.name.chalkboard","itemGroup.name.chest","itemGroup.name.chestboat","itemGroup.name.chestplate","itemGroup.name.concrete","itemGroup.name.concretePowder","itemGroup.name.cookedFood","itemGroup.name.copper","itemGroup.name.coral","itemGroup.name.coral_decorations","itemGroup.name.crop","itemGroup.name.door","itemGroup.name.dye","itemGroup.name.enchantedBook","itemGroup.name.fence","itemGroup.name.fenceGate","itemGroup.name.firework","itemGroup.name.fireworkStars","itemGroup.name.flower","itemGroup.name.glass","itemGroup.name.glassPane","itemGroup.name.glazedTerracotta","itemGroup.name.goatHorn","itemGroup.name.grass","itemGroup.name.hanging_sign","itemGroup.name.helmet","itemGroup.name.hoe","itemGroup.name.horseArmor","itemGroup.name.leaves","itemGroup.name.leggings","itemGroup.name.lingeringPotion","itemGroup.name.log","itemGroup.name.minecart","itemGroup.name.miscFood","itemGroup.name.mobEgg","itemGroup.name.monsterStoneEgg","itemGroup.name.mushroom","itemGroup.name.netherWartBlock","itemGroup.name.ore","itemGroup.name.permission","itemGroup.name.pickaxe","itemGroup.name.planks","itemGroup.name.potion","itemGroup.name.potterySherds","itemGroup.name.pressurePlate","itemGroup.name.rail","itemGroup.name.rawFood","itemGroup.name.record","itemGroup.name.sandstone","itemGroup.name.sapling","itemGroup.name.sculk","itemGroup.name.seed","itemGroup.name.shovel","itemGroup.name.shulkerBox","itemGroup.name.sign","itemGroup.name.skull","itemGroup.name.slab","itemGroup.name.smithing_templates","itemGroup.name.splashPotion","itemGroup.name.stainedClay","itemGroup.name.stairs","itemGroup.name.stone","itemGroup.name.stoneBrick","itemGroup.name.sword","itemGroup.name.trapdoor","itemGroup.name.walls","itemGroup.name.wood","itemGroup.name.wool","itemGroup.name.woolCarpet"]},"E":{"type":"string","title":"Category","description":"Determines which category this block/item will be placed under in the inventory and crafting table container screens.","enum":["construction","equipment","items","nature","none"]},"F":{"title":"Allow Off Hand","description":"The allow off hand component determines whether the item can be placed in the off hand slot of the inventory.","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item can be placed in the off hand slot","type":"boolean","default":false}}}]},"G_use_on_item":{"type":"object","title":"Allowed Block","description":"A block descriptor that allows to be placed.","properties":{"tags":{"title":"Tags","description":"Tags.","$ref":"#/definitions/H"}}},"H":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"G":{"title":"Block Placer","description":"Planter item component. planter items are items that can be planted.","type":"object","additionalProperties":false,"required":["block"],"properties":{"block":{"type":"string","description":"Set the placement block name for the planter item.","title":"Block"},"use_on":{"description":"List of block descriptors that contain blocks that this item can be used on. If left empty, all blocks will be allowed.","title":"Use On","type":"array","items":{"$ref":"#/definitions/G_use_on_item"}}}},"I":{"title":"Can Destroy In Creative","description":"The can destroy in creative component determines if the item will break blocks in creative when swinging.","default":true,"examples":[false,{"value":false}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item can destroy blocks while in creative","type":"boolean","default":true}}}]},"J":{"title":"Cooldown","description":"Cool down time for a component. After you use an item it becomes unusable for the duration specified by the `cool down time` setting in this component.","type":"object","additionalProperties":false,"required":["category","duration"],"properties":{"category":{"type":"string","description":"The type of cool down for this item.","title":"Category"},"duration":{"description":"The duration of time this item will spend cooling down before becoming usable again.","title":"Duration","type":"number"}},"examples":[{"category":"attack","duration":0.2}]},"BA":{"additionalProperties":false,"type":"object","title":"Damage","description":"The damage component determines how much extra damage the item does on attack.","required":["value"],"properties":{"value":{"type":"number","title":"Value","description":"How much extra damage the item does, must be a positive number.","minimum":1}},"examples":[{"value":7}]},"BB":{"title":"Digger","description":"Digger item. Component put on items that dig.","type":"object","additionalProperties":false,"required":["destroy_speeds"],"properties":{"use_efficiency":{"title":"Use Efficiency","type":"boolean","description":"Toggles if the item will be used efficiently.","default":false},"destroy_speeds":{"type":"array","title":"Destroy Speeds","description":"Destroy speed per block.","items":{"title":"Destroy Speed","description":"Destroy speed per block.","type":"object","additionalProperties":false,"properties":{"speed":{"title":"Speed","type":"number"},"block":{"title":"Block","oneOf":[{"type":"string","description":"The block identifier."},{"type":"object","additionalProperties":false,"properties":{"tags":{"type":"string","title":"Block Tags","description":"The block tags.","examples":["query.any_tag( 'stone', 'metal' )"]}}}]}}}}}},"BC":{"title":"Display Name","description":"Display Name item component. Display Names display the name of an item.","$comment":"Does not currently support single value parsing.","type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"string","title":"Value","description":"Set the display name for an item."}},"examples":[{"value":"secret_weapon"}]},"BD":{"title":"Durability","description":"Durability item component: how much damage can this item take before breaking.","type":"object","additionalProperties":false,"required":["max_durability"],"properties":{"damage_chance":{"type":"object","title":"Damage Chance","description":"Damage chance.","additionalProperties":false,"required":["min","max"],"properties":{"min":{"title":"Min","type":"integer","description":"The minimum."},"max":{"title":"Max","type":"integer","description":"The maximum."}}},"max_durability":{"title":"Maximum Durability","description":"Maximum durability is the amount of damage that this item can take before breaking.","type":"integer","minimum":0}},"examples":[{"damage_chance":{"min":10,"max":50},"max_durability":36}]},"BE":{"title":"Enchantable","description":"The enchantable component determines what enchantments can be applied to the item.","type":"object","additionalProperties":false,"required":["slot"],"properties":{"slot":{"title":"Slot","description":"If true you can always eat this item (even when not hungry), defaults to false.","enum":["axe","bow","armor_feet","armor_torso","armor_head","armor_legs","hoe","pickaxe","shovel","elytra","fishing_rod","flintsteel","sword","shears","cosmetic_head"]},"value":{"title":"Value","description":"The value of the enchantment.","type":"number","minimum":0}}},"BF":{"title":"Entity Placer","description":"Entity placer item component. You can specifiy allowed blocks that the item is restricted to.","type":"object","additionalProperties":false,"required":["entity"],"properties":{"entity":{"type":"string","title":"Entity","description":"The entity to be placed in the world."},"dispense_on":{"type":"array","title":"Dispense On","description":"List of block descriptors that contain blocks that this item can be dispensed on. If left empty, all blocks will be allowed.","items":{"title":"Block Descriptor","description":"Block that item can be dispensed on.","$comment":"UNDOCUMENTED"}},"use_on":{"type":"array","title":"Use On","description":"List of block descriptors that contain blocks that this item can be used on. If left empty, all blocks will be allowed.","items":{"title":"Block Descriptor","description":"Block that item can be used on","$comment":"UNDOCUMENTED"}}}},"BG":{"title":"Food","description":"When an item has a food component, it becomes edible to the player.","type":"object","additionalProperties":false,"properties":{"can_always_eat":{"title":"Can Always Eat","description":"If true you can always eat this item (even when not hungry), defaults to false.","type":"boolean","default":false},"nutrition":{"title":"Nutrition","description":"How much nutrition does this food item give the player when eaten.","type":"number","default":0},"saturation_modifier":{"title":"Saturation Modifier","description":"Saturation Modifier is used in this formula: (nutrition * saturation_modifier * 2) when appling the saturation buff. Which happens when you eat the item.","type":"number","default":0.6},"using_converts_to":{"title":"Using Converts To","description":"When used, convert the *this* item to the one specified by `using_converts_to`.","type":"string"}}},"BH":{"title":"Fuel","description":"Fuel component. Allows this item to be used as fuel in a furnace to `cook` other items.","type":"object","additionalProperties":false,"required":["duration"],"properties":{"duration":{"type":"number","title":"Duration","description":"How long in seconds will this fuel cook items for."}},"examples":[{"duration":3.0}]},"BI":{"title":"Glint","description":"The glint component determines whether the item has the enchanted glint render effect on it","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item has the glint effect.","type":"boolean","default":false}}}]},"BJ":{"title":"Hand Equipped","description":"This component determines if an item is rendered like a tool while in hand.","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"If the item is rendered like a tool while in hand.","type":"boolean","default":false}}}]},"CA":{"title":"Icon","description":"The icon item componenent determines the icon to represent the item in the UI and elsewhere.","examples":["stick",{"textures":{"default":"stick"}}],"oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"required":["textures"],"properties":{"textures":{"title":"Textures","description":"Contains key-value pairs of textures used by the item","type":"object","additionalProperties":{"type":"string","title":"Texture","description":"The key from the resource_pack/textures/item_texture.json `texture_data` object associated with the texture file Example: blaze_powder."},"required":["default"],"properties":{"default":{"type":"string","title":"Default Texture","description":"The key from the resource_pack/textures/item_texture.json `texture_data` object associated with the texture file Example: blaze_powder."}}}}}]},"CB":{"title":"Liquid Clipped","description":"The liquid clipped component determines whether the item interacts with liquid blocks on use.","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item interacts with liquid blocks on use.","type":"boolean","default":false}}}]},"CC":{"title":"Max Stack Size","description":"The max stack size component determines how many of the item can be stacked together.","default":64,"examples":[1,{"value":1}],"oneOf":[{"type":"number","minimum":1,"maximum":64},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"How many of the item that can be stacked.","type":"number","default":64,"minimum":1,"maximum":64}}}]},"CD":{"title":"Projectile","description":"Compels the item shoot, like an arrow. Pair with minecraft:shooter for dispensers or as ammunition. Pair with minecraft:throwable to set the entity spawned.","type":"object","additionalProperties":false,"required":["projectile_entity"],"properties":{"minimum_critical_power":{"type":"number","title":"Minimum Critical Power","description":"How long you must charge a projectile for it to critically hit."},"projectile_entity":{"title":"Projectile Entity","description":"The entity to be fired as a projectile.","type":"string"}},"examples":[{"minimum_critical_power":1.25,"projectile_entity":"arrow"}]},"CE":{"title":"Record","description":"Used by record items to play music.","type":"object","additionalProperties":false,"required":["sound_event"],"properties":{"comparator_signal":{"title":"Comparator Signal","description":"Signal strength for comparator blocks to use, from 1 - 13","type":"number","minimum":1,"maximum":13},"duration":{"title":"Duration","description":"Duration of sound event in seconds, float value.","type":"number","minimum":0},"sound_event":{"title":"Sound Event","description":"Sound event type: 13, cat, blocks, chirp, far, mall, mellohi, stal, strad, ward, 11, wait, pigstep, otherside, 5, relic.","type":"string"}}},"CG":{"title":"Molang Number","description":"The minecraft molang definition that results in a float.","anyOf":[{"type":"string","minLength":0},{"type":"number"}],"examples":[0,"query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"CF":{"title":"Repairable","description":"Repairable item component: how much damage can this item repair, what items can repair it.","type":"object","additionalProperties":false,"properties":{"repair_items":{"title":"Repair Items","description":"Repair item entries.","type":"array","items":{"type":"object","title":"Repar Item","description":"List of repair item entries.","additionalProperties":false,"properties":{"items":{"title":"Items","description":"Items that can be used to repeair it","$comment":"List of items","type":"array","items":{"type":"string","title":"Item","description":"Item identifier"}},"repair_amount":{"title":"Repair Amount","description":"Amount that can be repaired","$ref":"#/definitions/CG"}}}}}},"CH":{"title":"Shooter","description":"Shooter Item Component.","type":"object","additionalProperties":false,"properties":{"ammunition":{"title":"Ammunition","description":"Ammunition.","type":"array","items":{"type":"object","title":"Ammunition","description":"Ammunition definition","additionalProperties":false,"properties":{"item":{"title":"Item","description":"Item identifier","type":"string"},"use_offhand":{"title":"Use Offhand","description":"If ammo can be in offhand","type":"boolean"},"search_inventory":{"title":"Search Inventory","description":"If ammo can be stored in the inventory","type":"boolean"},"use_in_creative":{"title":"Use In Creative","description":"If it needs ammo to be used in creative","type":"boolean"}}}},"charge_on_draw":{"title":"Charge On Draw","description":"Charge on draw? Default is set to false.","default":false,"type":"boolean"},"max_draw_duration":{"title":"Maximum Draw Duration","description":"Draw Duration. Default is set to 0.","default":0,"type":"number"},"scale_power_by_draw_duration":{"title":"Scale Power By Draw Duration","description":"Scale power by draw duration? Default is set to false.","default":false,"type":"boolean"}},"examples":[{"ammunition":[{"item":"custom_projectile","use_offhand":true,"search_inventory":true,"use_in_creative":true}],"max_draw_duration":1.0,"scale_power_by_draw_duration":true,"charge_on_draw":false}]},"CI":{"title":"Should Despawn","description":"Should despawn component determines if the item should eventually despawn while floating in the world","default":true,"examples":[false,{"value":false}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item should eventually despawn while floating in the world","type":"boolean","default":true}}}]},"CJ":{"title":"Stacked By Data","description":"The stacked by data component determines if the same item with different aux values can stack.","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Also defines whether the item actors can merge while floating in the world.","type":"boolean","default":false}}}]},"DA":{"title":"Tags","description":"The tags component determines which tags an item has on it.","type":"object","additionalProperties":false,"required":["tags"],"properties":{"tags":{"title":"Tags","description":"An array that can contain multiple item tags.","type":"array","uniqueItems":true,"minItems":1,"items":{"anyOf":[{"enum":["minecraft:arrow","minecraft:banner","minecraft:boat","minecraft:boats","minecraft:bookshelf_books","minecraft:chainmail_tier","minecraft:coals","minecraft:crimson_stems","minecraft:decorated_pot_sherds","minecraft:diamond_tier","minecraft:digger","minecraft:door","minecraft:golden_tier","minecraft:hanging_actor","minecraft:hanging_sign","minecraft:horse_armor","minecraft:iron_tier","minecraft:is_armor","minecraft:is_axe","minecraft:is_cooked","minecraft:is_fish","minecraft:is_food","minecraft:is_hoe","minecraft:is_meat","minecraft:is_minecart","minecraft:is_pickaxe","minecraft:is_shovel","minecraft:is_sword","minecraft:is_tool","minecraft:is_trident","minecraft:leather_tier","minecraft:lectern_books","minecraft:logs","minecraft:logs_that_burn","minecraft:mangrove_logs","minecraft:music_disc","minecraft:netherite_tier","minecraft:planks","minecraft:sand","minecraft:sign","minecraft:soul_fire_base_blocks","minecraft:spawn_egg","minecraft:stone_bricks","minecraft:stone_crafting_materials","minecraft:stone_tier","minecraft:stone_tool_materials","minecraft:transform_materials","minecraft:transform_templates","minecraft:transformable_items","minecraft:trim_templates","minecraft:trimmable_armors","minecraft:vibration_damper","minecraft:warped_stems","minecraft:wooden_slabs","minecraft:wooden_tier","minecraft:wool"]},{"type":"string"}]}}}},"DB":{"title":"Throwable","description":"Throwable item component. Throwable items, such as a snowball.","type":"object","additionalProperties":false,"properties":{"do_swing_animation":{"title":"Do Swing Animation","description":"Whether the item should use the swing animation when thrown. Default is set to false.","default":false,"type":"boolean"},"launch_power_scale":{"title":"Launch Power Scale","description":"The scale at which the power of the throw increases. Default is set to 1.0.","default":1.0,"type":"number"},"max_draw_duration":{"title":"Maximum Draw Duration","description":"The maximum duration to draw a throwable item. Default is set to 0.0.","default":0,"type":"number"},"min_draw_duration":{"title":"Minimum Draw Duration","description":"The minimum duration to draw a throwable item. Default is set to 0.0.","default":0,"type":"number"},"max_launch_power":{"title":"Maximum Launch Power","description":"The maximum power to launch the throwable item. Default is set to 1.0.","default":1.0,"type":"number"},"scale_power_by_draw_duration":{"title":"Scale Power By Draw Duration","description":"Whether or not the power of the throw increases with duration charged. Default is set to false.","default":false,"type":"boolean"}},"examples":[{"do_swing_animation":false,"min_draw_duration":0.0,"max_draw_duration":1.0,"launch_power_scale":1.0,"max_launch_power":2.0,"scale_power_by_draw_duration":false}]},"DC_animation":{"enum":["bow","brush","camera","crossbow","drink","eat","none","spear","spyglass"]},"DC":{"title":"Use Animation","description":"This component determines which animation plays when using the item.","oneOf":[{"$ref":"#/definitions/DC_animation"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Which animation to play when using the item.","$ref":"#/definitions/DC_animation"}}}]},"DD":{"additionalProperties":false,"required":["use_duration"],"type":"object","title":"Use Modifiers","description":"How long to use before item is done being used.","properties":{"movement_modifier":{"title":"Movement Modifier","description":"Modifier value to scale the players movement speed when item is in use.","type":"number","minimum":0},"use_duration":{"title":"Use Duration","description":"How long the item takes to use in seconds.","type":"number","minimum":0}}},"DE":{"title":"Wearable","description":"Wearable item component.","type":"object","additionalProperties":false,"properties":{"protection":{"type":"integer","description":"How much protection does the armor item have.","title":"Protection","minimum":0},"dispensable":{"title":"Dispensable","description":"Sets if the item can be dropped by a dispenser block","type":"boolean"},"slot":{"title":"Slot","description":"Which equipment slot the item can fit in","type":"string","enum":["none","slot.weapon.mainhand","slot.weapon.offhand","slot.armor.head","slot.armor.chest","slot.armor.legs","slot.armor.feet","slot.hotbar","slot.inventory","slot.enderchest","slot.saddle","slot.armor","slot.chest","slot.equippable"]}}},"DF_event_base":{"title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"$ref":"#/definitions/DF_event_functions","properties":{"sequence":{"title":"Sequence","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Sequence","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/DF_event_functions"}},"randomize":{"title":"Randomize","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Randomize","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/DF_event_functions","required":["weight"],"properties":{"weight":{"title":"Weight","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}}},"run_command":{"title":"Run Command","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"command":{"title":"Command","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"type":"string","title":"Command","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["other"]}}}}},"DF_event_functions":{"title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","properties":{"add_mob_effect":{"$ref":"#/definitions/DG"},"damage":{"$ref":"#/definitions/DH"},"decrement_stack":{"$ref":"#/definitions/DI"},"remove_mob_effect":{"$ref":"#/definitions/DJ"},"shoot":{"$ref":"#/definitions/EA"},"swing":{"$ref":"#/definitions/EB"},"teleport":{"$ref":"#/definitions/EC"},"transform_item":{"$ref":"#/definitions/ED"}}},"DG":{"title":"Add Mob Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"effect":{"type":"string","title":"Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["holder"]},"duration":{"type":"number","title":"Duration","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"amplifier":{"type":"number","title":"Amplifier","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"DH":{"title":"Shoot","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"type":{"type":"string","title":"Type","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["magic"]},"amount":{"type":"number","title":"Amount","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"DI":{"title":"Decrement Stack","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"DJ":{"title":"Remove Mob Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"effect":{"type":"string","title":"Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["holder"]}}},"EA":{"title":"Shoot","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"angle_offset":{"type":"number","title":"Angle Offset","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"launch_power":{"type":"number","title":"Launch Power","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"projectile":{"type":"string","title":"Projectile","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"EB":{"title":"Swing","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"EC":{"title":"Teleport","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["holder"]},"max_range":{"type":"array","title":"Maximum Range","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":[{"type":"number","title":"X","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},{"type":"number","title":"Y","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},{"type":"number","title":"Z","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}]}}},"ED":{"title":"Transform Item","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"transform":{"title":"Transform","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"}}},"DF":{"title":"Events","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","properties":{"on_consume":{"$ref":"#/definitions/DF_event_base"}},"additionalProperties":{"$ref":"#/definitions/DF_event_base"}},"B":{"additionalProperties":false,"required":["description"],"type":"object","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Item","properties":{"description":{"additionalProperties":false,"type":"object","title":"Description","description":"The description for this item","$comment":"UNDOCUMENTED","properties":{"identifier":{"title":"Identifier","type":"string","description":"The identifier for this item. The name must include a namespace and must not use the Minecraft namespace unless overriding a Vanilla item.","$ref":"#/definitions/C"},"is_experimental":{"type":"boolean","default":false,"description":"If this item is experimental, it will only be registered if the world is marked as experimental.","title":"Is Experimental"},"menu_category":{"type":"object","title":"Menu Category","description":"The Creative Category that includes the specified item.","additionalProperties":false,"properties":{"group":{"$ref":"#/definitions/D"},"category":{"$ref":"#/definitions/E"},"is_hidden_in_commands":{"type":"boolean","default":false,"title":"Is Hidden In Commands","description":"Determines whether or not this item can be used with commands. Commands can use items by default"}}}}},"components":{"additionalProperties":{"type":"object"},"type":"object","description":"The components of this item.","properties":{"minecraft:allow_off_hand":{"$ref":"#/definitions/F"},"minecraft:block_placer":{"$ref":"#/definitions/G"},"minecraft:can_destroy_in_creative":{"$ref":"#/definitions/I"},"minecraft:cooldown":{"$ref":"#/definitions/J"},"minecraft:damage":{"$ref":"#/definitions/BA"},"minecraft:digger":{"$ref":"#/definitions/BB"},"minecraft:display_name":{"$ref":"#/definitions/BC"},"minecraft:durability":{"$ref":"#/definitions/BD"},"minecraft:enchantable":{"$ref":"#/definitions/BE"},"minecraft:entity_placer":{"$ref":"#/definitions/BF"},"minecraft:food":{"$ref":"#/definitions/BG"},"minecraft:fuel":{"$ref":"#/definitions/BH"},"minecraft:glint":{"$ref":"#/definitions/BI"},"minecraft:hand_equipped":{"$ref":"#/definitions/BJ"},"minecraft:icon":{"$ref":"#/definitions/CA"},"minecraft:liquid_clipped":{"$ref":"#/definitions/CB"},"minecraft:max_stack_size":{"$ref":"#/definitions/CC"},"minecraft:projectile":{"$ref":"#/definitions/CD"},"minecraft:record":{"$ref":"#/definitions/CE"},"minecraft:repairable":{"$ref":"#/definitions/CF"},"minecraft:shooter":{"$ref":"#/definitions/CH"},"minecraft:should_despawn":{"$ref":"#/definitions/CI"},"minecraft:stacked_by_data":{"$ref":"#/definitions/CJ"},"minecraft:tags":{"$ref":"#/definitions/DA"},"minecraft:throwable":{"$ref":"#/definitions/DB"},"minecraft:use_animation":{"$ref":"#/definitions/DC"},"minecraft:use_modifiers":{"$ref":"#/definitions/DD"},"minecraft:wearable":{"$ref":"#/definitions/DE"}}},"events":{"$ref":"#/definitions/DF"}}}}} \ No newline at end of file +{"$id":"blockception.minecraft.behavior.items","defaultSnippets":[{"label":"New item","body":{"format_version":"${1:1.20.41}","minecraft:item":{"description":{"identifier":"$2:${3:${TM_FILENAME/[\\.].*//}}","menu_category":{"category":"${4:items}"}},"components":{"minecraft:icon":"$2.${3:${TM_FILENAME/[\\.].*//}}"}}}}],"description":"Minecraft items","required":["format_version","minecraft:item"],"title":"Item","type":"object","properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:item":{"$ref":"#/definitions/B"}},"definitions":{"A":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^([1-9]+)\\.([0-9]+)\\.([0-9]+)$","type":"string","default":"1.20.81","examples":["1.20.81","1.20.40","1.19.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18,19,20|}.${3|2|0|}"}]},"C":{"description":"A minecraft item identifier.","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"D":{"type":"string","title":"Item Group","description":"A translation string of an existing group in minecraft to group this block/item under","enum":["itemGroup.name.anvil","itemGroup.name.arrow","itemGroup.name.axe","itemGroup.name.banner","itemGroup.name.banner_pattern","itemGroup.name.bed","itemGroup.name.boat","itemGroup.name.boots","itemGroup.name.buttons","itemGroup.name.candles","itemGroup.name.chalkboard","itemGroup.name.chest","itemGroup.name.chestboat","itemGroup.name.chestplate","itemGroup.name.concrete","itemGroup.name.concretePowder","itemGroup.name.cookedFood","itemGroup.name.copper","itemGroup.name.coral","itemGroup.name.coral_decorations","itemGroup.name.crop","itemGroup.name.door","itemGroup.name.dye","itemGroup.name.enchantedBook","itemGroup.name.fence","itemGroup.name.fenceGate","itemGroup.name.firework","itemGroup.name.fireworkStars","itemGroup.name.flower","itemGroup.name.glass","itemGroup.name.glassPane","itemGroup.name.glazedTerracotta","itemGroup.name.goatHorn","itemGroup.name.grass","itemGroup.name.hanging_sign","itemGroup.name.helmet","itemGroup.name.hoe","itemGroup.name.horseArmor","itemGroup.name.leaves","itemGroup.name.leggings","itemGroup.name.lingeringPotion","itemGroup.name.log","itemGroup.name.minecart","itemGroup.name.miscFood","itemGroup.name.mobEgg","itemGroup.name.monsterStoneEgg","itemGroup.name.mushroom","itemGroup.name.netherWartBlock","itemGroup.name.ore","itemGroup.name.permission","itemGroup.name.pickaxe","itemGroup.name.planks","itemGroup.name.potion","itemGroup.name.potterySherds","itemGroup.name.pressurePlate","itemGroup.name.rail","itemGroup.name.rawFood","itemGroup.name.record","itemGroup.name.sandstone","itemGroup.name.sapling","itemGroup.name.sculk","itemGroup.name.seed","itemGroup.name.shovel","itemGroup.name.shulkerBox","itemGroup.name.sign","itemGroup.name.skull","itemGroup.name.slab","itemGroup.name.smithing_templates","itemGroup.name.splashPotion","itemGroup.name.stainedClay","itemGroup.name.stairs","itemGroup.name.stone","itemGroup.name.stoneBrick","itemGroup.name.sword","itemGroup.name.trapdoor","itemGroup.name.walls","itemGroup.name.wood","itemGroup.name.wool","itemGroup.name.woolCarpet"]},"E":{"type":"string","title":"Category","description":"Determines which category this block/item will be placed under in the inventory and crafting table container screens.","enum":["construction","equipment","items","nature","none"]},"F":{"title":"Allow Off Hand","description":"The allow off hand component determines whether the item can be placed in the off hand slot of the inventory.","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item can be placed in the off hand slot","type":"boolean","default":false}}}]},"G_use_on_item":{"type":"object","title":"Allowed Block","description":"A block descriptor that allows to be placed.","properties":{"tags":{"title":"Tags","description":"Tags.","$ref":"#/definitions/H"}}},"H":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"G":{"title":"Block Placer","description":"Planter item component. planter items are items that can be planted.","type":"object","additionalProperties":false,"required":["block"],"properties":{"block":{"type":"string","description":"Set the placement block name for the planter item.","title":"Block"},"use_on":{"description":"List of block descriptors that contain blocks that this item can be used on. If left empty, all blocks will be allowed.","title":"Use On","type":"array","items":{"$ref":"#/definitions/G_use_on_item"}}}},"I":{"title":"Can Destroy In Creative","description":"The can destroy in creative component determines if the item will break blocks in creative when swinging.","default":true,"examples":[false,{"value":false}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item can destroy blocks while in creative","type":"boolean","default":true}}}]},"J":{"title":"Cooldown","description":"Cool down time for a component. After you use an item it becomes unusable for the duration specified by the `cool down time` setting in this component.","type":"object","additionalProperties":false,"required":["category","duration"],"properties":{"category":{"type":"string","description":"The type of cool down for this item.","title":"Category"},"duration":{"description":"The duration of time this item will spend cooling down before becoming usable again.","title":"Duration","type":"number"}},"examples":[{"category":"attack","duration":0.2}]},"BA":{"additionalProperties":false,"type":"object","title":"Damage","description":"The damage component determines how much extra damage the item does on attack.","required":["value"],"properties":{"value":{"type":"number","title":"Value","description":"How much extra damage the item does, must be a positive number.","minimum":1}},"examples":[{"value":7}]},"BB":{"title":"Digger","description":"Digger item. Component put on items that dig.","type":"object","additionalProperties":false,"required":["destroy_speeds"],"properties":{"use_efficiency":{"title":"Use Efficiency","type":"boolean","description":"Toggles if the item will be used efficiently.","default":false},"destroy_speeds":{"type":"array","title":"Destroy Speeds","description":"Destroy speed per block.","items":{"title":"Destroy Speed","description":"Destroy speed per block.","type":"object","additionalProperties":false,"properties":{"speed":{"title":"Speed","type":"number"},"block":{"title":"Block","oneOf":[{"type":"string","description":"The block identifier."},{"type":"object","additionalProperties":false,"properties":{"tags":{"type":"string","title":"Block Tags","description":"The block tags.","examples":["query.any_tag( 'stone', 'metal' )"]}}}]}}}}}},"BC":{"title":"Display Name","description":"Display Name item component. Display Names display the name of an item.","$comment":"Does not currently support single value parsing.","type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"string","title":"Value","description":"Set the display name for an item."}},"examples":[{"value":"secret_weapon"}]},"BD":{"title":"Durability","description":"Durability item component: how much damage can this item take before breaking.","type":"object","additionalProperties":false,"required":["max_durability"],"properties":{"damage_chance":{"type":"object","title":"Damage Chance","description":"Damage chance.","additionalProperties":false,"required":["min","max"],"properties":{"min":{"title":"Min","type":"integer","description":"The minimum."},"max":{"title":"Max","type":"integer","description":"The maximum."}}},"max_durability":{"title":"Maximum Durability","description":"Maximum durability is the amount of damage that this item can take before breaking.","type":"integer","minimum":0}},"examples":[{"damage_chance":{"min":10,"max":50},"max_durability":36}]},"BE":{"title":"Enchantable","description":"The enchantable component determines what enchantments can be applied to the item.","type":"object","additionalProperties":false,"required":["slot"],"properties":{"slot":{"title":"Slot","description":"If true you can always eat this item (even when not hungry), defaults to false.","enum":["axe","bow","armor_feet","armor_torso","armor_head","armor_legs","hoe","pickaxe","shovel","elytra","fishing_rod","flintsteel","sword","shears","cosmetic_head"]},"value":{"title":"Value","description":"The value of the enchantment.","type":"number","minimum":0}}},"BF":{"title":"Entity Placer","description":"Entity placer item component. You can specifiy allowed blocks that the item is restricted to.","type":"object","additionalProperties":false,"required":["entity"],"properties":{"entity":{"type":"string","title":"Entity","description":"The entity to be placed in the world."},"dispense_on":{"type":"array","title":"Dispense On","description":"List of block descriptors that contain blocks that this item can be dispensed on. If left empty, all blocks will be allowed.","items":{"title":"Block Descriptor","description":"Block that item can be dispensed on.","$comment":"UNDOCUMENTED"}},"use_on":{"type":"array","title":"Use On","description":"List of block descriptors that contain blocks that this item can be used on. If left empty, all blocks will be allowed.","items":{"title":"Block Descriptor","description":"Block that item can be used on","$comment":"UNDOCUMENTED"}}}},"BG":{"title":"Food","description":"When an item has a food component, it becomes edible to the player.","type":"object","additionalProperties":false,"properties":{"can_always_eat":{"title":"Can Always Eat","description":"If true you can always eat this item (even when not hungry), defaults to false.","type":"boolean","default":false},"nutrition":{"title":"Nutrition","description":"How much nutrition does this food item give the player when eaten.","type":"number","default":0},"saturation_modifier":{"title":"Saturation Modifier","description":"Saturation Modifier is used in this formula: (nutrition * saturation_modifier * 2) when appling the saturation buff. Which happens when you eat the item.","type":"number","default":0.6},"using_converts_to":{"title":"Using Converts To","description":"When used, convert the *this* item to the one specified by `using_converts_to`.","type":"string"}}},"BH":{"title":"Fuel","description":"Fuel component. Allows this item to be used as fuel in a furnace to `cook` other items.","type":"object","additionalProperties":false,"required":["duration"],"properties":{"duration":{"type":"number","title":"Duration","description":"How long in seconds will this fuel cook items for."}},"examples":[{"duration":3.0}]},"BI":{"title":"Glint","description":"The glint component determines whether the item has the enchanted glint render effect on it","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item has the glint effect.","type":"boolean","default":false}}}]},"BJ":{"title":"Hand Equipped","description":"This component determines if an item is rendered like a tool while in hand.","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"If the item is rendered like a tool while in hand.","type":"boolean","default":false}}}]},"CA":{"title":"Icon","description":"The icon item componenent determines the icon to represent the item in the UI and elsewhere.","examples":["stick",{"textures":{"default":"stick"}}],"oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"required":["textures"],"properties":{"textures":{"title":"Textures","description":"Contains key-value pairs of textures used by the item","type":"object","additionalProperties":{"type":"string","title":"Texture","description":"The key from the resource_pack/textures/item_texture.json `texture_data` object associated with the texture file Example: blaze_powder."},"required":["default"],"properties":{"default":{"type":"string","title":"Default Texture","description":"The key from the resource_pack/textures/item_texture.json `texture_data` object associated with the texture file Example: blaze_powder."}}}}}]},"CB":{"title":"Liquid Clipped","description":"The liquid clipped component determines whether the item interacts with liquid blocks on use.","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item interacts with liquid blocks on use.","type":"boolean","default":false}}}]},"CC":{"title":"Max Stack Size","description":"The max stack size component determines how many of the item can be stacked together.","default":64,"examples":[1,{"value":1},16,{"value":16}],"oneOf":[{"type":"number","minimum":1,"maximum":64},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"How many of the item that can be stacked.","type":"number","default":64,"minimum":1,"maximum":64}}}]},"CD":{"title":"Projectile","description":"Compels the item shoot, like an arrow. Pair with minecraft:shooter for dispensers or as ammunition. Pair with minecraft:throwable to set the entity spawned.","type":"object","additionalProperties":false,"required":["projectile_entity"],"properties":{"minimum_critical_power":{"type":"number","title":"Minimum Critical Power","description":"How long you must charge a projectile for it to critically hit."},"projectile_entity":{"title":"Projectile Entity","description":"The entity to be fired as a projectile.","type":"string"}},"examples":[{"minimum_critical_power":1.25,"projectile_entity":"arrow"}]},"CE":{"title":"Record","description":"Used by record items to play music.","type":"object","additionalProperties":false,"required":["sound_event"],"properties":{"comparator_signal":{"title":"Comparator Signal","description":"Signal strength for comparator blocks to use, from 1 - 13","type":"number","minimum":1,"maximum":13},"duration":{"title":"Duration","description":"Duration of sound event in seconds, float value.","type":"number","minimum":0},"sound_event":{"title":"Sound Event","description":"Sound event type: 13, cat, blocks, chirp, far, mall, mellohi, stal, strad, ward, 11, wait, pigstep, otherside, 5, relic.","type":"string"}}},"CG":{"title":"Molang Number","description":"The minecraft molang definition that results in a float.","anyOf":[{"type":"string","minLength":0},{"type":"number"}],"examples":[0,"query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"CF":{"title":"Repairable","description":"Repairable item component: how much damage can this item repair, what items can repair it.","type":"object","additionalProperties":false,"properties":{"repair_items":{"title":"Repair Items","description":"Repair item entries.","type":"array","items":{"type":"object","title":"Repar Item","description":"List of repair item entries.","additionalProperties":false,"properties":{"items":{"title":"Items","description":"Items that can be used to repeair it","$comment":"List of items","type":"array","items":{"type":"string","title":"Item","description":"Item identifier"}},"repair_amount":{"title":"Repair Amount","description":"Amount that can be repaired","$ref":"#/definitions/CG"}}}}}},"CH":{"title":"Shooter","description":"Shooter Item Component.","type":"object","additionalProperties":false,"properties":{"ammunition":{"title":"Ammunition","description":"Ammunition.","type":"array","items":{"type":"object","title":"Ammunition","description":"Ammunition definition","additionalProperties":false,"properties":{"item":{"title":"Item","description":"Item identifier","type":"string"},"use_offhand":{"title":"Use Offhand","description":"If ammo can be in offhand","type":"boolean"},"search_inventory":{"title":"Search Inventory","description":"If ammo can be stored in the inventory","type":"boolean"},"use_in_creative":{"title":"Use In Creative","description":"If it needs ammo to be used in creative","type":"boolean"}}}},"charge_on_draw":{"title":"Charge On Draw","description":"Charge on draw? Default is set to false.","default":false,"type":"boolean"},"max_draw_duration":{"title":"Maximum Draw Duration","description":"Draw Duration. Default is set to 0.","default":0,"type":"number"},"scale_power_by_draw_duration":{"title":"Scale Power By Draw Duration","description":"Scale power by draw duration? Default is set to false.","default":false,"type":"boolean"}},"examples":[{"ammunition":[{"item":"custom_projectile","use_offhand":true,"search_inventory":true,"use_in_creative":true}],"max_draw_duration":1.0,"scale_power_by_draw_duration":true,"charge_on_draw":false}]},"CI":{"title":"Should Despawn","description":"Should despawn component determines if the item should eventually despawn while floating in the world","default":true,"examples":[false,{"value":false}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Whether the item should eventually despawn while floating in the world","type":"boolean","default":true}}}]},"CJ":{"title":"Stacked By Data","description":"The stacked by data component determines if the same item with different aux values can stack.","default":false,"examples":[true,{"value":true}],"oneOf":[{"type":"boolean"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Also defines whether the item actors can merge while floating in the world.","type":"boolean","default":false}}}]},"DA":{"title":"Tags","description":"The tags component determines which tags an item has on it.","type":"object","additionalProperties":false,"required":["tags"],"properties":{"tags":{"title":"Tags","description":"An array that can contain multiple item tags.","type":"array","uniqueItems":true,"minItems":1,"items":{"anyOf":[{"enum":["minecraft:arrow","minecraft:banner","minecraft:boat","minecraft:boats","minecraft:bookshelf_books","minecraft:chainmail_tier","minecraft:coals","minecraft:crimson_stems","minecraft:decorated_pot_sherds","minecraft:diamond_tier","minecraft:digger","minecraft:door","minecraft:golden_tier","minecraft:hanging_actor","minecraft:hanging_sign","minecraft:horse_armor","minecraft:iron_tier","minecraft:is_armor","minecraft:is_axe","minecraft:is_cooked","minecraft:is_fish","minecraft:is_food","minecraft:is_hoe","minecraft:is_meat","minecraft:is_minecart","minecraft:is_pickaxe","minecraft:is_shovel","minecraft:is_sword","minecraft:is_tool","minecraft:is_trident","minecraft:leather_tier","minecraft:lectern_books","minecraft:logs","minecraft:logs_that_burn","minecraft:mangrove_logs","minecraft:music_disc","minecraft:netherite_tier","minecraft:planks","minecraft:sand","minecraft:sign","minecraft:soul_fire_base_blocks","minecraft:spawn_egg","minecraft:stone_bricks","minecraft:stone_crafting_materials","minecraft:stone_tier","minecraft:stone_tool_materials","minecraft:transform_materials","minecraft:transform_templates","minecraft:transformable_items","minecraft:trim_templates","minecraft:trimmable_armors","minecraft:vibration_damper","minecraft:warped_stems","minecraft:wooden_slabs","minecraft:wooden_tier","minecraft:wool"]},{"type":"string"}]}}}},"DB":{"title":"Throwable","description":"Throwable item component. Throwable items, such as a snowball.","type":"object","additionalProperties":false,"properties":{"do_swing_animation":{"title":"Do Swing Animation","description":"Whether the item should use the swing animation when thrown. Default is set to false.","default":false,"type":"boolean"},"launch_power_scale":{"title":"Launch Power Scale","description":"The scale at which the power of the throw increases. Default is set to 1.0.","default":1.0,"type":"number"},"max_draw_duration":{"title":"Maximum Draw Duration","description":"The maximum duration to draw a throwable item. Default is set to 0.0.","default":0,"type":"number"},"min_draw_duration":{"title":"Minimum Draw Duration","description":"The minimum duration to draw a throwable item. Default is set to 0.0.","default":0,"type":"number"},"max_launch_power":{"title":"Maximum Launch Power","description":"The maximum power to launch the throwable item. Default is set to 1.0.","default":1.0,"type":"number"},"scale_power_by_draw_duration":{"title":"Scale Power By Draw Duration","description":"Whether or not the power of the throw increases with duration charged. Default is set to false.","default":false,"type":"boolean"}},"examples":[{"do_swing_animation":false,"min_draw_duration":0.0,"max_draw_duration":1.0,"launch_power_scale":1.0,"max_launch_power":2.0,"scale_power_by_draw_duration":false}]},"DC_animation":{"enum":["bow","brush","camera","crossbow","drink","eat","none","spear","spyglass"]},"DC":{"title":"Use Animation","description":"This component determines which animation plays when using the item.","oneOf":[{"$ref":"#/definitions/DC_animation"},{"type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"title":"Value","description":"Which animation to play when using the item.","$ref":"#/definitions/DC_animation"}}}]},"DD":{"additionalProperties":false,"required":["use_duration"],"type":"object","title":"Use Modifiers","description":"How long to use before item is done being used.","properties":{"movement_modifier":{"title":"Movement Modifier","description":"Modifier value to scale the players movement speed when item is in use.","type":"number","minimum":0},"use_duration":{"title":"Use Duration","description":"How long the item takes to use in seconds.","type":"number","minimum":0}}},"DE":{"title":"Wearable","description":"Wearable item component.","type":"object","additionalProperties":false,"properties":{"protection":{"type":"integer","description":"How much protection does the armor item have.","title":"Protection","minimum":0},"dispensable":{"title":"Dispensable","description":"Sets if the item can be dropped by a dispenser block","type":"boolean"},"slot":{"title":"Slot","description":"Which equipment slot the item can fit in","type":"string","enum":["none","slot.weapon.mainhand","slot.weapon.offhand","slot.armor.head","slot.armor.chest","slot.armor.legs","slot.armor.feet","slot.hotbar","slot.inventory","slot.enderchest","slot.saddle","slot.armor","slot.chest","slot.equippable"]}}},"DF_event_base":{"title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"$ref":"#/definitions/DF_event_functions","properties":{"sequence":{"title":"Sequence","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Sequence","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/DF_event_functions"}},"randomize":{"title":"Randomize","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Randomize","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/DF_event_functions","required":["weight"],"properties":{"weight":{"title":"Weight","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}}},"run_command":{"title":"Run Command","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"command":{"title":"Command","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"type":"string","title":"Command","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["other"]}}}}},"DF_event_functions":{"title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","properties":{"add_mob_effect":{"$ref":"#/definitions/DG"},"damage":{"$ref":"#/definitions/DH"},"decrement_stack":{"$ref":"#/definitions/DI"},"remove_mob_effect":{"$ref":"#/definitions/DJ"},"shoot":{"$ref":"#/definitions/EA"},"swing":{"$ref":"#/definitions/EB"},"teleport":{"$ref":"#/definitions/EC"},"transform_item":{"$ref":"#/definitions/ED"}}},"DG":{"title":"Add Mob Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"effect":{"type":"string","title":"Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["holder"]},"duration":{"type":"number","title":"Duration","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"amplifier":{"type":"number","title":"Amplifier","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"DH":{"title":"Shoot","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"type":{"type":"string","title":"Type","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["magic"]},"amount":{"type":"number","title":"Amount","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"DI":{"title":"Decrement Stack","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"DJ":{"title":"Remove Mob Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"effect":{"type":"string","title":"Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["holder"]}}},"EA":{"title":"Shoot","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"angle_offset":{"type":"number","title":"Angle Offset","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"launch_power":{"type":"number","title":"Launch Power","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"projectile":{"type":"string","title":"Projectile","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"EB":{"title":"Swing","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"EC":{"title":"Teleport","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["holder"]},"max_range":{"type":"array","title":"Maximum Range","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":[{"type":"number","title":"X","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},{"type":"number","title":"Y","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},{"type":"number","title":"Z","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}]}}},"ED":{"title":"Transform Item","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"transform":{"title":"Transform","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"}}},"DF":{"title":"Events","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","properties":{"on_consume":{"$ref":"#/definitions/DF_event_base"}},"additionalProperties":{"$ref":"#/definitions/DF_event_base"}},"B":{"additionalProperties":false,"required":["description"],"type":"object","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Item","properties":{"description":{"additionalProperties":false,"type":"object","title":"Description","description":"The description for this item","$comment":"UNDOCUMENTED","properties":{"identifier":{"title":"Identifier","type":"string","description":"The identifier for this item. The name must include a namespace and must not use the Minecraft namespace unless overriding a Vanilla item.","$ref":"#/definitions/C"},"is_experimental":{"type":"boolean","default":false,"description":"If this item is experimental, it will only be registered if the world is marked as experimental.","title":"Is Experimental"},"menu_category":{"type":"object","title":"Menu Category","description":"The Creative Category that includes the specified item.","additionalProperties":false,"properties":{"group":{"$ref":"#/definitions/D"},"category":{"$ref":"#/definitions/E"},"is_hidden_in_commands":{"type":"boolean","default":false,"title":"Is Hidden In Commands","description":"Determines whether or not this item can be used with commands. Commands can use items by default"}}}}},"components":{"additionalProperties":{"type":"object"},"type":"object","description":"The components of this item.","properties":{"minecraft:allow_off_hand":{"$ref":"#/definitions/F"},"minecraft:block_placer":{"$ref":"#/definitions/G"},"minecraft:can_destroy_in_creative":{"$ref":"#/definitions/I"},"minecraft:cooldown":{"$ref":"#/definitions/J"},"minecraft:damage":{"$ref":"#/definitions/BA"},"minecraft:digger":{"$ref":"#/definitions/BB"},"minecraft:display_name":{"$ref":"#/definitions/BC"},"minecraft:durability":{"$ref":"#/definitions/BD"},"minecraft:enchantable":{"$ref":"#/definitions/BE"},"minecraft:entity_placer":{"$ref":"#/definitions/BF"},"minecraft:food":{"$ref":"#/definitions/BG"},"minecraft:fuel":{"$ref":"#/definitions/BH"},"minecraft:glint":{"$ref":"#/definitions/BI"},"minecraft:hand_equipped":{"$ref":"#/definitions/BJ"},"minecraft:icon":{"$ref":"#/definitions/CA"},"minecraft:liquid_clipped":{"$ref":"#/definitions/CB"},"minecraft:max_stack_size":{"$ref":"#/definitions/CC"},"minecraft:projectile":{"$ref":"#/definitions/CD"},"minecraft:record":{"$ref":"#/definitions/CE"},"minecraft:repairable":{"$ref":"#/definitions/CF"},"minecraft:shooter":{"$ref":"#/definitions/CH"},"minecraft:should_despawn":{"$ref":"#/definitions/CI"},"minecraft:stacked_by_data":{"$ref":"#/definitions/CJ"},"minecraft:tags":{"$ref":"#/definitions/DA"},"minecraft:throwable":{"$ref":"#/definitions/DB"},"minecraft:use_animation":{"$ref":"#/definitions/DC"},"minecraft:use_modifiers":{"$ref":"#/definitions/DD"},"minecraft:wearable":{"$ref":"#/definitions/DE"}}},"events":{"$ref":"#/definitions/DF"}}}}} \ No newline at end of file diff --git a/resource/particles/particles.json b/resource/particles/particles.json index b1867cec..d7b8b134 100644 --- a/resource/particles/particles.json +++ b/resource/particles/particles.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.particle","examples":[{"format_version":"1.20.41","particle_effect":{"description":{"identifier":"example:particle","basic_render_parameters":{"material":"particles_alpha","texture":"textures/particle/particle"}},"curves":{},"components":{}}}],"definitions":{"event":{"additionalProperties":false,"title":"Particle event","description":"The particle event.","properties":{"sequence":{"title":"Event sequence","description":"A sequence of elements to execute.","type":"array","items":{"$ref":"#/definitions/event"}},"randomize":{"title":"Event randomize","description":"A list of elements to execute one of.","type":"array","items":{"$ref":"#/definitions/event"}},"particle_effect":{"title":"Particle Effect","description":"Particle effect action.","properties":{"effect":{"type":"string","description":"Identifier of the effect.","title":"Effect"},"type":{"type":"string","description":"UNDOCUMENTED: type.","title":"Type","enum":["emitter","emitter_bound","particle","particle_with_velocity"]},"pre_effect_expression":{"type":"string","description":"Molang expression to run on the new emitter.","title":"Pre Effect Expression"}}},"sound_effect":{"title":"Sound Effect","description":"Sound effect action.","properties":{"event_name":{"type":"string","description":"Name of the level sound event.","title":"Event Name"}}},"expression":{"type":"string","description":"Molang expression to run on the event-firing emitter.","title":"Expression"},"log":{"type":"string","description":"Message to log, along with the firing effect's name and event position.","title":"Log"},"weight":{"type":"number","description":"The weight of the element.","title":"Weight"}}},"A":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^([1-9]+)\\.([0-9]+)\\.([0-9]+)$","type":"string","default":"1.20.81","examples":["1.20.81","1.20.40","1.19.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18,19,20|}.${3|2|0|}"}]},"B":{"description":"The minecraft particle identifier.","examples":["namespace:particle_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Particle Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"C":{"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"}]},"E":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"D":{"description":"This component allows the emitter to run some Molang at creation, primarily to populate any Molang variables that get used later.","type":"object","title":"Emitter Initialization Component For 1.10.0","additionalProperties":false,"properties":{"creation_expression":{"$ref":"#/definitions/E","description":"This is run once at emitter startup.","title":"Creation Expression"},"per_update_expression":{"$ref":"#/definitions/E","description":"This is run once per emitter update.","title":"Per Update Expression"}}},"F":{"type":"object","title":"Emitter Lifetime Events Component For 1.10.0","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"creation_event":{"title":"Creation Event","description":"Fires when the emitter is created.","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"expiration_event":{"title":"Expiration Event","description":"Fires when the emitter expires (does not wait for particles to expire too).","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"timeline":{"title":"Timeline","type":"object","description":"A series of times, e.g. 0.0 or 1.0, that trigger the event, these get fired on every loop the emitter goes through, `time` is the time, e.g. one line might be: `0.4`: `event`","propertyNames":{"pattern":"^[\\d\\.]+$"},"additionalProperties":{"title":"Timeline Object","description":"A single point in time that executes commands/molang/events.","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]}},"travel_distance_events":{"title":"Travel Distance Events","description":"A series of distances, e.g. 0.0 or 1.0, that trigger the event these get fired when the emitter has moved by the specified input distance, e.g. one line might be: `0.4`: `event`","propertyNames":{"pattern":"^[\\d\\.]+$"}},"looping_travel_distance_events":{"title":"Looping Travel Distance Events","description":"A series of events that occur at set intervals these get fired every time the emitter has moved the specified input distance from the last time it was fired.","type":"array","items":{"type":"object","title":"Distance Event","additionalProperties":false,"properties":{"distance":{"title":"Distance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number"},"effects":{"title":"Effects","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]}}}}}},"G":{"type":"object","title":"Emitter Rate Manual Component 1.10.0","description":"UNDOCUMENTED.","additionalProperties":false,"properties":{"activation_expression":{"$ref":"#/definitions/C","description":"When the expression is non-zero, the emitter will emit particles. Evaluated every frame","title":"Activation Expression"},"expiration_expression":{"$ref":"#/definitions/C","description":"Emitter will expire if the expression is non-zero. Evaluated every frame","title":"Expiration Expression"}}},"H":{"type":"object","title":"Emitter Lifetime Once Component For 1.10.0","additionalProperties":false,"properties":{"active_time":{"$ref":"#/definitions/C","description":"How long the particles emit for evaluated once.","title":"Active Time"}},"description":"UNDOCUMENTED."},"I":{"type":"object","title":"Emitter Lifetime Looping Component For 1.10.0","additionalProperties":false,"properties":{"active_time":{"$ref":"#/definitions/C","description":"Emitter will emit particles for this time per loop evaluated once per particle emitter loop.","title":"Active Time"},"sleep_time":{"$ref":"#/definitions/C","description":"Emitter will pause emitting particles for this time per loop evaluated once per particle emitter loop.","title":"Sleep Time"}},"description":"UNDOCUMENTED."},"J":{"type":"object","title":"Emitter Local Space Component For 1.10.0","description":"UNDOCUMENTED:.","additionalProperties":false,"properties":{"position":{"type":"boolean","description":"UNDOCUMENTED: position.","title":"Position"},"rotation":{"type":"boolean","description":"UNDOCUMENTED: rotation.","title":"Rotation"},"velocity":{"type":"boolean","description":"UNDOCUMENTED: rotation.","title":"Rotation"}}},"BA":{"type":"object","title":"Emitter Rate Instant Component For 1.10.0","additionalProperties":false,"properties":{"num_particles":{"$ref":"#/definitions/C","description":"This many particles are emitted at once evaluated once per particle emitter loop.","title":"Num Particles","default":10}},"description":"UNDOCUMENTED."},"BB":{"type":"object","title":"Emitter Rate Manual Component For 1.10.0","additionalProperties":false,"properties":{"max_particles":{"$ref":"#/definitions/C","description":"Evaluated once per particle emitted.","title":"Maximum Particles"}},"description":"UNDOCUMENTED."},"BC":{"type":"object","title":"Emitter Rate Steady Component For 1.10.0","additionalProperties":false,"properties":{"max_particles":{"$ref":"#/definitions/C","description":"Maximum number of particles that can be active at once for this emitter, evaluated once per particle emitter loop.","title":"Maximum Particles"},"spawn_rate":{"$ref":"#/definitions/C","description":"How often a particle is emitted, in particles/sec evaluated once per particle emitted.","title":"Spawn Rate"}},"description":"UNDOCUMENTED."},"BD":{"type":"object","title":"Emitter Shape Box Component For 1.10.0","additionalProperties":false,"properties":{"direction":{"anyOf":[{"type":"string","enum":["inwards","outwards"]},{"type":"array","items":[{"$ref":"#/definitions/C","title":"X"},{"$ref":"#/definitions/C","title":"Y"},{"$ref":"#/definitions/C","title":"Z"}]}],"description":"UNDOCUMENTED: direction.","title":"Direction"},"radius":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: radius.","title":"Radius"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Offset"},"half_dimensions":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: half dimensions.","title":"Half Dimensions"},"surface_only":{"type":"boolean","description":"UNDOCUMENTED: surface only.","title":"Surface Only"}},"description":"UNDOCUMENTED."},"BE":{"type":"object","title":"Emitter Shape Custom Component For 1.10.0","additionalProperties":false,"properties":{"direction":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction.","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Offset"}},"description":"UNDOCUMENTED."},"BF":{"type":"object","title":"Emitter Shape Disc Component For 1.10.0","additionalProperties":false,"properties":{"direction":{"anyOf":[{"type":"string","enum":["inwards","outwards"]},{"type":"array","items":[{"$ref":"#/definitions/C","title":"X"},{"$ref":"#/definitions/C","title":"Y"},{"$ref":"#/definitions/C","title":"Z"}]}],"description":"UNDOCUMENTED: direction.","title":"Direction"},"radius":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: radius.","title":"Radius"},"offset":{"type":"array","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Offset","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}]},"plane_normal":{"title":"Plane Normal","description":"Specifies the normal of the disc plane, the disc will be perpendicular to this direction.","default":[0,1,0],"oneOf":[{"type":"string","enum":["x","y","z"]},{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}]}]},"surface_only":{"type":"boolean","description":"UNDOCUMENTED: surface only.","title":"Surface Only"}},"description":"UNDOCUMENTED."},"BG":{"type":"object","title":"Emitter Shape Entity Aabb Component For 1.10.0","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"direction":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction.","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Offset"}}},"BH":{"type":"object","title":"Emitter Shape Point Component For 1.10.0","description":"UNDOCUMENTED.","additionalProperties":false,"properties":{"direction":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction.","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Offset"}}},"BI":{"type":"object","title":"Emitter Shape Sphere Component For 1.10.0","description":"UNDOCUMENTED.","additionalProperties":false,"properties":{"direction":{"anyOf":[{"type":"string","enum":["inwards","outwards"]},{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}]}],"description":"UNDOCUMENTED: direction.","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Offset"},"radius":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: radius.","title":"Radius"},"surface_only":{"type":"boolean","description":"UNDOCUMENTED: surface only.","title":"Surface Only"}}},"BJ":{"type":"object","title":"Particle Appearance Billboard Component For 1.10.0","additionalProperties":false,"properties":{"size":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: size.","title":"Size"},"description":"UNDOCUMENTED: size.","title":"Size"},"facing_camera_mode":{"description":"Used to orient the billboard.","type":"string","enum":["rotate_xyz","rotate_y","lookat_xyz","lookat_y","lookat_direction","direction_x","direction_y","direction_z","emitter_transform_xy","emitter_transform_xz","emitter_transform_yz"],"title":"Facing Camera Mode"},"direction":{"type":"object","description":"UNDOCUMENTED","properties":{"mode":{"type":"string","enum":["custom","derive_from_velocity"],"description":"Specified how to calculate the billboard direction of a particle."},"custom_direction":{"type":"array","minItems":3,"maxItems":3,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED."},"description":"The facing direction of emitted particles."},"min_speed_threshold":{"type":"number","description":"The direction is set if the speed of the particle is above the threshold.","default":0.01}}},"uv":{"additionalProperties":false,"type":"object","properties":{"texture_width":{"type":"integer","description":"UNDOCUMENTED: texture width.","title":"Texture Width"},"texture_height":{"type":"integer","description":"UNDOCUMENTED: texture height.","title":"Texture Height"},"flipbook":{"additionalProperties":false,"type":"object","required":["max_frame"],"properties":{"base_UV":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: base UV.","title":"Base U V"},"description":"UNDOCUMENTED: base UV.","title":"Base U V"},"size_UV":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: size UV.","title":"Size U V"},"description":"UNDOCUMENTED: size UV.","title":"Size U V"},"step_UV":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: step UV.","title":"Step U V"},"description":"UNDOCUMENTED: step UV.","title":"Step U V"},"frames_per_second":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: frames per second.","title":"Frames Per Second"},"max_frame":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: Maximum frame.","title":"Maximum Frame"},"stretch_to_lifetime":{"type":"boolean","description":"UNDOCUMENTED: stretch to lifetime.","title":"Stretch To Lifetime"},"loop":{"type":"boolean","description":"UNDOCUMENTED: loop.","title":"Loop"}},"description":"UNDOCUMENTED: flipbook.","title":"Flipbook"},"uv":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: uv.","title":"Uv"},"description":"UNDOCUMENTED: uv.","title":"Uv"},"uv_size":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: uv size.","title":"Uv Size"},"description":"UNDOCUMENTED: uv size.","title":"Uv Size"}},"description":"UNDOCUMENTED: uv.","title":"Uv"}},"description":"UNDOCUMENTED."},"CA":{"description":"Color fields are special, they can be either an RGB, or a `#RRGGBB` field (or RGBA or `AARRGGBB`). If RGB(A), the channels are from 0 to 1. If the string `#AARRGGBB`, then the values are hex from 00 to ff.","type":"object","title":"Particle Appearance Tinting Component For 1.10.0","additionalProperties":false,"properties":{"color":{"title":"Color","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","anyOf":[{"type":"array","description":"Direct color field.","items":{"$ref":"#/definitions/C"}},{"type":"string","format":"color-hex","description":"Direct color field."},{"description":"Interpolation based color.","type":"object","additionalProperties":false,"properties":{"gradient":{"title":"Gradient","oneOf":[{"description":"An array of colors.","type":"array","items":{"type":"string","description":"Color.","title":"Color","format":"color-hex","examples":["#FFFFFF"]}},{"description":"An object of colors.","type":"object","propertyNames":{"pattern":"(^[\\-0-9]+$|^[\\-0-9]+\\.[\\-0-9]+$)"},"additionalProperties":{"type":"string","description":"Color.","format":"color-hex","examples":["#FFFFFF"]}},{"description":"An array of colors.","type":"array","items":{"type":"array","minItems":3,"items":{"oneOf":[{"type":"number","description":"Color.","title":"Color","minimum":0,"maximum":1},{"type":"string","title":"Molang"}]}}}]},"interpolant":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: interpolant.","title":"Interpolant"}}}]}}},"CB":{"type":"object","title":"Particle Appearance Lighting Component For 1.10.0","additionalProperties":false,"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"CD":{"description":"A minecraft block identifier.","examples":["namespace:block"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Block Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"CC":{"type":"array","title":"Particle Expire If Not In Blocks Component For 1.10.0","additionalProperties":false,"items":{"$ref":"#/definitions/CD","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Block"},"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"CE":{"type":"array","title":"Particle Expire If Not In Blocks Component For 1.10.0","additionalProperties":false,"items":{"$ref":"#/definitions/CD","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Block"},"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"CF":{"type":"object","title":"Particle Initialization Component For 1.10.0","additionalProperties":false,"properties":{"per_update_expression":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: per update expression.","title":"Per Update Expression"},"per_render_expression":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: per render expression.","title":"Per Render Expression"}},"description":"UNDOCUMENTED."},"CG":{"title":"Particle Initial Speed Component For 1.10.0","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","anyOf":[{"$ref":"#/definitions/C"},{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}]}]},"CH":{"title":"Particle Initial Spin Component For 1.10.0","description":"Starts the particle with a specified orientation and rotation rate.","additionalProperties":false,"type":"object","properties":{"rotation":{"$ref":"#/definitions/C","description":"Specifies the initial rotation in degrees.","title":"Rotation"},"rotation_rate":{"$ref":"#/definitions/C","description":"Specifies the spin rate in degrees/second.","title":"Rotation Rate"}}},"CI":{"type":"object","description":"UNDOCUMENTED:.","title":"Particle Lifetime Expression Component For 1.10.0","additionalProperties":false,"properties":{"expiration_expression":{"title":"Expiration Expression","description":"This expression makes the particle expire when true (non-zero), The float/expr is evaluated once per particle, evaluated every frame.","$ref":"#/definitions/C"},"max_lifetime":{"$ref":"#/definitions/C","description":"Alternate way to express lifetime, particle will expire after this much time, evaluated once.","title":"Maximum Lifetime"}}},"CJ":{"type":"object","title":"Particle Lifetime Events Component For 1.10.0","additionalProperties":false,"properties":{"creation_event":{"title":"Creation Event","description":"Fires when the particle is created.","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"custom_events":{"title":"Custom Events","description":"UNDOCUMENTED, unclear structure :(."},"expiration_event":{"title":"Expiration Event","description":"Fires when the particle expires (does not wait for particles to expire too).","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"timeline":{"propertyNames":{"pattern":"[0-9]*.[0-9]*"},"description":"UNDOCUMENTED: timeline.","title":"Timeline"}},"description":"UNDOCUMENTED."},"DA":{"type":"array","title":"Particle Kill Plane Component For 1.10.0","description":"A*x + B*y + C*z + D = 0\nwith the parameters being [ A, B, C, D ].","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"A"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"B"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"C"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"D"}]},"DB":{"type":"object","title":"Particle Motion Collision Component For 1.10.0","additionalProperties":false,"required":["collision_radius"],"properties":{"collision_drag":{"type":"number","description":"UNDOCUMENTED: collision drag.","title":"Collision Drag"},"coefficient_of_restitution":{"type":"number","description":"UNDOCUMENTED: coefficient of restitution.","title":"Coefficient Of Restitution"},"collision_radius":{"type":"number","description":"UNDOCUMENTED: collision radius.","title":"Collision Radius"},"enabled":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: enabled.","title":"Enabled"},"expire_on_contact":{"type":"boolean","description":"UNDOCUMENTED: expire on contact.","title":"Expire On Contact"},"events":{"type":"array","items":{"properties":{"additionalProperties":false,"event":{"type":"string","description":"UNDOCUMENTED: event.","title":"Event"},"min_speed":{"type":"number","description":"UNDOCUMENTED: Minimum speed.","title":"Minimum Speed"}},"description":"UNDOCUMENTED: events.","title":"Events"},"description":"UNDOCUMENTED: events.","title":"Events"}},"description":"UNDOCUMENTED."},"DC":{"description":"This component specifies the dynamic properties of the particle, from a simulation standpoint what forces act upon the particle? These dynamics alter the velocity of the particle, which is a combination of the direction of the particle and the speed. Particle direction will always be in the direction of the velocity of the particle.","type":"object","title":"Particle Motion Dynamic Component For 1.10.0","additionalProperties":false,"properties":{"linear_acceleration":{"type":"array","default":[0,0,0],"minItems":3,"maxItems":3,"items":{"$ref":"#/definitions/C"},"description":"The linear acceleration applied to the particle. Units are blocks/sec/sec","title":"Linear Acceleration"},"linear_drag_coefficient":{"$ref":"#/definitions/C","description":"Using the equation: `acceleration = -linear_drag_coefficient*velocity` where velocity is the current direction times speed. Think of this as air-drag. The higher the value, the more drag evaluated every frame","default":0,"title":"Linear Drag Coefficient"},"rotation_acceleration":{"$ref":"#/definitions/C","description":"Acceleration applies to the rotation speed of the particle.","title":"Rotation Acceleration","default":0},"rotation_drag_coefficient":{"$ref":"#/definitions/C","description":"Drag applied to rotation.","title":"Rotation Drag Coefficient","default":0}}},"DD":{"type":"object","title":"Particle Motion Parametric Component For 1.10.0","additionalProperties":false,"properties":{"relative_position":{"type":"array","minItems":3,"maxItems":3,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: relative position.","title":"Relative Position"},"description":"UNDOCUMENTED: relative position.","title":"Relative Position"},"rotation":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: rotation.","title":"Rotation"},"direction":{"type":"array","minItems":3,"maxItems":3,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: relative position.","title":"Direction"},"description":"UNDOCUMENTED: relative position.","title":"Direction"}},"description":"UNDOCUMENTED."}},"type":"object","additionalProperties":false,"description":"A particle definition file.","title":"Particle","properties":{"format_version":{"$ref":"#/definitions/A"},"particle_effect":{"type":"object","additionalProperties":false,"description":"UNDOCUMENTED: particle effect.","title":"Particle Effect","properties":{"description":{"additionalProperties":false,"type":"object","required":["identifier","basic_render_parameters"],"properties":{"identifier":{"type":"string","description":"UNDOCUMENTED: identifier.","title":"Identifier","$ref":"#/definitions/B"},"basic_render_parameters":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED: basic render parameters.","title":"Basic Render Parameters","properties":{"material":{"type":"string","examples":["particles_alpha","particles_blend","particles_add"],"description":" Minecraft material to use for emitter.","title":"Material"},"texture":{"type":"string","pattern":"^.+$","description":"Minecraft texture to use for emitter.","title":"Texture"}}}},"description":"UNDOCUMENTED: description.","title":"Description"},"curves":{"title":"Curves","description":"Curves are interpolation values, with inputs from 0 to 1, and outputs based on the curve. The result of the curve is a Molang variable of the same name that can be referenced in Molang in components. For each rendering frame for each particle, the curves are evaluated and the result is placed in a Molang variable of the name of the curve.","type":"object","propertyNames":{"pattern":"^(v|variable)\\.[a-zA-z0-9]+$"},"additionalProperties":{"type":"object","additionalProperties":false,"title":"Curve","description":"The curve definitions, conists out of a couple of nodes.","$comment":"UNDOCUMENTED","properties":{"input":{"$ref":"#/definitions/C","title":"Input","description":"What is the input value to use."},"nodes":{"description":"Control nodes for curve. These are assumed to be equally, used Object for bezier_chain","title":"Nodes","oneOf":[{"minItems":1,"type":"array","items":{"$ref":"#/definitions/C"}},{"type":"object","propertyNames":{"pattern":"(^[\\-0-9]+$|^[\\-0-9]+\\.[\\-0-9]+$)"},"additionalProperties":{"type":"object","properties":{}}}]},"type":{"type":"string","title":"Type","description":"The type of curve.","enum":["linear","bezier","bezier_chain","catmull_rom"]},"horizontal_range":{"title":"Horizontal Range","description":"What is the range the input is mapped onto.","$ref":"#/definitions/C"}}}},"components":{"additionalProperties":false,"type":"object","description":"The particle components.","title":"Components","properties":{"minecraft:emitter_initialization":{"$ref":"#/definitions/D"},"minecraft:emitter_lifetime_events":{"$ref":"#/definitions/F"},"minecraft:emitter_lifetime_expression":{"$ref":"#/definitions/G"},"minecraft:emitter_lifetime_once":{"$ref":"#/definitions/H"},"minecraft:emitter_lifetime_looping":{"$ref":"#/definitions/I"},"minecraft:emitter_local_space":{"$ref":"#/definitions/J"},"minecraft:emitter_rate_instant":{"$ref":"#/definitions/BA"},"minecraft:emitter_rate_manual":{"$ref":"#/definitions/BB"},"minecraft:emitter_rate_steady":{"$ref":"#/definitions/BC"},"minecraft:emitter_shape_box":{"$ref":"#/definitions/BD"},"minecraft:emitter_shape_custom":{"$ref":"#/definitions/BE"},"minecraft:emitter_shape_disc":{"$ref":"#/definitions/BF"},"minecraft:emitter_shape_entity_aabb":{"$ref":"#/definitions/BG"},"minecraft:emitter_shape_point":{"$ref":"#/definitions/BH"},"minecraft:emitter_shape_sphere":{"$ref":"#/definitions/BI"},"minecraft:particle_appearance_billboard":{"$ref":"#/definitions/BJ"},"minecraft:particle_appearance_tinting":{"$ref":"#/definitions/CA"},"minecraft:particle_appearance_lighting":{"$ref":"#/definitions/CB"},"minecraft:particle_expire_if_not_in_blocks":{"$ref":"#/definitions/CC"},"minecraft:particle_expire_if_in_blocks":{"$ref":"#/definitions/CE"},"minecraft:particle_initialization":{"$ref":"#/definitions/CF"},"minecraft:particle_initial_speed":{"$ref":"#/definitions/CG"},"minecraft:particle_initial_spin":{"$ref":"#/definitions/CH"},"minecraft:particle_lifetime_expression":{"$ref":"#/definitions/CI"},"minecraft:particle_lifetime_events":{"$ref":"#/definitions/CJ"},"minecraft:particle_kill_plane":{"$ref":"#/definitions/DA"},"minecraft:particle_motion_collision":{"$ref":"#/definitions/DB"},"minecraft:particle_motion_dynamic":{"$ref":"#/definitions/DC"},"minecraft:particle_motion_parametric":{"$ref":"#/definitions/DD"}}},"events":{"type":"object","description":"UNDOCUMENTED: events.","title":"Events","additionalProperties":{"$ref":"#/definitions/event"}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.particle","examples":[{"format_version":"1.20.41","particle_effect":{"description":{"identifier":"example:particle","basic_render_parameters":{"material":"particles_alpha","texture":"textures/particle/particle"}},"curves":{},"components":{}}}],"definitions":{"event":{"additionalProperties":false,"title":"Particle event","description":"The particle event.","properties":{"sequence":{"title":"Event sequence","description":"A sequence of elements to execute.","type":"array","items":{"$ref":"#/definitions/event"}},"randomize":{"title":"Event randomize","description":"A list of elements to execute one of.","type":"array","items":{"$ref":"#/definitions/event"}},"particle_effect":{"title":"Particle Effect","description":"Particle effect action.","properties":{"effect":{"type":"string","description":"Identifier of the effect.","title":"Effect"},"type":{"type":"string","description":"UNDOCUMENTED: type.","title":"Type","enum":["emitter","emitter_bound","particle","particle_with_velocity"]},"pre_effect_expression":{"type":"string","description":"Molang expression to run on the new emitter.","title":"Pre Effect Expression"}}},"sound_effect":{"title":"Sound Effect","description":"Sound effect action.","properties":{"event_name":{"type":"string","description":"Name of the level sound event.","title":"Event Name"}}},"expression":{"type":"string","description":"Molang expression to run on the event-firing emitter.","title":"Expression"},"log":{"type":"string","description":"Message to log, along with the firing effect's name and event position.","title":"Log"},"weight":{"type":"number","description":"The weight of the element.","title":"Weight"}}},"A":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^([1-9]+)\\.([0-9]+)\\.([0-9]+)$","type":"string","default":"1.20.81","examples":["1.20.81","1.20.40","1.19.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18,19,20|}.${3|2|0|}"}]},"B":{"description":"The minecraft particle identifier.","examples":["namespace:particle_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Particle Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"C":{"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"}]},"E":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"D":{"description":"This component allows the emitter to run some Molang at creation, primarily to populate any Molang variables that get used later.","type":"object","title":"Emitter Initialization Component For 1.10.0","additionalProperties":false,"properties":{"creation_expression":{"$ref":"#/definitions/E","description":"This is run once at emitter startup.","title":"Creation Expression"},"per_update_expression":{"$ref":"#/definitions/E","description":"This is run once per emitter update.","title":"Per Update Expression"}}},"F":{"type":"object","title":"Emitter Lifetime Events Component For 1.10.0","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"creation_event":{"title":"Creation Event","description":"Fires when the emitter is created.","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"expiration_event":{"title":"Expiration Event","description":"Fires when the emitter expires (does not wait for particles to expire too).","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"timeline":{"title":"Timeline","type":"object","description":"A series of times, e.g. 0.0 or 1.0, that trigger the event, these get fired on every loop the emitter goes through, `time` is the time, e.g. one line might be: `0.4`: `event`","propertyNames":{"pattern":"^[\\d\\.]+$"},"additionalProperties":{"title":"Timeline Object","description":"A single point in time that executes commands/molang/events.","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]}},"travel_distance_events":{"title":"Travel Distance Events","description":"A series of distances, e.g. 0.0 or 1.0, that trigger the event these get fired when the emitter has moved by the specified input distance, e.g. one line might be: `0.4`: `event`","propertyNames":{"pattern":"^[\\d\\.]+$"}},"looping_travel_distance_events":{"title":"Looping Travel Distance Events","description":"A series of events that occur at set intervals these get fired every time the emitter has moved the specified input distance from the last time it was fired.","type":"array","items":{"type":"object","title":"Distance Event","additionalProperties":false,"properties":{"distance":{"title":"Distance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number"},"effects":{"title":"Effects","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]}}}}}},"G":{"type":"object","title":"Emitter Rate Manual Component 1.10.0","description":"UNDOCUMENTED.","additionalProperties":false,"properties":{"activation_expression":{"$ref":"#/definitions/C","description":"When the expression is non-zero, the emitter will emit particles. Evaluated every frame","title":"Activation Expression"},"expiration_expression":{"$ref":"#/definitions/C","description":"Emitter will expire if the expression is non-zero. Evaluated every frame","title":"Expiration Expression"}}},"H":{"type":"object","title":"Emitter Lifetime Once Component For 1.10.0","additionalProperties":false,"properties":{"active_time":{"$ref":"#/definitions/C","description":"How long the particles emit for evaluated once.","title":"Active Time"}},"description":"UNDOCUMENTED."},"I":{"type":"object","title":"Emitter Lifetime Looping Component For 1.10.0","additionalProperties":false,"properties":{"active_time":{"$ref":"#/definitions/C","description":"Emitter will emit particles for this time per loop evaluated once per particle emitter loop.","title":"Active Time"},"sleep_time":{"$ref":"#/definitions/C","description":"Emitter will pause emitting particles for this time per loop evaluated once per particle emitter loop.","title":"Sleep Time"}},"description":"UNDOCUMENTED."},"J":{"type":"object","title":"Emitter Local Space Component For 1.10.0","description":"UNDOCUMENTED:.","additionalProperties":false,"properties":{"position":{"type":"boolean","description":"UNDOCUMENTED: position.","title":"Position"},"rotation":{"type":"boolean","description":"UNDOCUMENTED: rotation.","title":"Rotation"},"velocity":{"type":"boolean","description":"UNDOCUMENTED: rotation.","title":"Rotation"}}},"BA":{"type":"object","title":"Emitter Rate Instant Component For 1.10.0","additionalProperties":false,"properties":{"num_particles":{"$ref":"#/definitions/C","description":"This many particles are emitted at once evaluated once per particle emitter loop.","title":"Num Particles","default":10}},"description":"UNDOCUMENTED."},"BB":{"type":"object","title":"Emitter Rate Manual Component For 1.10.0","additionalProperties":false,"properties":{"max_particles":{"$ref":"#/definitions/C","description":"Evaluated once per particle emitted.","title":"Maximum Particles"}},"description":"UNDOCUMENTED."},"BC":{"type":"object","title":"Emitter Rate Steady Component For 1.10.0","additionalProperties":false,"properties":{"max_particles":{"$ref":"#/definitions/C","description":"Maximum number of particles that can be active at once for this emitter, evaluated once per particle emitter loop.","title":"Maximum Particles"},"spawn_rate":{"$ref":"#/definitions/C","description":"How often a particle is emitted, in particles/sec evaluated once per particle emitted.","title":"Spawn Rate"}},"description":"UNDOCUMENTED."},"BD":{"type":"object","title":"Emitter Shape Box Component For 1.10.0","additionalProperties":false,"properties":{"direction":{"anyOf":[{"type":"string","enum":["inwards","outwards"]},{"type":"array","items":[{"$ref":"#/definitions/C","title":"X"},{"$ref":"#/definitions/C","title":"Y"},{"$ref":"#/definitions/C","title":"Z"}]}],"description":"UNDOCUMENTED: direction.","title":"Direction"},"radius":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: radius.","title":"Radius"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Offset"},"half_dimensions":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: half dimensions.","title":"Half Dimensions"},"surface_only":{"type":"boolean","description":"UNDOCUMENTED: surface only.","title":"Surface Only"}},"description":"UNDOCUMENTED."},"BE":{"type":"object","title":"Emitter Shape Custom Component For 1.10.0","additionalProperties":false,"properties":{"direction":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction.","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Offset"}},"description":"UNDOCUMENTED."},"BF":{"type":"object","title":"Emitter Shape Disc Component For 1.10.0","additionalProperties":false,"properties":{"direction":{"anyOf":[{"type":"string","enum":["inwards","outwards"]},{"type":"array","items":[{"$ref":"#/definitions/C","title":"X"},{"$ref":"#/definitions/C","title":"Y"},{"$ref":"#/definitions/C","title":"Z"}]}],"description":"UNDOCUMENTED: direction.","title":"Direction"},"radius":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: radius.","title":"Radius"},"offset":{"type":"array","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Offset","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}]},"plane_normal":{"title":"Plane Normal","description":"Specifies the normal of the disc plane, the disc will be perpendicular to this direction.","default":[0,1,0],"oneOf":[{"type":"string","enum":["x","y","z"]},{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}]}]},"surface_only":{"type":"boolean","description":"UNDOCUMENTED: surface only.","title":"Surface Only"}},"description":"UNDOCUMENTED."},"BG":{"type":"object","title":"Emitter Shape Entity Aabb Component For 1.10.0","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"direction":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction.","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Offset"}}},"BH":{"type":"object","title":"Emitter Shape Point Component For 1.10.0","description":"UNDOCUMENTED.","additionalProperties":false,"properties":{"direction":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction.","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Offset"}}},"BI":{"type":"object","title":"Emitter Shape Sphere Component For 1.10.0","description":"UNDOCUMENTED.","additionalProperties":false,"properties":{"direction":{"anyOf":[{"type":"string","enum":["inwards","outwards"]},{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}]}],"description":"UNDOCUMENTED: direction.","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Offset"},"radius":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: radius.","title":"Radius"},"surface_only":{"type":"boolean","description":"UNDOCUMENTED: surface only.","title":"Surface Only"}}},"BJ":{"type":"object","title":"Particle Appearance Billboard Component For 1.10.0","additionalProperties":false,"properties":{"size":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: size.","title":"Size"},"description":"UNDOCUMENTED: size.","title":"Size"},"facing_camera_mode":{"description":"Used to orient the billboard.","type":"string","enum":["rotate_xyz","rotate_y","lookat_xyz","lookat_y","lookat_direction","direction_x","direction_y","direction_z","emitter_transform_xy","emitter_transform_xz","emitter_transform_yz"],"title":"Facing Camera Mode"},"direction":{"type":"object","description":"UNDOCUMENTED","properties":{"mode":{"type":"string","enum":["custom","derive_from_velocity"],"description":"Specified how to calculate the billboard direction of a particle."},"custom_direction":{"type":"array","minItems":3,"maxItems":3,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED."},"description":"The facing direction of emitted particles."},"min_speed_threshold":{"type":"number","description":"The direction is set if the speed of the particle is above the threshold.","default":0.01}}},"uv":{"additionalProperties":false,"type":"object","properties":{"texture_width":{"type":"integer","description":"UNDOCUMENTED: texture width.","title":"Texture Width"},"texture_height":{"type":"integer","description":"UNDOCUMENTED: texture height.","title":"Texture Height"},"flipbook":{"additionalProperties":false,"type":"object","required":["max_frame"],"properties":{"base_UV":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: base UV.","title":"Base U V"},"description":"UNDOCUMENTED: base UV.","title":"Base U V"},"size_UV":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: size UV.","title":"Size U V"},"description":"UNDOCUMENTED: size UV.","title":"Size U V"},"step_UV":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: step UV.","title":"Step U V"},"description":"UNDOCUMENTED: step UV.","title":"Step U V"},"frames_per_second":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: frames per second.","title":"Frames Per Second"},"max_frame":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: Maximum frame.","title":"Maximum Frame"},"stretch_to_lifetime":{"type":"boolean","description":"UNDOCUMENTED: stretch to lifetime.","title":"Stretch To Lifetime"},"loop":{"type":"boolean","description":"UNDOCUMENTED: loop.","title":"Loop"}},"description":"UNDOCUMENTED: flipbook.","title":"Flipbook"},"uv":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: uv.","title":"Uv"},"description":"UNDOCUMENTED: uv.","title":"Uv"},"uv_size":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: uv size.","title":"Uv Size"},"description":"UNDOCUMENTED: uv size.","title":"Uv Size"}},"description":"UNDOCUMENTED: uv.","title":"Uv"}},"description":"UNDOCUMENTED."},"CA":{"description":"Color fields are special, they can be either an RGB, or a `#RRGGBB` field (or RGBA or `AARRGGBB`). If RGB(A), the channels are from 0 to 1. If the string `#AARRGGBB`, then the values are hex from 00 to ff.","type":"object","title":"Particle Appearance Tinting Component For 1.10.0","additionalProperties":false,"properties":{"color":{"title":"Color","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","anyOf":[{"type":"array","description":"Direct color field.","items":{"$ref":"#/definitions/C"}},{"type":"string","format":"color-hex","description":"Direct color field."},{"description":"Interpolation based color.","type":"object","additionalProperties":false,"properties":{"gradient":{"title":"Gradient","oneOf":[{"description":"An array of colors.","type":"array","items":{"type":"string","description":"Color.","title":"Color","format":"color-hex","examples":["#FFFFFF"]}},{"description":"An object of colors.","type":"object","propertyNames":{"pattern":"(^[\\-0-9]+$|^[\\-0-9]+\\.[\\-0-9]+$)"},"additionalProperties":{"type":"string","description":"Color.","format":"color-hex","examples":["#FFFFFF"]}},{"description":"An array of colors.","type":"array","items":{"type":"array","minItems":3,"items":{"oneOf":[{"type":"number","description":"Color.","title":"Color","minimum":0,"maximum":1},{"type":"string","title":"Molang"}]}}}]},"interpolant":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: interpolant.","title":"Interpolant"}}}]}}},"CB":{"type":"object","title":"Particle Appearance Lighting Component For 1.10.0","additionalProperties":false,"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"CD":{"description":"A minecraft block identifier.","examples":["namespace:block"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Block Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"CC":{"type":"array","title":"Particle Expire If Not In Blocks Component For 1.10.0","additionalProperties":false,"items":{"$ref":"#/definitions/CD","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Block"},"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"CE":{"type":"array","title":"Particle Expire If Not In Blocks Component For 1.10.0","additionalProperties":false,"items":{"$ref":"#/definitions/CD","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Block"},"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"CF":{"type":"object","title":"Particle Initialization Component For 1.10.0","additionalProperties":false,"properties":{"per_update_expression":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: per update expression.","title":"Per Update Expression"},"per_render_expression":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: per render expression.","title":"Per Render Expression"}},"description":"UNDOCUMENTED."},"CG":{"title":"Particle Initial Speed Component For 1.10.0","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","anyOf":[{"$ref":"#/definitions/C"},{"type":"array","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Z"}]}]},"CH":{"title":"Particle Initial Spin Component For 1.10.0","description":"Starts the particle with a specified orientation and rotation rate.","additionalProperties":false,"type":"object","properties":{"rotation":{"$ref":"#/definitions/C","description":"Specifies the initial rotation in degrees.","title":"Rotation"},"rotation_rate":{"$ref":"#/definitions/C","description":"Specifies the spin rate in degrees/second.","title":"Rotation Rate"}}},"CI":{"type":"object","description":"UNDOCUMENTED:.","title":"Particle Lifetime Expression Component For 1.10.0","additionalProperties":false,"properties":{"expiration_expression":{"title":"Expiration Expression","description":"This expression makes the particle expire when true (non-zero), The float/expr is evaluated once per particle, evaluated every frame.","$ref":"#/definitions/C"},"max_lifetime":{"$ref":"#/definitions/C","description":"Alternate way to express lifetime, particle will expire after this much time, evaluated once.","title":"Maximum Lifetime"}}},"CJ":{"type":"object","title":"Particle Lifetime Events Component For 1.10.0","additionalProperties":false,"properties":{"creation_event":{"title":"Creation Event","description":"Fires when the particle is created.","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"custom_events":{"title":"Custom Events","description":"UNDOCUMENTED, unclear structure :(."},"expiration_event":{"title":"Expiration Event","description":"Fires when the particle expires (does not wait for particles to expire too).","oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}]},"timeline":{"propertyNames":{"pattern":"[0-9]*.[0-9]*"},"description":"UNDOCUMENTED: timeline.","title":"Timeline"}},"description":"UNDOCUMENTED."},"DA":{"type":"array","title":"Particle Kill Plane Component For 1.10.0","description":"A*x + B*y + C*z + D = 0\nwith the parameters being [ A, B, C, D ].","items":[{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"A"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"B"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"C"},{"$ref":"#/definitions/C","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"D"}]},"DB":{"type":"object","title":"Particle Motion Collision Component For 1.10.0","additionalProperties":false,"required":["collision_radius"],"properties":{"collision_drag":{"type":"number","description":"UNDOCUMENTED: collision drag.","title":"Collision Drag"},"coefficient_of_restitution":{"type":"number","description":"UNDOCUMENTED: coefficient of restitution.","title":"Coefficient Of Restitution"},"collision_radius":{"type":"number","description":"UNDOCUMENTED: collision radius.","title":"Collision Radius"},"enabled":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: enabled.","title":"Enabled"},"expire_on_contact":{"type":"boolean","description":"UNDOCUMENTED: expire on contact.","title":"Expire On Contact"},"events":{"type":"array","items":{"properties":{"additionalProperties":false,"event":{"type":"string","description":"UNDOCUMENTED: event.","title":"Event"},"min_speed":{"type":"number","description":"UNDOCUMENTED: Minimum speed.","title":"Minimum Speed"}},"description":"UNDOCUMENTED: events.","title":"Events"},"description":"UNDOCUMENTED: events.","title":"Events"}},"description":"UNDOCUMENTED."},"DC":{"description":"This component specifies the dynamic properties of the particle, from a simulation standpoint what forces act upon the particle? These dynamics alter the velocity of the particle, which is a combination of the direction of the particle and the speed. Particle direction will always be in the direction of the velocity of the particle.","type":"object","title":"Particle Motion Dynamic Component For 1.10.0","additionalProperties":false,"properties":{"linear_acceleration":{"type":"array","default":[0,0,0],"minItems":3,"maxItems":3,"items":{"$ref":"#/definitions/C"},"description":"The linear acceleration applied to the particle. Units are blocks/sec/sec","title":"Linear Acceleration"},"linear_drag_coefficient":{"$ref":"#/definitions/C","description":"Using the equation: `acceleration = -linear_drag_coefficient*velocity` where velocity is the current direction times speed. Think of this as air-drag. The higher the value, the more drag evaluated every frame","default":0,"title":"Linear Drag Coefficient"},"rotation_acceleration":{"$ref":"#/definitions/C","description":"Acceleration applies to the rotation speed of the particle.","title":"Rotation Acceleration","default":0},"rotation_drag_coefficient":{"$ref":"#/definitions/C","description":"Drag applied to rotation.","title":"Rotation Drag Coefficient","default":0}}},"DD":{"type":"object","title":"Particle Motion Parametric Component For 1.10.0","additionalProperties":false,"properties":{"relative_position":{"type":"array","minItems":3,"maxItems":3,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: relative position.","title":"Relative Position"},"description":"UNDOCUMENTED: relative position.","title":"Relative Position"},"rotation":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: rotation.","title":"Rotation"},"direction":{"type":"array","minItems":3,"maxItems":3,"items":{"$ref":"#/definitions/C","description":"UNDOCUMENTED: relative position.","title":"Direction"},"description":"UNDOCUMENTED: relative position.","title":"Direction"}},"description":"UNDOCUMENTED."}},"type":"object","additionalProperties":false,"description":"A particle definition file.","title":"Particle","properties":{"format_version":{"$ref":"#/definitions/A"},"particle_effect":{"type":"object","additionalProperties":false,"description":"UNDOCUMENTED: particle effect.","title":"Particle Effect","properties":{"description":{"additionalProperties":false,"type":"object","required":["identifier","basic_render_parameters"],"properties":{"identifier":{"type":"string","description":"UNDOCUMENTED: identifier.","title":"Identifier","$ref":"#/definitions/B"},"basic_render_parameters":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED: basic render parameters.","title":"Basic Render Parameters","properties":{"material":{"type":"string","examples":["particles_alpha","particles_blend","particles_add","particles_opaque"],"description":" Minecraft material to use for emitter.","title":"Material"},"texture":{"type":"string","pattern":"^.+$","description":"Minecraft texture to use for emitter.","title":"Texture"}}}},"description":"UNDOCUMENTED: description.","title":"Description"},"curves":{"title":"Curves","description":"Curves are interpolation values, with inputs from 0 to 1, and outputs based on the curve. The result of the curve is a Molang variable of the same name that can be referenced in Molang in components. For each rendering frame for each particle, the curves are evaluated and the result is placed in a Molang variable of the name of the curve.","type":"object","propertyNames":{"pattern":"^(v|variable)\\.[a-zA-z0-9]+$"},"additionalProperties":{"type":"object","additionalProperties":false,"title":"Curve","description":"The curve definitions, conists out of a couple of nodes.","$comment":"UNDOCUMENTED","properties":{"input":{"$ref":"#/definitions/C","title":"Input","description":"What is the input value to use."},"nodes":{"description":"Control nodes for curve. These are assumed to be equally, used Object for bezier_chain","title":"Nodes","oneOf":[{"minItems":1,"type":"array","items":{"$ref":"#/definitions/C"}},{"type":"object","propertyNames":{"pattern":"(^[\\-0-9]+$|^[\\-0-9]+\\.[\\-0-9]+$)"},"additionalProperties":{"type":"object","properties":{}}}]},"type":{"type":"string","title":"Type","description":"The type of curve.","enum":["linear","bezier","bezier_chain","catmull_rom"]},"horizontal_range":{"title":"Horizontal Range","description":"What is the range the input is mapped onto.","$ref":"#/definitions/C"}}}},"components":{"additionalProperties":false,"type":"object","description":"The particle components.","title":"Components","properties":{"minecraft:emitter_initialization":{"$ref":"#/definitions/D"},"minecraft:emitter_lifetime_events":{"$ref":"#/definitions/F"},"minecraft:emitter_lifetime_expression":{"$ref":"#/definitions/G"},"minecraft:emitter_lifetime_once":{"$ref":"#/definitions/H"},"minecraft:emitter_lifetime_looping":{"$ref":"#/definitions/I"},"minecraft:emitter_local_space":{"$ref":"#/definitions/J"},"minecraft:emitter_rate_instant":{"$ref":"#/definitions/BA"},"minecraft:emitter_rate_manual":{"$ref":"#/definitions/BB"},"minecraft:emitter_rate_steady":{"$ref":"#/definitions/BC"},"minecraft:emitter_shape_box":{"$ref":"#/definitions/BD"},"minecraft:emitter_shape_custom":{"$ref":"#/definitions/BE"},"minecraft:emitter_shape_disc":{"$ref":"#/definitions/BF"},"minecraft:emitter_shape_entity_aabb":{"$ref":"#/definitions/BG"},"minecraft:emitter_shape_point":{"$ref":"#/definitions/BH"},"minecraft:emitter_shape_sphere":{"$ref":"#/definitions/BI"},"minecraft:particle_appearance_billboard":{"$ref":"#/definitions/BJ"},"minecraft:particle_appearance_tinting":{"$ref":"#/definitions/CA"},"minecraft:particle_appearance_lighting":{"$ref":"#/definitions/CB"},"minecraft:particle_expire_if_not_in_blocks":{"$ref":"#/definitions/CC"},"minecraft:particle_expire_if_in_blocks":{"$ref":"#/definitions/CE"},"minecraft:particle_initialization":{"$ref":"#/definitions/CF"},"minecraft:particle_initial_speed":{"$ref":"#/definitions/CG"},"minecraft:particle_initial_spin":{"$ref":"#/definitions/CH"},"minecraft:particle_lifetime_expression":{"$ref":"#/definitions/CI"},"minecraft:particle_lifetime_events":{"$ref":"#/definitions/CJ"},"minecraft:particle_kill_plane":{"$ref":"#/definitions/DA"},"minecraft:particle_motion_collision":{"$ref":"#/definitions/DB"},"minecraft:particle_motion_dynamic":{"$ref":"#/definitions/DC"},"minecraft:particle_motion_parametric":{"$ref":"#/definitions/DD"}}},"events":{"type":"object","description":"UNDOCUMENTED: events.","title":"Events","additionalProperties":{"$ref":"#/definitions/event"}}}}}} \ No newline at end of file