diff --git a/behavior/animation_controllers/animation_controller.json b/behavior/animation_controllers/animation_controller.json index 4558e556..803d179c 100644 --- a/behavior/animation_controllers/animation_controller.json +++ b/behavior/animation_controllers/animation_controller.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.animation_controller","examples":[{"format_version":"1.19.0","animation_controllers":{"controller.animation.example":{"initial_state":"default","states":{"default":{"transitions":[{"state_1":"query.is_baby"}]},"state_1":{}}}}}],"definitions":{"animationspec":{"anyOf":[{"title":"Animation Specification","description":"A single string that specifies which animation there are","type":"string"},{"type":"object","title":"Animation Specification","description":"A object specification on when to animate","maxProperties":1,"minProperties":1,"additionalProperties":{"$ref":"#/definitions/A"}}]},"particle_effect_spec":{"additionalProperties":false,"type":"object","required":["effect"],"properties":{"bind_to_actor":{"type":"boolean","title":"Bind To Actor","description":"Set to false to have the effect spawned in the world without being bound to an actor (by default an effect is bound to the actor).","const":false},"effect":{"type":"string","title":"Effect","description":"The name of a particle effect that should be played"},"locator":{"type":"string","title":"Locator","description":"The name of a locator on the actor where the effect should be located"},"pre_effect_script":{"type":"string","title":"Pre Effect Script","description":"A molang script that will be run when the particle emitter is initialized"}}},"commands":{"type":"string","description":"The event or commands to execute","title":"Commands","oneOf":[{"pattern":"^@s .+$","title":"Event"},{"pattern":"^/.+$","title":"Command"},{"pattern":"^.+;$","title":"Molang"}]},"A":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"B":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}},"type":"object","title":"Animation Controller","description":"Animation controller for behaviors","required":["format_version","animation_controllers"],"additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/B"},"animation_controllers":{"type":"object","title":"Animation Controllers","description":"The animation controllers schema for","propertyNames":{"pattern":"^controller\\.animation\\.[a-z\\.]+","examples":["controller.animation.example","controller.animation.example.foo"]},"additionalProperties":{"additionalProperties":false,"type":"object","title":"Animation Controller","description":"A single animation controller","required":["states"],"minProperties":1,"properties":{"states":{"title":"States","description":"The states of this animation controller","propertyNames":{"pattern":"[a-z\\.]+"},"minProperties":1,"type":"object","additionalProperties":{"additionalProperties":false,"title":"Animation State","description":"Animation state","type":"object","examples":[{"animations":["anim.idle"],"transitions":[{"example":"query.is_sheared"}]}],"properties":{"animations":{"title":"Animations","description":"The animations definition for","type":"array","items":{"$ref":"#/definitions/animationspec","description":"The key definition of an animation to play, defined in the entity","title":"Animations"}},"on_entry":{"type":"array","description":"Events, commands or transitions to preform on entry of this state","title":"On Entry","items":{"$ref":"#/definitions/commands"}},"on_exit":{"type":"array","description":"Events, commands or transitions to preform on exit of this state","title":"On Exit","items":{"$ref":"#/definitions/commands"}},"transitions":{"title":"Transition","description":"The transition definition for","minProperties":1,"type":"array","items":{"title":"Transition","description":"A transition to another state","type":"object","maxProperties":1,"minProperties":1,"examples":[{"default":"query.is_chested"}],"additionalProperties":{"$ref":"#/definitions/A"}}}}}},"initial_state":{"title":"Initial State","description":"The state to start with, if not specified state at position 0 in the array is used","type":"string","examples":["default"]}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.animation_controller","examples":[{"format_version":"1.19.0","animation_controllers":{"controller.animation.example":{"initial_state":"default","states":{"default":{"transitions":[{"state_1":"query.is_baby"}]},"state_1":{}}}}}],"definitions":{"animationspec":{"anyOf":[{"title":"Animation Specification","description":"A single string that specifies which animation there are.","type":"string"},{"type":"object","title":"Animation Specification","description":"A object specification on when to animate.","maxProperties":1,"minProperties":1,"additionalProperties":{"$ref":"#/definitions/A"}}]},"particle_effect_spec":{"additionalProperties":false,"type":"object","required":["effect"],"properties":{"bind_to_actor":{"type":"boolean","title":"Bind To Actor","description":"Set to false to have the effect spawned in the world without being bound to an actor (by default an effect is bound to the actor).","const":false},"effect":{"type":"string","title":"Effect","description":"The name of a particle effect that should be played."},"locator":{"type":"string","title":"Locator","description":"The name of a locator on the actor where the effect should be located."},"pre_effect_script":{"type":"string","title":"Pre Effect Script","description":"A molang script that will be run when the particle emitter is initialized."}}},"commands":{"type":"string","description":"The event or commands to execute.","title":"Commands","oneOf":[{"pattern":"^@s .+$","title":"Event"},{"pattern":"^/.+$","title":"Command"},{"pattern":"^.+;$","title":"Molang"}]},"A":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"B":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}},"type":"object","title":"Animation Controller","description":"Animation controller for behaviors.","required":["format_version","animation_controllers"],"additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/B"},"animation_controllers":{"type":"object","title":"Animation Controllers","description":"The animation controllers schema for.","propertyNames":{"pattern":"^controller\\.animation\\.[a-z\\.]+","examples":["controller.animation.example","controller.animation.example.foo"]},"additionalProperties":{"additionalProperties":false,"type":"object","title":"Animation Controller","description":"A single animation controller.","required":["states"],"minProperties":1,"properties":{"states":{"title":"States","description":"The states of this animation controller.","propertyNames":{"pattern":"[a-z\\.]+"},"minProperties":1,"type":"object","additionalProperties":{"additionalProperties":false,"title":"Animation State","description":"Animation state.","type":"object","examples":[{"animations":["anim.idle"],"transitions":[{"example":"query.is_sheared"}]}],"properties":{"animations":{"title":"Animations","description":"The animations definition for.","type":"array","items":{"$ref":"#/definitions/animationspec","description":"The key definition of an animation to play, defined in the entity.","title":"Animations"}},"on_entry":{"type":"array","description":"Events, commands or transitions to preform on entry of this state.","title":"On Entry","items":{"$ref":"#/definitions/commands"}},"on_exit":{"type":"array","description":"Events, commands or transitions to preform on exit of this state.","title":"On Exit","items":{"$ref":"#/definitions/commands"}},"transitions":{"title":"Transition","description":"The transition definition for.","minProperties":1,"type":"array","items":{"title":"Transition","description":"A transition to another state.","type":"object","maxProperties":1,"minProperties":1,"examples":[{"default":"query.is_chested"}],"additionalProperties":{"$ref":"#/definitions/A"}}}}}},"initial_state":{"title":"Initial State","description":"The state to start with, if not specified state at position 0 in the array is used.","type":"string","examples":["default"]}}}}}} \ No newline at end of file diff --git a/behavior/animations/animations.json b/behavior/animations/animations.json index b5b8a914..a4eed30d 100644 --- a/behavior/animations/animations.json +++ b/behavior/animations/animations.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.animations","examples":[{"format_version":"1.19.0","animations":{"animation.example":{}}}],"definitions":{"animationspec":{"anyOf":[{"title":"Animation Specification","description":"A single string that specifies which animation there are","type":"string"},{"type":"object","title":"Animation Specification","description":"A object specification on how to transition","maxProperties":1,"minProperties":1,"additionalProperties":{"$ref":"#/definitions/A"}}]},"particle_effect_spec":{"additionalProperties":false,"type":"object","required":["effect"],"properties":{"bind_to_actor":{"title":"Bind To Actor","type":"boolean","description":"Set to false to have the effect spawned in the world without being bound to an actor (by default an effect is bound to the actor).","const":false},"effect":{"type":"string","description":"The name of a particle effect that should be played","title":"Effect"},"locator":{"type":"string","description":"The name of a locator on the actor where the effect should be located","title":"Locator"},"pre_effect_script":{"type":"string","description":"A molang script that will be run when the particle emitter is initialized","title":"Pre Effect Script"}}},"commands":{"type":"string","description":"The event or commands to execute","title":"Commands","anyOf":[{"pattern":"^.*=.*;$","title":"Variable","description":"Sets the value to a molang variable"},{"pattern":"^/[a-z].*$","title":"Minecraft Command","description":"Executes a minecraft command"},{"pattern":"[A-Za-z][a-z]*\\.[a-z_0-9]*","title":"Molang"},{"pattern":"^@s .*$","title":"Event","description":"An event to be called upon within the executing entity"}]},"A":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"B":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}},"type":"object","title":"Animation","description":"Animation for behavior for","required":["format_version","animations"],"additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/B"},"animations":{"title":"Animations Schema","description":"The animation specification","type":"object","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"additionalProperties":{"title":"Animation","type":"object","description":"A single animation definition for","additionalProperties":false,"propertyNames":{"examples":["animation.example.foo"]},"properties":{"animation_length":{"type":"number","description":"The time in seconds this animation will last","title":"Animation Length"},"loop":{"type":"boolean","description":"Whenever this animation should loop once it reaches the end, will only happen if the animation is still active","title":"Loop"},"timeline":{"title":"Timeline","description":"A timeline specification, property names are timestamps","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"oneOf":[{"type":"string","$ref":"#/definitions/commands"},{"type":"array","title":"Collection Timelime Items","items":{"$ref":"#/definitions/commands"}}]}}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.animations","examples":[{"format_version":"1.19.0","animations":{"animation.example":{}}}],"definitions":{"animationspec":{"anyOf":[{"title":"Animation Specification","description":"A single string that specifies which animation there are.","type":"string"},{"type":"object","title":"Animation Specification","description":"A object specification on how to transition.","maxProperties":1,"minProperties":1,"additionalProperties":{"$ref":"#/definitions/A"}}]},"particle_effect_spec":{"additionalProperties":false,"type":"object","required":["effect"],"properties":{"bind_to_actor":{"title":"Bind To Actor","type":"boolean","description":"Set to false to have the effect spawned in the world without being bound to an actor (by default an effect is bound to the actor).","const":false},"effect":{"type":"string","description":"The name of a particle effect that should be played.","title":"Effect"},"locator":{"type":"string","description":"The name of a locator on the actor where the effect should be located.","title":"Locator"},"pre_effect_script":{"type":"string","description":"A molang script that will be run when the particle emitter is initialized.","title":"Pre Effect Script"}}},"commands":{"type":"string","description":"The event or commands to execute.","title":"Commands","anyOf":[{"pattern":"^.*=.*;$","title":"Variable","description":"Sets the value to a molang variable."},{"pattern":"^/[a-z].*$","title":"Minecraft Command","description":"Executes a minecraft command."},{"pattern":"[A-Za-z][a-z]*\\.[a-z_0-9]*","title":"Molang"},{"pattern":"^@s .*$","title":"Event","description":"An event to be called upon within the executing entity."}]},"A":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"B":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}},"type":"object","title":"Animation","description":"Animation for behavior for.","required":["format_version","animations"],"additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/B"},"animations":{"title":"Animations Schema","description":"The animation specification.","type":"object","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"additionalProperties":{"title":"Animation","type":"object","description":"A single animation definition for.","additionalProperties":false,"propertyNames":{"examples":["animation.example.foo"]},"properties":{"animation_length":{"type":"number","description":"The time in seconds this animation will last.","title":"Animation Length"},"loop":{"type":"boolean","description":"Whenever this animation should loop once it reaches the end, will only happen if the animation is still active.","title":"Loop"},"timeline":{"title":"Timeline","description":"A timeline specification, property names are timestamps.","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"oneOf":[{"type":"string","$ref":"#/definitions/commands"},{"type":"array","title":"Collection Timelime Items","items":{"$ref":"#/definitions/commands"}}]}}}}}}} \ No newline at end of file diff --git a/behavior/biomes/biomes.json b/behavior/biomes/biomes.json index a120ab6b..7851e47e 100644 --- a/behavior/biomes/biomes.json +++ b/behavior/biomes/biomes.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"minecraft.behavior.biomes","type":"object","examples":[{"plains":{"format_version":"1.19.0"}}],"additionalProperties":{"type":"object","title":"Biomes","description":"The definition of a biome","additionalProperties":{"title":"Tag","type":"object","description":"Components with no namespace are treated as `tags': any name consisting of alphanumeric characters, `.` and `_` is permitted; the tag is attached to the biome so that either code or data may check for its existence; tag components may not have member fields.","additionalProperties":false},"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:climate":{"$ref":"#/definitions/B"},"minecraft:forced_features":{"$ref":"#/definitions/C"},"minecraft:overworld_height":{"$ref":"#/definitions/E"},"minecraft:ignore_automatic_features":{"$ref":"#/definitions/F"},"minecraft:surface_parameters":{"$ref":"#/definitions/G"},"minecraft:surface_material_adjustments":{"$ref":"#/definitions/H"},"minecraft:swamp_surface":{"$ref":"#/definitions/I"},"minecraft:frozen_ocean_surface":{"$ref":"#/definitions/J"},"minecraft:mesa_surface":{"$ref":"#/definitions/BA"},"minecraft:mountain_parameters":{"$ref":"#/definitions/BB"},"minecraft:nether_surface":{"$ref":"#/definitions/BC"},"minecraft:the_end_surface":{"$ref":"#/definitions/BD"},"minecraft:capped_surface":{"$ref":"#/definitions/BE"},"minecraft:overworld_generation_rules":{"$ref":"#/definitions/BF"},"minecraft:nether_generation_rules":{"$ref":"#/definitions/BG"},"minecraft:legacy_world_generation_rules":{"$ref":"#/definitions/BH"}}},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"B":{"title":"Climate","description":"Describes temperature, humidity, precipitation, etc. Biomes without this component will have default values.","type":"object","minProperties":0,"maxProperties":7,"additionalProperties":false,"properties":{"temperature":{"title":"Temperature","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"downfall":{"title":"Downfall","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"red_spores":{"title":"Red Spores","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"blue_spores":{"title":"Blue Spores","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"ash":{"title":"Ash","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"white_ash":{"title":"White Ash","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"snow_accumulation":{"title":"Snow Accumulation","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":[{"type":"number"},{"type":"number"}]}}},"C_coordinate":{"oneOf":[{"type":"string","$ref":"#/definitions/D","description":"Expression for the coordinate (evaluated each iteration). Mutually exclusive with random distribution object below."},{"type":"number","description":"Expression for the coordinate (evaluated each iteration). Mutually exclusive with random distribution object below."},{"type":"object","description":"Distribution for the coordinate (evaluated each iteration). Mutually exclusive with Molang expression above.","additionalProperties":false,"required":["distribution","extent"],"properties":{"distribution":{"title":"Distribution","description":"Type of distribution - uniform random, gaussian (centered in the range), or grid (either fixed-step or jittered)","type":"string","enum":["uniform","gaussian","inverse_gaussian","triangle","fixed_grid","jittered_grid"]},"extent":{"title":"Extent","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":[{"title":"Lower Bound","description":"Lower bound (inclusive) of the scatter range, as an offset from the input point to scatter around","$ref":"#/definitions/D"},{"title":"Upper Bound","description":"Upper bound (inclusive) of the scatter range, as an offset from the input point to scatter around","$ref":"#/definitions/D"}]},"grid_offset":{"title":"Step Size","description":"When the distribution type is grid, defines the offset along this axis","type":"integer","minimum":0},"step_size":{"title":"Step Size","description":"When the distribution type is grid, defines the distance between steps along this axis","type":"integer","minimum":1}}}]},"C_iteration":{"title":"Iteration","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"type":"object","required":["iterations","places_feature","identifier"],"properties":{"coordinate_eval_order":{"title":"Coordinate Eval Order","description":"The order in which coordinates will be evaluated. Should be used when a coordinate depends on another. If omitted, defaults to `xzy`.","type":"string","enum":["xyz","xzy","yxz","yzx","zxy","zyx"]},"identifier":{"title":"Identifier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"},"iterations":{"title":"Iterations","description":"Number of scattered positions to generate","$ref":"#/definitions/D"},"places_feature":{"title":"Places Feature","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"},"scatter_chance":{"title":"Scatter Chance","oneOf":[{"type":"object","description":"Probability numerator / denominator that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will.","additionalProperties":false,"properties":{"denominator":{"title":"Denominator","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"numerator":{"title":"Numerator","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1}}},{"type":"string","description":"Probability (0-100) that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will.","$ref":"#/definitions/D"},{"type":"number","description":"Probability (0-100) that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will."}]},"x":{"title":"X","$ref":"#/definitions/C_coordinate"},"y":{"title":"X","$ref":"#/definitions/C_coordinate"},"z":{"title":"X","$ref":"#/definitions/C_coordinate"}}},"D":{"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"}]},"C":{"title":"Forced Features","description":"Force specific decorative features (trees, plants, etc.) to appear in this Biome, regardless of normal decoration rules.","type":"object","minProperties":0,"maxProperties":11,"additionalProperties":false,"properties":{"after_sky_pass":{"title":"First Pass","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"after_surface_pass":{"title":"First Pass","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"after_underground_pass":{"title":"First Pass","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"before_sky_pass":{"title":"First Pass","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"before_surface_pass":{"title":"First Pass","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"before_underground_pass":{"title":"First Pass","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"final_pass":{"title":"First Pass","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"first_pass":{"title":"First Pass","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"surface_pass":{"title":"First Pass","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"sky_pass":{"title":"First Pass","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"underground_pass":{"title":"First Pass","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}}}},"E":{"title":"Overworld Height","description":"Noise parameters used to drive terrain height in the Overworld.","type":"object","minProperties":0,"maxProperties":2,"additionalProperties":false,"properties":{"noise_params":{"title":"Noise Params","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":[{"type":"number"},{"type":"number"}]},"noise_type":{"title":"Noise Type","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","enum":["stone_beach","deep_ocean","default","default_mutated","lowlands","river","ocean","taiga","mountains","highlands","mushroom","less_extreme","extreme","beach","swamp"]}}},"F":{"title":"Ignore Automatic Features","description":"No features will be automatically attached to this Biome, only features specified in the minecraft:forced_features component will appear.","type":"object","additionalProperties":false,"properties":{}},"G":{"title":"Surface Parameters","description":"Control the blocks used for the default Minecraft Overworld terrain generation.","type":"object","minProperties":0,"maxProperties":6,"additionalProperties":false,"properties":{"top_material":{"title":"Top Material","description":"Controls the block type used for the surface of this biome.","string":"string"},"mid_material":{"title":"Mid Material","description":"Controls the block type used in a layer below the surface of this biome.","string":"string"},"sea_floor_material":{"title":"Sea Floor Material","description":"Controls the block type used as a floor for bodies of water in this biome.","string":"boostringlean"},"foundation_material":{"title":"Foundation Material","description":"Controls the block type used deep underground in this biome.","string":"string"},"sea_material":{"title":"Sea Material","description":"Controls the block type used for the bodies of water in this biome.","string":"string"},"sea_floor_depth":{"title":"Sea Floor Depth","description":"Controls how deep below the world water level the floor should occur.","type":"integer"}}},"H":{"title":"Surface Material Adjustments","description":"Specify fine-detail changes to blocks used in terrain generation (based on a noise function)","type":"object","additionalProperties":false,"properties":{"adjustments":{"title":"Adjustments","description":"All adjustments that match the column's noise values will be applied in the order listed.","items":{"title":"Adjustment","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"height_range":{"title":"Height Range","description":"Defines a range of noise values [min, max] for which this adjustment should be applied.","type":"array","items":[{"$ref":"#/definitions/D","title":"Min"},{"$ref":"#/definitions/D","title":"Max"}]},"materials":{"title":"Materials","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"top_material":{"title":"Top Material","description":"Controls the block type used for the surface of this biome when this adjustment is active.","type":"string"},"mid_material":{"title":"Mid Material","description":"Controls the block type used in a layer below the surface of this biome when this adjustment is active.","type":"string"},"sea_floor_material":{"title":"Sea Floor Material","description":"Controls the block type used as a floor for bodies of water in this biome when this adjustment is active.","type":"string"},"foundation_material":{"title":"Top Materials","description":"Controls the block type used deep underground in this biome when this adjustment is active.","type":"string"},"sea_material":{"title":"Top Materials","description":"Controls the block type used in the bodies of water in this biome when this adjustment is active.","type":"string"}}},"noise_range":{"title":"Noise Range","description":"Defines a range of noise values [min, max] for which this adjustment should be applied.","type":"array","items":[{"minimum":-1,"maximum":1,"title":"Min"},{"minimum":-1,"maximum":1,"title":"Max"}]}}}}}},"I":{"title":"Swamp Surface","description":"Similar to overworld_surface. Adds swamp surface details.","type":"object","minProperties":0,"maxProperties":6,"additionalProperties":false,"properties":{"top_material":{"title":"Top Material","description":"Controls the block type used for the surface of this biome.","string":"string"},"mid_material":{"title":"Mid Material","description":"Controls the block type used in a layer below the surface of this biome.","string":"string"},"sea_floor_material":{"title":"Sea Floor Material","description":"Controls the block type used as a floor for bodies of water in this biome.","string":"boostringlean"},"foundation_material":{"title":"Foundation Material","description":"Controls the block type used deep underground in this biome.","string":"string"},"sea_material":{"title":"Sea Material","description":"Controls the block type used for the bodies of water in this biome.","string":"string"},"sea_floor_depth":{"title":"Sea Floor Depth","description":"Controls how deep below the world water level the floor should occur.","type":"integer"}}},"J":{"title":"Frozen Ocean Surface","description":"Similar to overworld_surface. Adds icebergs.","type":"object","minProperties":0,"maxProperties":6,"additionalProperties":false,"properties":{"top_material":{"title":"Top Material","description":"Controls the block type used for the surface of this biome.","string":"string"},"mid_material":{"title":"Mid Material","description":"Controls the block type used in a layer below the surface of this biome.","string":"string"},"sea_floor_material":{"title":"Sea Floor Material","description":"Controls the block type used as a floor for bodies of water in this biome.","string":"boostringlean"},"foundation_material":{"title":"Foundation Material","description":"Controls the block type used deep underground in this biome.","string":"string"},"sea_material":{"title":"Sea Material","description":"Controls the block type used for the bodies of water in this biome.","string":"string"},"sea_floor_depth":{"title":"Sea Floor Depth","description":"Controls how deep below the world water level the floor should occur.","type":"integer"}}},"BA":{"title":"Mesa Surface","description":"Similar to overworld_surface. Adds colored strata and optional pillars.","type":"object","minProperties":0,"maxProperties":10,"additionalProperties":false,"properties":{"top_material":{"title":"Top Material","description":"Controls the block type used for the surface of this biome.","string":"string"},"mid_material":{"title":"Mid Material","description":"Controls the block type used in a layer below the surface of this biome.","string":"string"},"sea_floor_material":{"title":"Sea Floor Material","description":"Controls the block type used as a floor for bodies of water in this biome.","string":"boostringlean"},"foundation_material":{"title":"Foundation Material","description":"Controls the block type used deep underground in this biome.","string":"string"},"sea_material":{"title":"Sea Material","description":"Controls the block type used for the bodies of water in this biome.","string":"string"},"sea_floor_depth":{"title":"Sea Floor Depth","description":"Controls how deep below the world water level the floor should occur.","type":"integer"},"clay_material":{"title":"Clay Material","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"},"hard_clay_material":{"title":"Hard Clay Material","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"},"bryce_pillars":{"title":"Bryce Pillars","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"has_forest":{"title":"Has Forest","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"}}},"BB":{"title":"Mountain parameters","description":"Noise parameters used to drive mountain terrain generation in Overworld","type":"object","additionalProperties":false,"minProperties":0,"maxProperties":3,"properties":{"peaks_factor":{"type":"number","title":"Peaks factor","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"steep_material_adjustment":{"type":"object","title":"Steep material adjustment","description":"Defines surface material for steep slopes","additionalProperties":false,"properties":{"material":{"type":"string","title":"Material","description":"Block type use as steep material."},"north_slopes":{"type":"boolean","title":"North slopes","description":"Enable for north facing slopes"},"south_slopes":{"type":"boolean","title":"South slopes","description":"Enable for south facing slopes"},"west_slopes":{"type":"boolean","title":"West slopes","description":"Enable for west facing slopes"},"east_slopes":{"type":"boolean","title":"East slopes","description":"Enable for east facing slopes"}}},"top_slide":{"title":"Top slide","description":"Controls the density tapering that happens at the top of the world to prevent terrain from reaching too high","type":"object","additionalProperties":false,"properties":{"enabled":{"title":"Enabled","description":"If false, top slide will be disabled. If true, other parameters will be taken into account"}}}}},"BC":{"title":"Nether Surface","description":"Use default Minecraft Nether terrain generation.","type":"object","additionalProperties":false,"properties":{}},"BD":{"title":"End Surface","description":"Use default Minecraft End terrain generation.","type":"object","additionalProperties":false,"properties":{}},"BE":{"title":"Capped Surface","description":"Generates surface on blocks with non-solid blocks above or below.","type":"object","additionalProperties":false,"required":["floor_materials","ceiling_materials","sea_material","foundation_material"],"properties":{"ceiling_materials":{"title":"Ceiling Materials","description":"Materials used for the surface ceiling.","minItems":1,"items":{"title":"Block Reference","description":"A block reference.","$comment":"UNDOCUMENTED","type":"string"}},"floor_materials":{"title":"Floor Materials","description":"Materials used for the surface floor.","minItems":1,"items":{"title":"Block Reference","description":"A block reference.","$comment":"UNDOCUMENTED","type":"string"}},"sea_material":{"title":"Sea Material","description":"Material used to replace air blocks below sea level.","type":"string"},"foundation_material":{"title":"Foundation Material","description":"Material used to repalce solid blocks that are not surface blocks.","type":"string"},"beach_material":{"title":"Beach Material","description":"Material used to decorate surface near sea level.","type":"string"}}},"BF_transformation":{"oneOf":[{"type":"string","title":"Block Reference","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},{"type":"array","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Block Reference","minItems":1,"items":{"oneOf":[{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Block Reference"},{"type":"array","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":[{"title":"Biome Reference","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"},{"title":"_","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"}]}]}}]},"BF":{"title":"Overworld Generation Rules","description":"Control how this biome is instantiated (and then potentially modified) during world generation of the overworld.","type":"object","additionalProperties":false,"properties":{"hills_transformation":{"title":"Hills Transformation","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/BF_transformation"},"mutate_transformation":{"title":"Mutate Transformation","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/BF_transformation"},"river_transformation":{"title":"River Transformation","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/BF_transformation"},"shore_transformation":{"title":"Shore Transformation","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/BF_transformation"},"generate_for_climates":{"title":"Generate For Climates","description":"Controls the world generation climate categories that this biome can spawn for. A single biome can be associated with multiple categories with different weightings.","type":"array","items":{"title":"_","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":[{"title":"Climate Category","description":"Name of a climate category","type":"string","enum":["medium","warm","lukewarm","cold","frozen"]},{"title":"Weight","description":"Weight with which this biome should be selected, relative to other biomes in the same category","type":"integer"}]}}}},"BG":{"title":"Nether Generation Rules","description":"Controls how this biome is instantiated (and then potentially modified) during world generation of the nether.","type":"object","additionalProperties":false,"properties":{"target_temperature":{"title":"Target Temperature","description":"Temperature with which this biome should selected, relative to other biomes.","type":"number"},"target_humidity":{"title":"Target Humidity","description":"Humidity with which this biome should selected, relative to other biomes.","type":"number"},"target_altitude":{"title":"Target Altitude","description":"Altitude with which this biome should selected, relative to other biomes.","type":"number"},"target_weirdness":{"title":"Target Weirdness","description":"Weirdness with which this biome should selected, relative to other biomes.","type":"number"},"weight":{"title":"Weight","description":"Weight with which this biome should selected, relative to other biomes.","type":"number"}}},"BH":{"title":"Legacy World Generation Rules","description":"Additional world generation control applicable only to legacy limited worlds.","type":"object","additionalProperties":false,"properties":{}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"minecraft.behavior.biomes","type":"object","examples":[{"plains":{"format_version":"1.19.0"}}],"additionalProperties":{"type":"object","title":"Biomes","description":"The definition of a biome.","additionalProperties":{"title":"Tag","type":"object","description":"Components with no namespace are treated as `tags': any name consisting of alphanumeric characters, `.` and `_` is permitted; the tag is attached to the biome so that either code or data may check for its existence; tag components may not have member fields.","additionalProperties":false},"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:climate":{"$ref":"#/definitions/B"},"minecraft:forced_features":{"$ref":"#/definitions/C"},"minecraft:overworld_height":{"$ref":"#/definitions/E"},"minecraft:ignore_automatic_features":{"$ref":"#/definitions/F"},"minecraft:surface_parameters":{"$ref":"#/definitions/G"},"minecraft:surface_material_adjustments":{"$ref":"#/definitions/H"},"minecraft:swamp_surface":{"$ref":"#/definitions/I"},"minecraft:frozen_ocean_surface":{"$ref":"#/definitions/J"},"minecraft:mesa_surface":{"$ref":"#/definitions/BA"},"minecraft:mountain_parameters":{"$ref":"#/definitions/BB"},"minecraft:nether_surface":{"$ref":"#/definitions/BC"},"minecraft:the_end_surface":{"$ref":"#/definitions/BD"},"minecraft:capped_surface":{"$ref":"#/definitions/BE"},"minecraft:overworld_generation_rules":{"$ref":"#/definitions/BF"},"minecraft:nether_generation_rules":{"$ref":"#/definitions/BG"},"minecraft:legacy_world_generation_rules":{"$ref":"#/definitions/BH"}}},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"B":{"title":"Climate","description":"Describes temperature, humidity, precipitation, etc. Biomes without this component will have default values.","type":"object","minProperties":0,"maxProperties":7,"additionalProperties":false,"properties":{"temperature":{"title":"Temperature","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number"},"downfall":{"title":"Downfall","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number"},"red_spores":{"title":"Red Spores","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number"},"blue_spores":{"title":"Blue Spores","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number"},"ash":{"title":"Ash","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number"},"white_ash":{"title":"White Ash","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number"},"snow_accumulation":{"title":"Snow Accumulation","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":[{"type":"number"},{"type":"number"}]}}},"C_coordinate":{"oneOf":[{"type":"string","$ref":"#/definitions/D","description":"Expression for the coordinate (evaluated each iteration). Mutually exclusive with random distribution object below."},{"type":"number","description":"Expression for the coordinate (evaluated each iteration). Mutually exclusive with random distribution object below."},{"type":"object","description":"Distribution for the coordinate (evaluated each iteration). Mutually exclusive with Molang expression above.","additionalProperties":false,"required":["distribution","extent"],"properties":{"distribution":{"title":"Distribution","description":"Type of distribution - uniform random, gaussian (centered in the range), or grid (either fixed-step or jittered).","type":"string","enum":["uniform","gaussian","inverse_gaussian","triangle","fixed_grid","jittered_grid"]},"extent":{"title":"Extent","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":[{"title":"Lower Bound","description":"Lower bound (inclusive) of the scatter range, as an offset from the input point to scatter around.","$ref":"#/definitions/D"},{"title":"Upper Bound","description":"Upper bound (inclusive) of the scatter range, as an offset from the input point to scatter around.","$ref":"#/definitions/D"}]},"grid_offset":{"title":"Step Size","description":"When the distribution type is grid, defines the offset along this axis.","type":"integer","minimum":0},"step_size":{"title":"Step Size","description":"When the distribution type is grid, defines the distance between steps along this axis.","type":"integer","minimum":1}}}]},"C_iteration":{"title":"Iteration","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"type":"object","required":["iterations","places_feature","identifier"],"properties":{"coordinate_eval_order":{"title":"Coordinate Eval Order","description":"The order in which coordinates will be evaluated. Should be used when a coordinate depends on another. If omitted, defaults to `xzy`.","type":"string","enum":["xyz","xzy","yxz","yzx","zxy","zyx"]},"identifier":{"title":"Identifier","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"},"iterations":{"title":"Iterations","description":"Number of scattered positions to generate.","$ref":"#/definitions/D"},"places_feature":{"title":"Places Feature","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"},"scatter_chance":{"title":"Scatter Chance","oneOf":[{"type":"object","description":"Probability numerator / denominator that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will.","additionalProperties":false,"properties":{"denominator":{"title":"Denominator","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"numerator":{"title":"Numerator","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1}}},{"type":"string","description":"Probability (0-100) that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will.","$ref":"#/definitions/D"},{"type":"number","description":"Probability (0-100) that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will."}]},"x":{"title":"X","$ref":"#/definitions/C_coordinate"},"y":{"title":"X","$ref":"#/definitions/C_coordinate"},"z":{"title":"X","$ref":"#/definitions/C_coordinate"}}},"D":{"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"}]},"C":{"title":"Forced Features","description":"Force specific decorative features (trees, plants, etc.) to appear in this Biome, regardless of normal decoration rules.","type":"object","minProperties":0,"maxProperties":11,"additionalProperties":false,"properties":{"after_sky_pass":{"title":"First Pass","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"after_surface_pass":{"title":"First Pass","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"after_underground_pass":{"title":"First Pass","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"before_sky_pass":{"title":"First Pass","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"before_surface_pass":{"title":"First Pass","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"before_underground_pass":{"title":"First Pass","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"final_pass":{"title":"First Pass","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"first_pass":{"title":"First Pass","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"surface_pass":{"title":"First Pass","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"sky_pass":{"title":"First Pass","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}},"underground_pass":{"title":"First Pass","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/C_iteration"}}}},"E":{"title":"Overworld Height","description":"Noise parameters used to drive terrain height in the Overworld.","type":"object","minProperties":0,"maxProperties":2,"additionalProperties":false,"properties":{"noise_params":{"title":"Noise Params","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":[{"type":"number"},{"type":"number"}]},"noise_type":{"title":"Noise Type","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","enum":["stone_beach","deep_ocean","default","default_mutated","lowlands","river","ocean","taiga","mountains","highlands","mushroom","less_extreme","extreme","beach","swamp"]}}},"F":{"title":"Ignore Automatic Features","description":"No features will be automatically attached to this Biome, only features specified in the minecraft:forced_features component will appear.","type":"object","additionalProperties":false,"properties":{}},"G":{"title":"Surface Parameters","description":"Control the blocks used for the default Minecraft Overworld terrain generation.","type":"object","minProperties":0,"maxProperties":6,"additionalProperties":false,"properties":{"top_material":{"title":"Top Material","description":"Controls the block type used for the surface of this biome.","string":"string"},"mid_material":{"title":"Mid Material","description":"Controls the block type used in a layer below the surface of this biome.","string":"string"},"sea_floor_material":{"title":"Sea Floor Material","description":"Controls the block type used as a floor for bodies of water in this biome.","string":"boostringlean"},"foundation_material":{"title":"Foundation Material","description":"Controls the block type used deep underground in this biome.","string":"string"},"sea_material":{"title":"Sea Material","description":"Controls the block type used for the bodies of water in this biome.","string":"string"},"sea_floor_depth":{"title":"Sea Floor Depth","description":"Controls how deep below the world water level the floor should occur.","type":"integer"}}},"H":{"title":"Surface Material Adjustments","description":"Specify fine-detail changes to blocks used in terrain generation (based on a noise function).","type":"object","additionalProperties":false,"properties":{"adjustments":{"title":"Adjustments","description":"All adjustments that match the column's noise values will be applied in the order listed.","items":{"title":"Adjustment","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"height_range":{"title":"Height Range","description":"Defines a range of noise values [min, max] for which this adjustment should be applied.","type":"array","items":[{"$ref":"#/definitions/D","title":"Min"},{"$ref":"#/definitions/D","title":"Max"}]},"materials":{"title":"Materials","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"top_material":{"title":"Top Material","description":"Controls the block type used for the surface of this biome when this adjustment is active.","type":"string"},"mid_material":{"title":"Mid Material","description":"Controls the block type used in a layer below the surface of this biome when this adjustment is active.","type":"string"},"sea_floor_material":{"title":"Sea Floor Material","description":"Controls the block type used as a floor for bodies of water in this biome when this adjustment is active.","type":"string"},"foundation_material":{"title":"Top Materials","description":"Controls the block type used deep underground in this biome when this adjustment is active.","type":"string"},"sea_material":{"title":"Top Materials","description":"Controls the block type used in the bodies of water in this biome when this adjustment is active.","type":"string"}}},"noise_range":{"title":"Noise Range","description":"Defines a range of noise values [min, max] for which this adjustment should be applied.","type":"array","items":[{"minimum":-1,"maximum":1,"title":"Min"},{"minimum":-1,"maximum":1,"title":"Max"}]}}}}}},"I":{"title":"Swamp Surface","description":"Similar to overworld_surface. Adds swamp surface details.","type":"object","minProperties":0,"maxProperties":6,"additionalProperties":false,"properties":{"top_material":{"title":"Top Material","description":"Controls the block type used for the surface of this biome.","string":"string"},"mid_material":{"title":"Mid Material","description":"Controls the block type used in a layer below the surface of this biome.","string":"string"},"sea_floor_material":{"title":"Sea Floor Material","description":"Controls the block type used as a floor for bodies of water in this biome.","string":"boostringlean"},"foundation_material":{"title":"Foundation Material","description":"Controls the block type used deep underground in this biome.","string":"string"},"sea_material":{"title":"Sea Material","description":"Controls the block type used for the bodies of water in this biome.","string":"string"},"sea_floor_depth":{"title":"Sea Floor Depth","description":"Controls how deep below the world water level the floor should occur.","type":"integer"}}},"J":{"title":"Frozen Ocean Surface","description":"Similar to overworld_surface. Adds icebergs.","type":"object","minProperties":0,"maxProperties":6,"additionalProperties":false,"properties":{"top_material":{"title":"Top Material","description":"Controls the block type used for the surface of this biome.","string":"string"},"mid_material":{"title":"Mid Material","description":"Controls the block type used in a layer below the surface of this biome.","string":"string"},"sea_floor_material":{"title":"Sea Floor Material","description":"Controls the block type used as a floor for bodies of water in this biome.","string":"boostringlean"},"foundation_material":{"title":"Foundation Material","description":"Controls the block type used deep underground in this biome.","string":"string"},"sea_material":{"title":"Sea Material","description":"Controls the block type used for the bodies of water in this biome.","string":"string"},"sea_floor_depth":{"title":"Sea Floor Depth","description":"Controls how deep below the world water level the floor should occur.","type":"integer"}}},"BA":{"title":"Mesa Surface","description":"Similar to overworld_surface. Adds colored strata and optional pillars.","type":"object","minProperties":0,"maxProperties":10,"additionalProperties":false,"properties":{"top_material":{"title":"Top Material","description":"Controls the block type used for the surface of this biome.","string":"string"},"mid_material":{"title":"Mid Material","description":"Controls the block type used in a layer below the surface of this biome.","string":"string"},"sea_floor_material":{"title":"Sea Floor Material","description":"Controls the block type used as a floor for bodies of water in this biome.","string":"boostringlean"},"foundation_material":{"title":"Foundation Material","description":"Controls the block type used deep underground in this biome.","string":"string"},"sea_material":{"title":"Sea Material","description":"Controls the block type used for the bodies of water in this biome.","string":"string"},"sea_floor_depth":{"title":"Sea Floor Depth","description":"Controls how deep below the world water level the floor should occur.","type":"integer"},"clay_material":{"title":"Clay Material","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"},"hard_clay_material":{"title":"Hard Clay Material","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"},"bryce_pillars":{"title":"Bryce Pillars","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"},"has_forest":{"title":"Has Forest","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"}}},"BB":{"title":"Mountain parameters","description":"Noise parameters used to drive mountain terrain generation in Overworld.","type":"object","additionalProperties":false,"minProperties":0,"maxProperties":3,"properties":{"peaks_factor":{"type":"number","title":"Peaks factor","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"steep_material_adjustment":{"type":"object","title":"Steep material adjustment","description":"Defines surface material for steep slopes.","additionalProperties":false,"properties":{"material":{"type":"string","title":"Material","description":"Block type use as steep material."},"north_slopes":{"type":"boolean","title":"North slopes","description":"Enable for north facing slopes."},"south_slopes":{"type":"boolean","title":"South slopes","description":"Enable for south facing slopes."},"west_slopes":{"type":"boolean","title":"West slopes","description":"Enable for west facing slopes."},"east_slopes":{"type":"boolean","title":"East slopes","description":"Enable for east facing slopes."}}},"top_slide":{"title":"Top slide","description":"Controls the density tapering that happens at the top of the world to prevent terrain from reaching too high.","type":"object","additionalProperties":false,"properties":{"enabled":{"title":"Enabled","description":"If false, top slide will be disabled. If true, other parameters will be taken into account"}}}}},"BC":{"title":"Nether Surface","description":"Use default Minecraft Nether terrain generation.","type":"object","additionalProperties":false,"properties":{}},"BD":{"title":"End Surface","description":"Use default Minecraft End terrain generation.","type":"object","additionalProperties":false,"properties":{}},"BE":{"title":"Capped Surface","description":"Generates surface on blocks with non-solid blocks above or below.","type":"object","additionalProperties":false,"required":["floor_materials","ceiling_materials","sea_material","foundation_material"],"properties":{"ceiling_materials":{"title":"Ceiling Materials","description":"Materials used for the surface ceiling.","minItems":1,"items":{"title":"Block Reference","description":"A block reference.","$comment":"UNDOCUMENTED","type":"string"}},"floor_materials":{"title":"Floor Materials","description":"Materials used for the surface floor.","minItems":1,"items":{"title":"Block Reference","description":"A block reference.","$comment":"UNDOCUMENTED","type":"string"}},"sea_material":{"title":"Sea Material","description":"Material used to replace air blocks below sea level.","type":"string"},"foundation_material":{"title":"Foundation Material","description":"Material used to repalce solid blocks that are not surface blocks.","type":"string"},"beach_material":{"title":"Beach Material","description":"Material used to decorate surface near sea level.","type":"string"}}},"BF_transformation":{"oneOf":[{"type":"string","title":"Block Reference","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},{"type":"array","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Block Reference","minItems":1,"items":{"oneOf":[{"type":"string","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Block Reference"},{"type":"array","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":[{"title":"Biome Reference","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"},{"title":"_","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer"}]}]}}]},"BF":{"title":"Overworld Generation Rules","description":"Control how this biome is instantiated (and then potentially modified) during world generation of the overworld.","type":"object","additionalProperties":false,"properties":{"hills_transformation":{"title":"Hills Transformation","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/BF_transformation"},"mutate_transformation":{"title":"Mutate Transformation","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/BF_transformation"},"river_transformation":{"title":"River Transformation","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/BF_transformation"},"shore_transformation":{"title":"Shore Transformation","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/BF_transformation"},"generate_for_climates":{"title":"Generate For Climates","description":"Controls the world generation climate categories that this biome can spawn for. A single biome can be associated with multiple categories with different weightings.","type":"array","items":{"title":"_","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":[{"title":"Climate Category","description":"Name of a climate category.","type":"string","enum":["medium","warm","lukewarm","cold","frozen"]},{"title":"Weight","description":"Weight with which this biome should be selected, relative to other biomes in the same category.","type":"integer"}]}}}},"BG":{"title":"Nether Generation Rules","description":"Controls how this biome is instantiated (and then potentially modified) during world generation of the nether.","type":"object","additionalProperties":false,"properties":{"target_temperature":{"title":"Target Temperature","description":"Temperature with which this biome should selected, relative to other biomes.","type":"number"},"target_humidity":{"title":"Target Humidity","description":"Humidity with which this biome should selected, relative to other biomes.","type":"number"},"target_altitude":{"title":"Target Altitude","description":"Altitude with which this biome should selected, relative to other biomes.","type":"number"},"target_weirdness":{"title":"Target Weirdness","description":"Weirdness with which this biome should selected, relative to other biomes.","type":"number"},"weight":{"title":"Weight","description":"Weight with which this biome should selected, relative to other biomes.","type":"number"}}},"BH":{"title":"Legacy World Generation Rules","description":"Additional world generation control applicable only to legacy limited worlds.","type":"object","additionalProperties":false,"properties":{}}}} \ No newline at end of file diff --git a/behavior/blocks/blocks.json b/behavior/blocks/blocks.json index 91b6c619..d792e9de 100644 --- a/behavior/blocks/blocks.json +++ b/behavior/blocks/blocks.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.block","$comment":"UNDOCUMENTED","required":["format_version","minecraft:block"],"type":"object","title":"Block Behavior","description":"The minecraft block behavior specification","additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:block":{"$ref":"#/definitions/B"}},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"B_components_ref":{"type":"object","title":"Component","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"minecraft:block_light_filter":{"$ref":"#/definitions/C"},"minecraft:block_light_emission":{"$ref":"#/definitions/D"},"minecraft:breakonpush":{"$ref":"#/definitions/E"},"minecraft:breathability":{"$ref":"#/definitions/F"},"minecraft:creative_category":{"$ref":"#/definitions/G"},"minecraft:destroy_time":{"$ref":"#/definitions/H"},"minecraft:display_name":{"$ref":"#/definitions/I"},"minecraft:entity_collision":{"$ref":"#/definitions/J"},"minecraft:explosion_resistance":{"$ref":"#/definitions/BA"},"minecraft:flammable":{"$ref":"#/definitions/BB"},"minecraft:friction":{"$ref":"#/definitions/BC"},"minecraft:geometry":{"$ref":"#/definitions/BD"},"minecraft:immovable":{"$ref":"#/definitions/BE"},"minecraft:loot":{"$ref":"#/definitions/BF"},"minecraft:map_color":{"$ref":"#/definitions/BG"},"minecraft:material_instances":{"$ref":"#/definitions/BH"},"minecraft:onlypistonpush":{"$ref":"#/definitions/BI"},"minecraft:part_visibility.json":{"$ref":"#/definitions/BJ"},"minecraft:on_fall_on":{"$ref":"#/definitions/CA"},"minecraft:on_interact":{"$ref":"#/definitions/CB"},"minecraft:on_placed":{"$ref":"#/definitions/CC"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/CD"},"minecraft:on_player_placing":{"$ref":"#/definitions/CE"},"minecraft:on_step_off":{"$ref":"#/definitions/CF"},"minecraft:on_step_on":{"$ref":"#/definitions/CG"},"minecraft:pick_collision":{"$ref":"#/definitions/CH"},"minecraft:placement_filter":{"$ref":"#/definitions/CI"},"minecraft:preventsjumping":{"$ref":"#/definitions/CJ"},"minecraft:random_ticking":{"$ref":"#/definitions/DA"},"minecraft:rotation":{"$ref":"#/definitions/DB"},"minecraft:ticking":{"$ref":"#/definitions/DC"},"minecraft:unit_cube":{"$ref":"#/definitions/DD"},"minecraft:unwalkable":{"$ref":"#/definitions/DE"}}},"C":{"additionalProperties":false,"type":"integer","title":"Block Light filter","description":"The amount of light this block will filter out. Higher value means more light will be filtered out (0 - 15).","default":0},"D":{"additionalProperties":false,"type":"number","title":"Block Light Emission","description":"The amount of light this block will emit in a range [0.0, 1.0].","minimum":0,"maximum":1,"default":0.0},"E":{"additionalProperties":false,"type":"boolean","title":"Break On Push","description":"When pushed by a piston the block breaks."},"F":{"additionalProperties":false,"type":"string","title":"Breathability","description":"Property describing the breathability of the block, and whether it's treated as a solid block or a block of air","enum":["solid","air"],"default":"solid"},"G":{"additionalProperties":false,"type":"boolean","title":"Creative Category","description":"Specifies the creative group for the block."},"H":{"additionalProperties":false,"type":"number","title":"Destroy Time","description":"Sets the destroy time property for the block. Greater numbers result in greater mining times. Time is measured in seconds with base equipment.","default":0.0},"I":{"additionalProperties":false,"type":"string","title":"Display Name","description":"Specifies the language file key that maps to what text will be displayed when you hover over the block."},"J":{"title":"Entity Collision","description":"Can only be set to false or an object, it disables the collision of the block with entities.","oneOf":[{"type":"boolean","const":false},{"type":"object","additionalProperties":false,"properties":{"origin":{"type":"array","title":"Origin","description":"Minimal position Bounds of the collision box","default":[-8.0,0.0,-8.0],"items":[{"type":"number","title":"X","description":"The x offset"},{"type":"number","title":"Y","description":"The y offset"},{"type":"number","title":"Z","description":"The z offset"}]},"size":{"type":"array","title":"Size","description":"Size of each side of the box of the component","default":[16.0,16.0,16.0],"items":[{"type":"number","title":"X","description":"The x size"},{"type":"number","title":"Y","description":"The y size"},{"type":"number","title":"Z","description":"The z size"}]}}}]},"BA":{"additionalProperties":false,"type":"number","title":"Explosion Resistance","description":"Sets the explosion resistance for this block.","default":0.0},"BB":{"additionalProperties":false,"type":"object","title":"Flammable","description":"Describes the flammable properties for this block.","additionalItems":false,"properties":{"burn_odds":{"type":"integer","default":0,"description":"How likely the block will be destroyed by flames when on fire. Value must be greater than or equal to 0.","title":"Burn Odds"},"flame_odds":{"type":"integer","default":0,"description":"How likely the block will catch flame when next to a fire. Value must be greater than or equal to 0.","title":"Flame Odds"}}},"BC":{"additionalProperties":false,"type":"number","title":"Friction","description":"Property describing the friction for this block. Friction effects an entities movements when it walks on the block.","default":0.1},"BD":{"additionalProperties":false,"type":"string","title":"Geometry","description":"The geometry description identifier to use, this identifier must match an existing geometry identifier in any of the currently loaded resource packs.","pattern":"^geometry\\.[a-zA-Z0-9_\\-\\.]+$"},"BE":{"additionalProperties":false,"type":"boolean","title":"Immovable","description":"An Immovable block cannot be pushed by pistons"},"BF":{"additionalProperties":false,"type":"string","title":"Loot","description":"The path to the loot table, relative to the behavior pack. Path string is limited to 256 characters.","pattern":"loot_tables/.*\\.json$"},"BG":{"additionalProperties":false,"type":"string","title":"Map Color","description":"A color represented as a hex value. This will be the color rendered to a map.","format":"color-hex","examples":["#FFFFFF"]},"BH_material_instance":{"title":"Material Instance","description":"A single material instance","additionalProperties":false,"properties":{"ambient_occlusion":{"title":"Ambient Occlusion","type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"face_dimming":{"title":"Face Dimming","type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"render_method":{"type":"string","title":"Render Method","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["blend","opaque","alpha_test"]},"texture":{"type":"string","title":"Texture","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"BH":{"type":"object","title":"Material Instances","description":"Maps face or material_instance names in a geometry file to an actual material instance. Material instance can either be a full material instance or a name to another already defined instance","properties":{"*":{"$ref":"#/definitions/BH_material_instance"}},"additionalProperties":{"$ref":"#/definitions/BH_material_instance"}},"BI":{"type":"boolean","title":"Only Piston Push","description":"Blocks with those components won't stick to stickyPistons"},"BJ":{"title":"Part Visibility","description":"Maps bone names in a geometry file to a condition that turns their rendering on/off. The condition should be a Molang query that uses block properties to determine true/falseSupported queries include 'has_block_property', 'block_property', and other queries that can evaluate without knowledge of the block's in-game positional or player affected data.","type":"object","additionalProperties":{"title":"Bone Name","examples":[{"root":"query.variant"}],"type":"string"}},"CA":{"type":"object","title":"On Fall On","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"min_fall_distance":{"type":"number","default":0,"description":"The minimum distance in blocks that an actor needs to fall to trigger this event.","title":"Minimum Fall Distance"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CB":{"type":"object","title":"On Fall On","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CC":{"type":"object","title":"On Placed","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CD":{"type":"object","title":"On Player Destroyed","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CE":{"type":"object","title":"On Player Placing","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CF":{"type":"object","title":"On Step Off","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CG":{"type":"object","title":"On Step On","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CH":{"title":"Pick Collision","description":"Can only be set to false, it disables the collision of the block with entities","oneOf":[{"type":"boolean","const":false},{"type":"object","additionalProperties":false,"properties":{"origin":{"type":"array","title":"Origin","description":"Minimal position Bounds of the collision box","default":[-8.0,0.0,-8.0],"items":[{"type":"number","title":"X","description":"The x offset"},{"type":"number","title":"Y","description":"The y offset"},{"type":"number","title":"Z","description":"The z offset"}]},"size":{"type":"array","title":"Size","description":"Size of each side of the box of the component","default":[16.0,16.0,16.0],"items":[{"type":"number","title":"X","description":"The x size"},{"type":"number","title":"Y","description":"The y size"},{"type":"number","title":"Z","description":"The z size"}]}}}]},"CI":{"title":"Placement Filter","description":"Sets rules for under what conditions the block can be placed/survive","type":"object","properties":{"conditions":{"title":"Conditions","description":"List of conditions where the block can be placed/survive","type":"array","items":{"type":"object","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"allowed_faces":{"title":"Allowed Faces","description":"List of any of the following strings: up, down, north, south, east, west, side, all","type":"array","items":{"type":"string","enum":["up","down","north","south","east","west","side","all"]}},"block_filter":{"title":"Block Filter","description":"List of blocks (can use tags to specify them) that this block can be placed against in the allowed_faces direction","type":"array","items":{"type":"string","title":"Block Identifier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}}}}}},"CJ":{"title":"Prevents Jumping","description":"This component makes it so actors can't jump when walking on this block","type":"boolean"},"DA":{"title":"Random Ticking","description":"Describes the component that will trigger an even at a regular interval between two values","type":"object","additionalProperties":false,"properties":{"on_tick":{"title":"On Tick","description":"Describes the component that will trigger an even at a regular interval between two values","type":"string","additionalProperties":false,"properties":{"condition":{"title":"Condition","type":"string","default":"1","description":"The condition of event to be executed on the block. Molang"},"event":{"title":"Event","type":"string","default":"set_block_property","description":"The type of event executed on the block."},"range":{"title":"Range","type":"array","items":[{"type":"integer"},{"type":"integer"}]},"target":{"title":"Target","description":"The target of event executed on the block.","type":"string","enum":["block","damager","other","parent","player","self","target"]}}},"looping":{"type":"boolean","default":true,"description":"Does the event loop","title":"Looping"},"range":{"type":"array","default":[10,10],"description":"The Range between which the component will trigger his event.","title":"Range"}}},"DB":{"title":"Rotation","description":"This is the block's rotation around the center of the cube in degrees. The rotation order is x-y-z.","type":"array","additionalProperties":false,"items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]},"DC":{"title":"Ticking","description":"Describes the component that will trigger an even at a regular interval between two values","type":"object","additionalProperties":false,"properties":{"looping":{"type":"boolean","title":"Looping","description":"Does the event loop"},"range":{"title":"Range","description":"The Range between which the component will trigger his event.","type":"array","items":[{"type":"integer"},{"type":"integer"}]},"on_tick":{"type":"object","title":"On Tick","description":"Describes the component that will trigger an even at a regular interval between two values","condition":{"title":"Condition","type":"string","description":"The condition of event to be executed on the block. Molang"},"event":{"title":"Event","type":"string","description":"The type of event executed on the block."},"target":{"title":"Target","description":"The target of event executed on the block.","type":"string","enum":["block","damager","other","parent","player","self","target"]}}}},"DD":{"title":"Unit Cube","description":"Specifies that a unit cube is to be used with tessellation.","type":"object"},"DE":{"title":"Unwalkable","description":"Sets the block as unwalkable. Mobs would not attempt to path over top of it when the value is set to true.","default":false,"type":"boolean"},"DF":{"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"}]},"DG_event_base":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"condition":{"title":"Condition","description":"The condition of event to be executed on the block.","type":"string"},"event":{"title":"Event","description":"The event executed on the block.","type":"string"},"target":{"title":"Target","description":"The target of event executed on the block.","type":"string","default":"self"}}},"DG":{"title":"Events","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","properties":{"minecraft:on_fall_on":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_interact":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_placed":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_player_placing":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_step_off":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_step_on":{"$ref":"#/definitions/DG_event_base"}}},"DH":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"B":{"title":"Block Definitions","description":"A custom block definition","type":"object","additionalProperties":false,"required":["description","components"],"properties":{"description":{"title":"Block Description","description":"The description for this block","type":"object","additionalProperties":false,"required":["identifier"],"properties":{"identifier":{"type":"string","description":"The identifier for this block. The name must include a namespace and must not use the Minecraft namespace unless overriding a Vanilla block.","title":"Identifier","$ref":"#/definitions/DF"},"is_experimental":{"type":"boolean","default":false,"description":"If this block is experimental, it will only be registered if the world is marked as experimantal.","title":"Is Experimental"},"register_to_creative_menu":{"type":"boolean","default":false,"description":"Whether or not to register this block to the creative inventory menu.","title":"Register To Creative Menu"},"properties":{"title":"Properties","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","propertyNames":{"pattern":"^([a-zA-Z0-9_]+:[a-zA-Z0-9_\\-]+)$"},"type":"object","additionalProperties":{"title":"Property","description":"A block property","oneOf":[{"type":"array","items":{"title":"Property Value","description":"The value of this property","anyOf":[{"type":"boolean"},{"type":"number"},{"type":"integer"},{"type":"string"}]}},{"type":"object"}]}}}},"events":{"$ref":"#/definitions/DG"},"components":{"type":"object","title":"Component","$ref":"#/definitions/B_components_ref"},"permutations":{"type":"array","title":"Permutations","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"title":"Permutation","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"condition":{"title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/DH"},"components":{"type":"object","title":"Component","$ref":"#/definitions/B_components_ref"}}}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.block","$comment":"UNDOCUMENTED","required":["format_version","minecraft:block"],"type":"object","title":"Block Behavior","description":"The minecraft block behavior specification.","additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:block":{"$ref":"#/definitions/B"}},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"B_components_ref":{"type":"object","title":"Component","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"minecraft:block_light_filter":{"$ref":"#/definitions/C"},"minecraft:block_light_emission":{"$ref":"#/definitions/D"},"minecraft:breakonpush":{"$ref":"#/definitions/E"},"minecraft:breathability":{"$ref":"#/definitions/F"},"minecraft:creative_category":{"$ref":"#/definitions/G"},"minecraft:destroy_time":{"$ref":"#/definitions/H"},"minecraft:display_name":{"$ref":"#/definitions/I"},"minecraft:entity_collision":{"$ref":"#/definitions/J"},"minecraft:explosion_resistance":{"$ref":"#/definitions/BA"},"minecraft:flammable":{"$ref":"#/definitions/BB"},"minecraft:friction":{"$ref":"#/definitions/BC"},"minecraft:geometry":{"$ref":"#/definitions/BD"},"minecraft:immovable":{"$ref":"#/definitions/BE"},"minecraft:loot":{"$ref":"#/definitions/BF"},"minecraft:map_color":{"$ref":"#/definitions/BG"},"minecraft:material_instances":{"$ref":"#/definitions/BH"},"minecraft:onlypistonpush":{"$ref":"#/definitions/BI"},"minecraft:part_visibility.json":{"$ref":"#/definitions/BJ"},"minecraft:on_fall_on":{"$ref":"#/definitions/CA"},"minecraft:on_interact":{"$ref":"#/definitions/CB"},"minecraft:on_placed":{"$ref":"#/definitions/CC"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/CD"},"minecraft:on_player_placing":{"$ref":"#/definitions/CE"},"minecraft:on_step_off":{"$ref":"#/definitions/CF"},"minecraft:on_step_on":{"$ref":"#/definitions/CG"},"minecraft:pick_collision":{"$ref":"#/definitions/CH"},"minecraft:placement_filter":{"$ref":"#/definitions/CI"},"minecraft:preventsjumping":{"$ref":"#/definitions/CJ"},"minecraft:random_ticking":{"$ref":"#/definitions/DA"},"minecraft:rotation":{"$ref":"#/definitions/DB"},"minecraft:ticking":{"$ref":"#/definitions/DC"},"minecraft:unit_cube":{"$ref":"#/definitions/DD"},"minecraft:unwalkable":{"$ref":"#/definitions/DE"}}},"C":{"additionalProperties":false,"type":"integer","title":"Block Light filter","description":"The amount of light this block will filter out. Higher value means more light will be filtered out (0 - 15).","default":0},"D":{"additionalProperties":false,"type":"number","title":"Block Light Emission","description":"The amount of light this block will emit in a range [0.0, 1.0].","minimum":0,"maximum":1,"default":0.0},"E":{"additionalProperties":false,"type":"boolean","title":"Break On Push","description":"When pushed by a piston the block breaks."},"F":{"additionalProperties":false,"type":"string","title":"Breathability","description":"Property describing the breathability of the block, and whether it's treated as a solid block or a block of air.","enum":["solid","air"],"default":"solid"},"G":{"additionalProperties":false,"type":"boolean","title":"Creative Category","description":"Specifies the creative group for the block."},"H":{"additionalProperties":false,"type":"number","title":"Destroy Time","description":"Sets the destroy time property for the block. Greater numbers result in greater mining times. Time is measured in seconds with base equipment.","default":0.0},"I":{"additionalProperties":false,"type":"string","title":"Display Name","description":"Specifies the language file key that maps to what text will be displayed when you hover over the block."},"J":{"title":"Entity Collision","description":"Can only be set to false or an object, it disables the collision of the block with entities.","oneOf":[{"type":"boolean","const":false},{"type":"object","additionalProperties":false,"properties":{"origin":{"type":"array","title":"Origin","description":"Minimal position Bounds of the collision box.","default":[-8.0,0.0,-8.0],"items":[{"type":"number","title":"X","description":"The x offset."},{"type":"number","title":"Y","description":"The y offset."},{"type":"number","title":"Z","description":"The z offset."}]},"size":{"type":"array","title":"Size","description":"Size of each side of the box of the component.","default":[16.0,16.0,16.0],"items":[{"type":"number","title":"X","description":"The x size."},{"type":"number","title":"Y","description":"The y size."},{"type":"number","title":"Z","description":"The z size."}]}}}]},"BA":{"additionalProperties":false,"type":"number","title":"Explosion Resistance","description":"Sets the explosion resistance for this block.","default":0.0},"BB":{"additionalProperties":false,"type":"object","title":"Flammable","description":"Describes the flammable properties for this block.","additionalItems":false,"properties":{"burn_odds":{"type":"integer","default":0,"description":"How likely the block will be destroyed by flames when on fire. Value must be greater than or equal to 0.","title":"Burn Odds"},"flame_odds":{"type":"integer","default":0,"description":"How likely the block will catch flame when next to a fire. Value must be greater than or equal to 0.","title":"Flame Odds"}}},"BC":{"additionalProperties":false,"type":"number","title":"Friction","description":"Property describing the friction for this block. Friction effects an entities movements when it walks on the block.","default":0.1},"BD":{"additionalProperties":false,"type":"string","title":"Geometry","description":"The geometry description identifier to use, this identifier must match an existing geometry identifier in any of the currently loaded resource packs.","pattern":"^geometry\\.[a-zA-Z0-9_\\-\\.]+$"},"BE":{"additionalProperties":false,"type":"boolean","title":"Immovable","description":"An Immovable block cannot be pushed by pistons."},"BF":{"additionalProperties":false,"type":"string","title":"Loot","description":"The path to the loot table, relative to the behavior pack. Path string is limited to 256 characters.","pattern":"loot_tables/.*\\.json$"},"BG":{"additionalProperties":false,"type":"string","title":"Map Color","description":"A color represented as a hex value. This will be the color rendered to a map.","format":"color-hex","examples":["#FFFFFF"]},"BH_material_instance":{"title":"Material Instance","description":"A single material instance.","additionalProperties":false,"properties":{"ambient_occlusion":{"title":"Ambient Occlusion","type":"boolean","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"face_dimming":{"title":"Face Dimming","type":"boolean","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"render_method":{"type":"string","title":"Render Method","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["blend","opaque","alpha_test"]},"texture":{"type":"string","title":"Texture","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"BH":{"type":"object","title":"Material Instances","description":"Maps face or material_instance names in a geometry file to an actual material instance. Material instance can either be a full material instance or a name to another already defined instance","properties":{"*":{"$ref":"#/definitions/BH_material_instance"}},"additionalProperties":{"$ref":"#/definitions/BH_material_instance"}},"BI":{"type":"boolean","title":"Only Piston Push","description":"Blocks with those components won't stick to stickyPistons."},"BJ":{"title":"Part Visibility","description":"Maps bone names in a geometry file to a condition that turns their rendering on/off. The condition should be a Molang query that uses block properties to determine true/falseSupported queries include 'has_block_property', 'block_property', and other queries that can evaluate without knowledge of the block's in-game positional or player affected data.","type":"object","additionalProperties":{"title":"Bone Name","examples":[{"root":"query.variant"}],"type":"string"}},"CA":{"type":"object","title":"On Fall On","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"min_fall_distance":{"type":"number","default":0,"description":"The minimum distance in blocks that an actor needs to fall to trigger this event.","title":"Minimum Fall Distance"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CB":{"type":"object","title":"On Fall On","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CC":{"type":"object","title":"On Placed","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CD":{"type":"object","title":"On Player Destroyed","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CE":{"type":"object","title":"On Player Placing","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CF":{"type":"object","title":"On Step Off","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CG":{"type":"object","title":"On Step On","description":"Describes event for this block.","properties":{"condition":{"type":"string","default":"","description":"The condition of event to be executed on the block.","title":"Condition"},"event":{"type":"string","default":"","description":"The event executed on the block.","title":"Event"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"CH":{"title":"Pick Collision","description":"Can only be set to false, it disables the collision of the block with entities.","oneOf":[{"type":"boolean","const":false},{"type":"object","additionalProperties":false,"properties":{"origin":{"type":"array","title":"Origin","description":"Minimal position Bounds of the collision box.","default":[-8.0,0.0,-8.0],"items":[{"type":"number","title":"X","description":"The x offset."},{"type":"number","title":"Y","description":"The y offset."},{"type":"number","title":"Z","description":"The z offset."}]},"size":{"type":"array","title":"Size","description":"Size of each side of the box of the component.","default":[16.0,16.0,16.0],"items":[{"type":"number","title":"X","description":"The x size."},{"type":"number","title":"Y","description":"The y size."},{"type":"number","title":"Z","description":"The z size."}]}}}]},"CI":{"title":"Placement Filter","description":"Sets rules for under what conditions the block can be placed/survive.","type":"object","properties":{"conditions":{"title":"Conditions","description":"List of conditions where the block can be placed/survive.","type":"array","items":{"type":"object","title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"allowed_faces":{"title":"Allowed Faces","description":"List of any of the following strings: up, down, north, south, east, west, side, all.","type":"array","items":{"type":"string","enum":["up","down","north","south","east","west","side","all"]}},"block_filter":{"title":"Block Filter","description":"List of blocks (can use tags to specify them) that this block can be placed against in the allowed_faces direction.","type":"array","items":{"type":"string","title":"Block Identifier","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}}}}}},"CJ":{"title":"Prevents Jumping","description":"This component makes it so actors can't jump when walking on this block.","type":"boolean"},"DA":{"title":"Random Ticking","description":"Describes the component that will trigger an even at a regular interval between two values.","type":"object","additionalProperties":false,"properties":{"on_tick":{"title":"On Tick","description":"Describes the component that will trigger an even at a regular interval between two values.","type":"string","additionalProperties":false,"properties":{"condition":{"title":"Condition","type":"string","default":"1","description":"The condition of event to be executed on the block. Molang"},"event":{"title":"Event","type":"string","default":"set_block_property","description":"The type of event executed on the block."},"range":{"title":"Range","type":"array","items":[{"type":"integer"},{"type":"integer"}]},"target":{"title":"Target","description":"The target of event executed on the block.","type":"string","enum":["block","damager","other","parent","player","self","target"]}}},"looping":{"type":"boolean","default":true,"description":"Does the event loop.","title":"Looping"},"range":{"type":"array","default":[10,10],"description":"The Range between which the component will trigger his event.","title":"Range"}}},"DB":{"title":"Rotation","description":"This is the block's rotation around the center of the cube in degrees. The rotation order is x-y-z.","type":"array","additionalProperties":false,"items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]},"DC":{"title":"Ticking","description":"Describes the component that will trigger an even at a regular interval between two values.","type":"object","additionalProperties":false,"properties":{"looping":{"type":"boolean","title":"Looping","description":"Does the event loop."},"range":{"title":"Range","description":"The Range between which the component will trigger his event.","type":"array","items":[{"type":"integer"},{"type":"integer"}]},"on_tick":{"type":"object","title":"On Tick","description":"Describes the component that will trigger an even at a regular interval between two values.","condition":{"title":"Condition","type":"string","description":"The condition of event to be executed on the block. Molang"},"event":{"title":"Event","type":"string","description":"The type of event executed on the block."},"target":{"title":"Target","description":"The target of event executed on the block.","type":"string","enum":["block","damager","other","parent","player","self","target"]}}}},"DD":{"title":"Unit Cube","description":"Specifies that a unit cube is to be used with tessellation.","type":"object"},"DE":{"title":"Unwalkable","description":"Sets the block as unwalkable. Mobs would not attempt to path over top of it when the value is set to true.","default":false,"type":"boolean"},"DF":{"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"}]},"DG_event_base":{"title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"condition":{"title":"Condition","description":"The condition of event to be executed on the block.","type":"string"},"event":{"title":"Event","description":"The event executed on the block.","type":"string"},"target":{"title":"Target","description":"The target of event executed on the block.","type":"string","default":"self"}}},"DG":{"title":"Events","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","properties":{"minecraft:on_fall_on":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_interact":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_placed":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_player_placing":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_step_off":{"$ref":"#/definitions/DG_event_base"},"minecraft:on_step_on":{"$ref":"#/definitions/DG_event_base"}}},"DH":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"B":{"title":"Block Definitions","description":"A custom block definition.","type":"object","additionalProperties":false,"required":["description","components"],"properties":{"description":{"title":"Block Description","description":"The description for this block.","type":"object","additionalProperties":false,"required":["identifier"],"properties":{"identifier":{"type":"string","description":"The identifier for this block. The name must include a namespace and must not use the Minecraft namespace unless overriding a Vanilla block.","title":"Identifier","$ref":"#/definitions/DF"},"is_experimental":{"type":"boolean","default":false,"description":"If this block is experimental, it will only be registered if the world is marked as experimantal.","title":"Is Experimental"},"register_to_creative_menu":{"type":"boolean","default":false,"description":"Whether or not to register this block to the creative inventory menu.","title":"Register To Creative Menu"},"properties":{"title":"Properties","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","propertyNames":{"pattern":"^([a-zA-Z0-9_]+:[a-zA-Z0-9_\\-]+)$"},"type":"object","additionalProperties":{"title":"Property","description":"A block property.","oneOf":[{"type":"array","items":{"title":"Property Value","description":"The value of this property.","anyOf":[{"type":"boolean"},{"type":"number"},{"type":"integer"},{"type":"string"}]}},{"type":"object"}]}}}},"events":{"$ref":"#/definitions/DG"},"components":{"type":"object","title":"Component","$ref":"#/definitions/B_components_ref"},"permutations":{"type":"array","title":"Permutations","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":{"title":"Permutation","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"condition":{"title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/DH"},"components":{"type":"object","title":"Component","$ref":"#/definitions/B_components_ref"}}}}}}}} \ No newline at end of file diff --git a/behavior/dialogue/dialogue.json b/behavior/dialogue/dialogue.json index 10c5d1ea..6a3b80c7 100644 --- a/behavior/dialogue/dialogue.json +++ b/behavior/dialogue/dialogue.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.dialogue","examples":[{"format_version":"1.19.0","minecraft:npc_dialogue":{"scenes":[{"scene_tag":"fast_travel","npc_name":{"rawtext":[{"translate":"dialogue.guide.name"}]},"text":{"rawtext":[{"translate":"dialogue.fast_travel.body","with":["\n"]}]},"buttons":[]}]}}],"type":"object","title":"NPC Dialogue","description":"Specifies the dialogue scenes","$comment":"UNDOCUMENTED","additionalProperties":false,"required":["format_version","minecraft:npc_dialogue"],"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:npc_dialogue":{"title":"NPC Dialogue","description":"Specifies the dialogue of an npc","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"scenes":{"title":"Scenes","description":"The different scenes","$comment":"UNDOCUMENTED","type":"array","minItems":1,"items":{"title":"Scene","description":"A single scene specification","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["scene_tag"],"examples":[{"scene_tag":"foo_intro"}],"properties":{"buttons":{"title":"Buttons","description":"This is where you can create buttons for your NPC","type":"array","maxItems":6,"items":{"title":"Button","description":"This is where you can create buttons for your NPC","type":"object","additionalProperties":false,"properties":{"name":{"title":"Name","description":"Set the text that is going to be displayed on your NPC’s button","oneOf":[{"type":"string"},{"$ref":"#/definitions/B"}]},"commands":{"type":"array","description":"allows you to add commands which will be run in-game when the button is pressed","title":"Commands","items":{"title":"Minecraft Command","description":"The commands to execute","type":"string","pattern":"^/[a-z].*$"}}}}},"npc_name":{"title":"NPC Name","description":"This is where you can add or change a name for your NPC dialogue box. This is an optional property that is useful for dynamically changing NPC names.","oneOf":[{"type":"string"},{"$ref":"#/definitions/B"}]},"on_close_commands":{"type":"array","description":"This is where you can define which commands will fire when the NPC dialogue box closes","title":"On Close Commands","items":{"title":"Minecraft Command","description":"A minecraft command to execute","type":"string","pattern":"^/[a-z].*$"}},"on_open_commands":{"type":"array","description":"This is where you can define which commands will fire when the NPC dialogue box opens","title":"On Close Commands","items":{"title":"Minecraft Command","description":"A minecraft command to execute","type":"string","pattern":"^/[a-z].*$"}},"scene_tag":{"title":"Scene Tag","description":"This is the name you will use to call this scene in-game. This is a required property.","type":"string"},"text":{"title":"Text","description":"This is where you enter the dialogue you want your NPC to display in-game for this scene. You can type the dialogue text directly here or use raw text if you are using a language file. This is an optional property, but without it your NPC dialogue box will be empty.","oneOf":[{"type":"string"},{"$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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"B_rawtext":{"title":"Rawtext","description":"The raw text component, which consists of an array of text components","$comment":"UNDOCUMENTED","type":"array","default":[],"example":[[{"translate":"example.language.key"}]],"items":{"oneOf":[{"type":"string"},{"$ref":"#/definitions/B_translate"},{"$ref":"#/definitions/B_text"},{"$ref":"#/definitions/B_selector"},{"$ref":"#/definitions/B_score"}]}},"B_selector":{"title":"Selector","description":"A text component that turns a selector into text, will usually display like: `Player1, Player2 and Player3`","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["selector"],"examples":[{"selector":"@s"},{"selector":"@p"}],"properties":{"selector":{"title":"Selector","description":"The selector to target, for dialogue files, you can use @initiator","$comment":"UNDOCUMENTED","type":"string","examples":["@a","@s","@r","@p","@e","@initiator"],"pattern":"^@.*$"}}},"B_score":{"title":"Score","description":"A text component that grabs the score from an given target and turns its value of a specified score","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["score"],"examples":[{"score":{"name":"*","objective":"score"}},{"score":{"name":"@p","objective":"score"}}],"properties":{"score":{"title":"Score","description":"The score text component","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["name","objective"],"examples":[{"name":"*","objective":"random"},{"name":"@a[score={count=0..},c=1]","objective":"count"}],"properties":{"name":{"title":"Selector","description":"A selector, player name (can be fake), or * to target who is reading the message","type":"string","examples":["@a","@s","@r","@p","@e","@initiator","*"]},"objective":{"title":"Objective","description":"The scoreboard objective to retrieve the value of","$comment":"UNDOCUMENTED","type":"string"}}}}},"B_text":{"title":"Text","description":"A simple text component, will display the text raw (without processing)","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["text"],"examples":[{"text":"Hello World!"}],"properties":{"text":{"title":"Text","description":"The text to display","$comment":"UNDOCUMENTED","type":"string"}}},"B_translate":{"title":"Translate","description":"A text component that will attempt to translate the given key through the languages files","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["translate"],"examples":[{"translate":"example.translation.key"},{"translate":"example.translation.key","with":["\n"]}],"properties":{"translate":{"title":"Translate","description":"The key to translate","$comment":"UNDOCUMENTED","type":"string","examples":["example.translation.key"]},"with":{"$ref":"#/definitions/B_with"}}},"B_with":{"title":"With","description":"Specifies for the translator that additional text component needs to be inserted, this will cause the translator to look for variables in the translation text and replaced them with the corresponding 'With' text component","$comment":"UNDOCUMENTED","examples":["\n",{"rawtext":[]}],"items":{"oneOf":[{"type":"string"},{"title":"Rawtext","description":"Specifies that this 'with' component needs to be processed","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"rawtext":{"$ref":"#/definitions/B_rawtext"}}}]}},"B":{"title":"RawText","description":"A json structure that allows for translations, or go from scores and selectors to text","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["rawtext"],"examples":[{"rawtext":[]}],"properties":{"rawtext":{"$ref":"#/definitions/B_rawtext"}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.dialogue","examples":[{"format_version":"1.19.0","minecraft:npc_dialogue":{"scenes":[{"scene_tag":"fast_travel","npc_name":{"rawtext":[{"translate":"dialogue.guide.name"}]},"text":{"rawtext":[{"translate":"dialogue.fast_travel.body","with":["\n"]}]},"buttons":[]}]}}],"type":"object","title":"NPC Dialogue","description":"Specifies the dialogue scenes.","$comment":"UNDOCUMENTED","additionalProperties":false,"required":["format_version","minecraft:npc_dialogue"],"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:npc_dialogue":{"title":"NPC Dialogue","description":"Specifies the dialogue of an npc.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"scenes":{"title":"Scenes","description":"The different scenes.","$comment":"UNDOCUMENTED","type":"array","minItems":1,"items":{"title":"Scene","description":"A single scene specification.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["scene_tag"],"examples":[{"scene_tag":"foo_intro"}],"properties":{"buttons":{"title":"Buttons","description":"This is where you can create buttons for your NPC.","type":"array","maxItems":6,"items":{"title":"Button","description":"This is where you can create buttons for your NPC.","type":"object","additionalProperties":false,"properties":{"name":{"title":"Name","description":"Set the text that is going to be displayed on your NPC’s button.","oneOf":[{"type":"string"},{"$ref":"#/definitions/B"}]},"commands":{"type":"array","description":"allows you to add commands which will be run in-game when the button is pressed.","title":"Commands","items":{"title":"Minecraft Command","description":"The commands to execute.","type":"string","pattern":"^/[a-z].*$"}}}}},"npc_name":{"title":"NPC Name","description":"This is where you can add or change a name for your NPC dialogue box. This is an optional property that is useful for dynamically changing NPC names.","oneOf":[{"type":"string"},{"$ref":"#/definitions/B"}]},"on_close_commands":{"type":"array","description":"This is where you can define which commands will fire when the NPC dialogue box closes.","title":"On Close Commands","items":{"title":"Minecraft Command","description":"A minecraft command to execute.","type":"string","pattern":"^/[a-z].*$"}},"on_open_commands":{"type":"array","description":"This is where you can define which commands will fire when the NPC dialogue box opens.","title":"On Close Commands","items":{"title":"Minecraft Command","description":"A minecraft command to execute.","type":"string","pattern":"^/[a-z].*$"}},"scene_tag":{"title":"Scene Tag","description":"This is the name you will use to call this scene in-game. This is a required property.","type":"string"},"text":{"title":"Text","description":"This is where you enter the dialogue you want your NPC to display in-game for this scene. You can type the dialogue text directly here or use raw text if you are using a language file. This is an optional property, but without it your NPC dialogue box will be empty.","oneOf":[{"type":"string"},{"$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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"B_rawtext":{"title":"Rawtext","description":"The raw text component, which consists of an array of text components.","$comment":"UNDOCUMENTED","type":"array","default":[],"example":[[{"translate":"example.language.key"}]],"items":{"oneOf":[{"type":"string"},{"$ref":"#/definitions/B_translate"},{"$ref":"#/definitions/B_text"},{"$ref":"#/definitions/B_selector"},{"$ref":"#/definitions/B_score"}]}},"B_selector":{"title":"Selector","description":"A text component that turns a selector into text, will usually display like: `Player1, Player2 and Player3`.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["selector"],"examples":[{"selector":"@s"},{"selector":"@p"}],"properties":{"selector":{"title":"Selector","description":"The selector to target, for dialogue files, you can use @initiator.","$comment":"UNDOCUMENTED","type":"string","examples":["@a","@s","@r","@p","@e","@initiator"],"pattern":"^@.*$"}}},"B_score":{"title":"Score","description":"A text component that grabs the score from an given target and turns its value of a specified score.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["score"],"examples":[{"score":{"name":"*","objective":"score"}},{"score":{"name":"@p","objective":"score"}}],"properties":{"score":{"title":"Score","description":"The score text component.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["name","objective"],"examples":[{"name":"*","objective":"random"},{"name":"@a[score={count=0..},c=1]","objective":"count"}],"properties":{"name":{"title":"Selector","description":"A selector, player name (can be fake), or * to target who is reading the message.","type":"string","examples":["@a","@s","@r","@p","@e","@initiator","*"]},"objective":{"title":"Objective","description":"The scoreboard objective to retrieve the value of.","$comment":"UNDOCUMENTED","type":"string"}}}}},"B_text":{"title":"Text","description":"A simple text component, will display the text raw (without processing).","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["text"],"examples":[{"text":"Hello World!"}],"properties":{"text":{"title":"Text","description":"The text to display.","$comment":"UNDOCUMENTED","type":"string"}}},"B_translate":{"title":"Translate","description":"A text component that will attempt to translate the given key through the languages files.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["translate"],"examples":[{"translate":"example.translation.key"},{"translate":"example.translation.key","with":["\n"]}],"properties":{"translate":{"title":"Translate","description":"The key to translate.","$comment":"UNDOCUMENTED","type":"string","examples":["example.translation.key"]},"with":{"$ref":"#/definitions/B_with"}}},"B_with":{"title":"With","description":"Specifies for the translator that additional text component needs to be inserted, this will cause the translator to look for variables in the translation text and replaced them with the corresponding 'With' text component.","$comment":"UNDOCUMENTED","examples":["\n",{"rawtext":[]}],"items":{"oneOf":[{"type":"string"},{"title":"Rawtext","description":"Specifies that this 'with' component needs to be processed.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"rawtext":{"$ref":"#/definitions/B_rawtext"}}}]}},"B":{"title":"RawText","description":"A json structure that allows for translations, or go from scores and selectors to text.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["rawtext"],"examples":[{"rawtext":[]}],"properties":{"rawtext":{"$ref":"#/definitions/B_rawtext"}}}}} \ No newline at end of file diff --git a/behavior/feature_rules/feature_rules.json b/behavior/feature_rules/feature_rules.json index 1c99b1b7..7d60b37c 100644 --- a/behavior/feature_rules/feature_rules.json +++ b/behavior/feature_rules/feature_rules.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.feature_rules","examples":[{"format_version":"1.19.0","minecraft:feature_rules":{"minecraft:ore_feature":{"description":{"identifier":"example:foo","places_feature":"minecraft:legacy:birch_forest_tree_feature"},"conditions":{}}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.13.0"}}},"then":{"$ref":"#/definitions/A"}},{"properties":{"format_version":{"$ref":"#/definitions/HI"}}}],"definitions":{"A_coord_dist":{"title":"","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"$ref":"#/definitions/B","description":"Expression for the coordinate (evaluated each iteration). Mutually exclusive with random distribution object below."},{"type":"object","description":"Distribution for the coordinate (evaluated each iteration). Mutually exclusive with Molang expression above.","additionalProperties":false,"examples":[{"numerator":1,"denominator":1}],"properties":{"numerator":{"title":"Numerator","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":1},"denominator":{"title":"Denominator","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":1}}}]},"B":{"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"}]},"C":{"description":"A minecraft feature identifier","examples":["namespace:feature"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Feature Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"D_filters_spec":{"defaultSnippets":[{"label":"New Test","body":{"test":"$1","value":"$2"}},{"label":"New All_of Test","body":{"all_of":[{"test":"$1","value":"$2"},{"test":"$3","value":"$4"}]}},{"label":"New Any_of Test","body":{"any_of":[{"test":"$1","value":"$2"},{"test":"$3","value":"$4"}]}},{"label":"New None_of Test","body":{"none_of":[{"test":"$1","value":"$2"},{"test":"$3","value":"$4"}]}}],"examples":[{"all_of":[{}]},{"any_of":[{}]},{"none_of":[{}]}],"oneOf":[{"propertyNames":{"enum":["all_of","any_of","none_of"]},"properties":{"all_of":{"title":"All Of","description":"All tests in an `all_of` group must pass in order for the group to pass.","$ref":"#/definitions/D_groups_spec"},"any_of":{"title":"Any Of","description":"One or more tests in an `any_of` group must pass in order for the group to pass.","$ref":"#/definitions/D_groups_spec"},"none_of":{"title":"None Of","description":"All tests in a `none_of` group must fail in order for the group to pass.","$ref":"#/definitions/D_groups_spec"}}},{"required":["test"],"properties":{"all_of":{"title":"All Of","description":"All tests in an `all_of` group must pass in order for the group to pass.","$ref":"#/definitions/D_groups_spec"},"any_of":{"title":"Any Of","description":"One or more tests in an `any_of` group must pass in order for the group to pass.","$ref":"#/definitions/D_groups_spec"},"none_of":{"title":"None Of","description":"All tests in a `none_of` group must fail in order for the group to pass.","$ref":"#/definitions/D_groups_spec"}},"allOf":[{"if":{"properties":{"test":{"const":"clock_time"}}},"then":{"$ref":"#/definitions/E"}},{"if":{"properties":{"test":{"const":"distance_to_nearest_player"}}},"then":{"$ref":"#/definitions/H"}},{"if":{"properties":{"test":{"const":"has_ability"}}},"then":{"$ref":"#/definitions/I"}},{"if":{"properties":{"test":{"const":"has_biome_tag"}}},"then":{"$ref":"#/definitions/J"}},{"if":{"properties":{"test":{"const":"has_component"}}},"then":{"$ref":"#/definitions/BA"}},{"if":{"properties":{"test":{"const":"has_container_open"}}},"then":{"$ref":"#/definitions/BB"}},{"if":{"properties":{"test":{"const":"has_damage"}}},"then":{"$ref":"#/definitions/BC"}},{"if":{"properties":{"test":{"const":"has_equipment"}}},"then":{"$ref":"#/definitions/BE"}},{"if":{"properties":{"test":{"const":"has_mob_effect"}}},"then":{"$ref":"#/definitions/BG"}},{"if":{"properties":{"test":{"const":"has_nametag"}}},"then":{"$ref":"#/definitions/BH"}},{"if":{"properties":{"test":{"const":"has_ranged_weapon"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"test":{"const":"has_silk_touch"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"test":{"const":"has_tag"}}},"then":{"$ref":"#/definitions/CA"}},{"if":{"properties":{"test":{"const":"has_target"}}},"then":{"$ref":"#/definitions/CB"}},{"if":{"properties":{"test":{"const":"has_trade_supply"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"test":{"const":"hourly_clock_time"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"test":{"const":"in_block"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"test":{"const":"in_caravan"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"test":{"const":"in_clouds"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"test":{"const":"in_contact_with_water"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"test":{"const":"in_lava"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"test":{"const":"in_nether"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"test":{"const":"in_water_or_rain"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"test":{"const":"in_water"}}},"then":{"$ref":"#/definitions/DB"}},{"if":{"properties":{"test":{"const":"inactivity_timer"}}},"then":{"$ref":"#/definitions/DC"}},{"if":{"properties":{"test":{"const":"is_altitude"}}},"then":{"$ref":"#/definitions/DD"}},{"if":{"properties":{"test":{"const":"is_avoiding_mobs"}}},"then":{"$ref":"#/definitions/DE"}},{"if":{"properties":{"test":{"const":"is_biome"}}},"then":{"$ref":"#/definitions/DF"}},{"if":{"properties":{"test":{"const":"is_block"}}},"then":{"$ref":"#/definitions/DG"}},{"if":{"properties":{"test":{"const":"is_brightness"}}},"then":{"$ref":"#/definitions/DH"}},{"if":{"properties":{"test":{"const":"is_climbing"}}},"then":{"$ref":"#/definitions/DI"}},{"if":{"properties":{"test":{"const":"is_color"}}},"then":{"$ref":"#/definitions/DJ"}},{"if":{"properties":{"test":{"const":"is_daytime"}}},"then":{"$ref":"#/definitions/EA"}},{"if":{"properties":{"test":{"const":"is_difficulty"}}},"then":{"$ref":"#/definitions/EB"}},{"if":{"properties":{"test":{"const":"is_family"}}},"then":{"$ref":"#/definitions/EC"}},{"if":{"properties":{"test":{"const":"is_game_rule"}}},"then":{"$ref":"#/definitions/ED"}},{"if":{"properties":{"test":{"const":"is_humid"}}},"then":{"$ref":"#/definitions/EE"}},{"if":{"properties":{"test":{"const":"is_immobile"}}},"then":{"$ref":"#/definitions/EF"}},{"if":{"properties":{"test":{"const":"is_in_village"}}},"then":{"$ref":"#/definitions/EG"}},{"if":{"properties":{"test":{"const":"is_leashed_to"}}},"then":{"$ref":"#/definitions/EH"}},{"if":{"properties":{"test":{"const":"is_leashed"}}},"then":{"$ref":"#/definitions/EI"}},{"if":{"properties":{"test":{"const":"is_mark_variant"}}},"then":{"$ref":"#/definitions/EJ"}},{"if":{"properties":{"test":{"const":"is_missing_health"}}},"then":{"$ref":"#/definitions/FA"}},{"if":{"properties":{"test":{"const":"is_moving"}}},"then":{"$ref":"#/definitions/FB"}},{"if":{"properties":{"test":{"const":"is_owner"}}},"then":{"$ref":"#/definitions/FC"}},{"if":{"properties":{"test":{"const":"is_persistent"}}},"then":{"$ref":"#/definitions/FD"}},{"if":{"properties":{"test":{"const":"is_riding"}}},"then":{"$ref":"#/definitions/FE"}},{"if":{"properties":{"test":{"const":"is_skin_id"}}},"then":{"$ref":"#/definitions/FF"}},{"if":{"properties":{"test":{"const":"is_sleeping"}}},"then":{"$ref":"#/definitions/FG"}},{"if":{"properties":{"test":{"const":"is_sneaking"}}},"then":{"$ref":"#/definitions/FH"}},{"if":{"properties":{"test":{"const":"is_snow_covered"}}},"then":{"$ref":"#/definitions/FI"}},{"if":{"properties":{"test":{"const":"is_target"}}},"then":{"$ref":"#/definitions/FJ"}},{"if":{"properties":{"test":{"const":"is_temperature_type"}}},"then":{"$ref":"#/definitions/GA"}},{"if":{"properties":{"test":{"const":"is_temperature_value"}}},"then":{"$ref":"#/definitions/GB"}},{"if":{"properties":{"test":{"const":"is_underground"}}},"then":{"$ref":"#/definitions/GC"}},{"if":{"properties":{"test":{"const":"is_underwater"}}},"then":{"$ref":"#/definitions/GD"}},{"if":{"properties":{"test":{"const":"is_variant"}}},"then":{"$ref":"#/definitions/GE"}},{"if":{"properties":{"test":{"const":"is_visible"}}},"then":{"$ref":"#/definitions/GF"}},{"if":{"properties":{"test":{"const":"is_waterlogged"}}},"then":{"$ref":"#/definitions/GG"}},{"if":{"properties":{"test":{"const":"light_level"}}},"then":{"$ref":"#/definitions/GH"}},{"if":{"properties":{"test":{"const":"moon_intensity"}}},"then":{"$ref":"#/definitions/GI"}},{"if":{"properties":{"test":{"const":"moon_phase"}}},"then":{"$ref":"#/definitions/GJ"}},{"if":{"properties":{"test":{"const":"on_ground"}}},"then":{"$ref":"#/definitions/HA"}},{"if":{"properties":{"test":{"const":"on_ladder"}}},"then":{"$ref":"#/definitions/HB"}},{"if":{"properties":{"test":{"const":"random_chance"}}},"then":{"$ref":"#/definitions/HC"}},{"if":{"properties":{"test":{"const":"rider_count"}}},"then":{"$ref":"#/definitions/HD"}},{"if":{"properties":{"test":{"const":"surface_mob"}}},"then":{"$ref":"#/definitions/HE"}},{"if":{"properties":{"test":{"const":"trusts"}}},"then":{"$ref":"#/definitions/HF"}},{"if":{"properties":{"test":{"const":"weather_at_position"}}},"then":{"$ref":"#/definitions/HG"}},{"if":{"properties":{"test":{"const":"weather"}}},"then":{"$ref":"#/definitions/HH"}},{"not":{"properties":{"test":{"const":"is_weather"}},"$comment":"DEPRECATED"}}]}]},"D_groups_spec":{"oneOf":[{"type":"array","items":{"$ref":"#/definitions/D_groups_spec"}},{"type":"object","$ref":"#/definitions/D_filters_spec"}]},"F":{"title":"Operator","type":"string","description":"The comparison to apply with `value`.","default":"equals","enum":["!=","<","<=","<>","=","==",">",">=","equals","not"]},"G":{"title":"Subject","type":"string","description":"The subject of this filter test.","default":"self","enum":["block","other","parent","player","self","target","damager"]},"E":{"type":"object","title":"Clock Time","description":"Compares the current time with a float value in the range (0.0, 1.0).\n0.0= Noon\n0.25= Sunset\n0.5= Midnight\n0.75= Sunrise","required":["value"],"examples":[{"test":"clock_time","value":0.25}],"properties":{"test":{"type":"string","title":"Test Property","description":"Compares the current time with a float value in the range (0.0, 1.0).\n0.0= Noon\n0.25= Sunset\n0.5= Midnight\n0.75= Sunrise"},"operator":{"$ref":"#/definitions/F","description":"(Optional) The comparison to apply with `value`.","default":"equals","title":"Operator"},"subject":{"$ref":"#/definitions/G","description":"(Optional) The subject of this filter test.","default":"self","title":"Subject"},"value":{"type":"number","minimum":0,"maximum":24000,"description":"(Required) A floating point value.","title":"Value","examples":[0,0.025,0.5,0.75,1]}}},"H":{"type":"object","title":"Distance To Nearest Player","description":"Compares the distance to the nearest Player with a float value.","required":["value"],"examples":[{"test":"distance_to_nearest_player","value":5.7}],"properties":{"test":{"type":"string","title":"Test Property","description":"Compares the distance to the nearest Player with a float value."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"number","description":"(Required) A floating point value.","title":"Value"}}},"I":{"type":"object","title":"Has Ability","description":"Returns true when the subject entity has the named ability.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity has the named ability."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"(Required) The Ability type to test","enum":["flySpeed","flying","instabuild","invulnerable","lightning","mayfly","mute","noclip","walkSpeed","worldbuilder"],"title":"Value"}},"examples":[{"test":"has_ability","value":"flySpeed"}]},"J":{"type":"object","title":"Has Biome Tag","description":"Tests whether the biome the subject is in has the specified tag.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the biome the subject is in has the specified tag."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"(Required) The tag to look for","type":"string","title":"Value"}},"examples":[{"test":"has_biome_tag","value":"monster"}]},"BA":{"type":"object","title":"Has Component","description":"Returns true when the subject entity contains the named component.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity contains the named component."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"(Required) The component name to look for","title":"Value"}},"examples":[{"test":"has_component","value":"minecraft:explode"}]},"BB":{"type":"object","title":"Has Container Open","description":"Returns true when the subject Player entity has opened a container.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"(Optional) true or false.","title":"Value","type":"boolean","default":true}},"examples":[{"test":"has_container_open","value":true}]},"BD":{"title":"Entity Damage Source","description":"The types of damage an entity can receive","type":"string","enum":["all","anvil","attack","block_explosion","charging","contact","drowning","entity_attack","entity_explosion","fall","falling_block","fatal","fire_tick","fire","fireworks","fly_into_wall","freezing","lava","lightning","magic","magma","none","override","piston","projectile","sonic_boom","stalactite","stalagmite","starve","suffocation","suicide","temperature","thorns","void","wither"]},"BC":{"type":"object","title":"Has Damage","description":"Returns true when the subject entity receives the named damage type. has_damage can also use subject and operator parameters but they are optional.","required":["value"],"examples":[{"test":"has_damage","value":"fatal"}],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity receives the named damage type."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"The Damage type to test","$ref":"#/definitions/BD","title":"Value"}}},"BF":{"description":"A minecraft item identifier","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"BE":{"type":"object","title":"Has Equipment","description":"Tests for the presence of a named item in the designated slot of the subject entity.","required":["value"],"properties":{"test":{"type":"string","const":"has_equipment","description":"Tests for the presence of a named item in the designated slot of the subject entity.","title":"Test"},"domain":{"description":"The equipment location to test","default":"any","enum":["any","armor","feet","hand","head","leg","torso"],"title":"Domain"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The item name to look for","type":"string","$ref":"#/definitions/BF","title":"Value"}},"examples":[{"test":"has_equipment","value":"example"}]},"BG":{"type":"object","title":"Has Mob Effect","description":"Tests whether the Subject has the specified mob effect.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the Subject has the specified mob effect."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"The specified mob effect","title":"Value"}},"examples":[{"test":"has_mob_effect","value":"bad_omen"}]},"BH":{"type":"object","title":"Has Equipment","description":"Tests for the presence of a named item in the designated slot of the subject entity.","required":["value"],"properties":{"test":{"type":"string","const":"has_nametag","description":"Tests for the presence of a named item in the designated slot of the subject entity.","title":"Test"},"domain":{"description":"The equipment location to test","default":"any","enum":["any","armor","feet","hand","head","leg","torso"],"title":"Domain"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"","type":"boolean","title":"Value"}},"examples":[{"test":"has_nametag","value":false},{"test":"has_nametag","value":true}]},"BI":{"type":"object","title":"Has Ranged Weapon","description":"Returns true when the subject entity is holding a ranged weapon like a bow or crossbow.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_ranged_weapon","value":true}]},"BJ":{"type":"object","title":"Has Silk Touch","description":"Tests if the subject is holding an item with silk touch.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_silk_touch","subject":"other","value":true}]},"CA":{"type":"object","title":"Has Tag","description":"Returns true if the subject entity has the tag provided.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity has the tag provided."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"The tag as a string","pattern":"[a-zA-Z0-9_]+","title":"Value"}},"examples":[{"test":"has_tag","value":"example"}]},"CB":{"type":"object","title":"Has Target","description":"Returns true if the subject entity has a valid target.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_target","value":true}]},"CC":{"type":"object","title":"Has Trade Supply","description":"Tests whether the target has any trade supply left. Will return false if the target cannot be traded with.","properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the target has any trade supply left. Will return false if the target cannot be traded with."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"has_trade_supply","value":true}]},"CD":{"type":"object","title":"Hourly Clock Time","description":"Compares the current 24 hour time with an int value in the range[0, 24000]","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Compares the current 24 hour time with an int value in the range[0, 24000]","const":"hourly_clock_time"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"(Required) An integer value set between 0 and 24000","minimum":0,"maximum":24000,"title":"Value"}},"examples":[{"test":"hourly_clock_time","value":0}]},"CE":{"type":"object","title":"In Block","description":"Returns true when the subject entity is inside a specified Block type.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is inside a specified Block type."},"operator":{"$ref":"#/definitions/F","description":"(Optional) The comparison to apply with `value`.","default":"equals","title":"Operator"},"subject":{"$ref":"#/definitions/G","description":"(Optional) The subject of this filter test.","default":"self","title":"Subject"},"value":{"type":"string","description":"(Optional) A string value.","title":"Value"}},"examples":[{"test":"in_block","value":"minecraft:water"}]},"CF":{"type":"object","title":"In Caravan","description":"Returns true if the subject entity is in a caravan.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity is in a caravan."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_caravan","value":true}]},"CG":{"type":"object","title":"In Clouds","description":"Returns true when the subject entity is in the clouds.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is in the clouds."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_clouds","value":true}]},"CH":{"type":"object","title":"In Contact With Water","description":"Returns true when the subject entity in contact with any water: water, rain, splash water bottle.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity in contact with any water: water, rain, splash water bottle."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"(Optional) true or false.","type":"boolean","default":true}},"examples":[{"test":"in_contact_with_water","value":true}]},"CI":{"type":"object","title":"In Lava","description":"Returns true when the subject entity is in lava.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is in lava."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_lava","value":true}]},"CJ":{"type":"object","title":"In Nether","description":"Returns true when the subject entity is in Nether.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"in_nether","value":true}]},"DA":{"type":"object","title":"In Water Or Rain","description":"Returns true when the subject entity is in water or rain.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is in water or rain."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_water_or_rain","value":true}]},"DB":{"type":"object","title":"In Water","description":"Returns true when the subject entity is in water.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is in water."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_water","value":true}]},"DC":{"type":"object","title":"Inactivity Timer","description":"Tests if the specified duration in seconds of inactivity for despawning has been reached.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for","type":"integer","title":"Value"}},"examples":[{"test":"inactivity_timer","value":0}]},"DD":{"type":"object","title":"Is Altitude","description":"Tests the current altitude against a provided value. 0= bedrock elevation.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests the current altitude against a provided value. 0= bedrock elevation."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"The altitude value to compare with","minimum":0,"title":"Value"}},"examples":[{"test":"example","value":0}]},"DE":{"type":"object","title":"Is Avoiding Mobs","description":"Returns true if the subject entity is fleeing from other mobs.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity is fleeing from other mobs."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"example","value":true}]},"DF":{"type":"object","title":"Is Biome","description":"Tests whether the Subject is currently in the named biome.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the Subject is currently in the named biome."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Biome type to test","type":"string","enum":["beach","desert","extreme_hills","flat","forest","ice","jungle","mesa","mushroom_island","ocean","plain","river","savanna","stone_beach","swamp","taiga","the_end","the_nether"],"title":"Value"}},"examples":[{"test":"is_biome","value":"beach"}]},"DG":{"type":"object","title":"Is Block","description":"Returns true when the block has the given name.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for","type":"string","title":"Value"}},"examples":[{"test":"is_block","subject":"block","value":"minecraft:sweet_berry_bush"}]},"DH":{"type":"object","title":"Is Brightness","description":"Tests the current brightness against a provided value in the range (0.0f, 1.0f).","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests the current brightness against a provided value in the range (0.0f, 1.0f)."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The brightness value to compare with.","type":"number","minimum":0.0,"maximum":1.0,"title":"Value"}},"examples":[{"test":"is_brightness","value":0.0}]},"DI":{"type":"object","title":"Is Climbing","description":"Returns true if the subject entity is climbing.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity is climbing."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_climbing","value":true}]},"DJ":{"type":"object","title":"Is Color","description":"Returns true if the subject entity is the named color.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity is the named color."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Palette Color to test","type":"string","enum":["black","blue","brown","cyan","gray","green","light_blue","light_green","magenta","orange","pink","purple","red","silver","white","yellow"],"title":"Value"}},"examples":[{"test":"is_color","value":"black"}]},"EA":{"type":"object","title":"Is Daytime","description":"Returns true during the daylight hours.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true during the daylight hours."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_daytime","value":true}]},"EB":{"type":"object","title":"Is Difficulty","description":"Tests the current difficulty level of the game.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests the current difficulty level of the game."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The game's difficulty level to test","type":"string","enum":["easy","hard","normal","peaceful"],"title":"Value"}},"examples":[{"test":"is_difficulty","value":"easy"}]},"EC":{"type":"object","title":"Is Family","description":"Returns true when the subject entity is a member of the named family.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is a member of the named family."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for","type":"string","title":"Value"}},"examples":[{"test":"is_family","value":"monster"}]},"ED":{"type":"object","title":"Is Game Rule","description":"Tests whether a named game rule is active.","required":["domain","value"],"properties":{"domain":{"description":"The Game Rule to test.","title":"Domain","examples":["commandBlockOutput","commandBlocksEnabled","doDaylightCycle","doEntityDrops","doFireTick","doImmediateRespawn","doInsomnia","doMobLoot","doMobSpawning","doTileDrops","doWeatherCycle","drowningDamage","fallDamage","fireDamage","freezeDamage","functionCommandLimit","keepInventory","maxCommandChainLength","mobGriefing","naturalRegeneration","pvp","randomTickSpeed","respawnblocksexplode","sendCommandFeedback","showCoordinates","showDeathMessages","showTags","spawnRadius","tntExplodes"]},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"Tests whether a named game rule is active.","default":true,"type":"boolean","title":"Value"}},"examples":[{"test":"is_game_rule","domain":"domobspawning","value":false}]},"EE":{"type":"object","title":"Is Humid","description":"Tests whether the Subject is in an area with humidity","properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the Subject is in an area with humidity"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_humid","value":true}]},"EF":{"type":"object","title":"Is Immobile","description":"Returns true if the subject entity is immobile. An entity is immobile if it lacks AI goals, has just changed dimensions or if it is a mob and has no health.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_immobile","value":true}]},"EG":{"type":"object","title":"Is In Village","description":"Tests whether the Subject is inside the bounds of a village.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_in_village","value":true}]},"EH":{"type":"object","title":"Is Leashed To","description":"Returns true if the subject entity leashed to the calling entity.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_leashed_to","value":true}]},"EI":{"type":"object","title":"Is Leashed","description":"Returns true if the subject entity is leashed.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_leashed","value":true}]},"EJ":{"type":"object","title":"Is Mark Variant","description":"Returns true if the subject entity is the mark variant number provided.","additionalProperties":false,"properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"The altitude value to compare with","title":"Value"}},"examples":[{"test":"is_mark_variant","value":0}]},"FA":{"type":"object","title":"In Nether","description":"Tests if the subject is not at full health.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_missing_health","value":true}]},"FB":{"type":"object","title":"Is Moving","description":"Returns true if the subject entity is moving.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_moving","value":true}]},"FC":{"type":"object","title":"Is Owner","description":"Returns true if the subject entity is the owner of the calling entity.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_owner","value":true}]},"FD":{"type":"object","title":"Is Persistent","description":"Tests if the subject's persistence matches the bool value passed in.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_persistent","value":true}]},"FE":{"type":"object","title":"Is Riding","description":"Returns true if the subject entity is riding on another entity.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_riding","value":true}]},"FF":{"type":"object","title":"Is Skin Id","description":"Returns true if the subject entity is the skin id number provided.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"The altitude value to compare with","title":"Value"}},"examples":[{"test":"is_skin_id","value":0}]},"FG":{"type":"object","title":"Is Sleeping","description":"Tests whether the Subject is sleeping.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_sleeping","value":true}]},"FH":{"type":"object","title":"Is Sneaking","description":"Returns true if the subject entity is sneaking.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_sneaking","value":true}]},"FI":{"type":"object","title":"Is Snow Covered","description":"Tests whether the Subject is in an area with snow cover","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_snow_covered","value":true}]},"FJ":{"type":"object","title":"Is Target","description":"Returns true if the subject entity is the target of the calling entity.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_target","value":true}]},"GA":{"type":"object","title":"Is Target","description":"Tests whether the current temperature is a given type.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Biome temperature catagory to test","type":"string","enum":["cold","mild","ocean","warm"],"title":"Value"}},"examples":[{"test":"is_temperature_type","value":"cold"}]},"GB":{"type":"object","title":"Is Temperature Value","description":"Tests the current temperature against a provided value in the range (0.0, 1.0) where 0.0f is the coldest temp and 1.0f is the hottest.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Biome temperature value to compare with.","type":"number","minimum":0.0,"maximum":1.0,"title":"Value"}},"examples":[{"test":"is_temperature_value","value":0.0}]},"GC":{"type":"object","title":"Is Underground","description":"Returns true when the subject entity is underground. An entity is considered underground if there are non-solid blocks above it.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_underground","value":true}]},"GD":{"type":"object","title":"Is Underwater","description":"Returns true when the subject entity is under water. An entity is considered underwater if it is completely submerged in water blocks.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_underwater","value":true}]},"GE":{"type":"object","title":"Is Variant","description":"Returns true if the subject entity is the variant number provided.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"The altitude value to compare with","title":"Value"}},"examples":[{"test":"is_variant","value":0}]},"GF":{"type":"object","title":"Is Visible","description":"Returns true if the subject entity is visible.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_visible","value":true}]},"GG":{"type":"object","title":"Is Waterlogged","description":"Tests if the subject block is submerged in water.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"true or false.","type":"boolean","title":"Value"}},"examples":[{"test":"light_level","value":0}]},"GH":{"type":"object","title":"Light Level","description":"Tests is the mob is outside of the specified light level range (0, 16).","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"An integer value.","type":"integer","title":"Value","minimum":0,"maximum":16}},"examples":[{"test":"light_level","value":0}]},"GI":{"type":"object","title":"Moon Intensity","description":"Compares the current moon intensity with a float value in the range (0.0, 1.0)","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"A floating point value.","type":"number","minimum":0,"maximum":1,"title":"Value"}},"examples":[{"test":"moon_intensity","value":0.0}]},"GJ":{"type":"object","title":"Moon Phase","description":"Compares the current moon phase with an integer value in the range (0, 7).","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"An integer value.","minimum":0,"maximum":7,"title":"Value"}},"examples":[{"test":"moon_phase","value":0}]},"HA":{"type":"object","title":"On Ground","description":"Returns true when the subject entity is on ground.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"on_ground","value":true}]},"HB":{"type":"object","title":"On Ladder","description":"Returns true when the subject entity is on a ladder.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"on_ladder","value":true}]},"HC":{"type":"object","title":"Random Chance","description":"Returns true if the random chance rolls 0 out of a specified Maximum range.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"An integer value.","type":"integer","title":"Value"}},"examples":[{"test":"random_chance","value":0}]},"HD":{"type":"object","title":"Rider Count","description":"Returns the number of riders on this entity.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"An integer value.","type":"integer","title":"Value"}},"examples":[{"test":"rider_count","value":0}]},"HE":{"type":"object","title":"Surface Mob","description":"Tests if the subject is a surface mob.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"surface_mob","value":true}]},"HF":{"type":"object","title":"Trusts","description":"Returns true if the subject is trusted by entity.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"trusts","value":true}]},"HG":{"type":"object","title":"Weather At Position","description":"Tests the current weather, at the actor's position, against a provided weather value.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for","type":"string","title":"Value","examples":["thunderstorm"]}},"examples":[{"test":"weather_at_position","value":"thunderstorm"}]},"HH":{"type":"object","title":"Weather","description":"Tests for the current weather state the entity is experiencing.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for","type":"string","title":"Value","examples":["clear","thunderstorm"]}},"examples":[{"test":"weather","value":"clear"}]},"D":{"title":"Filters","$ref":"#/definitions/D_groups_spec","examples":[{"test":"is_family","subject":"other","value":"example"},{"test":"has_tag","value":"example"},[]]},"A":{"type":"object","title":"Feature Rules 1.13.0","description":"Each feature rule controls exactly one feature and serves as the root of a chain of feature data.","additionalProperties":false,"required":["format_version","minecraft:feature_rules"],"minProperties":2,"maxProperties":2,"properties":{"format_version":{"const":"1.13.0","description":"Specifies the version of the game this entity was made in. Minimum supported version is 1.13.0. Current supported version is 1.13.0.","title":"Format Version"},"minecraft:feature_rules":{"title":"Feature rules","description":"Each feature rule controls exactly one feature and serves as the root of a chain of feature data.","type":"object","additionalProperties":false,"required":["description","conditions"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["identifier","places_feature"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"},"places_feature":{"title":"Places Feature","description":"Named reference to the feature controlled by this rule.","type":"string"}}},"conditions":{"title":"Conditions","description":"Parameters to control where and when the feature will be placed.","type":"object","additionalProperties":false,"required":["placement_pass"],"properties":{"placement_pass":{"title":"Placement pass","description":"When the feature should be placed relative to others. Earlier passes in the list are guaranteed to occur before later passes. Order is not guaranteed within each pass.","type":"string","enum":["pregeneration_pass","first_pass","before_underground_pass","underground_pass","after_underground_pass","before_surface_pass","surface_pass","after_surface_pass","before_sky_pass","sky_pass","after_sky_pass","final_pass"]},"minecraft:biome_filter":{"title":"Placement pass","description":"List of filter tests to determine which biomes this rule will attach to.","$ref":"#/definitions/D"}}},"distribution":{"title":"Distribution","description":"Parameters controlling the initial scatter of the feature.","type":"object","additionalProperties":false,"required":["iterations"],"properties":{"coordinate_eval_order":{"title":"Coordinate Eval Order","description":"The order in which coordinates will be evaluated. Should be used when a coordinate depends on another. If omitted, defaults to `xzy`.","type":"string","enum":["xyz","xzy","yxz","yzx","zxy","zyx"]},"iterations":{"title":"Iterations","description":"Number of scattered positions to generate","$ref":"#/definitions/B"},"scatter_chance":{"title":"Scatter Chance","oneOf":[{"$ref":"#/definitions/B","description":"Probability (0-100] that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will."},{"type":"object","description":"Probability numerator / denominator that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will.","additionalProperties":false,"properties":{"numerator":{"title":"Numerator","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":1},"denominator":{"title":"Denominator","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":1}}}]},"x":{"title":"X","$ref":"#/definitions/A_coord_dist"},"z":{"title":"Y","$ref":"#/definitions/A_coord_dist"},"y":{"title":"Z","$ref":"#/definitions/A_coord_dist"}}}}}}},"HI":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.feature_rules","examples":[{"format_version":"1.19.0","minecraft:feature_rules":{"minecraft:ore_feature":{"description":{"identifier":"example:foo","places_feature":"minecraft:legacy:birch_forest_tree_feature"},"conditions":{}}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.13.0"}}},"then":{"$ref":"#/definitions/A"}},{"properties":{"format_version":{"$ref":"#/definitions/HI"}}}],"definitions":{"A_coord_dist":{"title":"","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"$ref":"#/definitions/B","description":"Expression for the coordinate (evaluated each iteration). Mutually exclusive with random distribution object below."},{"type":"object","description":"Distribution for the coordinate (evaluated each iteration). Mutually exclusive with Molang expression above.","additionalProperties":false,"examples":[{"numerator":1,"denominator":1}],"properties":{"numerator":{"title":"Numerator","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":1},"denominator":{"title":"Denominator","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":1}}}]},"B":{"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"}]},"C":{"description":"A minecraft feature identifier.","examples":["namespace:feature"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Feature Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"D_filters_spec":{"defaultSnippets":[{"label":"New Test","body":{"test":"$1","value":"$2"}},{"label":"New All_of Test","body":{"all_of":[{"test":"$1","value":"$2"},{"test":"$3","value":"$4"}]}},{"label":"New Any_of Test","body":{"any_of":[{"test":"$1","value":"$2"},{"test":"$3","value":"$4"}]}},{"label":"New None_of Test","body":{"none_of":[{"test":"$1","value":"$2"},{"test":"$3","value":"$4"}]}}],"examples":[{"all_of":[{}]},{"any_of":[{}]},{"none_of":[{}]}],"oneOf":[{"propertyNames":{"enum":["all_of","any_of","none_of"]},"properties":{"all_of":{"title":"All Of","description":"All tests in an `all_of` group must pass in order for the group to pass.","$ref":"#/definitions/D_groups_spec"},"any_of":{"title":"Any Of","description":"One or more tests in an `any_of` group must pass in order for the group to pass.","$ref":"#/definitions/D_groups_spec"},"none_of":{"title":"None Of","description":"All tests in a `none_of` group must fail in order for the group to pass.","$ref":"#/definitions/D_groups_spec"}}},{"required":["test"],"properties":{"all_of":{"title":"All Of","description":"All tests in an `all_of` group must pass in order for the group to pass.","$ref":"#/definitions/D_groups_spec"},"any_of":{"title":"Any Of","description":"One or more tests in an `any_of` group must pass in order for the group to pass.","$ref":"#/definitions/D_groups_spec"},"none_of":{"title":"None Of","description":"All tests in a `none_of` group must fail in order for the group to pass.","$ref":"#/definitions/D_groups_spec"}},"allOf":[{"if":{"properties":{"test":{"const":"clock_time"}}},"then":{"$ref":"#/definitions/E"}},{"if":{"properties":{"test":{"const":"distance_to_nearest_player"}}},"then":{"$ref":"#/definitions/H"}},{"if":{"properties":{"test":{"const":"has_ability"}}},"then":{"$ref":"#/definitions/I"}},{"if":{"properties":{"test":{"const":"has_biome_tag"}}},"then":{"$ref":"#/definitions/J"}},{"if":{"properties":{"test":{"const":"has_component"}}},"then":{"$ref":"#/definitions/BA"}},{"if":{"properties":{"test":{"const":"has_container_open"}}},"then":{"$ref":"#/definitions/BB"}},{"if":{"properties":{"test":{"const":"has_damage"}}},"then":{"$ref":"#/definitions/BC"}},{"if":{"properties":{"test":{"const":"has_equipment"}}},"then":{"$ref":"#/definitions/BE"}},{"if":{"properties":{"test":{"const":"has_mob_effect"}}},"then":{"$ref":"#/definitions/BG"}},{"if":{"properties":{"test":{"const":"has_nametag"}}},"then":{"$ref":"#/definitions/BH"}},{"if":{"properties":{"test":{"const":"has_ranged_weapon"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"test":{"const":"has_silk_touch"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"test":{"const":"has_tag"}}},"then":{"$ref":"#/definitions/CA"}},{"if":{"properties":{"test":{"const":"has_target"}}},"then":{"$ref":"#/definitions/CB"}},{"if":{"properties":{"test":{"const":"has_trade_supply"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"test":{"const":"hourly_clock_time"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"test":{"const":"in_block"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"test":{"const":"in_caravan"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"test":{"const":"in_clouds"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"test":{"const":"in_contact_with_water"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"test":{"const":"in_lava"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"test":{"const":"in_nether"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"test":{"const":"in_water_or_rain"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"test":{"const":"in_water"}}},"then":{"$ref":"#/definitions/DB"}},{"if":{"properties":{"test":{"const":"inactivity_timer"}}},"then":{"$ref":"#/definitions/DC"}},{"if":{"properties":{"test":{"const":"is_altitude"}}},"then":{"$ref":"#/definitions/DD"}},{"if":{"properties":{"test":{"const":"is_avoiding_mobs"}}},"then":{"$ref":"#/definitions/DE"}},{"if":{"properties":{"test":{"const":"is_biome"}}},"then":{"$ref":"#/definitions/DF"}},{"if":{"properties":{"test":{"const":"is_block"}}},"then":{"$ref":"#/definitions/DG"}},{"if":{"properties":{"test":{"const":"is_brightness"}}},"then":{"$ref":"#/definitions/DH"}},{"if":{"properties":{"test":{"const":"is_climbing"}}},"then":{"$ref":"#/definitions/DI"}},{"if":{"properties":{"test":{"const":"is_color"}}},"then":{"$ref":"#/definitions/DJ"}},{"if":{"properties":{"test":{"const":"is_daytime"}}},"then":{"$ref":"#/definitions/EA"}},{"if":{"properties":{"test":{"const":"is_difficulty"}}},"then":{"$ref":"#/definitions/EB"}},{"if":{"properties":{"test":{"const":"is_family"}}},"then":{"$ref":"#/definitions/EC"}},{"if":{"properties":{"test":{"const":"is_game_rule"}}},"then":{"$ref":"#/definitions/ED"}},{"if":{"properties":{"test":{"const":"is_humid"}}},"then":{"$ref":"#/definitions/EE"}},{"if":{"properties":{"test":{"const":"is_immobile"}}},"then":{"$ref":"#/definitions/EF"}},{"if":{"properties":{"test":{"const":"is_in_village"}}},"then":{"$ref":"#/definitions/EG"}},{"if":{"properties":{"test":{"const":"is_leashed_to"}}},"then":{"$ref":"#/definitions/EH"}},{"if":{"properties":{"test":{"const":"is_leashed"}}},"then":{"$ref":"#/definitions/EI"}},{"if":{"properties":{"test":{"const":"is_mark_variant"}}},"then":{"$ref":"#/definitions/EJ"}},{"if":{"properties":{"test":{"const":"is_missing_health"}}},"then":{"$ref":"#/definitions/FA"}},{"if":{"properties":{"test":{"const":"is_moving"}}},"then":{"$ref":"#/definitions/FB"}},{"if":{"properties":{"test":{"const":"is_owner"}}},"then":{"$ref":"#/definitions/FC"}},{"if":{"properties":{"test":{"const":"is_persistent"}}},"then":{"$ref":"#/definitions/FD"}},{"if":{"properties":{"test":{"const":"is_riding"}}},"then":{"$ref":"#/definitions/FE"}},{"if":{"properties":{"test":{"const":"is_skin_id"}}},"then":{"$ref":"#/definitions/FF"}},{"if":{"properties":{"test":{"const":"is_sleeping"}}},"then":{"$ref":"#/definitions/FG"}},{"if":{"properties":{"test":{"const":"is_sneaking"}}},"then":{"$ref":"#/definitions/FH"}},{"if":{"properties":{"test":{"const":"is_snow_covered"}}},"then":{"$ref":"#/definitions/FI"}},{"if":{"properties":{"test":{"const":"is_target"}}},"then":{"$ref":"#/definitions/FJ"}},{"if":{"properties":{"test":{"const":"is_temperature_type"}}},"then":{"$ref":"#/definitions/GA"}},{"if":{"properties":{"test":{"const":"is_temperature_value"}}},"then":{"$ref":"#/definitions/GB"}},{"if":{"properties":{"test":{"const":"is_underground"}}},"then":{"$ref":"#/definitions/GC"}},{"if":{"properties":{"test":{"const":"is_underwater"}}},"then":{"$ref":"#/definitions/GD"}},{"if":{"properties":{"test":{"const":"is_variant"}}},"then":{"$ref":"#/definitions/GE"}},{"if":{"properties":{"test":{"const":"is_visible"}}},"then":{"$ref":"#/definitions/GF"}},{"if":{"properties":{"test":{"const":"is_waterlogged"}}},"then":{"$ref":"#/definitions/GG"}},{"if":{"properties":{"test":{"const":"light_level"}}},"then":{"$ref":"#/definitions/GH"}},{"if":{"properties":{"test":{"const":"moon_intensity"}}},"then":{"$ref":"#/definitions/GI"}},{"if":{"properties":{"test":{"const":"moon_phase"}}},"then":{"$ref":"#/definitions/GJ"}},{"if":{"properties":{"test":{"const":"on_ground"}}},"then":{"$ref":"#/definitions/HA"}},{"if":{"properties":{"test":{"const":"on_ladder"}}},"then":{"$ref":"#/definitions/HB"}},{"if":{"properties":{"test":{"const":"random_chance"}}},"then":{"$ref":"#/definitions/HC"}},{"if":{"properties":{"test":{"const":"rider_count"}}},"then":{"$ref":"#/definitions/HD"}},{"if":{"properties":{"test":{"const":"surface_mob"}}},"then":{"$ref":"#/definitions/HE"}},{"if":{"properties":{"test":{"const":"trusts"}}},"then":{"$ref":"#/definitions/HF"}},{"if":{"properties":{"test":{"const":"weather_at_position"}}},"then":{"$ref":"#/definitions/HG"}},{"if":{"properties":{"test":{"const":"weather"}}},"then":{"$ref":"#/definitions/HH"}},{"not":{"properties":{"test":{"const":"is_weather"}},"$comment":"DEPRECATED"}}]}]},"D_groups_spec":{"oneOf":[{"type":"array","items":{"$ref":"#/definitions/D_groups_spec"}},{"type":"object","$ref":"#/definitions/D_filters_spec"}]},"F":{"title":"Operator","type":"string","description":"The comparison to apply with `value`.","default":"equals","enum":["!=","<","<=","<>","=","==",">",">=","equals","not"]},"G":{"title":"Subject","type":"string","description":"The subject of this filter test.","default":"self","enum":["block","other","parent","player","self","target","damager"]},"E":{"type":"object","title":"Clock Time","description":"Compares the current time with a float value in the range (0.0, 1.0).\n0.0= Noon\n0.25= Sunset\n0.5= Midnight\n0.75= Sunrise","required":["value"],"examples":[{"test":"clock_time","value":0.25}],"properties":{"test":{"type":"string","title":"Test Property","description":"Compares the current time with a float value in the range (0.0, 1.0).\n0.0= Noon\n0.25= Sunset\n0.5= Midnight\n0.75= Sunrise"},"operator":{"$ref":"#/definitions/F","description":"(Optional) The comparison to apply with `value`.","default":"equals","title":"Operator"},"subject":{"$ref":"#/definitions/G","description":"(Optional) The subject of this filter test.","default":"self","title":"Subject"},"value":{"type":"number","minimum":0,"maximum":24000,"description":"(Required) A floating point value.","title":"Value","examples":[0,0.025,0.5,0.75,1]}}},"H":{"type":"object","title":"Distance To Nearest Player","description":"Compares the distance to the nearest Player with a float value.","required":["value"],"examples":[{"test":"distance_to_nearest_player","value":5.7}],"properties":{"test":{"type":"string","title":"Test Property","description":"Compares the distance to the nearest Player with a float value."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"number","description":"(Required) A floating point value.","title":"Value"}}},"I":{"type":"object","title":"Has Ability","description":"Returns true when the subject entity has the named ability.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity has the named ability."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"(Required) The Ability type to test.","enum":["flySpeed","flying","instabuild","invulnerable","lightning","mayfly","mute","noclip","walkSpeed","worldbuilder"],"title":"Value"}},"examples":[{"test":"has_ability","value":"flySpeed"}]},"J":{"type":"object","title":"Has Biome Tag","description":"Tests whether the biome the subject is in has the specified tag.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the biome the subject is in has the specified tag."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"(Required) The tag to look for.","type":"string","title":"Value"}},"examples":[{"test":"has_biome_tag","value":"monster"}]},"BA":{"type":"object","title":"Has Component","description":"Returns true when the subject entity contains the named component.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity contains the named component."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"(Required) The component name to look for.","title":"Value"}},"examples":[{"test":"has_component","value":"minecraft:explode"}]},"BB":{"type":"object","title":"Has Container Open","description":"Returns true when the subject Player entity has opened a container.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"(Optional) true or false.","title":"Value","type":"boolean","default":true}},"examples":[{"test":"has_container_open","value":true}]},"BD":{"title":"Entity Damage Source","description":"The types of damage an entity can receive.","type":"string","enum":["all","anvil","attack","block_explosion","charging","contact","drowning","entity_attack","entity_explosion","fall","falling_block","fatal","fire_tick","fire","fireworks","fly_into_wall","freezing","lava","lightning","magic","magma","none","override","piston","projectile","sonic_boom","stalactite","stalagmite","starve","suffocation","suicide","temperature","thorns","void","wither"]},"BC":{"type":"object","title":"Has Damage","description":"Returns true when the subject entity receives the named damage type. has_damage can also use subject and operator parameters but they are optional.","required":["value"],"examples":[{"test":"has_damage","value":"fatal"}],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity receives the named damage type."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"The Damage type to test.","$ref":"#/definitions/BD","title":"Value"}}},"BF":{"description":"A minecraft item identifier.","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"BE":{"type":"object","title":"Has Equipment","description":"Tests for the presence of a named item in the designated slot of the subject entity.","required":["value"],"properties":{"test":{"type":"string","const":"has_equipment","description":"Tests for the presence of a named item in the designated slot of the subject entity.","title":"Test"},"domain":{"description":"The equipment location to test.","default":"any","enum":["any","armor","feet","hand","head","leg","torso"],"title":"Domain"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The item name to look for.","type":"string","$ref":"#/definitions/BF","title":"Value"}},"examples":[{"test":"has_equipment","value":"example"}]},"BG":{"type":"object","title":"Has Mob Effect","description":"Tests whether the Subject has the specified mob effect.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the Subject has the specified mob effect."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"The specified mob effect.","title":"Value"}},"examples":[{"test":"has_mob_effect","value":"bad_omen"}]},"BH":{"type":"object","title":"Has Equipment","description":"Tests for the presence of a named item in the designated slot of the subject entity.","required":["value"],"properties":{"test":{"type":"string","const":"has_nametag","description":"Tests for the presence of a named item in the designated slot of the subject entity.","title":"Test"},"domain":{"description":"The equipment location to test.","default":"any","enum":["any","armor","feet","hand","head","leg","torso"],"title":"Domain"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"","type":"boolean","title":"Value"}},"examples":[{"test":"has_nametag","value":false},{"test":"has_nametag","value":true}]},"BI":{"type":"object","title":"Has Ranged Weapon","description":"Returns true when the subject entity is holding a ranged weapon like a bow or crossbow.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_ranged_weapon","value":true}]},"BJ":{"type":"object","title":"Has Silk Touch","description":"Tests if the subject is holding an item with silk touch.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_silk_touch","subject":"other","value":true}]},"CA":{"type":"object","title":"Has Tag","description":"Returns true if the subject entity has the tag provided.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity has the tag provided."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"The tag as a string.","pattern":"[a-zA-Z0-9_]+","title":"Value"}},"examples":[{"test":"has_tag","value":"example"}]},"CB":{"type":"object","title":"Has Target","description":"Returns true if the subject entity has a valid target.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_target","value":true}]},"CC":{"type":"object","title":"Has Trade Supply","description":"Tests whether the target has any trade supply left. Will return false if the target cannot be traded with.","properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the target has any trade supply left. Will return false if the target cannot be traded with."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"has_trade_supply","value":true}]},"CD":{"type":"object","title":"Hourly Clock Time","description":"Compares the current 24 hour time with an int value in the range[0, 24000].","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Compares the current 24 hour time with an int value in the range[0, 24000].","const":"hourly_clock_time"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"(Required) An integer value set between 0 and 24000.","minimum":0,"maximum":24000,"title":"Value"}},"examples":[{"test":"hourly_clock_time","value":0}]},"CE":{"type":"object","title":"In Block","description":"Returns true when the subject entity is inside a specified Block type.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is inside a specified Block type."},"operator":{"$ref":"#/definitions/F","description":"(Optional) The comparison to apply with `value`.","default":"equals","title":"Operator"},"subject":{"$ref":"#/definitions/G","description":"(Optional) The subject of this filter test.","default":"self","title":"Subject"},"value":{"type":"string","description":"(Optional) A string value.","title":"Value"}},"examples":[{"test":"in_block","value":"minecraft:water"}]},"CF":{"type":"object","title":"In Caravan","description":"Returns true if the subject entity is in a caravan.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity is in a caravan."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_caravan","value":true}]},"CG":{"type":"object","title":"In Clouds","description":"Returns true when the subject entity is in the clouds.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is in the clouds."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_clouds","value":true}]},"CH":{"type":"object","title":"In Contact With Water","description":"Returns true when the subject entity in contact with any water: water, rain, splash water bottle.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity in contact with any water: water, rain, splash water bottle."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"(Optional) true or false.","type":"boolean","default":true}},"examples":[{"test":"in_contact_with_water","value":true}]},"CI":{"type":"object","title":"In Lava","description":"Returns true when the subject entity is in lava.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is in lava."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_lava","value":true}]},"CJ":{"type":"object","title":"In Nether","description":"Returns true when the subject entity is in Nether.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"in_nether","value":true}]},"DA":{"type":"object","title":"In Water Or Rain","description":"Returns true when the subject entity is in water or rain.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is in water or rain."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_water_or_rain","value":true}]},"DB":{"type":"object","title":"In Water","description":"Returns true when the subject entity is in water.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is in water."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_water","value":true}]},"DC":{"type":"object","title":"Inactivity Timer","description":"Tests if the specified duration in seconds of inactivity for despawning has been reached.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for.","type":"integer","title":"Value"}},"examples":[{"test":"inactivity_timer","value":0}]},"DD":{"type":"object","title":"Is Altitude","description":"Tests the current altitude against a provided value. 0= bedrock elevation.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests the current altitude against a provided value. 0= bedrock elevation."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"The altitude value to compare with.","minimum":0,"title":"Value"}},"examples":[{"test":"example","value":0}]},"DE":{"type":"object","title":"Is Avoiding Mobs","description":"Returns true if the subject entity is fleeing from other mobs.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity is fleeing from other mobs."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"example","value":true}]},"DF":{"type":"object","title":"Is Biome","description":"Tests whether the Subject is currently in the named biome.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the Subject is currently in the named biome."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Biome type to test.","type":"string","enum":["beach","desert","extreme_hills","flat","forest","ice","jungle","mesa","mushroom_island","ocean","plain","river","savanna","stone_beach","swamp","taiga","the_end","the_nether"],"title":"Value"}},"examples":[{"test":"is_biome","value":"beach"}]},"DG":{"type":"object","title":"Is Block","description":"Returns true when the block has the given name.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for.","type":"string","title":"Value"}},"examples":[{"test":"is_block","subject":"block","value":"minecraft:sweet_berry_bush"}]},"DH":{"type":"object","title":"Is Brightness","description":"Tests the current brightness against a provided value in the range (0.0f, 1.0f).","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests the current brightness against a provided value in the range (0.0f, 1.0f)."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The brightness value to compare with.","type":"number","minimum":0.0,"maximum":1.0,"title":"Value"}},"examples":[{"test":"is_brightness","value":0.0}]},"DI":{"type":"object","title":"Is Climbing","description":"Returns true if the subject entity is climbing.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity is climbing."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_climbing","value":true}]},"DJ":{"type":"object","title":"Is Color","description":"Returns true if the subject entity is the named color.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity is the named color."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Palette Color to test.","type":"string","enum":["black","blue","brown","cyan","gray","green","light_blue","light_green","magenta","orange","pink","purple","red","silver","white","yellow"],"title":"Value"}},"examples":[{"test":"is_color","value":"black"}]},"EA":{"type":"object","title":"Is Daytime","description":"Returns true during the daylight hours.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true during the daylight hours."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_daytime","value":true}]},"EB":{"type":"object","title":"Is Difficulty","description":"Tests the current difficulty level of the game.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests the current difficulty level of the game."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The game's difficulty level to test.","type":"string","enum":["easy","hard","normal","peaceful"],"title":"Value"}},"examples":[{"test":"is_difficulty","value":"easy"}]},"EC":{"type":"object","title":"Is Family","description":"Returns true when the subject entity is a member of the named family.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is a member of the named family."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for.","type":"string","title":"Value"}},"examples":[{"test":"is_family","value":"monster"}]},"ED":{"type":"object","title":"Is Game Rule","description":"Tests whether a named game rule is active.","required":["domain","value"],"properties":{"domain":{"description":"The Game Rule to test.","title":"Domain","examples":["commandBlockOutput","commandBlocksEnabled","doDaylightCycle","doEntityDrops","doFireTick","doImmediateRespawn","doInsomnia","doMobLoot","doMobSpawning","doTileDrops","doWeatherCycle","drowningDamage","fallDamage","fireDamage","freezeDamage","functionCommandLimit","keepInventory","maxCommandChainLength","mobGriefing","naturalRegeneration","pvp","randomTickSpeed","respawnblocksexplode","sendCommandFeedback","showCoordinates","showDeathMessages","showTags","spawnRadius","tntExplodes"]},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"Tests whether a named game rule is active.","default":true,"type":"boolean","title":"Value"}},"examples":[{"test":"is_game_rule","domain":"domobspawning","value":false}]},"EE":{"type":"object","title":"Is Humid","description":"Tests whether the Subject is in an area with humidity.","properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the Subject is in an area with humidity."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_humid","value":true}]},"EF":{"type":"object","title":"Is Immobile","description":"Returns true if the subject entity is immobile. An entity is immobile if it lacks AI goals, has just changed dimensions or if it is a mob and has no health.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_immobile","value":true}]},"EG":{"type":"object","title":"Is In Village","description":"Tests whether the Subject is inside the bounds of a village.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_in_village","value":true}]},"EH":{"type":"object","title":"Is Leashed To","description":"Returns true if the subject entity leashed to the calling entity.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_leashed_to","value":true}]},"EI":{"type":"object","title":"Is Leashed","description":"Returns true if the subject entity is leashed.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_leashed","value":true}]},"EJ":{"type":"object","title":"Is Mark Variant","description":"Returns true if the subject entity is the mark variant number provided.","additionalProperties":false,"properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"The altitude value to compare with.","title":"Value"}},"examples":[{"test":"is_mark_variant","value":0}]},"FA":{"type":"object","title":"In Nether","description":"Tests if the subject is not at full health.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_missing_health","value":true}]},"FB":{"type":"object","title":"Is Moving","description":"Returns true if the subject entity is moving.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_moving","value":true}]},"FC":{"type":"object","title":"Is Owner","description":"Returns true if the subject entity is the owner of the calling entity.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_owner","value":true}]},"FD":{"type":"object","title":"Is Persistent","description":"Tests if the subject's persistence matches the bool value passed in.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_persistent","value":true}]},"FE":{"type":"object","title":"Is Riding","description":"Returns true if the subject entity is riding on another entity.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_riding","value":true}]},"FF":{"type":"object","title":"Is Skin Id","description":"Returns true if the subject entity is the skin id number provided.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"The altitude value to compare with.","title":"Value"}},"examples":[{"test":"is_skin_id","value":0}]},"FG":{"type":"object","title":"Is Sleeping","description":"Tests whether the Subject is sleeping.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_sleeping","value":true}]},"FH":{"type":"object","title":"Is Sneaking","description":"Returns true if the subject entity is sneaking.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_sneaking","value":true}]},"FI":{"type":"object","title":"Is Snow Covered","description":"Tests whether the Subject is in an area with snow cover.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_snow_covered","value":true}]},"FJ":{"type":"object","title":"Is Target","description":"Returns true if the subject entity is the target of the calling entity.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_target","value":true}]},"GA":{"type":"object","title":"Is Target","description":"Tests whether the current temperature is a given type.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Biome temperature catagory to test.","type":"string","enum":["cold","mild","ocean","warm"],"title":"Value"}},"examples":[{"test":"is_temperature_type","value":"cold"}]},"GB":{"type":"object","title":"Is Temperature Value","description":"Tests the current temperature against a provided value in the range (0.0, 1.0) where 0.0f is the coldest temp and 1.0f is the hottest.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Biome temperature value to compare with.","type":"number","minimum":0.0,"maximum":1.0,"title":"Value"}},"examples":[{"test":"is_temperature_value","value":0.0}]},"GC":{"type":"object","title":"Is Underground","description":"Returns true when the subject entity is underground. An entity is considered underground if there are non-solid blocks above it.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_underground","value":true}]},"GD":{"type":"object","title":"Is Underwater","description":"Returns true when the subject entity is under water. An entity is considered underwater if it is completely submerged in water blocks.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_underwater","value":true}]},"GE":{"type":"object","title":"Is Variant","description":"Returns true if the subject entity is the variant number provided.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"The altitude value to compare with.","title":"Value"}},"examples":[{"test":"is_variant","value":0}]},"GF":{"type":"object","title":"Is Visible","description":"Returns true if the subject entity is visible.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_visible","value":true}]},"GG":{"type":"object","title":"Is Waterlogged","description":"Tests if the subject block is submerged in water.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"true or false.","type":"boolean","title":"Value"}},"examples":[{"test":"light_level","value":0}]},"GH":{"type":"object","title":"Light Level","description":"Tests is the mob is outside of the specified light level range (0, 16).","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"An integer value.","type":"integer","title":"Value","minimum":0,"maximum":16}},"examples":[{"test":"light_level","value":0}]},"GI":{"type":"object","title":"Moon Intensity","description":"Compares the current moon intensity with a float value in the range (0.0, 1.0)","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"A floating point value.","type":"number","minimum":0,"maximum":1,"title":"Value"}},"examples":[{"test":"moon_intensity","value":0.0}]},"GJ":{"type":"object","title":"Moon Phase","description":"Compares the current moon phase with an integer value in the range (0, 7).","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"An integer value.","minimum":0,"maximum":7,"title":"Value"}},"examples":[{"test":"moon_phase","value":0}]},"HA":{"type":"object","title":"On Ground","description":"Returns true when the subject entity is on ground.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"on_ground","value":true}]},"HB":{"type":"object","title":"On Ladder","description":"Returns true when the subject entity is on a ladder.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"on_ladder","value":true}]},"HC":{"type":"object","title":"Random Chance","description":"Returns true if the random chance rolls 0 out of a specified Maximum range.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"An integer value.","type":"integer","title":"Value"}},"examples":[{"test":"random_chance","value":0}]},"HD":{"type":"object","title":"Rider Count","description":"Returns the number of riders on this entity.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"An integer value.","type":"integer","title":"Value"}},"examples":[{"test":"rider_count","value":0}]},"HE":{"type":"object","title":"Surface Mob","description":"Tests if the subject is a surface mob.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"surface_mob","value":true}]},"HF":{"type":"object","title":"Trusts","description":"Returns true if the subject is trusted by entity.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"trusts","value":true}]},"HG":{"type":"object","title":"Weather At Position","description":"Tests the current weather, at the actor's position, against a provided weather value.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for.","type":"string","title":"Value","examples":["thunderstorm"]}},"examples":[{"test":"weather_at_position","value":"thunderstorm"}]},"HH":{"type":"object","title":"Weather","description":"Tests for the current weather state the entity is experiencing.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for.","type":"string","title":"Value","examples":["clear","thunderstorm"]}},"examples":[{"test":"weather","value":"clear"}]},"D":{"title":"Filters","$ref":"#/definitions/D_groups_spec","examples":[{"test":"is_family","subject":"other","value":"example"},{"test":"has_tag","value":"example"},[]]},"A":{"type":"object","title":"Feature Rules 1.13.0","description":"Each feature rule controls exactly one feature and serves as the root of a chain of feature data.","additionalProperties":false,"required":["format_version","minecraft:feature_rules"],"minProperties":2,"maxProperties":2,"properties":{"format_version":{"const":"1.13.0","description":"Specifies the version of the game this entity was made in. Minimum supported version is 1.13.0. Current supported version is 1.13.0.","title":"Format Version"},"minecraft:feature_rules":{"title":"Feature rules","description":"Each feature rule controls exactly one feature and serves as the root of a chain of feature data.","type":"object","additionalProperties":false,"required":["description","conditions"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["identifier","places_feature"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"},"places_feature":{"title":"Places Feature","description":"Named reference to the feature controlled by this rule.","type":"string"}}},"conditions":{"title":"Conditions","description":"Parameters to control where and when the feature will be placed.","type":"object","additionalProperties":false,"required":["placement_pass"],"properties":{"placement_pass":{"title":"Placement pass","description":"When the feature should be placed relative to others. Earlier passes in the list are guaranteed to occur before later passes. Order is not guaranteed within each pass.","type":"string","enum":["pregeneration_pass","first_pass","before_underground_pass","underground_pass","after_underground_pass","before_surface_pass","surface_pass","after_surface_pass","before_sky_pass","sky_pass","after_sky_pass","final_pass"]},"minecraft:biome_filter":{"title":"Placement pass","description":"List of filter tests to determine which biomes this rule will attach to.","$ref":"#/definitions/D"}}},"distribution":{"title":"Distribution","description":"Parameters controlling the initial scatter of the feature.","type":"object","additionalProperties":false,"required":["iterations"],"properties":{"coordinate_eval_order":{"title":"Coordinate Eval Order","description":"The order in which coordinates will be evaluated. Should be used when a coordinate depends on another. If omitted, defaults to `xzy`.","type":"string","enum":["xyz","xzy","yxz","yzx","zxy","zyx"]},"iterations":{"title":"Iterations","description":"Number of scattered positions to generate.","$ref":"#/definitions/B"},"scatter_chance":{"title":"Scatter Chance","oneOf":[{"$ref":"#/definitions/B","description":"Probability (0-100] that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will."},{"type":"object","description":"Probability numerator / denominator that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will.","additionalProperties":false,"properties":{"numerator":{"title":"Numerator","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":1},"denominator":{"title":"Denominator","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":1}}}]},"x":{"title":"X","$ref":"#/definitions/A_coord_dist"},"z":{"title":"Y","$ref":"#/definitions/A_coord_dist"},"y":{"title":"Z","$ref":"#/definitions/A_coord_dist"}}}}}}},"HI":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}}} \ No newline at end of file diff --git a/behavior/features/features.json b/behavior/features/features.json index 4f01b484..133297cc 100644 --- a/behavior/features/features.json +++ b/behavior/features/features.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.features","examples":[{"format_version":"1.19.0","minecraft:ore_feature":{"description":{"identifier":"example:foo"},"features":{}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.13.0"}}},"then":{"$ref":"#/definitions/A"}},{"properties":{"format_version":{"$ref":"#/definitions/CH"}}}],"definitions":{"C":{"description":"A minecraft feature identifier","examples":["namespace:feature"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Feature Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"B":{"title":"Aggregate Feature","description":"'minecraft:aggregate_feature` places a collection of features in an arbitary order. All features in the collection use the same input position. Features should not depend on each other, as there is no guarantee on the order the features will be placed.\n Succeeds if: At lease one feature is placed successfully.\n Fails if: All features fail to be placed.","type":"object","additionalProperties":false,"required":["description","features"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"features":{"title":"Features","description":"Collection of features to be placed one by one. No guarantee of order. All features use the same input position.","type":"array","minItems":1,"items":{"title":"Feature","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}},"early_out":{"type":"string","title":"Early Out","description":"LIKELY TO BE CHANGED: Do not continue placing features once either the first success or first failure has occurred.","enum":["none","first_failure","first_success"]}}},"E":{"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"}]},"D":{"title":"Beards And Shavers","description":"`minecraft:beards_and_shavers` will build a `beard` or `shave` out space so as to provide a clear space for a feature to place.\nSucceeds if: a beard/shave is made (this should always happen).\nFails if: will always return placement pos, but interior feature placement not guaranteed.","type":"object","additionalProperties":false,"required":["description","places_feature","bounding_box_max","bounding_box_min","y_delta","surface_block_type","subsurface_block_type"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"places_feature":{"title":"Places Feature","description":"Named reference of feature to be placed.","type":"string","$ref":"#/definitions/C"},"bounding_box_min":{"title":"Bounding Box Min","description":"Dimensions of the Bounding Box","type":"array","items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]},"bounding_box_max":{"title":"Bounding Box Max","description":"Dimensions of the Bounding Box","type":"array","items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]},"y_delta":{"title":"Y Delta","description":"Y Delta for BAS","type":"number"},"surface_block_type":{"title":"Surface Block Type","description":"Reference to the block to be placed.","type":"string","$ref":"#/definitions/E"},"subsurface_block_type":{"title":"Subsurface Block Type","description":"Reference to the block to be placed.","type":"string","$ref":"#/definitions/E"},"beard_raggedness_min":{"title":"Beard Raggedness Min","description":"Y Delta for BAS","type":"number"},"beard_raggedness_max":{"title":"Beard Raggedness Max","description":"Y Delta for BAS","type":"number"}}},"G":{"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"}]},"F":{"type":"object","title":"Cave Carver Feature","description":"`minecraft:cave_carver_feature` carves a cave through the world in the current chunk, and in every chunk around the current chunk in an 8 radial pattern. This feature will also only work when placed specifically in the pass `pregeneration_pass`.","additionalProperties":false,"required":["description"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"fill_with":{"title":"Fill with","description":"Reference to the block to fill the cave with.","$ref":"#/definitions/E"},"width_modifier":{"title":"Width modifier","description":"How many blocks to increase the cave radius by, from the center point of the cave.","$ref":"#/definitions/G"}}},"I":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"H":{"type":"object","title":"Conditional List","description":"`minecraft:conditional_list` Places the first suitable feature within a collection.\nThese conditional features will be evaluated in order.\nSucceeds if: A condition is successfully resolved.\nFails if: No condition is successfully resolved.\nExample use: assigning a feature to an expression","additionalProperties":false,"required":["description","conditional_features"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"conditional_features":{"title":"Conditional Features","description":"Array of Features, and their associated Conditions, for attempted placement. These features will be evaluated as ordered.","type":"array","items":{"title":"Conditional Feature","type":"object","description":"A Feature, and their associated Conditions, for attempted placement. These features will be evaluated as ordered.","additionalProperties":false,"required":["places_feature","condition"],"properties":{"places_feature":{"title":"Places feature","description":"Feature to be placed.","$ref":"#/definitions/C"},"condition":{"title":"Condition","description":"Condition for placing associated Feature","$ref":"#/definitions/I"}}}},"early_out_scheme":{"title":"Early out scheme","description":"Denote whether placement should end on first successful placement or first passed condition.","type":"string","enum":["condition_success","placement_success"]}}},"J":{"type":"object","title":"Geode Feature","description":"`minecraft:geode_feature` generates a rock formation to simulate a geode. Each layer of, and block within, the geode can be replaced.\nSucceeds if: At least one block within the geode is placed.\nFails if: All blocks within the geode fail to be placed.","required":["description","max_radius","filler","inner_layer","alternate_inner_layer","use_alternate_layer0_chance","middle_layer","outer_layer","placements_require_layer0_alternate","use_potential_placements_chance","min_distribution_points","max_distribution_points","min_outer_wall_distance","max_outer_wall_distance","min_point_offset","max_point_offset","noise_multiplier","invalid_blocks_threshold","crack_point_offset","generate_crack_chance","base_crack_size"],"additionalProperties":false,"examples":[{"description":{"identifier":"geode_features:geode_feature"},"max_radius":80,"filler":"minecraft:air","inner_layer":"minecraft:stone","alternate_inner_layer":"minecraft:cobblestone","use_alternate_layer0_chance":0.5,"middle_layer":"minecraft:planks","outer_layer":"minecraft:obsidian","inner_placements":["mincraft:glass"],"placements_require_layer0_alternate":true,"use_potential_placements_chance":0.125,"min_distribution_points":3,"max_distribution_points":3,"min_outer_wall_distance":3,"max_outer_wall_distance":3,"min_point_offset":0,"max_point_offset":0,"noise_multiplier":0.025,"invalid_blocks_threshold":10000,"crack_point_offset":0,"generate_crack_chance":0,"base_crack_size":0}],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"filler":{"title":"Filler","type":"string","description":"The block to fill the inside of the geode.","$ref":"#/definitions/E"},"inner_layer":{"title":"Inner layer","type":"string","description":"The block that forms the inside layer of the geode shell.","$ref":"#/definitions/E"},"alternate_inner_layer":{"title":"Alternate inner layer","type":"string","description":"The block that has a chance of generating instead of inner_layer.","$ref":"#/definitions/E"},"middle_layer":{"title":"Middle layer","type":"string","description":"The block that forms the middle layer of the geode shell.","$ref":"#/definitions/E"},"outer_layer":{"title":"Outer layer","type":"string","description":"The block that forms the outer shell of the geode.","$ref":"#/definitions/E"},"inner_placements":{"title":"Inner placements","description":"A list of blocks that may be replaced during placement. Omit this field to allow any block to be replaced.","type":"array","minItems":1,"items":{"title":"Block reference","description":"A block that may be replaced during placement","$ref":"#/definitions/E"}},"min_outer_wall_distance":{"title":"Minimum Outer Wall Distance","type":"integer","description":"The minimum distance each distribution point must be from the outer wall. [0,10]","minimum":1,"maximum":10},"max_outer_wall_distance":{"title":"Maximum Outer Wall Distance","type":"integer","description":"The maximum distance each distribution point can be from the outer wall. [0,20]","minimum":1,"maximum":20},"min_distribution_points":{"title":"Minimum Distribution Points","type":"integer","description":"The minimum number of points inside the distance field that can get generated. The distance field is the area consisting of all points with a minimum distance to all destribution points. [0,10]","minimum":1,"maximum":10},"max_distribution_points":{"title":"Maximum Distribution Points","type":"integer","description":"The maximum number of points inside the distance field that can get generated. The distance field is the area consisting of all points with a minimum distance to all destribution points. [0,20]","minimum":1,"maximum":20},"min_point_offset":{"title":"Minimum Point Offset","type":"integer","description":"The lowest possible value of random offset applied to the position of each distribution point. [0,10]","minimum":0,"maximum":10},"max_point_offset":{"title":"Maximum Point Offset","type":"integer","description":"The highest possible value of random offset applied to the position of each distribution point. [0,10]","minimum":0,"maximum":10},"max_radius":{"title":"Maximum Radius","type":"integer","description":"The maximum possible radius of the geode generated."},"crack_point_offset":{"title":"Crack Point Offset","type":"integer","description":"An offset applied to each distribution point that forms the geode crack opening. [0,10]","minimum":0,"maximum":10},"generate_crack_chance":{"title":"Generate Crack Chance","type":"number","description":"The likelihood of a geode generating with a crack in its shell. [0,1]","minimum":0.0,"maximum":1.0},"base_crack_size":{"title":"Base Crack Size","type":"number","description":"How large the crack opening of the geode should be when generated. [0,5]","minimum":0.0,"maximum":5.0},"noise_multiplier":{"title":"Noise Multiplier","type":"number","description":"A multiplier applied to the noise that is applied to the distribution points within the geode. Higher = more noisy."},"use_potential_placements_chance":{"title":"Use Potential Placements Chance","type":"number","description":"The likelihood that a special block will be placed on the inside of the geode. [0,1]","minimum":0.0,"maximum":1.0},"use_alternate_layer0_chance":{"title":"Use Alternate Layer0 Chance","type":"number","description":"The likelihood that a block in the innermost layer of the geode will be replaced with an alternate option. [0,1]","minimum":0.0,"maximum":1.0},"placements_require_layer0_alternate":{"title":"Placements Require Layer0 Alternate","type":"boolean","description":" If true, the potential placement block will only be placed on the alternate layer0 blocks that get placed. Potential placement blocks are blocks that depend on the existance of another block to be placed. The latter are the layer0 alternate blocks."},"invalid_blocks_threshold":{"title":"Invalid Blocks Threshold","type":"integer","description":"The threshold of invalid blocks for a geode to have a distribution point in before it aborts generation entirely."}}},"BA_range":{"title":"Range","description":"A range","type":"object","required":["range_min","range_max"],"examples":[{"range_min":8,"range_max":9}],"properties":{"range_max":{"title":"Range Max","type":"integer","description":"The maximum plant height"},"range_min":{"title":"Range Min","type":"integer","description":"The minimum plant height"}}},"BA_rangeOrInt":{"oneOf":[{"type":"integer","minimum":0},{"type":"object","$ref":"#/definitions/BA_range"}]},"BA_blocks_array":{"type":"array","minItems":1,"items":{"title":"Blocks","description":"Collection of weighted block descriptor that placement will select from for the plant.","type":"array","minItems":2,"maxItems":2,"items":[{"title":"Plant Body Block","description":"Plant body block.","type":"string","$ref":"#/definitions/E"},{"type":"number","title":"Weight","description":"Weight used in random selection. Value is relative to other weights in the collection.","minimum":0}]}},"BA":{"type":"object","title":"Growing Plant Feature","description":"`minecraft:growing_plant_feature` places a growing plant in the world. A growing plant is a column that is anchored either to the ceiling or the floor, based on its growth direction.\nThe growing plant has a body and a head, where the head is the tip of the plant, and the body consists of the remainder blocks.\nThis feature can be used to define growing plants with variable body and head blocks, e.g. Cave Vines.","additionalProperties":false,"required":["description","height_distribution","growth_direction","body_blocks","head_blocks"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"age":{"title":"Age","description":"Age of the head of the plant.","$ref":"#/definitions/BA_rangeOrInt"},"height_distribution":{"title":"Height distribution","description":"Collection of weighted heights that placement will select from.","type":"array","minItems":1,"examples":[[[{"range_min":8,"range_max":9},1],[6,1]]],"items":{"title":"Height distribution","description":"Collection of weighted heights that placement will select from.","type":"array","minItems":2,"maxItems":2,"items":[{"title":"Plant Height","description":"Plant height.","$ref":"#/definitions/BA_rangeOrInt"},{"type":"number","title":"Weight","description":"Weight used in random selection. Value is relative to other weights in the collection.","minimum":0}]}},"growth_direction":{"title":"Growth Direction","description":"Direction that the plant grows towards. Valid values: UP and DOWN","type":"string","enum":["UP","DOWN","up","down"]},"body_blocks":{"title":"Body Blocks","description":"Collection of weighted block descriptor that placement will select from for the body of the plant.","$ref":"#/definitions/BA_blocks_array"},"head_blocks":{"title":"Head Blocks","description":"Collection of weighted block descriptor that placement will select from for the body of the plant.","$ref":"#/definitions/BA_blocks_array"},"allow_water":{"title":"Allow Water","description":"Plant blocks can be placed in water.","type":"boolean"}}},"BB":{"title":"Hell Cave Carver Feature","description":"`minecraft:hell_cave_carver_feature` carves a cave through the Nether in the current chunk, and in every chunk around the current chunk in an 8 radial pattern.This feature will also only work when placed specifically in the pass `pregeneration_pass`.","type":"object","additionalProperties":false,"required":["description"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"fill_with":{"title":"Identifier","description":"Reference to the block to fill the cave with.","type":"string","$ref":"#/definitions/E"},"width_modifier":{"title":"Identifier","description":"How many blocks to increase the cave radius by, from the center point of the cave.","$ref":"#/definitions/G"}}},"BC":{"title":"Multiface Feature","description":"`minecraft:multiface_feature` places one or a few multiface blocks on floors/walls/ceilings. Despite the name, any block can be placed by this feature. During placement, existing world blocks are checked to see if this feature can be placed on them based on the list provided in the `can_place_on` field. If no `can_replace_on` field is specified, the `place_block` block can be placed on any existing block.\nThis feature will also try to spread the `place_block` block around the location in world the feature is placed.\nSucceeds if: At least one block is successfully placed.\nFails if: All block placements fail.","type":"object","additionalProperties":false,"required":["description","places_block","search_range","can_place_on_floor","can_place_on_ceiling","can_place_on_wall","chance_of_spreading"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"places_block":{"title":"Places Block","description":"Reference to the block to be placed.","type":"string","$ref":"#/definitions/E"},"search_range":{"title":"Search Range","description":"How far, in blocks, this feature can search for a valid position to place.","type":"integer","minimum":1,"maximum":64},"can_place_on_floor":{"title":"Can Place On Floor","description":"Can this feature be placed on the ground (top face of a block)?","type":"boolean"},"can_place_on_ceiling":{"title":"Can Place On Ceiling","description":"Can this feature be placed on the ceiling (bottom face of a block)?","type":"boolean"},"can_place_on_wall":{"title":"Can Place On Wall","description":"Can this feature be placed on the wall (side faces of a block)?","type":"boolean"},"chance_of_spreading":{"title":"Chance of Spreading","description":"For each block placed by this feature, how likely will that block spread to another?","type":"number","minimum":0.0,"maximum":1.0},"can_place_on":{"title":"Can Place On","description":" How far, in blocks, this feature can search for a valid position to place.","type":"array","minItems":1,"items":{"title":"Block","description":" A list of blocks that the block in this feature can be placed on. Omit this field to allow any block to be placed on.","$ref":"#/definitions/E"}}}},"BD":{"type":"object","title":"Ore Feature","description":"`minecraft:ore_feature` places a vein of blocks to simulate ore deposits. Despite the name, any block can be placed by this feature. During placement, existing world blocks are checked to see if they can be replaced by the new ore block based on the list provided in the `may_replace` field of a `replace_rules` entry. If no `may_replace` field is specified in a `replace_rule` entry, the ore block can replace any existing block.\nSucceeds if: At least one ore block is successfully placed.\nFails if: All ore block placements fail.","additionalProperties":false,"required":["count","description"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"count":{"title":"Count","description":"The number of blocks to be placed.","type":"number","minimum":1},"replace_rules":{"title":"Replace Rules","description":"Collection of replace rules that will be checked in order of definition. If a rule is resolved, the rest will not be resolved for that block position.","type":"array","minItems":1,"items":{"title":"Repalce Rule","description":"If a rule is resolved, the rest will not be resolved for that block position.","type":"object","required":["places_block"],"properties":{"places_block":{"title":"Places Block","description":"Reference to the block to be placed.","$ref":"#/definitions/E"},"may_replace":{"title":"May replace","description":"A list of blocks that may be replaced during placement. Omit this field to allow any block to be replaced.","type":"array","minItems":1,"items":{"$ref":"#/definitions/E"}}}}}}},"BE":{"type":"object","title":"Rect Layout","description":"`minecraft:rect_layout` places a vein of blocks to simulate ore deposits. Despite the name, any block can be placed by this feature. During placement, existing world blocks are checked to see if they can be replaced by the new ore block based on the list provided in the `may_replace` field of a `replace_rules` entry. If no `may_replace` field is specified in a `replace_rule` entry, the ore block can replace any existing block.\nSucceeds if: At least one ore block is successfully placed.\nFails if: All ore block placements fail.","additionalProperties":false,"required":["description","feature_areas"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"ratio_of_empty_space":{"title":"Ratio Of Empty Space","description":"Ratio of a Chunk to be filled with empty space rather than features.","type":"number"},"feature_areas":{"title":"Feature Areas","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","minItems":1,"maxItems":4294967295,"items":{"type":"object","title":"Feature Area","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"feature":{"title":"Feature","description":"Feature to be placed.","type":"string","$ref":"#/definitions/C"},"area_dimensions":{"title":"Area Dimensions","description":"Dimensions (size) of the associated Feature.","type":"array","minItems":2,"maxItems":2,"items":[{"title":"Width","type":"integer","minimum":0},{"title":"Length","type":"integer","minimum":0}]}}}}}},"BF":{"type":"object","title":"Rect Layout","description":"`minecraft:scan_surface` scans the surface of a Chunk, calling place() on the surface of each block column.\nSucceeds if: A Feature was successfully placed during the scan.\nFails if: No Feature was placed during the course of the scan.","additionalProperties":false,"required":["description","scan_surface_feature"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"scan_surface_feature":{"title":"Scan Surface Feature","description":"Named reference of feature to be placed","type":"string","$ref":"#/definitions/C"}}},"BG_coordinate":{"title":"Coordinate","oneOf":[{"$ref":"#/definitions/G","description":"Expression for the coordinate (evaluated each iteration). Mutually exclusive with random distribution object below."},{"type":"object","description":"Distribution for the coordinate (evaluated each iteration). Mutually exclusive with Molang expression above.","additionalProperties":false,"required":["extent","distribution"],"properties":{"distribution":{"title":"Distribution","description":"Type of distribution - uniform random, gaussian (centered in the range), or grid (either fixed-step or jittered)","type":"string","enum":["uniform","gaussian","inverse_gaussian","fixed_grid","jittered_grid"]},"step_size":{"title":"Step Size","description":"When the distribution type is grid, defines the distance between steps along this axis","type":"integer","minimum":1},"grid_offset":{"title":"Step Size","description":"When the distribution type is grid, defines the offset along this axis","type":"integer","minimum":0},"extent":{"title":"Extent","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":[{"title":"Lower Bound","$ref":"#/definitions/G","description":"Lower bound (inclusive) of the scatter range, as an offset from the input point to scatter around"},{"title":"Upper Bound","$ref":"#/definitions/G","description":"Upper bound (inclusive) of the scatter range, as an offset from the input point to scatter around"}]}}}]},"BG":{"type":"object","title":"Scatter Feature","description":"`minecraft:scatter_feature` scatters a feature throughout a chunk. The `x`, `y`, and `z` fields are per-coordinate parameters.\nNote that coordinates represent an offset from the input position, not an absolute position. Coordinates may be a single value, a random distribution, or molang expression that resolves to a numeric value. The `coordinate_eval_order` field is provided for finer control of coordinate resolution (particularly when using the `grid` distribution). `iterations` controls how many individual placements should occur if the `scatter_chance` check succeeds. The `scatter_chance` check happens once, so either all placements will run or none will.\nSucceeds if: At least one feature placement succeeds.\nFails if: All feature placements fail.","additionalProperties":false,"required":["description","places_feature"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"places_feature":{"title":"Places Feature","description":"Named reference of feature to be placed","type":"string","$ref":"#/definitions/C"},"project_input_to_floor":{"title":"Project Input To Floor","description":"If true, snaps the y-value of the scattered position to the terrain heightmap. If false or unset, y-value is unmodified.","type":"boolean"},"iterations":{"title":"Iterations","description":"Number of scattered positions to generate","$ref":"#/definitions/G"},"scatter_chance":{"title":"Scatter Chance","oneOf":[{"type":"object","additionalProperties":false,"description":"Probability numerator / denominator that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will.","properties":{"numerator":{"title":"Numerator","description":"UNDOCUMENTED","type":"integer","minimum":1},"denominator":{"title":"Denominator","description":"UNDOCUMENTED","type":"integer","minimum":1}}},{"$ref":"#/definitions/G","description":"Probability (0-100] that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will."}]},"coordinate_eval_order":{"title":"coordinate_eval_order","description":"The order in which coordinates will be evaluated. Should be used when a coordinate depends on another. If omitted, defaults to `xzy`.","type":"string","enum":["xyz","xzy","yxz","yzx","zxy","zyx"]},"x":{"title":"X","$ref":"#/definitions/BG_coordinate"},"y":{"title":"X","$ref":"#/definitions/BG_coordinate"},"z":{"title":"X","$ref":"#/definitions/BG_coordinate"}}},"BH":{"type":"object","title":"Search Feature","description":"`minecraft:search_feature` sweeps a volume searching for a valid placement location for its referenced feature. The `search_volume` field specifies the axis-aligned bounding box that defines the boundaries of the search. The search sweeps along the axis defined by the `search_axis` field, layer by layer. For example, if `search_axis` = '-x', blocks with greater x values will be checked before blocks with lower x values. Each layer is searched from the bottom-left to the top-right before moving to the next layer along the axis. By default, only one valid position must be found, but this can be altered by specifying the `required_successes` field. If fewer than the required successes are found, no placement will occur.\nSucceeds if: The number of valid positions is equal to the value specified by `required_successes`.\nFails if: The number of valid positions is less than the value specified by `required_successes`.","additionalProperties":false,"required":["description","search_axis"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"places_feature":{"title":"Places Feature","description":"Named reference of feature to be placed","type":"string","$ref":"#/definitions/C"},"search_volume":{"title":"Places Feature","description":"Axis-aligned bounding box that will be searched for valid placement positions. Expressed as offsets from the input position.","type":"object","additionalProperties":false,"required":["min","max"],"properties":{"max":{"title":"Max","description":"Maximum extent of the bounding volume expressed as [ x, y, z ]","type":"array","items":[{"title":"Maximum X","type":"integer"},{"title":"Maximum Y","type":"integer"},{"title":"Maximum Z","type":"integer"}]},"min":{"title":"Min","description":"Maxium extent of the bounding volume expressed as [ x, y, z ]","type":"array","items":[{"title":"Minimum X","type":"integer"},{"title":"Minimum Y","type":"integer"},{"title":"Minimum Z","type":"integer"}]}}},"search_axis":{"title":"Search Axis","description":"Axis that the search will sweep along through the `search_volume`","type":"string","enum":["-x","+x","-y","+y","-z","+z"]},"required_successes":{"title":"Required successes","description":"Number of valid positions the search must find in order to place the referenced feature","type":"integer","minimum":1}}},"BI":{"title":"Sequence Feature","description":"`minecraft:sequence_feature` places a collection of features sequentially, in the order they appear in data. The output position of the previous feature is used as the input position for the next. For example, a tree feature is placed at (0, 0, 0) and places blocks up to (0, 10, 0). The next feature in the sequence begins at (0, 10, 0).\nSucceeds if: All features in the sequence are successfully placed.\nFails if: Any feature in the sequence fails to be placed. Features that have not yet been placed at the time of failure are skipped.","type":"object","additionalProperties":false,"required":["description","features"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"features":{"title":"Features","description":"List of features to be placed in sequence. The output position of the previous feature is used as the input position to the next.","type":"array","minItems":1,"items":{"title":"Feature","description":"A feature to be placed in sequence. The output position of the previous feature is used as the input position to the next.","$ref":"#/definitions/C"}}}},"BJ_block_side":{"oneOf":[{"type":"string"},{"type":"array","items":{"title":"Block Side","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}]},"BJ":{"title":"Single Block Feature","description":"`minecraft:single_block_feature` places a single block in the world. The `may_place_on` and `may_replace` fields are allowlists which specify where the block can be placed. If these fields are omitted, the block can be placed anywhere. The block's internal survivability and placement rules can optionally be enforced with the `enforce_survivability_rules` and `enforce_placement_rules` fields. These rules are specified per-block and are typically designed to produce high quality gameplay or natural behavior. However, enabling this enforcement may make it harder to debug placement failures.\n Succeeds if: The block is successfully placed in the world.\n Fails if: The block fails to be placed.","type":"object","additionalProperties":false,"required":["description","places_block","enforce_placement_rules","enforce_survivability_rules"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"places_block":{"title":"Places Block","description":"Reference to the block to be placed.","type":"string","$ref":"#/definitions/E"},"enforce_placement_rules":{"title":"Enforce Placement Rules","description":"If true, enforce the block's canPlace check.","type":"boolean"},"enforce_survivability_rules":{"title":"Enforce Survivability Rules","description":"If true, enforce the block's canSurvive check.","type":"boolean"},"may_attach_to":{"title":"May Attach To","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"min_sides_must_attach":{"title":"Minimum Sides Must Attach","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","minimum":1,"maximum":4},"auto_rotate":{"title":"Auto Rotate","description":"Automatically rotate the block to attach sensibly."},"top":{"title":"Top","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/BJ_block_side"},"bottom":{"title":"Bottom","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/BJ_block_side"},"north":{"title":"North","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/BJ_block_side"},"south":{"title":"South","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/BJ_block_side"},"east":{"title":"East","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/BJ_block_side"},"west":{"title":"West","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/BJ_block_side"},"all":{"title":"All","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/BJ_block_side"},"sides":{"title":"Sides","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/BJ_block_side"}}},"may_replace":{"title":"May Replace","description":"A list of blocks that may be replaced during placement. Omit this field to allow any block to be replaced.","type":"array","additionalProperties":false,"items":{"title":"Block","description":"A block that may be replaced during placement. Omit this field to allow any block to be replaced.","type":"string","$ref":"#/definitions/E"}}}},"CA":{"title":"Snap To Surface Feature","description":"`minecraft:snap_to_surface_feature` snaps the y-value of a feature placement pos to the floor or the ceiling within the provided `vertical_search_range`. The placement biome is preserved. \nIf the snap position goes outside of the placement biome, placement will fail.","type":"object","additionalProperties":false,"required":["description","feature_to_snap","vertical_search_range"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"feature_to_snap":{"title":"Feature to snap","description":"Named reference of feature to be snapped","type":"string","$ref":"#/definitions/C"},"vertical_search_range":{"title":"Vertical search range","description":"Range to search for a floor or ceiling for snaping the feature.","type":"number"},"surface":{"title":"Surface","description":"Defines the surface that the y-value of the placement position will be snapped to. Valid values: `ceiling` and `floor'","type":"string","enum":["ceiling","floor"]}}},"CB":{"title":"Structure Template Feature","description":"`minecraft:structure_template_feature` places a structure in the world. The structure must be stored as a .mcstructure file in the `structures` subdirectory of a behavior pack. It is possible to reference structures that are part of other behavior packs, they do not need to come from the same behavior pack as this feature. Constraints can be defined to specify where the structure is allowed to be placed. During placement, the feature will search for a position within the 'adjustment_radius' that satisfies all constraints. If none are found, the structure will not be placed.\nSucceeds if: The structure is placed in the world.\nFails if: The structure fails to be placed within the world.","type":"object","additionalProperties":false,"required":["description","structure_name","constraints"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"structure_name":{"title":"Structure Name","description":"Reference to the structure to be placed.","type":"string"},"adjustment_radius":{"title":"Adjustment Radius","description":"How far the structure is allowed to move when searching for a valid placement position. Search is radial, stopping when the nearest valid position is found. Defaults to 0 if omitted.","type":"integer","minimum":0,"maximum":16},"facing_direction":{"title":"Facing Direction","description":"Direction the structure will face when placed in the world. Defaults to `random` if omitted.","type":"string","enum":["north","south","east","west","random"]},"constraints":{"title":"","description":"Specific constraints that must be satisfied when placing this structure.","type":"object","additionalProperties":false,"properties":{"grounded":{"title":"Grounded","description":"When specified, ensures the structure is on the ground.","type":"object","additionalProperties":false,"properties":{}},"unburied":{"title":"Unburied","description":"When specified, ensures the structure has air above it.","type":"object","additionalProperties":false,"properties":{}},"block_intersection":{"title":"Unburied","description":"When specified, ensures the structure has air above it.","type":"object","additionalProperties":false,"properties":{"block_allowlist":{"title":"Block Allowlist","description":"List of blocks the owning structure is allowed to intersect with.","type":"array","items":{"title":"Block","type":"string","$ref":"#/definitions/E"}},"block_whitelist":{"title":"Block Whitelist","description":"List of blocks the owning structure is allowed to intersect with.","type":"array","items":{"title":"Block","type":"string","$ref":"#/definitions/E"}}}}}}}},"CC_branch_canopy":{"title":"branch_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"acacia_canopy":{"title":"acacia_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_size":{"title":"canopy_size","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"simplify_canopy":{"title":"simplify_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"}}},"canopy":{"title":"canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_offset":{"title":"canopy_offset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"min":{"title":"min","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"},"max":{"title":"max","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"}}},"min_width":{"title":"min_width","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"canopy_slope":{"title":"canopy_slope","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"rise":{"title":"rise","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"run":{"title":"run","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1}}},"variation_chance":{"title":"variation_chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"$ref":"#/definitions/CD"},{"type":"number","items":{"title":"variation_chance","$ref":"#/definitions/CD"}}]},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"canopy_decoration":{"title":"canopy_decoration","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"decoration_chance":{"title":"decoration_chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CD"},"decoration_block":{"title":"decoration_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"num_steps":{"title":"num_steps","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"step_direction":{"title":"step_direction","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","enum":["down","up","out","away"]}}}}},"fancy_canopy":{"title":"fancy_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"height":{"title":"height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"radius":{"title":"radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"mega_canopy":{"title":"mega_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"base_radius":{"title":"base_radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":0},"core_width":{"title":"core_width","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":1},"simplify_canopy":{"title":"simplify_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"mega_pine_canopy":{"title":"mega_pine_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"base_radius":{"title":"base_radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"radius_step_modifier":{"title":"radius_step_modifier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":0.0},"core_width":{"title":"core_width","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"pine_canopy":{"title":"pine_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"base_radius":{"title":"base_radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"roofed_canopy":{"title":"roofed_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":3},"core_width":{"title":"core_width","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"outer_radius":{"title":"outer_radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"inner_radius":{"title":"inner_radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"spruce_canopy":{"title":"spruce_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"lower_offset":{"title":"lower_offset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"upper_offset":{"title":"upper_offset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"max_radius":{"title":"max_radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}}}},"CD":{"additionalProperties":false,"type":"object","title":"Chance Information","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"numerator":{"type":"number","minimum":1,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Numerator"},"denominator":{"type":"number","minimum":1,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Denominator"}}},"CC":{"title":"Structure Template Feature","description":"Feature type 'minecraft:tree_feature' has not yet been documented.","type":"object","additionalProperties":false,"required":["description"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"base_block":{"title":"Base Block","oneOf":[{"$ref":"#/definitions/E"},{"type":"array","items":{"title":"Block","$ref":"#/definitions/E"}}]},"base_cluster":{"title":"base_cluster","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["may_replace","num_clusters","cluster_radius"],"properties":{"may_replace":{"title":"May Replace","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/E"}},"num_clusters":{"title":"Num Clusters","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"cluster_radius":{"title":"Clusters Radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}},"may_grow_on":{"title":"May grow on","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/E"}},"may_replace":{"title":"May grow on","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/E"}},"may_grow_through":{"title":"May grow on","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/E"}},"acacia_trunk":{"title":"Acacia Trunk","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"trunk_width":{"title":"Trunk Width","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"trunk_height":{"title":"Trunk Height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"base":{"title":"Base","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"intervals":{"title":"Intervals","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","minItems":1,"items":{"type":"integer","minimum":1}},"min_height_for_canopy":{"title":"Minimum Height For Canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1}}},"trunk_lean":{"allow_diagonal_growth":{"title":"Allow Diagonal Growth","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"lean_height":{"title":"Lean Height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"},"lean_steps":{"title":"Lean Steps","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"},"lean_length":{"title":"Lean Length","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}},"trunk_block":{"title":"Trunk Block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"branches":{"title":"Branches","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"branch_length":{"title":"Branch Length","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":0},"branch_position":{"title":"Branch Position","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":0},"branch_chance":{"title":"Branch Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CD"},"branch_canopy":{"title":"branch_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CC_branch_canopy"},"trunk_decoration":{"title":"trunk_decoration","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"decoration_chance":{"title":"decoration_chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CD"},"decoration_block":{"title":"decoration_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"num_steps":{"title":"num_steps","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"step_direction":{"title":"step_direction","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","enum":["down","up","out","away"]}}}}}}},"fallen_trunk":{"title":"fallen_trunk","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"log_length":{"title":"log_length","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"stump_height":{"title":"stump_height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"height_modifier":{"title":"height_modifier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"trunk_block":{"title":"trunk_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"log_decoration_feature":{"title":"log_decoration_feature","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/C"},"trunk_decoration":{"title":"trunk_decoration","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"decoration_chance":{"title":"decoration_chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CD"},"decoration_block":{"title":"decoration_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"num_steps":{"title":"num_steps","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"},"step_direction":{"title":"step_direction","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","enum":["down","up","out","away"]}}}}},"fancy_trunk":{"title":"fancy_trunk","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"trunk_height":{"title":"trunk_height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"base":{"title":"base","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"variance":{"title":"variance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"scale":{"title":"scale","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"}}},"trunk_width":{"title":"trunk_width","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"branches":{"title":"branches","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"slope":{"title":"slope","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"density":{"title":"density","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"min_altitude_factor":{"title":"min_altitude_factor","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":0.0,"maximum":1.0}}},"trunk_block":{"title":"trunk_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"width_scale":{"title":"width_scale","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":0.0},"foliage_altitude_factor":{"title":"foliage_altitude_factor","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":0.0,"maximum":1.0}}},"mega_trunk":{"title":"mega_trunk","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"trunk_width":{"title":"trunk_width","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"},"trunk_height":{"title":"trunk_height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"base":{"title":"base","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"intervals":{"title":"intervals","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"items","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}}},"trunk_block":{"title":"trunk_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"trunk_decoration":{"title":"trunk_decoration","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"decoration_chance":{"title":"decoration_chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CD"},"decoration_block":{"title":"decoration_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"num_steps":{"title":"num_steps","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"},"step_direction":{"title":"step_direction","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","enum":["down","up","out","away"]}}},"branches":{"title":"branches","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"branch_length":{"title":"branch_length","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"branch_slope":{"title":"branch_slope","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"branch_interval":{"title":"","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"branch_altitude_factor":{"title":"branch_altitude_factor","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"min":{"title":"min","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":0.0,"maximum":1.0},"max":{"title":"max","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":0.0,"maximum":1.0}}},"branch_canopy":{"title":"branch_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CC_branch_canopy"}}}}},"trunk":{"title":"trunk","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"trunk_height":{"title":"trunk_height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"height_modifier":{"title":"height_modifier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"can_be_submerged":{"title":"can_be_submerged","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"object","additionalProperties":false,"properties":{"max_depth":{"title":"max_depth","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1}}},{"title":"can_be_submerged","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"}]},"trunk_block":{"title":"trunk_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"trunk_decoration":{"title":"trunk_decoration","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"decoration_chance":{"title":"decoration_chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CD"},"decoration_block":{"title":"decoration_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"num_steps":{"title":"num_steps","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"},"step_direction":{"title":"step_direction","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","enum":["down","up","out","away"]}}}}},"acacia_canopy":{"title":"acacia_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_size":{"title":"canopy_size","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"simplify_canopy":{"title":"simplify_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"}}},"canopy":{"title":"canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_offset":{"title":"canopy_offset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"min":{"title":"min","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"},"max":{"title":"max","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"}}},"min_width":{"title":"min_width","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"canopy_slope":{"title":"canopy_slope","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"rise":{"title":"rise","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"run":{"title":"run","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1}}},"variation_chance":{"title":"variation_chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"$ref":"#/definitions/CD"},{"type":"number","items":{"title":"variation_chance","$ref":"#/definitions/CD"}}]},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"canopy_decoration":{"title":"canopy_decoration","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"decoration_chance":{"title":"decoration_chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CD"},"decoration_block":{"title":"decoration_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"num_steps":{"title":"num_steps","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"step_direction":{"title":"step_direction","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","enum":["down","up","out","away"]}}}}},"fancy_canopy":{"title":"fancy_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"height":{"title":"height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"radius":{"title":"radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"mega_canopy":{"title":"mega_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"base_radius":{"title":"base_radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":0},"core_width":{"title":"core_width","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":1},"simplify_canopy":{"title":"simplify_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"mega_pine_canopy":{"title":"mega_pine_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"base_radius":{"title":"base_radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"radius_step_modifier":{"title":"radius_step_modifier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":0.0},"core_width":{"title":"core_width","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"pine_canopy":{"title":"pine_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"base_radius":{"title":"base_radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"roofed_canopy":{"title":"roofed_canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":3},"core_width":{"title":"core_width","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"outer_radius":{"title":"outer_radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"inner_radius":{"title":"inner_radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"spruce_canopy":{"title":"Spruce Canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"lower_offset":{"title":"lower_offset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"upper_offset":{"title":"upper_offset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"max_radius":{"title":"max_radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"random_spread_canopy":{"title":"Random Spread Canopy","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"canopy_radius":{"title":"canopy_radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"leaf_placement_attempts":{"title":"leaf_placement_attempts","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"leaf_blocks":{"title":"leaf_blocks","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","additionalProperties":false,"items":{"title":"items","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","additionalProperties":false,"items":[{"type":"integer"},{"type":"number"}]}}}}}},"CE":{"title":"Underwater Cave Carver Feature","description":"'minecraft:underwater_cave_carver_feature' carves a cave through the world in the current chunk, and in every chunk around the current chunk in an 8 radial pattern.This feature will specifically target creating caves only below sea level.\nThis feature will also only work when placed specifically in the pass `pregeneration_pass`.","type":"object","additionalProperties":false,"required":["description"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"fill_with":{"title":"Fill with","description":"Reference to the block to fill the cave with.","type":"string","$ref":"#/definitions/E"},"width_modifier":{"title":"Width Modifier","description":"How many blocks to increase the cave radius by, from the center point of the cave.","$ref":"#/definitions/G"},"replace_air_with":{"title":"Replace air with","description":"Reference to the block to replace air blocks with.","type":"string","$ref":"#/definitions/E"}}},"CF":{"title":"Vegetation Patch Feature","description":"Feature type `minecraft:vegetation_patch_feature` has not yet been documented.","type":"object","additionalProperties":false,"required":["description"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"replaceable_blocks":{"title":"Replaceable Blocks","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Replace block","type":"string","$ref":"#/definitions/E"}},"ground_block":{"title":"Ground Block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"vegetation_feature":{"title":"Vegetation Feature","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/C"},"surface":{"title":"Surface","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"},"depth":{"title":"Depth","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"extra_deep_block_chance":{"title":"Extra Deep Block Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":0},"vertical_range":{"title":"Vertical Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"vegetation_chance":{"title":"Vegatation Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":0},"horizontal_radius":{"title":"Horizontal Radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"extra_edge_column_chance":{"title":"Extra Egde Column Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":0},"waterlogged":{"title":"Waterlogged","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"}}},"CG":{"title":"Weighted Random Feature","description":"'minecraft:weighted_random_feature' randomly selects and places a feature based on a weight value. Weights are relative, with higher values making selection more likely.\nSucceeds if: The selected feature is placed.\nFails if: The selected feature fails to be placed.","type":"object","additionalProperties":false,"required":["description","features"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"features":{"title":"Features","description":" Collection of weighted features that placement will select from.","type":"array","minItems":1,"items":{"title":"Feature","description":"Named reference to a feature.","type":"array","items":[{"title":"Feature","description":"Named reference to a feature.","$ref":"#/definitions/C"},{"title":"Weight","description":"Weight used in random selection. Value is relative to other weights in the collection.","type":"number"}]}}}},"A":{"type":"object","title":"Features 1.13.0","description":"Features are decorations scattered throughout the world. Things such as trees, plants, flowers, springs, ore, and coral are all features. Basically, if it isn't the terrain or a mob, it's probably a feature!","additionalProperties":false,"required":["format_version"],"minProperties":2,"maxProperties":2,"properties":{"format_version":{"const":"1.13.0","description":"Specifies the version of the game this entity was made in. Minimum supported version is 1.13.0. Current supported version is 1.13.0.","title":"Format Version"},"minecraft:aggregate_feature":{"$ref":"#/definitions/B"},"minecraft:beards_and_shavers":{"$ref":"#/definitions/D"},"minecraft:cave_carver_feature":{"$ref":"#/definitions/F"},"minecraft:conditional_list":{"$ref":"#/definitions/H"},"minecraft:geode_feature":{"$ref":"#/definitions/J"},"minecraft:growing_plant_feature":{"$ref":"#/definitions/BA"},"minecraft:hell_cave_carver_feature":{"$ref":"#/definitions/BB"},"minecraft:multiface_feature":{"$ref":"#/definitions/BC"},"minecraft:ore_feature":{"$ref":"#/definitions/BD"},"minecraft:rect_layout":{"$ref":"#/definitions/BE"},"minecraft:scan_surface":{"$ref":"#/definitions/BF"},"minecraft:scatter_feature":{"$ref":"#/definitions/BG"},"minecraft:search_feature":{"$ref":"#/definitions/BH"},"minecraft:sequence_feature":{"$ref":"#/definitions/BI"},"minecraft:single_block_feature":{"$ref":"#/definitions/BJ"},"minecraft:snap_to_surface_feature":{"$ref":"#/definitions/CA"},"minecraft:structure_template_feature":{"$ref":"#/definitions/CB"},"minecraft:tree_feature":{"$ref":"#/definitions/CC"},"minecraft:underwater_cave_carver_feature":{"$ref":"#/definitions/CE"},"minecraft:vegetation_patch_feature":{"$ref":"#/definitions/CF"},"minecraft:weighted_random_feature":{"$ref":"#/definitions/CG"}}},"CH":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.features","examples":[{"format_version":"1.19.0","minecraft:ore_feature":{"description":{"identifier":"example:foo"},"features":{}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.13.0"}}},"then":{"$ref":"#/definitions/A"}},{"properties":{"format_version":{"$ref":"#/definitions/CH"}}}],"definitions":{"C":{"description":"A minecraft feature identifier.","examples":["namespace:feature"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Feature Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"B":{"title":"Aggregate Feature","description":"'minecraft:aggregate_feature` places a collection of features in an arbitary order. All features in the collection use the same input position. Features should not depend on each other, as there is no guarantee on the order the features will be placed.\n Succeeds if: At lease one feature is placed successfully.\n Fails if: All features fail to be placed.","type":"object","additionalProperties":false,"required":["description","features"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"features":{"title":"Features","description":"Collection of features to be placed one by one. No guarantee of order. All features use the same input position.","type":"array","minItems":1,"items":{"title":"Feature","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"}},"early_out":{"type":"string","title":"Early Out","description":"LIKELY TO BE CHANGED: Do not continue placing features once either the first success or first failure has occurred.","enum":["none","first_failure","first_success"]}}},"E":{"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"}]},"D":{"title":"Beards And Shavers","description":"`minecraft:beards_and_shavers` will build a `beard` or `shave` out space so as to provide a clear space for a feature to place.\nSucceeds if: a beard/shave is made (this should always happen).\nFails if: will always return placement pos, but interior feature placement not guaranteed.","type":"object","additionalProperties":false,"required":["description","places_feature","bounding_box_max","bounding_box_min","y_delta","surface_block_type","subsurface_block_type"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"places_feature":{"title":"Places Feature","description":"Named reference of feature to be placed.","type":"string","$ref":"#/definitions/C"},"bounding_box_min":{"title":"Bounding Box Min","description":"Dimensions of the Bounding Box.","type":"array","items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]},"bounding_box_max":{"title":"Bounding Box Max","description":"Dimensions of the Bounding Box.","type":"array","items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]},"y_delta":{"title":"Y Delta","description":"Y Delta for BAS.","type":"number"},"surface_block_type":{"title":"Surface Block Type","description":"Reference to the block to be placed.","type":"string","$ref":"#/definitions/E"},"subsurface_block_type":{"title":"Subsurface Block Type","description":"Reference to the block to be placed.","type":"string","$ref":"#/definitions/E"},"beard_raggedness_min":{"title":"Beard Raggedness Min","description":"Y Delta for BAS.","type":"number"},"beard_raggedness_max":{"title":"Beard Raggedness Max","description":"Y Delta for BAS.","type":"number"}}},"G":{"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"}]},"F":{"type":"object","title":"Cave Carver Feature","description":"`minecraft:cave_carver_feature` carves a cave through the world in the current chunk, and in every chunk around the current chunk in an 8 radial pattern. This feature will also only work when placed specifically in the pass `pregeneration_pass`.","additionalProperties":false,"required":["description"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"fill_with":{"title":"Fill with","description":"Reference to the block to fill the cave with.","$ref":"#/definitions/E"},"width_modifier":{"title":"Width modifier","description":"How many blocks to increase the cave radius by, from the center point of the cave.","$ref":"#/definitions/G"}}},"I":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"H":{"type":"object","title":"Conditional List","description":"`minecraft:conditional_list` Places the first suitable feature within a collection.\nThese conditional features will be evaluated in order.\nSucceeds if: A condition is successfully resolved.\nFails if: No condition is successfully resolved.\nExample use: assigning a feature to an expression","additionalProperties":false,"required":["description","conditional_features"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"conditional_features":{"title":"Conditional Features","description":"Array of Features, and their associated Conditions, for attempted placement. These features will be evaluated as ordered.","type":"array","items":{"title":"Conditional Feature","type":"object","description":"A Feature, and their associated Conditions, for attempted placement. These features will be evaluated as ordered.","additionalProperties":false,"required":["places_feature","condition"],"properties":{"places_feature":{"title":"Places feature","description":"Feature to be placed.","$ref":"#/definitions/C"},"condition":{"title":"Condition","description":"Condition for placing associated Feature.","$ref":"#/definitions/I"}}}},"early_out_scheme":{"title":"Early out scheme","description":"Denote whether placement should end on first successful placement or first passed condition.","type":"string","enum":["condition_success","placement_success"]}}},"J":{"type":"object","title":"Geode Feature","description":"`minecraft:geode_feature` generates a rock formation to simulate a geode. Each layer of, and block within, the geode can be replaced.\nSucceeds if: At least one block within the geode is placed.\nFails if: All blocks within the geode fail to be placed.","required":["description","max_radius","filler","inner_layer","alternate_inner_layer","use_alternate_layer0_chance","middle_layer","outer_layer","placements_require_layer0_alternate","use_potential_placements_chance","min_distribution_points","max_distribution_points","min_outer_wall_distance","max_outer_wall_distance","min_point_offset","max_point_offset","noise_multiplier","invalid_blocks_threshold","crack_point_offset","generate_crack_chance","base_crack_size"],"additionalProperties":false,"examples":[{"description":{"identifier":"geode_features:geode_feature"},"max_radius":80,"filler":"minecraft:air","inner_layer":"minecraft:stone","alternate_inner_layer":"minecraft:cobblestone","use_alternate_layer0_chance":0.5,"middle_layer":"minecraft:planks","outer_layer":"minecraft:obsidian","inner_placements":["mincraft:glass"],"placements_require_layer0_alternate":true,"use_potential_placements_chance":0.125,"min_distribution_points":3,"max_distribution_points":3,"min_outer_wall_distance":3,"max_outer_wall_distance":3,"min_point_offset":0,"max_point_offset":0,"noise_multiplier":0.025,"invalid_blocks_threshold":10000,"crack_point_offset":0,"generate_crack_chance":0,"base_crack_size":0}],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"filler":{"title":"Filler","type":"string","description":"The block to fill the inside of the geode.","$ref":"#/definitions/E"},"inner_layer":{"title":"Inner layer","type":"string","description":"The block that forms the inside layer of the geode shell.","$ref":"#/definitions/E"},"alternate_inner_layer":{"title":"Alternate inner layer","type":"string","description":"The block that has a chance of generating instead of inner_layer.","$ref":"#/definitions/E"},"middle_layer":{"title":"Middle layer","type":"string","description":"The block that forms the middle layer of the geode shell.","$ref":"#/definitions/E"},"outer_layer":{"title":"Outer layer","type":"string","description":"The block that forms the outer shell of the geode.","$ref":"#/definitions/E"},"inner_placements":{"title":"Inner placements","description":"A list of blocks that may be replaced during placement. Omit this field to allow any block to be replaced.","type":"array","minItems":1,"items":{"title":"Block reference","description":"A block that may be replaced during placement.","$ref":"#/definitions/E"}},"min_outer_wall_distance":{"title":"Minimum Outer Wall Distance","type":"integer","description":"The minimum distance each distribution point must be from the outer wall. [0,10]","minimum":1,"maximum":10},"max_outer_wall_distance":{"title":"Maximum Outer Wall Distance","type":"integer","description":"The maximum distance each distribution point can be from the outer wall. [0,20]","minimum":1,"maximum":20},"min_distribution_points":{"title":"Minimum Distribution Points","type":"integer","description":"The minimum number of points inside the distance field that can get generated. The distance field is the area consisting of all points with a minimum distance to all destribution points. [0,10]","minimum":1,"maximum":10},"max_distribution_points":{"title":"Maximum Distribution Points","type":"integer","description":"The maximum number of points inside the distance field that can get generated. The distance field is the area consisting of all points with a minimum distance to all destribution points. [0,20]","minimum":1,"maximum":20},"min_point_offset":{"title":"Minimum Point Offset","type":"integer","description":"The lowest possible value of random offset applied to the position of each distribution point. [0,10]","minimum":0,"maximum":10},"max_point_offset":{"title":"Maximum Point Offset","type":"integer","description":"The highest possible value of random offset applied to the position of each distribution point. [0,10]","minimum":0,"maximum":10},"max_radius":{"title":"Maximum Radius","type":"integer","description":"The maximum possible radius of the geode generated."},"crack_point_offset":{"title":"Crack Point Offset","type":"integer","description":"An offset applied to each distribution point that forms the geode crack opening. [0,10]","minimum":0,"maximum":10},"generate_crack_chance":{"title":"Generate Crack Chance","type":"number","description":"The likelihood of a geode generating with a crack in its shell. [0,1]","minimum":0.0,"maximum":1.0},"base_crack_size":{"title":"Base Crack Size","type":"number","description":"How large the crack opening of the geode should be when generated. [0,5]","minimum":0.0,"maximum":5.0},"noise_multiplier":{"title":"Noise Multiplier","type":"number","description":"A multiplier applied to the noise that is applied to the distribution points within the geode. Higher = more noisy."},"use_potential_placements_chance":{"title":"Use Potential Placements Chance","type":"number","description":"The likelihood that a special block will be placed on the inside of the geode. [0,1]","minimum":0.0,"maximum":1.0},"use_alternate_layer0_chance":{"title":"Use Alternate Layer0 Chance","type":"number","description":"The likelihood that a block in the innermost layer of the geode will be replaced with an alternate option. [0,1]","minimum":0.0,"maximum":1.0},"placements_require_layer0_alternate":{"title":"Placements Require Layer0 Alternate","type":"boolean","description":" If true, the potential placement block will only be placed on the alternate layer0 blocks that get placed. Potential placement blocks are blocks that depend on the existance of another block to be placed. The latter are the layer0 alternate blocks."},"invalid_blocks_threshold":{"title":"Invalid Blocks Threshold","type":"integer","description":"The threshold of invalid blocks for a geode to have a distribution point in before it aborts generation entirely."}}},"BA_range":{"title":"Range","description":"A range.","type":"object","required":["range_min","range_max"],"examples":[{"range_min":8,"range_max":9}],"properties":{"range_max":{"title":"Range Max","type":"integer","description":"The maximum plant height."},"range_min":{"title":"Range Min","type":"integer","description":"The minimum plant height."}}},"BA_rangeOrInt":{"oneOf":[{"type":"integer","minimum":0},{"type":"object","$ref":"#/definitions/BA_range"}]},"BA_blocks_array":{"type":"array","minItems":1,"items":{"title":"Blocks","description":"Collection of weighted block descriptor that placement will select from for the plant.","type":"array","minItems":2,"maxItems":2,"items":[{"title":"Plant Body Block","description":"Plant body block.","type":"string","$ref":"#/definitions/E"},{"type":"number","title":"Weight","description":"Weight used in random selection. Value is relative to other weights in the collection.","minimum":0}]}},"BA":{"type":"object","title":"Growing Plant Feature","description":"`minecraft:growing_plant_feature` places a growing plant in the world. A growing plant is a column that is anchored either to the ceiling or the floor, based on its growth direction.\nThe growing plant has a body and a head, where the head is the tip of the plant, and the body consists of the remainder blocks.\nThis feature can be used to define growing plants with variable body and head blocks, e.g. Cave Vines.","additionalProperties":false,"required":["description","height_distribution","growth_direction","body_blocks","head_blocks"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"age":{"title":"Age","description":"Age of the head of the plant.","$ref":"#/definitions/BA_rangeOrInt"},"height_distribution":{"title":"Height distribution","description":"Collection of weighted heights that placement will select from.","type":"array","minItems":1,"examples":[[[{"range_min":8,"range_max":9},1],[6,1]]],"items":{"title":"Height distribution","description":"Collection of weighted heights that placement will select from.","type":"array","minItems":2,"maxItems":2,"items":[{"title":"Plant Height","description":"Plant height.","$ref":"#/definitions/BA_rangeOrInt"},{"type":"number","title":"Weight","description":"Weight used in random selection. Value is relative to other weights in the collection.","minimum":0}]}},"growth_direction":{"title":"Growth Direction","description":"Direction that the plant grows towards. Valid values: UP and DOWN","type":"string","enum":["UP","DOWN","up","down"]},"body_blocks":{"title":"Body Blocks","description":"Collection of weighted block descriptor that placement will select from for the body of the plant.","$ref":"#/definitions/BA_blocks_array"},"head_blocks":{"title":"Head Blocks","description":"Collection of weighted block descriptor that placement will select from for the body of the plant.","$ref":"#/definitions/BA_blocks_array"},"allow_water":{"title":"Allow Water","description":"Plant blocks can be placed in water.","type":"boolean"}}},"BB":{"title":"Hell Cave Carver Feature","description":"`minecraft:hell_cave_carver_feature` carves a cave through the Nether in the current chunk, and in every chunk around the current chunk in an 8 radial pattern.This feature will also only work when placed specifically in the pass `pregeneration_pass`.","type":"object","additionalProperties":false,"required":["description"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"fill_with":{"title":"Identifier","description":"Reference to the block to fill the cave with.","type":"string","$ref":"#/definitions/E"},"width_modifier":{"title":"Identifier","description":"How many blocks to increase the cave radius by, from the center point of the cave.","$ref":"#/definitions/G"}}},"BC":{"title":"Multiface Feature","description":"`minecraft:multiface_feature` places one or a few multiface blocks on floors/walls/ceilings. Despite the name, any block can be placed by this feature. During placement, existing world blocks are checked to see if this feature can be placed on them based on the list provided in the `can_place_on` field. If no `can_replace_on` field is specified, the `place_block` block can be placed on any existing block.\nThis feature will also try to spread the `place_block` block around the location in world the feature is placed.\nSucceeds if: At least one block is successfully placed.\nFails if: All block placements fail.","type":"object","additionalProperties":false,"required":["description","places_block","search_range","can_place_on_floor","can_place_on_ceiling","can_place_on_wall","chance_of_spreading"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"places_block":{"title":"Places Block","description":"Reference to the block to be placed.","type":"string","$ref":"#/definitions/E"},"search_range":{"title":"Search Range","description":"How far, in blocks, this feature can search for a valid position to place.","type":"integer","minimum":1,"maximum":64},"can_place_on_floor":{"title":"Can Place On Floor","description":"Can this feature be placed on the ground (top face of a block)?.","type":"boolean"},"can_place_on_ceiling":{"title":"Can Place On Ceiling","description":"Can this feature be placed on the ceiling (bottom face of a block)?.","type":"boolean"},"can_place_on_wall":{"title":"Can Place On Wall","description":"Can this feature be placed on the wall (side faces of a block)?.","type":"boolean"},"chance_of_spreading":{"title":"Chance of Spreading","description":"For each block placed by this feature, how likely will that block spread to another?.","type":"number","minimum":0.0,"maximum":1.0},"can_place_on":{"title":"Can Place On","description":" How far, in blocks, this feature can search for a valid position to place.","type":"array","minItems":1,"items":{"title":"Block","description":" A list of blocks that the block in this feature can be placed on. Omit this field to allow any block to be placed on.","$ref":"#/definitions/E"}}}},"BD":{"type":"object","title":"Ore Feature","description":"`minecraft:ore_feature` places a vein of blocks to simulate ore deposits. Despite the name, any block can be placed by this feature. During placement, existing world blocks are checked to see if they can be replaced by the new ore block based on the list provided in the `may_replace` field of a `replace_rules` entry. If no `may_replace` field is specified in a `replace_rule` entry, the ore block can replace any existing block.\nSucceeds if: At least one ore block is successfully placed.\nFails if: All ore block placements fail.","additionalProperties":false,"required":["count","description"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"count":{"title":"Count","description":"The number of blocks to be placed.","type":"number","minimum":1},"replace_rules":{"title":"Replace Rules","description":"Collection of replace rules that will be checked in order of definition. If a rule is resolved, the rest will not be resolved for that block position.","type":"array","minItems":1,"items":{"title":"Repalce Rule","description":"If a rule is resolved, the rest will not be resolved for that block position.","type":"object","required":["places_block"],"properties":{"places_block":{"title":"Places Block","description":"Reference to the block to be placed.","$ref":"#/definitions/E"},"may_replace":{"title":"May replace","description":"A list of blocks that may be replaced during placement. Omit this field to allow any block to be replaced.","type":"array","minItems":1,"items":{"$ref":"#/definitions/E"}}}}}}},"BE":{"type":"object","title":"Rect Layout","description":"`minecraft:rect_layout` places a vein of blocks to simulate ore deposits. Despite the name, any block can be placed by this feature. During placement, existing world blocks are checked to see if they can be replaced by the new ore block based on the list provided in the `may_replace` field of a `replace_rules` entry. If no `may_replace` field is specified in a `replace_rule` entry, the ore block can replace any existing block.\nSucceeds if: At least one ore block is successfully placed.\nFails if: All ore block placements fail.","additionalProperties":false,"required":["description","feature_areas"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"ratio_of_empty_space":{"title":"Ratio Of Empty Space","description":"Ratio of a Chunk to be filled with empty space rather than features.","type":"number"},"feature_areas":{"title":"Feature Areas","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","minItems":1,"maxItems":4294967295,"items":{"type":"object","title":"Feature Area","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"feature":{"title":"Feature","description":"Feature to be placed.","type":"string","$ref":"#/definitions/C"},"area_dimensions":{"title":"Area Dimensions","description":"Dimensions (size) of the associated Feature.","type":"array","minItems":2,"maxItems":2,"items":[{"title":"Width","type":"integer","minimum":0},{"title":"Length","type":"integer","minimum":0}]}}}}}},"BF":{"type":"object","title":"Rect Layout","description":"`minecraft:scan_surface` scans the surface of a Chunk, calling place() on the surface of each block column.\nSucceeds if: A Feature was successfully placed during the scan.\nFails if: No Feature was placed during the course of the scan.","additionalProperties":false,"required":["description","scan_surface_feature"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"scan_surface_feature":{"title":"Scan Surface Feature","description":"Named reference of feature to be placed.","type":"string","$ref":"#/definitions/C"}}},"BG_coordinate":{"title":"Coordinate","oneOf":[{"$ref":"#/definitions/G","description":"Expression for the coordinate (evaluated each iteration). Mutually exclusive with random distribution object below."},{"type":"object","description":"Distribution for the coordinate (evaluated each iteration). Mutually exclusive with Molang expression above.","additionalProperties":false,"required":["extent","distribution"],"properties":{"distribution":{"title":"Distribution","description":"Type of distribution - uniform random, gaussian (centered in the range), or grid (either fixed-step or jittered).","type":"string","enum":["uniform","gaussian","inverse_gaussian","fixed_grid","jittered_grid"]},"step_size":{"title":"Step Size","description":"When the distribution type is grid, defines the distance between steps along this axis.","type":"integer","minimum":1},"grid_offset":{"title":"Step Size","description":"When the distribution type is grid, defines the offset along this axis.","type":"integer","minimum":0},"extent":{"title":"Extent","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":[{"title":"Lower Bound","$ref":"#/definitions/G","description":"Lower bound (inclusive) of the scatter range, as an offset from the input point to scatter around."},{"title":"Upper Bound","$ref":"#/definitions/G","description":"Upper bound (inclusive) of the scatter range, as an offset from the input point to scatter around."}]}}}]},"BG":{"type":"object","title":"Scatter Feature","description":"`minecraft:scatter_feature` scatters a feature throughout a chunk. The `x`, `y`, and `z` fields are per-coordinate parameters.\nNote that coordinates represent an offset from the input position, not an absolute position. Coordinates may be a single value, a random distribution, or molang expression that resolves to a numeric value. The `coordinate_eval_order` field is provided for finer control of coordinate resolution (particularly when using the `grid` distribution). `iterations` controls how many individual placements should occur if the `scatter_chance` check succeeds. The `scatter_chance` check happens once, so either all placements will run or none will.\nSucceeds if: At least one feature placement succeeds.\nFails if: All feature placements fail.","additionalProperties":false,"required":["description","places_feature"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"places_feature":{"title":"Places Feature","description":"Named reference of feature to be placed.","type":"string","$ref":"#/definitions/C"},"project_input_to_floor":{"title":"Project Input To Floor","description":"If true, snaps the y-value of the scattered position to the terrain heightmap. If false or unset, y-value is unmodified.","type":"boolean"},"iterations":{"title":"Iterations","description":"Number of scattered positions to generate.","$ref":"#/definitions/G"},"scatter_chance":{"title":"Scatter Chance","oneOf":[{"type":"object","additionalProperties":false,"description":"Probability numerator / denominator that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will.","properties":{"numerator":{"title":"Numerator","description":"UNDOCUMENTED.","type":"integer","minimum":1},"denominator":{"title":"Denominator","description":"UNDOCUMENTED.","type":"integer","minimum":1}}},{"$ref":"#/definitions/G","description":"Probability (0-100] that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will."}]},"coordinate_eval_order":{"title":"coordinate_eval_order","description":"The order in which coordinates will be evaluated. Should be used when a coordinate depends on another. If omitted, defaults to `xzy`.","type":"string","enum":["xyz","xzy","yxz","yzx","zxy","zyx"]},"x":{"title":"X","$ref":"#/definitions/BG_coordinate"},"y":{"title":"X","$ref":"#/definitions/BG_coordinate"},"z":{"title":"X","$ref":"#/definitions/BG_coordinate"}}},"BH":{"type":"object","title":"Search Feature","description":"`minecraft:search_feature` sweeps a volume searching for a valid placement location for its referenced feature. The `search_volume` field specifies the axis-aligned bounding box that defines the boundaries of the search. The search sweeps along the axis defined by the `search_axis` field, layer by layer. For example, if `search_axis` = '-x', blocks with greater x values will be checked before blocks with lower x values. Each layer is searched from the bottom-left to the top-right before moving to the next layer along the axis. By default, only one valid position must be found, but this can be altered by specifying the `required_successes` field. If fewer than the required successes are found, no placement will occur.\nSucceeds if: The number of valid positions is equal to the value specified by `required_successes`.\nFails if: The number of valid positions is less than the value specified by `required_successes`.","additionalProperties":false,"required":["description","search_axis"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"places_feature":{"title":"Places Feature","description":"Named reference of feature to be placed.","type":"string","$ref":"#/definitions/C"},"search_volume":{"title":"Places Feature","description":"Axis-aligned bounding box that will be searched for valid placement positions. Expressed as offsets from the input position.","type":"object","additionalProperties":false,"required":["min","max"],"properties":{"max":{"title":"Max","description":"Maximum extent of the bounding volume expressed as [ x, y, z ].","type":"array","items":[{"title":"Maximum X","type":"integer"},{"title":"Maximum Y","type":"integer"},{"title":"Maximum Z","type":"integer"}]},"min":{"title":"Min","description":"Maxium extent of the bounding volume expressed as [ x, y, z ].","type":"array","items":[{"title":"Minimum X","type":"integer"},{"title":"Minimum Y","type":"integer"},{"title":"Minimum Z","type":"integer"}]}}},"search_axis":{"title":"Search Axis","description":"Axis that the search will sweep along through the `search_volume`.","type":"string","enum":["-x","+x","-y","+y","-z","+z"]},"required_successes":{"title":"Required successes","description":"Number of valid positions the search must find in order to place the referenced feature.","type":"integer","minimum":1}}},"BI":{"title":"Sequence Feature","description":"`minecraft:sequence_feature` places a collection of features sequentially, in the order they appear in data. The output position of the previous feature is used as the input position for the next. For example, a tree feature is placed at (0, 0, 0) and places blocks up to (0, 10, 0). The next feature in the sequence begins at (0, 10, 0).\nSucceeds if: All features in the sequence are successfully placed.\nFails if: Any feature in the sequence fails to be placed. Features that have not yet been placed at the time of failure are skipped.","type":"object","additionalProperties":false,"required":["description","features"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"features":{"title":"Features","description":"List of features to be placed in sequence. The output position of the previous feature is used as the input position to the next.","type":"array","minItems":1,"items":{"title":"Feature","description":"A feature to be placed in sequence. The output position of the previous feature is used as the input position to the next.","$ref":"#/definitions/C"}}}},"BJ_block_side":{"oneOf":[{"type":"string"},{"type":"array","items":{"title":"Block Side","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"}}]},"BJ":{"title":"Single Block Feature","description":"`minecraft:single_block_feature` places a single block in the world. The `may_place_on` and `may_replace` fields are allowlists which specify where the block can be placed. If these fields are omitted, the block can be placed anywhere. The block's internal survivability and placement rules can optionally be enforced with the `enforce_survivability_rules` and `enforce_placement_rules` fields. These rules are specified per-block and are typically designed to produce high quality gameplay or natural behavior. However, enabling this enforcement may make it harder to debug placement failures.\n Succeeds if: The block is successfully placed in the world.\n Fails if: The block fails to be placed.","type":"object","additionalProperties":false,"required":["description","places_block","enforce_placement_rules","enforce_survivability_rules"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"places_block":{"title":"Places Block","description":"Reference to the block to be placed.","type":"string","$ref":"#/definitions/E"},"enforce_placement_rules":{"title":"Enforce Placement Rules","description":"If true, enforce the block's canPlace check.","type":"boolean"},"enforce_survivability_rules":{"title":"Enforce Survivability Rules","description":"If true, enforce the block's canSurvive check.","type":"boolean"},"may_attach_to":{"title":"May Attach To","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"min_sides_must_attach":{"title":"Minimum Sides Must Attach","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","minimum":1,"maximum":4},"auto_rotate":{"title":"Auto Rotate","description":"Automatically rotate the block to attach sensibly."},"top":{"title":"Top","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/BJ_block_side"},"bottom":{"title":"Bottom","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/BJ_block_side"},"north":{"title":"North","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/BJ_block_side"},"south":{"title":"South","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/BJ_block_side"},"east":{"title":"East","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/BJ_block_side"},"west":{"title":"West","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/BJ_block_side"},"all":{"title":"All","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/BJ_block_side"},"sides":{"title":"Sides","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/BJ_block_side"}}},"may_replace":{"title":"May Replace","description":"A list of blocks that may be replaced during placement. Omit this field to allow any block to be replaced.","type":"array","additionalProperties":false,"items":{"title":"Block","description":"A block that may be replaced during placement. Omit this field to allow any block to be replaced.","type":"string","$ref":"#/definitions/E"}}}},"CA":{"title":"Snap To Surface Feature","description":"`minecraft:snap_to_surface_feature` snaps the y-value of a feature placement pos to the floor or the ceiling within the provided `vertical_search_range`. The placement biome is preserved. \nIf the snap position goes outside of the placement biome, placement will fail.","type":"object","additionalProperties":false,"required":["description","feature_to_snap","vertical_search_range"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"feature_to_snap":{"title":"Feature to snap","description":"Named reference of feature to be snapped.","type":"string","$ref":"#/definitions/C"},"vertical_search_range":{"title":"Vertical search range","description":"Range to search for a floor or ceiling for snaping the feature.","type":"number"},"surface":{"title":"Surface","description":"Defines the surface that the y-value of the placement position will be snapped to. Valid values: `ceiling` and `floor'","type":"string","enum":["ceiling","floor"]}}},"CB":{"title":"Structure Template Feature","description":"`minecraft:structure_template_feature` places a structure in the world. The structure must be stored as a .mcstructure file in the `structures` subdirectory of a behavior pack. It is possible to reference structures that are part of other behavior packs, they do not need to come from the same behavior pack as this feature. Constraints can be defined to specify where the structure is allowed to be placed. During placement, the feature will search for a position within the 'adjustment_radius' that satisfies all constraints. If none are found, the structure will not be placed.\nSucceeds if: The structure is placed in the world.\nFails if: The structure fails to be placed within the world.","type":"object","additionalProperties":false,"required":["description","structure_name","constraints"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"structure_name":{"title":"Structure Name","description":"Reference to the structure to be placed.","type":"string"},"adjustment_radius":{"title":"Adjustment Radius","description":"How far the structure is allowed to move when searching for a valid placement position. Search is radial, stopping when the nearest valid position is found. Defaults to 0 if omitted.","type":"integer","minimum":0,"maximum":16},"facing_direction":{"title":"Facing Direction","description":"Direction the structure will face when placed in the world. Defaults to `random` if omitted.","type":"string","enum":["north","south","east","west","random"]},"constraints":{"title":"","description":"Specific constraints that must be satisfied when placing this structure.","type":"object","additionalProperties":false,"properties":{"grounded":{"title":"Grounded","description":"When specified, ensures the structure is on the ground.","type":"object","additionalProperties":false,"properties":{}},"unburied":{"title":"Unburied","description":"When specified, ensures the structure has air above it.","type":"object","additionalProperties":false,"properties":{}},"block_intersection":{"title":"Unburied","description":"When specified, ensures the structure has air above it.","type":"object","additionalProperties":false,"properties":{"block_allowlist":{"title":"Block Allowlist","description":"List of blocks the owning structure is allowed to intersect with.","type":"array","items":{"title":"Block","type":"string","$ref":"#/definitions/E"}},"block_whitelist":{"title":"Block Whitelist","description":"List of blocks the owning structure is allowed to intersect with.","type":"array","items":{"title":"Block","type":"string","$ref":"#/definitions/E"}}}}}}}},"CC_branch_canopy":{"title":"branch_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"acacia_canopy":{"title":"acacia_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_size":{"title":"canopy_size","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"simplify_canopy":{"title":"simplify_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"}}},"canopy":{"title":"canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_offset":{"title":"canopy_offset","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"min":{"title":"min","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer"},"max":{"title":"max","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer"}}},"min_width":{"title":"min_width","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"canopy_slope":{"title":"canopy_slope","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"rise":{"title":"rise","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"run":{"title":"run","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1}}},"variation_chance":{"title":"variation_chance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"$ref":"#/definitions/CD"},{"type":"number","items":{"title":"variation_chance","$ref":"#/definitions/CD"}}]},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"canopy_decoration":{"title":"canopy_decoration","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"decoration_chance":{"title":"decoration_chance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/CD"},"decoration_block":{"title":"decoration_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"num_steps":{"title":"num_steps","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"step_direction":{"title":"step_direction","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","enum":["down","up","out","away"]}}}}},"fancy_canopy":{"title":"fancy_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"height":{"title":"height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"radius":{"title":"radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"mega_canopy":{"title":"mega_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"base_radius":{"title":"base_radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":0},"core_width":{"title":"core_width","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":1},"simplify_canopy":{"title":"simplify_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"mega_pine_canopy":{"title":"mega_pine_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"base_radius":{"title":"base_radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"radius_step_modifier":{"title":"radius_step_modifier","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":0.0},"core_width":{"title":"core_width","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"pine_canopy":{"title":"pine_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"base_radius":{"title":"base_radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"roofed_canopy":{"title":"roofed_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":3},"core_width":{"title":"core_width","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"outer_radius":{"title":"outer_radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"inner_radius":{"title":"inner_radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"spruce_canopy":{"title":"spruce_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"lower_offset":{"title":"lower_offset","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"upper_offset":{"title":"upper_offset","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"max_radius":{"title":"max_radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}}}},"CD":{"additionalProperties":false,"type":"object","title":"Chance Information","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"numerator":{"type":"number","minimum":1,"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Numerator"},"denominator":{"type":"number","minimum":1,"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Denominator"}}},"CC":{"title":"Structure Template Feature","description":"Feature type 'minecraft:tree_feature' has not yet been documented.","type":"object","additionalProperties":false,"required":["description"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"base_block":{"title":"Base Block","oneOf":[{"$ref":"#/definitions/E"},{"type":"array","items":{"title":"Block","$ref":"#/definitions/E"}}]},"base_cluster":{"title":"base_cluster","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["may_replace","num_clusters","cluster_radius"],"properties":{"may_replace":{"title":"May Replace","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/E"}},"num_clusters":{"title":"Num Clusters","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"cluster_radius":{"title":"Clusters Radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}},"may_grow_on":{"title":"May grow on","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/E"}},"may_replace":{"title":"May grow on","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/E"}},"may_grow_through":{"title":"May grow on","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/E"}},"acacia_trunk":{"title":"Acacia Trunk","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"trunk_width":{"title":"Trunk Width","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"trunk_height":{"title":"Trunk Height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"base":{"title":"Base","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"intervals":{"title":"Intervals","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","minItems":1,"items":{"type":"integer","minimum":1}},"min_height_for_canopy":{"title":"Minimum Height For Canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1}}},"trunk_lean":{"allow_diagonal_growth":{"title":"Allow Diagonal Growth","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"lean_height":{"title":"Lean Height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"},"lean_steps":{"title":"Lean Steps","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"},"lean_length":{"title":"Lean Length","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"}},"trunk_block":{"title":"Trunk Block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"branches":{"title":"Branches","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"branch_length":{"title":"Branch Length","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":0},"branch_position":{"title":"Branch Position","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":0},"branch_chance":{"title":"Branch Chance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/CD"},"branch_canopy":{"title":"branch_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/CC_branch_canopy"},"trunk_decoration":{"title":"trunk_decoration","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"decoration_chance":{"title":"decoration_chance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/CD"},"decoration_block":{"title":"decoration_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"num_steps":{"title":"num_steps","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"step_direction":{"title":"step_direction","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","enum":["down","up","out","away"]}}}}}}},"fallen_trunk":{"title":"fallen_trunk","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"log_length":{"title":"log_length","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"stump_height":{"title":"stump_height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"height_modifier":{"title":"height_modifier","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"trunk_block":{"title":"trunk_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"log_decoration_feature":{"title":"log_decoration_feature","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/C"},"trunk_decoration":{"title":"trunk_decoration","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"decoration_chance":{"title":"decoration_chance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/CD"},"decoration_block":{"title":"decoration_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"num_steps":{"title":"num_steps","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer"},"step_direction":{"title":"step_direction","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","enum":["down","up","out","away"]}}}}},"fancy_trunk":{"title":"fancy_trunk","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"trunk_height":{"title":"trunk_height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"base":{"title":"base","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"variance":{"title":"variance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"scale":{"title":"scale","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number"}}},"trunk_width":{"title":"trunk_width","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"branches":{"title":"branches","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"slope":{"title":"slope","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number"},"density":{"title":"density","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number"},"min_altitude_factor":{"title":"min_altitude_factor","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":0.0,"maximum":1.0}}},"trunk_block":{"title":"trunk_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"width_scale":{"title":"width_scale","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":0.0},"foliage_altitude_factor":{"title":"foliage_altitude_factor","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":0.0,"maximum":1.0}}},"mega_trunk":{"title":"mega_trunk","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"trunk_width":{"title":"trunk_width","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer"},"trunk_height":{"title":"trunk_height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"base":{"title":"base","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"intervals":{"title":"intervals","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"title":"items","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}}},"trunk_block":{"title":"trunk_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"trunk_decoration":{"title":"trunk_decoration","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"decoration_chance":{"title":"decoration_chance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/CD"},"decoration_block":{"title":"decoration_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"num_steps":{"title":"num_steps","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer"},"step_direction":{"title":"step_direction","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","enum":["down","up","out","away"]}}},"branches":{"title":"branches","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"branch_length":{"title":"branch_length","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"branch_slope":{"title":"branch_slope","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number"},"branch_interval":{"title":"","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"branch_altitude_factor":{"title":"branch_altitude_factor","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"min":{"title":"min","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":0.0,"maximum":1.0},"max":{"title":"max","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":0.0,"maximum":1.0}}},"branch_canopy":{"title":"branch_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/CC_branch_canopy"}}}}},"trunk":{"title":"trunk","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"trunk_height":{"title":"trunk_height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"height_modifier":{"title":"height_modifier","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"can_be_submerged":{"title":"can_be_submerged","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"type":"object","additionalProperties":false,"properties":{"max_depth":{"title":"max_depth","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1}}},{"title":"can_be_submerged","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"}]},"trunk_block":{"title":"trunk_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"trunk_decoration":{"title":"trunk_decoration","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"decoration_chance":{"title":"decoration_chance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/CD"},"decoration_block":{"title":"decoration_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"num_steps":{"title":"num_steps","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer"},"step_direction":{"title":"step_direction","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","enum":["down","up","out","away"]}}}}},"acacia_canopy":{"title":"acacia_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_size":{"title":"canopy_size","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"simplify_canopy":{"title":"simplify_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"}}},"canopy":{"title":"canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_offset":{"title":"canopy_offset","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"min":{"title":"min","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer"},"max":{"title":"max","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer"}}},"min_width":{"title":"min_width","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"canopy_slope":{"title":"canopy_slope","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"rise":{"title":"rise","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"run":{"title":"run","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1}}},"variation_chance":{"title":"variation_chance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"$ref":"#/definitions/CD"},{"type":"number","items":{"title":"variation_chance","$ref":"#/definitions/CD"}}]},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"canopy_decoration":{"title":"canopy_decoration","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"decoration_chance":{"title":"decoration_chance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/CD"},"decoration_block":{"title":"decoration_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"num_steps":{"title":"num_steps","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"step_direction":{"title":"step_direction","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","enum":["down","up","out","away"]}}}}},"fancy_canopy":{"title":"fancy_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"height":{"title":"height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"radius":{"title":"radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"mega_canopy":{"title":"mega_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"base_radius":{"title":"base_radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":0},"core_width":{"title":"core_width","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":1},"simplify_canopy":{"title":"simplify_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"mega_pine_canopy":{"title":"mega_pine_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"base_radius":{"title":"base_radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"radius_step_modifier":{"title":"radius_step_modifier","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":0.0},"core_width":{"title":"core_width","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"pine_canopy":{"title":"pine_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"base_radius":{"title":"base_radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"roofed_canopy":{"title":"roofed_canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":3},"core_width":{"title":"core_width","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"outer_radius":{"title":"outer_radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"inner_radius":{"title":"inner_radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"spruce_canopy":{"title":"Spruce Canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"lower_offset":{"title":"lower_offset","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"upper_offset":{"title":"upper_offset","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"max_radius":{"title":"max_radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"leaf_block":{"title":"leaf_block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"}}},"random_spread_canopy":{"title":"Random Spread Canopy","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"canopy_height":{"title":"canopy_height","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"canopy_radius":{"title":"canopy_radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"leaf_placement_attempts":{"title":"leaf_placement_attempts","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":1},"leaf_blocks":{"title":"leaf_blocks","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","additionalProperties":false,"items":{"title":"items","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","additionalProperties":false,"items":[{"type":"integer"},{"type":"number"}]}}}}}},"CE":{"title":"Underwater Cave Carver Feature","description":"'minecraft:underwater_cave_carver_feature' carves a cave through the world in the current chunk, and in every chunk around the current chunk in an 8 radial pattern.This feature will specifically target creating caves only below sea level.\nThis feature will also only work when placed specifically in the pass `pregeneration_pass`.","type":"object","additionalProperties":false,"required":["description"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"fill_with":{"title":"Fill with","description":"Reference to the block to fill the cave with.","type":"string","$ref":"#/definitions/E"},"width_modifier":{"title":"Width Modifier","description":"How many blocks to increase the cave radius by, from the center point of the cave.","$ref":"#/definitions/G"},"replace_air_with":{"title":"Replace air with","description":"Reference to the block to replace air blocks with.","type":"string","$ref":"#/definitions/E"}}},"CF":{"title":"Vegetation Patch Feature","description":"Feature type `minecraft:vegetation_patch_feature` has not yet been documented.","type":"object","additionalProperties":false,"required":["description"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"replaceable_blocks":{"title":"Replaceable Blocks","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Replace block","type":"string","$ref":"#/definitions/E"}},"ground_block":{"title":"Ground Block","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/E"},"vegetation_feature":{"title":"Vegetation Feature","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string","$ref":"#/definitions/C"},"surface":{"title":"Surface","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"},"depth":{"title":"Depth","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"extra_deep_block_chance":{"title":"Extra Deep Block Chance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":0},"vertical_range":{"title":"Vertical Range","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"vegetation_chance":{"title":"Vegatation Chance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":0},"horizontal_radius":{"title":"Horizontal Radius","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"extra_edge_column_chance":{"title":"Extra Egde Column Chance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number","minimum":0},"waterlogged":{"title":"Waterlogged","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"}}},"CG":{"title":"Weighted Random Feature","description":"'minecraft:weighted_random_feature' randomly selects and places a feature based on a weight value. Weights are relative, with higher values making selection more likely.\nSucceeds if: The selected feature is placed.\nFails if: The selected feature fails to be placed.","type":"object","additionalProperties":false,"required":["description","features"],"properties":{"description":{"title":"Description","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","required":["identifier"],"properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"features":{"title":"Features","description":" Collection of weighted features that placement will select from.","type":"array","minItems":1,"items":{"title":"Feature","description":"Named reference to a feature.","type":"array","items":[{"title":"Feature","description":"Named reference to a feature.","$ref":"#/definitions/C"},{"title":"Weight","description":"Weight used in random selection. Value is relative to other weights in the collection.","type":"number"}]}}}},"A":{"type":"object","title":"Features 1.13.0","description":"Features are decorations scattered throughout the world. Things such as trees, plants, flowers, springs, ore, and coral are all features. Basically, if it isn't the terrain or a mob, it's probably a feature!","additionalProperties":false,"required":["format_version"],"minProperties":2,"maxProperties":2,"properties":{"format_version":{"const":"1.13.0","description":"Specifies the version of the game this entity was made in. Minimum supported version is 1.13.0. Current supported version is 1.13.0.","title":"Format Version"},"minecraft:aggregate_feature":{"$ref":"#/definitions/B"},"minecraft:beards_and_shavers":{"$ref":"#/definitions/D"},"minecraft:cave_carver_feature":{"$ref":"#/definitions/F"},"minecraft:conditional_list":{"$ref":"#/definitions/H"},"minecraft:geode_feature":{"$ref":"#/definitions/J"},"minecraft:growing_plant_feature":{"$ref":"#/definitions/BA"},"minecraft:hell_cave_carver_feature":{"$ref":"#/definitions/BB"},"minecraft:multiface_feature":{"$ref":"#/definitions/BC"},"minecraft:ore_feature":{"$ref":"#/definitions/BD"},"minecraft:rect_layout":{"$ref":"#/definitions/BE"},"minecraft:scan_surface":{"$ref":"#/definitions/BF"},"minecraft:scatter_feature":{"$ref":"#/definitions/BG"},"minecraft:search_feature":{"$ref":"#/definitions/BH"},"minecraft:sequence_feature":{"$ref":"#/definitions/BI"},"minecraft:single_block_feature":{"$ref":"#/definitions/BJ"},"minecraft:snap_to_surface_feature":{"$ref":"#/definitions/CA"},"minecraft:structure_template_feature":{"$ref":"#/definitions/CB"},"minecraft:tree_feature":{"$ref":"#/definitions/CC"},"minecraft:underwater_cave_carver_feature":{"$ref":"#/definitions/CE"},"minecraft:vegetation_patch_feature":{"$ref":"#/definitions/CF"},"minecraft:weighted_random_feature":{"$ref":"#/definitions/CG"}}},"CH":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}}} \ No newline at end of file diff --git a/behavior/functions/tick.json b/behavior/functions/tick.json index f9f3cd89..40a80b0f 100644 --- a/behavior/functions/tick.json +++ b/behavior/functions/tick.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","title":"Tick","description":"Mcfunction that are to be called per game tick (20 times per second)","additionalProperties":false,"examples":[{"values":["foo"]}],"properties":{"values":{"title":"Values","description":"The collection of function path to execute","type":"array","items":{"title":"Function path","description":"The path to the function","type":"string","pattern":"[a-zA-Z_\\-\\/ ]+","examples":["foo","folder/foo"]}}},"definitions":{}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","title":"Tick","description":"Mcfunction that are to be called per game tick (20 times per second).","additionalProperties":false,"examples":[{"values":["foo"]}],"properties":{"values":{"title":"Values","description":"The collection of function path to execute.","type":"array","items":{"title":"Function path","description":"The path to the function.","type":"string","pattern":"[a-zA-Z_\\-\\/ ]+","examples":["foo","folder/foo"]}}},"definitions":{}} \ No newline at end of file diff --git a/behavior/items/items.json b/behavior/items/items.json index 22332e7d..4572e85f 100644 --- a/behavior/items/items.json +++ b/behavior/items/items.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.behavior.items","description":"Minecraft items 1.16.200","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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${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":{"title":"Armor","description":"The armor item component determines the amount of protection you have in your armor item.","type":"object","additionalProperties":false,"required":["protection","texture_type"],"properties":{"protection":{"type":"integer","description":"How much protection does the armor item have.","title":"Protection","minimum":0},"texture_type":{"type":"string","default":"gold","description":"Texture Type to apply for the armor. Note that Horse armor is restricted to leather, iron, gold, or diamond.","title":"Texture Type","enum":["gold","none","leather","chain","iron","diamond","elytra","turtle","netherite"]}}},"E_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/F"}}},"F":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"E":{"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/E_use_on_item"}}}},"G":{"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"}}},"H":{"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","description":"Speed","type":"number"},"on_dig":{"type":"string","title":"On Dig","description":"Trigger for when you dig a block that isn't listed in destroy_speeds"},"block":{"title":"Block","oneOf":[{"type":"string","description":"The block identifier"},{"type":"object","additionalProperties":false,"description":"Block descriptor","properties":{"any_tag":{"type":"array","title":"Any Block Tag","description":"The block tag","items":{"type":"string","title":"Block Tag"}}}}]}}}},"on_dig":{"type":"string","title":"On Dig","description":"Trigger for when you dig a block that isn't listed in destroy_speeds"}}},"I":{"title":"Display Name","description":"Display Name item component. Display Names display the name of an item.","type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"string","title":"Value","description":"Set the display name for an item."}}},"J":{"title":"Durability","description":"Durability item component: how much damage can this item take before breaking.","type":"object","additionalProperties":false,"required":["damage_chance"],"properties":{"damage_chance":{"type":"object","title":"Damange Chance","description":"Damange chance","additionalProperties":false,"required":["min","max"],"properties":{"min":{"title":"Min","type":"integer","description":"The minimum"},"max":{"title":"Max","type":"integer","description":"The minimum"}}},"max_durability":{"title":"Maximum Durability","description":"Maximum durability is the amount of damage that this item can take before breaking.","type":"number"}}},"BA":{"title":"Dye Powder","description":"Dye powder, there are 16 kinds of dye.","type":"object","additionalProperties":false,"required":["color"],"properties":{"color":{"type":"string","title":"Color","description":"Defines what color the dye is.","enum":["black","red","green","brown","blue","purple","cyan","silver","gray","pink","lime","yellow","lightblue","magenta","orange","white"]}}},"BB":{"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":"Dispense On","description":"UNDOCUMENTED","$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":"Use On","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}}},"BC":{"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"},"on_consume":{"title":"On Consume","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"event":{"type":"string","title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["self"]}}},"is_meat":{"title":"Is Meat","description":"If true, this food item is considered meat.","type":"boolean","default":false}},"saturation_modifier":{"title":"Saturation Modifier","description":"Saturation Modifier is used in this formula: (nutrition * saturation_modifier * 2) when appling the saturation buff. Which happens when you eat the item.","oneOf":[{"type":"number"},{"type":"string","enum":["poor","low"]}]},"using_converts_to":{"title":"Using Converts To","description":"When used, convert the *this* item to the one specified by `using_converts_to`.","type":"string"},"effects":{"title":"Effects","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Effect","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"name":{"title":"Name","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"},"duration":{"type":"integer","default":0,"minimum":0,"description":"The duration of the effect.","$comment":"UNDOCUMENTED"},"amplifier":{"type":"integer","default":0,"minimum":0,"description":"The amplifier of the effect.","$comment":"UNDOCUMENTED"}}}}},"BD":{"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."}}},"BE":{"additionalProperties":false,"required":["texture"],"type":"boolean","title":"Hand Equipped","description":"Is this a hand equipped item."},"BF":{"title":"Icon","description":"The icon item componenent determines the icon to represent the item in the UI and elsewhere.","type":"object","additionalProperties":false,"required":["texture"],"properties":{"frame":{"type":"string","title":"Frame","description":"An index or expression for which frame of the icon to display. Default resolves to 0.","default":0},"legacy_id":{"type":"string","title":"Texture","description":"Legacy texture id for older item icons."},"texture":{"type":"string","title":"Texture","description":"The key from the resource_pack/textures/item_texture.json `texture_data` object associated with the texture file Example: blaze_powder."}}},"BG":{"title":"Knockback Resistance","description":"Knockback Resistance Item. Component put on items that provide knockback resistance.","type":"object","additionalProperties":false,"required":["protection"],"properties":{"protection":{"title":"Protection","description":"Amount of knockback resistance provided with the total maximum protection being 1.0","type":"number"}}},"BH":{"additionalProperties":false,"type":"integer","title":"Max Damage","description":"Maximum Damage","$comment":"UNDOCUMENTED","minimum":0},"BI":{"additionalProperties":false,"required":["texture"],"type":"integer","title":"Max Stack Size","description":"Maximum stack size.","minimum":0},"BJ":{"title":"On Use On","description":"The on_use_on item component allows you to receive an event when the item is used on a block in the world.","type":"object","additionalProperties":false,"required":["on_use_on"],"properties":{"on_use":{"title":"On Use","description":"Event trigger for when the item is used.","type":"object","additionalProperties":false,"properties":{"event":{"type":"string","title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["block"]}}}}},"CA":{"title":"On Use","description":"The on_use item component allows you to receive an event when the item is used.","type":"object","additionalProperties":false,"required":["on_use"],"properties":{"on_use":{"title":"On Use","description":"Event trigger for when the item is used.","type":"object","additionalProperties":false,"properties":{"event":{"type":"string","title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["self"]}}}}},"CB":{"title":"Projectile","description":"Projectile item component. projectile items shoot out, like an arrow.","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"}}},"CC_offset_spec":{"type":"object","title":"Offset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"first_person":{"title":"First Person","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CC_mode"},"thrid_person":{"title":"Thrid Person","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CC_mode"}}},"CC_mode":{"type":"object","title":"Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"position":{"title":"Position","description":"The position transformation","$ref":"#/definitions/CC_vec3"},"rotation":{"title":"Rotation","description":"The rotation transformation","$ref":"#/definitions/CC_vec3"},"scale":{"title":"Scale","description":"The scale transformation","$ref":"#/definitions/CC_vec3"}}},"CC_vec3":{"type":"array","title":"Vector","description":"X Y Z","items":[{"title":"X","description":"The X tranformation","type":"number"},{"title":"Y","description":"The Y tranformation","type":"number"},{"title":"Z","description":"The Z tranformation","type":"number"}]},"CC":{"title":"Render Offsets","description":"Render offsets component: optional values can be given to offset the way the item is rendered.","type":"object","additionalProperties":false,"properties":{"main_hand":{"title":"Main Hand","description":"Right hand transform data.","type":"string"},"off_hand":{"title":"Off Hand","description":"Left hand transform data.","type":"string"}}},"CE":{"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"}]},"CD":{"title":"Repairable","description":"Repairable item component: how much damage can this item repair, what items can repair it.","type":"object","additionalProperties":false,"properties":{"on_repaired":{"title":"On Repaired","description":"Event that is called when this item has been repaired.","type":"object"},"repair_items":{"title":"Repair Items","description":"Repair item entries.","type":"array","items":{"type":"object","title":"Repar Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"items":{"title":"Items","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"type":"string","title":"Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"repair_amount":{"title":"Repair Amount","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CE"}}}}}},"CF":{"title":"Shooter","description":"Shooter Item Component.","type":"object","additionalProperties":false,"properties":{"ammunition":{"title":"Ammunition","description":"Ammunition","type":"array","items":{"type":"object","title":"Ammunition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"item":{"title":"Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"},"use_offhand":{"title":"Use Offhand","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"search_inventory":{"title":"Search Inventory","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"use_in_creative":{"title":"Use In Creative","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"}}}},"charge_on_draw":{"title":"Charge On Draw","description":"Charge on draw? Default is set to false.","default":false,"type":"boolean"},"launch_power_scale":{"title":"Launch Power Scale","description":"Launch power scale. Default is set to 1.0.","default":1.0,"type":"number"},"max_draw_duration":{"title":"Maximum Draw Duration","description":"Draw Duration. Default is set to 0.","default":0,"type":"number"},"max_launch_power":{"title":"Maximum Launch Power","description":"Launch power. Default is set to 1.0.","default":0,"type":"number"},"scale_power_by_draw_duration":{"title":"Scale Power By Draw Duration","description":"Scale power by draw duration? Default is set to false.","default":false,"type":"boolean"}}},"CG":{"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"}}},"CH":{"additionalProperties":false,"required":["texture"],"type":"integer","title":"Use Duration","description":"How long to use before item is done being used."},"CI":{"title":"Weapon","description":"Weapon Item Component. Added to every weapon item such as axe, sword, trident, bow, crossbow.","type":"object","additionalProperties":false,"properties":{"on_hit_block":{"title":"On Hit Block","description":"Trigger for letting you know when this item is used to hit a block","type":"object","additionalProperties":false,"event":{"type":"string","title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["self"]}},"on_hurt_entity":{"title":"On Hurt Entity","description":"Trigger for letting you know when this item is used to hurt another mob","type":"object","additionalProperties":false,"event":{"type":"string","title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["self","holder"]}},"on_not_hurt_entity":{"title":"On Not Hurt Entity","description":"Trigger for letting you know when this item hit another actor, but didn't do damage","type":"object","additionalProperties":false,"event":{"type":"string","title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["self"]}}}},"CJ":{"title":"Wearable","description":"Wearable item component.","type":"object","additionalProperties":false,"properties":{"dispensable":{"title":"Dispensable","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"slot":{"title":"Slot","description":"equipment_slot: slot.weapon.mainhand, slot.weapon.offhand, slot.armor.head, slot.armor.chest, slot.armor.legs, slot.armor.feet, slot.hotbar, slot.inventory, slot.enderchest, slot.saddle, slot.armor, slot.chest","type":"string","enum":["slot.weapon.mainhand","none","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"]}}},"DA_event_base":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"$ref":"#/definitions/DA_event_functions","properties":{"sequence":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/DA_event_functions"}},"randomize":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/DA_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"]}}}}},"DA_event_functions":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","properties":{"add_mob_effect":{"$ref":"#/definitions/DB"},"damage":{"$ref":"#/definitions/DC"},"decrement_stack":{"$ref":"#/definitions/DD"},"remove_mob_effect":{"$ref":"#/definitions/DE"},"shoot":{"$ref":"#/definitions/DF"},"swing":{"$ref":"#/definitions/DG"},"teleport":{"$ref":"#/definitions/DH"},"transform_item":{"$ref":"#/definitions/DI"}}},"DB":{"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"}}},"DC":{"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"}}},"DD":{"title":"Decrement Stack","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"DE":{"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"]}}},"DF":{"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"}}},"DG":{"title":"Swing","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"DH":{"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"}]}}},"DI":{"title":"Transform Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"transform":{"title":"Transform","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}},"DA":{"title":"Events","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","properties":{"on_consume":{"$ref":"#/definitions/DA_event_base"}},"additionalProperties":{"$ref":"#/definitions/DA_event_base"}},"B":{"additionalProperties":false,"required":["description"],"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Item","properties":{"description":{"additionalProperties":false,"type":"object","title":"Description","description":"UNDOCUMENTED","$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"},"category":{"type":"string","default":"","description":"The category for this item. Categories are used to control high level properties of how the item is integrated into the bedrock engine, such as whether it can be used in slash commands.","title":"Category","examples":["Nature","Equipment","Construction","Items"]},"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"}}},"components":{"additionalProperties":{"type":"object"},"type":"object","description":"The components of this item","properties":{"minecraft:armor":{"$ref":"#/definitions/D"},"minecraft:block_placer":{"$ref":"#/definitions/E"},"minecraft:cooldown":{"$ref":"#/definitions/G"},"minecraft:digger":{"$ref":"#/definitions/H"},"minecraft:display_name":{"$ref":"#/definitions/I"},"minecraft:durability":{"$ref":"#/definitions/J"},"minecraft:dye_powder":{"$ref":"#/definitions/BA"},"minecraft:entity_placer":{"$ref":"#/definitions/BB"},"minecraft:food":{"$ref":"#/definitions/BC"},"minecraft:fuel":{"$ref":"#/definitions/BD"},"minecraft:hand_equipped":{"$ref":"#/definitions/BE"},"minecraft:icon":{"$ref":"#/definitions/BF"},"minecraft:knockback_resistance":{"$ref":"#/definitions/BG"},"minecraft:max_damage":{"$ref":"#/definitions/BH"},"minecraft:max_stack_size":{"$ref":"#/definitions/BI"},"minecraft:on_use_on":{"$ref":"#/definitions/BJ"},"minecraft:on_use":{"$ref":"#/definitions/CA"},"minecraft:projectile":{"$ref":"#/definitions/CB"},"minecraft:render_offsets":{"$ref":"#/definitions/CC"},"minecraft:repairable":{"$ref":"#/definitions/CD"},"minecraft:shooter":{"$ref":"#/definitions/CF"},"minecraft:stacked_by_data":{"$ref":"#/definitions/BG"},"minecraft:throwable":{"$ref":"#/definitions/CG"},"minecraft:use_duration":{"$ref":"#/definitions/CH"},"minecraft:weapon":{"$ref":"#/definitions/CI"},"minecraft:wearable":{"$ref":"#/definitions/CJ"}}},"events":{"$ref":"#/definitions/DA"}}}}} \ No newline at end of file +{"$id":"blockception.minecraft.behavior.items","description":"Minecraft items 1.16.200","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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${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":{"title":"Armor","description":"The armor item component determines the amount of protection you have in your armor item.","type":"object","additionalProperties":false,"required":["protection","texture_type"],"properties":{"protection":{"type":"integer","description":"How much protection does the armor item have.","title":"Protection","minimum":0},"texture_type":{"type":"string","default":"gold","description":"Texture Type to apply for the armor. Note that Horse armor is restricted to leather, iron, gold, or diamond.","title":"Texture Type","enum":["gold","none","leather","chain","iron","diamond","elytra","turtle","netherite"]}}},"E_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/F"}}},"F":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"E":{"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/E_use_on_item"}}}},"G":{"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"}}},"H":{"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","description":"Speed.","type":"number"},"on_dig":{"type":"string","title":"On Dig","description":"Trigger for when you dig a block that isn't listed in destroy_speeds."},"block":{"title":"Block","oneOf":[{"type":"string","description":"The block identifier."},{"type":"object","additionalProperties":false,"description":"Block descriptor.","properties":{"any_tag":{"type":"array","title":"Any Block Tag","description":"The block tag.","items":{"type":"string","title":"Block Tag"}}}}]}}}},"on_dig":{"type":"string","title":"On Dig","description":"Trigger for when you dig a block that isn't listed in destroy_speeds."}}},"I":{"title":"Display Name","description":"Display Name item component. Display Names display the name of an item.","type":"object","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"string","title":"Value","description":"Set the display name for an item."}}},"J":{"title":"Durability","description":"Durability item component: how much damage can this item take before breaking.","type":"object","additionalProperties":false,"required":["damage_chance"],"properties":{"damage_chance":{"type":"object","title":"Damange Chance","description":"Damange chance.","additionalProperties":false,"required":["min","max"],"properties":{"min":{"title":"Min","type":"integer","description":"The minimum."},"max":{"title":"Max","type":"integer","description":"The minimum."}}},"max_durability":{"title":"Maximum Durability","description":"Maximum durability is the amount of damage that this item can take before breaking.","type":"number"}}},"BA":{"title":"Dye Powder","description":"Dye powder, there are 16 kinds of dye.","type":"object","additionalProperties":false,"required":["color"],"properties":{"color":{"type":"string","title":"Color","description":"Defines what color the dye is.","enum":["black","red","green","brown","blue","purple","cyan","silver","gray","pink","lime","yellow","lightblue","magenta","orange","white"]}}},"BB":{"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":"Dispense On","description":"UNDOCUMENTED.","$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":"Use On","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}}},"BC":{"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"},"on_consume":{"title":"On Consume","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"event":{"type":"string","title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["self"]}}},"is_meat":{"title":"Is Meat","description":"If true, this food item is considered meat.","type":"boolean","default":false}},"saturation_modifier":{"title":"Saturation Modifier","description":"Saturation Modifier is used in this formula: (nutrition * saturation_modifier * 2) when appling the saturation buff. Which happens when you eat the item.","oneOf":[{"type":"number"},{"type":"string","enum":["poor","low"]}]},"using_converts_to":{"title":"Using Converts To","description":"When used, convert the *this* item to the one specified by `using_converts_to`.","type":"string"},"effects":{"title":"Effects","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"name":{"title":"Name","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"},"duration":{"type":"integer","default":0,"minimum":0,"description":"The duration of the effect.","$comment":"UNDOCUMENTED"},"amplifier":{"type":"integer","default":0,"minimum":0,"description":"The amplifier of the effect.","$comment":"UNDOCUMENTED"}}}}},"BD":{"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."}}},"BE":{"additionalProperties":false,"required":["texture"],"type":"boolean","title":"Hand Equipped","description":"Is this a hand equipped item."},"BF":{"title":"Icon","description":"The icon item componenent determines the icon to represent the item in the UI and elsewhere.","type":"object","additionalProperties":false,"required":["texture"],"properties":{"frame":{"type":"string","title":"Frame","description":"An index or expression for which frame of the icon to display. Default resolves to 0.","default":0},"legacy_id":{"type":"string","title":"Texture","description":"Legacy texture id for older item icons."},"texture":{"type":"string","title":"Texture","description":"The key from the resource_pack/textures/item_texture.json `texture_data` object associated with the texture file Example: blaze_powder."}}},"BG":{"title":"Knockback Resistance","description":"Knockback Resistance Item. Component put on items that provide knockback resistance.","type":"object","additionalProperties":false,"required":["protection"],"properties":{"protection":{"title":"Protection","description":"Amount of knockback resistance provided with the total maximum protection being 1.0","type":"number"}}},"BH":{"additionalProperties":false,"type":"integer","title":"Max Damage","description":"Maximum Damage.","$comment":"UNDOCUMENTED","minimum":0},"BI":{"additionalProperties":false,"required":["texture"],"type":"integer","title":"Max Stack Size","description":"Maximum stack size.","minimum":0},"BJ":{"title":"On Use On","description":"The on_use_on item component allows you to receive an event when the item is used on a block in the world.","type":"object","additionalProperties":false,"required":["on_use_on"],"properties":{"on_use":{"title":"On Use","description":"Event trigger for when the item is used.","type":"object","additionalProperties":false,"properties":{"event":{"type":"string","title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["block"]}}}}},"CA":{"title":"On Use","description":"The on_use item component allows you to receive an event when the item is used.","type":"object","additionalProperties":false,"required":["on_use"],"properties":{"on_use":{"title":"On Use","description":"Event trigger for when the item is used.","type":"object","additionalProperties":false,"properties":{"event":{"type":"string","title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["self"]}}}}},"CB":{"title":"Projectile","description":"Projectile item component. projectile items shoot out, like an arrow.","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"}}},"CC_offset_spec":{"type":"object","title":"Offset","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"first_person":{"title":"First Person","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/CC_mode"},"thrid_person":{"title":"Thrid Person","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/CC_mode"}}},"CC_mode":{"type":"object","title":"Mode","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"position":{"title":"Position","description":"The position transformation.","$ref":"#/definitions/CC_vec3"},"rotation":{"title":"Rotation","description":"The rotation transformation.","$ref":"#/definitions/CC_vec3"},"scale":{"title":"Scale","description":"The scale transformation.","$ref":"#/definitions/CC_vec3"}}},"CC_vec3":{"type":"array","title":"Vector","description":"X Y Z.","items":[{"title":"X","description":"The X tranformation.","type":"number"},{"title":"Y","description":"The Y tranformation.","type":"number"},{"title":"Z","description":"The Z tranformation.","type":"number"}]},"CC":{"title":"Render Offsets","description":"Render offsets component: optional values can be given to offset the way the item is rendered.","type":"object","additionalProperties":false,"properties":{"main_hand":{"title":"Main Hand","description":"Right hand transform data.","type":"string"},"off_hand":{"title":"Off Hand","description":"Left hand transform data.","type":"string"}}},"CE":{"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"}]},"CD":{"title":"Repairable","description":"Repairable item component: how much damage can this item repair, what items can repair it.","type":"object","additionalProperties":false,"properties":{"on_repaired":{"title":"On Repaired","description":"Event that is called when this item has been repaired.","type":"object"},"repair_items":{"title":"Repair Items","description":"Repair item entries.","type":"array","items":{"type":"object","title":"Repar Item","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"items":{"title":"Items","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"type":"string","title":"Item","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"repair_amount":{"title":"Repair Amount","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/CE"}}}}}},"CF":{"title":"Shooter","description":"Shooter Item Component.","type":"object","additionalProperties":false,"properties":{"ammunition":{"title":"Ammunition","description":"Ammunition.","type":"array","items":{"type":"object","title":"Ammunition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"item":{"title":"Item","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"},"use_offhand":{"title":"Use Offhand","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"},"search_inventory":{"title":"Search Inventory","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"},"use_in_creative":{"title":"Use In Creative","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"}}}},"charge_on_draw":{"title":"Charge On Draw","description":"Charge on draw? Default is set to false.","default":false,"type":"boolean"},"launch_power_scale":{"title":"Launch Power Scale","description":"Launch power scale. Default is set to 1.0.","default":1.0,"type":"number"},"max_draw_duration":{"title":"Maximum Draw Duration","description":"Draw Duration. Default is set to 0.","default":0,"type":"number"},"max_launch_power":{"title":"Maximum Launch Power","description":"Launch power. Default is set to 1.0.","default":0,"type":"number"},"scale_power_by_draw_duration":{"title":"Scale Power By Draw Duration","description":"Scale power by draw duration? Default is set to false.","default":false,"type":"boolean"}}},"CG":{"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"}}},"CH":{"additionalProperties":false,"required":["texture"],"type":"integer","title":"Use Duration","description":"How long to use before item is done being used."},"CI":{"title":"Weapon","description":"Weapon Item Component. Added to every weapon item such as axe, sword, trident, bow, crossbow.","type":"object","additionalProperties":false,"properties":{"on_hit_block":{"title":"On Hit Block","description":"Trigger for letting you know when this item is used to hit a block.","type":"object","additionalProperties":false,"event":{"type":"string","title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["self"]}},"on_hurt_entity":{"title":"On Hurt Entity","description":"Trigger for letting you know when this item is used to hurt another mob.","type":"object","additionalProperties":false,"event":{"type":"string","title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["self","holder"]}},"on_not_hurt_entity":{"title":"On Not Hurt Entity","description":"Trigger for letting you know when this item hit another actor, but didn't do damage.","type":"object","additionalProperties":false,"event":{"type":"string","title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"Target","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["self"]}}}},"CJ":{"title":"Wearable","description":"Wearable item component.","type":"object","additionalProperties":false,"properties":{"dispensable":{"title":"Dispensable","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"},"slot":{"title":"Slot","description":"equipment_slot: slot.weapon.mainhand, slot.weapon.offhand, slot.armor.head, slot.armor.chest, slot.armor.legs, slot.armor.feet, slot.hotbar, slot.inventory, slot.enderchest, slot.saddle, slot.armor, slot.chest","type":"string","enum":["slot.weapon.mainhand","none","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"]}}},"DA_event_base":{"title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"$ref":"#/definitions/DA_event_functions","properties":{"sequence":{"title":"Sequence","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Sequence","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/DA_event_functions"}},"randomize":{"title":"Randomize","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Randomize","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/DA_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"]}}}}},"DA_event_functions":{"title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","properties":{"add_mob_effect":{"$ref":"#/definitions/DB"},"damage":{"$ref":"#/definitions/DC"},"decrement_stack":{"$ref":"#/definitions/DD"},"remove_mob_effect":{"$ref":"#/definitions/DE"},"shoot":{"$ref":"#/definitions/DF"},"swing":{"$ref":"#/definitions/DG"},"teleport":{"$ref":"#/definitions/DH"},"transform_item":{"$ref":"#/definitions/DI"}}},"DB":{"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"}}},"DC":{"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"}}},"DD":{"title":"Decrement Stack","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"DE":{"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"]}}},"DF":{"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"}}},"DG":{"title":"Swing","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"DH":{"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"}]}}},"DI":{"title":"Transform Item","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"transform":{"title":"Transform","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"}}},"DA":{"title":"Events","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","properties":{"on_consume":{"$ref":"#/definitions/DA_event_base"}},"additionalProperties":{"$ref":"#/definitions/DA_event_base"}},"B":{"additionalProperties":false,"required":["description"],"type":"object","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Item","properties":{"description":{"additionalProperties":false,"type":"object","title":"Description","description":"UNDOCUMENTED.","$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"},"category":{"type":"string","default":"","description":"The category for this item. Categories are used to control high level properties of how the item is integrated into the bedrock engine, such as whether it can be used in slash commands.","title":"Category","examples":["Nature","Equipment","Construction","Items"]},"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"}}},"components":{"additionalProperties":{"type":"object"},"type":"object","description":"The components of this item.","properties":{"minecraft:armor":{"$ref":"#/definitions/D"},"minecraft:block_placer":{"$ref":"#/definitions/E"},"minecraft:cooldown":{"$ref":"#/definitions/G"},"minecraft:digger":{"$ref":"#/definitions/H"},"minecraft:display_name":{"$ref":"#/definitions/I"},"minecraft:durability":{"$ref":"#/definitions/J"},"minecraft:dye_powder":{"$ref":"#/definitions/BA"},"minecraft:entity_placer":{"$ref":"#/definitions/BB"},"minecraft:food":{"$ref":"#/definitions/BC"},"minecraft:fuel":{"$ref":"#/definitions/BD"},"minecraft:hand_equipped":{"$ref":"#/definitions/BE"},"minecraft:icon":{"$ref":"#/definitions/BF"},"minecraft:knockback_resistance":{"$ref":"#/definitions/BG"},"minecraft:max_damage":{"$ref":"#/definitions/BH"},"minecraft:max_stack_size":{"$ref":"#/definitions/BI"},"minecraft:on_use_on":{"$ref":"#/definitions/BJ"},"minecraft:on_use":{"$ref":"#/definitions/CA"},"minecraft:projectile":{"$ref":"#/definitions/CB"},"minecraft:render_offsets":{"$ref":"#/definitions/CC"},"minecraft:repairable":{"$ref":"#/definitions/CD"},"minecraft:shooter":{"$ref":"#/definitions/CF"},"minecraft:stacked_by_data":{"$ref":"#/definitions/BG"},"minecraft:throwable":{"$ref":"#/definitions/CG"},"minecraft:use_duration":{"$ref":"#/definitions/CH"},"minecraft:weapon":{"$ref":"#/definitions/CI"},"minecraft:wearable":{"$ref":"#/definitions/CJ"}}},"events":{"$ref":"#/definitions/DA"}}}}} \ No newline at end of file diff --git a/behavior/loot_tables/loot_tables.json b/behavior/loot_tables/loot_tables.json index 34013f18..e1d47a59 100644 --- a/behavior/loot_tables/loot_tables.json +++ b/behavior/loot_tables/loot_tables.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.loot_tables","additionalProperties":false,"description":"A minecraft loot table","title":"Loot Table","type":"object","examples":[{"pools":[{"rolls":1,"entries":[{"type":"item","name":"minecraft:spawn_egg","weight":1,"functions":[{"function":"set_count","count":{"min":1,"max":1}},{"function":"set_actor_id"}]}]}]}],"definitions":{"pools_spec":{"title":"Pools","description":"A collection of items where the system will choice one or more from","$comment":"UNDOCUMENTED","type":"array","additionalProperties":false,"items":{"additionalProperties":false,"title":"A Single Pool","type":"object","properties":{"rolls":{"title":"Rolls","description":"Determines how many items, will be selected","$comment":"UNDOCUMENTED","oneOf":[{"type":"integer","minimum":0},{"type":"object","required":["min","max"],"properties":{"min":{"title":"Minimum","type":"number","minimum":0,"description":"The minimum amount"},"max":{"title":"Maximum","type":"number","minimum":1,"description":"The maximum amount"}}}]},"type":{"title":"Type","type":"string","description":"Whenever this pool item is an item or another table","$comment":"UNDOCUMENTED","enum":["loot_table","item","empty"]},"conditions":{"title":"Conditions","description":"Possible conditions that need to have been met before selecting this item","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/A"}},"entries":{"title":"Entries","type":"array","description":"The items specifiation of this pool","$comment":"UNDOCUMENTED","items":{"additionalProperties":false,"type":"object","required":["type"],"title":"Entry","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"type":{"title":"Type","type":"string","enum":["item","empty","loot_table"],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"count":{"type":"integer","title":"Count","description":"The amount of the item"},"name":{"title":"Name","type":"string","description":"An item or loottable","pattern":"^([\\w]+:|loot_tables/)"},"weight":{"title":"Weight","type":"integer","minimum":1,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"functions":{"title":"Functions","type":"array","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["function"],"title":"Function","$ref":"#/definitions/J"}},"pools":{"$ref":"#/definitions/pools_spec"},"quality":{"title":"Quality","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"}}}},"tiers":{"title":"Tiers","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"bonus_chance":{"title":"Bonus Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"bonus_rolls":{"title":"Bonus Rolls","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"},"initial_range":{"title":"Initial Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"}}},"bonus_rolls":{"title":"Bonus Rolls","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0,"default":0}}}},"B":{"type":"object","additionalProperties":false,"description":"Returns true if the actor properties defined were executed.","title":"Entity Properties","properties":{"condition":{"type":"string","title":"Condition","description":"Returns true if the actor properties defined were executed.","$comment":"UNDOCUMENTED"},"entity":{"type":"string","default":"this","description":"The entity to test. The value must be only `this`.","title":"Entity"},"properties":{"type":"object","default":{},"description":"The entity's properties. `on_fire`, `on_ground` is used for now.","title":"Properties","additionalProperties":false,"properties":{"on_fire":{"title":"On Fire","description":"Checks if the entity is on fire or not","$comment":"UNDOCUMENTED","type":"boolean"},"on_ground":{"title":"On Ground","description":"Checks if the entity is on the ground or not","$comment":"UNDOCUMENTED","type":"boolean"}}}}},"C":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor's mark variant is matched to the value.","title":"Has Mark Variant","properties":{"condition":{"type":"string","title":"Condition","description":"Returns the condition true if the actor's mark variant is matched to the value.","$comment":"UNDOCUMENTED"},"value":{"type":"integer","default":"0","description":"Tests for the actor's mark variant (if it has one)","title":"Value"}}},"D":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor of the loot table is killed by player or entities that has owner.","title":"Killed By Player","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"E":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor of the loot table is killed by player or entities that has owner.","title":"Killed By Player Or Pets Or Pets","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"F":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value.","title":"Random Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"chance":{"type":"number","default":0,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Chance"},"max_chance":{"type":"number","default":0,"description":"The maximum random chance value allowed.","title":"Maximum Chance"}}},"G":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value. Looting enchantment increase the random chance multiplier.","title":"Random Chance With Looting","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"chance":{"type":"number","default":0,"description":"The random chance of the value.","title":"Chance"},"looting_multiplier":{"type":"number","default":0,"description":"The multiplier for the chance if the target entity has the looting enchant that affects the actor.","title":"Looting Multiplier"}}},"H":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value based on the level difficulty.","title":"Random Difficulty Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"default_chance":{"type":"number","default":0,"description":"The default random chance if the level difficulty is not assigned.","title":"Default Chance"},"easy":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in easy. Omitting this field will set the value to `default_chance` field.","title":"Easy"},"hard":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in hard. Omitting this field will set the value to `default_chance` field.","title":"Hard"},"normal":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in normal. Omitting this field will set the value to `default_chance` field.","title":"Normal"},"peaceful":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in peaceful. Omitting this field will set the value to `default_chance` field.","title":"Peaceful"}}},"I":{"type":"object","additionalProperties":false,"description":"Sets a Maximum regional difficulty random chance of the specified value.","title":"Random Regional Difficulty Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"default_chance":{"type":"number","default":0,"description":"The default random chance if the level difficulty is not assigned.","title":"Default Chance"},"max_chance":{"title":"Maximum Chance","type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"easy":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in easy. Omitting this field will set the value to `default_chance` field.","title":"Easy"},"hard":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in hard. Omitting this field will set the value to `default_chance` field.","title":"Hard"},"normal":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in normal. Omitting this field will set the value to `default_chance` field.","title":"Normal"},"peaceful":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in peaceful. Omitting this field will set the value to `default_chance` field.","title":"Peaceful"}}},"A":{"description":"A minecraft loot table condition","title":"Condition","allOf":[{"if":{"properties":{"condition":{"type":"string","const":"entity_properties"}}},"then":{"$ref":"#/definitions/B"}},{"if":{"properties":{"condition":{"type":"string","const":"has_mark_variant"}}},"then":{"$ref":"#/definitions/C"}},{"if":{"properties":{"condition":{"type":"string","const":"killed_by_player"}}},"then":{"$ref":"#/definitions/D"}},{"if":{"properties":{"condition":{"type":"string","const":"killed_by_player_or_pets"}}},"then":{"$ref":"#/definitions/E"}},{"if":{"properties":{"condition":{"type":"string","const":"random_chance"}}},"then":{"$ref":"#/definitions/F"}},{"if":{"properties":{"condition":{"type":"string","const":"random_chance_with_looting"}}},"then":{"$ref":"#/definitions/G"}},{"if":{"properties":{"condition":{"type":"string","const":"random_difficulty_chance"}}},"then":{"$ref":"#/definitions/H"}},{"if":{"properties":{"condition":{"type":"string","const":"random_regional_difficulty_chance"}}},"then":{"$ref":"#/definitions/I"}}]},"BA":{"additionalProperties":false,"type":"object","description":"The function enchant_random_gear","title":"Enchant Random Gear","properties":{"function":{"type":"string","const":"enchant_random_gear","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"chance":{"type":"number","description":"Takes a chance modifier to manipulate the algorithm. Note that a chance modifier of 1.0 doesn't mean a 100% chance that gear will become enchanted.","title":"Chance"}}},"BB":{"additionalProperties":false,"type":"object","description":"The function enchant_book_for_trading","title":"Enchant Book For Trading","required":["function","base_cost","base_random_cost","per_level_random_cost","per_level_cost"],"properties":{"function":{"type":"string","const":"enchant_book_for_trading","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"base_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"base_random_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"per_level_random_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"per_level_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"BC":{"additionalProperties":false,"type":"object","description":"The function enchant_randomly","title":"Enchant Randomly","properties":{"function":{"type":"string","const":"enchant_randomly","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"treasure":{"type":"boolean","description":"Supports the optional treasure boolean (true/false) to allow treasure enchantments to be toggled on and off.","title":"Treasure"}}},"BD":{"additionalProperties":false,"description":"The function enchant_with_levels","title":"Enchant With Levels","type":"object","properties":{"function":{"type":"string","const":"enchant_with_levels","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"levels":{"title":"Levels","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"integer"},{"type":"object","additionalProperties":false,"required":["min","max"],"properties":{"min":{"type":"integer","title":"Minimum"},"max":{"type":"integer","title":"Maximum"}}}]},"treasure":{"type":"boolean","title":"Treasure","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"BE":{"additionalProperties":false,"description":"Transforms a normal map into a treasure map that marks the location of hidden treasure","title":"Exploration Map","type":"object","properties":{"function":{"type":"string","const":"exploration_map","description":"Transforms a normal map into a treasure map that marks the location of hidden treasure","title":"Function"},"destination":{"type":"string","description":"The destination value defines what type of treasure map they receive.","enum":["endcity","fortress","mineshaft","monument","ruins","stronghold","temple","village","mansion","shipwreck","buriedtreasure","pillageroutpost"],"title":"Destination"}}},"BF":{"additionalProperties":false,"type":"object","description":"The function fill_container","title":"Fill Container","properties":{"function":{"type":"string","const":"fill_container","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"loot_table":{"type":"string","title":"Loot Table","pattern":"^loot_tables/.*\\.json$","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"BG":{"additionalProperties":false,"type":"object","description":"If the item to return has a smelted crafting recipe and the loot table is triggered by an entity killed with fire. the result will be the smelted version of the item","title":"Furnace Smelt","properties":{"function":{"type":"string","const":"furnace_smelt","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"conditions":{"title":"Conditions","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/A"}}}},"BH":{"additionalProperties":false,"description":"The function looting_enchant","title":"Looting Enchant","type":"object","properties":{"function":{"type":"string","const":"looting_enchant","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"count":{"type":"object","properties":{"min":{"type":"integer"},"max":{"type":"integer"}},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Count","additionalProperties":false}}},"BI":{"additionalProperties":false,"description":"The function random_aux_value","title":"Random Aux Value","type":"object","properties":{"function":{"type":"string","const":"random_aux_value","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"values":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Values","additionalProperties":false,"type":"object","properties":{"min":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Minimum"},"max":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Maximum"}}}}},"BJ":{"additionalProperties":false,"description":"The function random_block_state","title":"Random Block State","type":"object","properties":{"function":{"type":"string","const":"random_block_state","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"block_state":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Block State"},"values":{"type":"object","properties":{"min":{"title":"Min","type":"integer"},"max":{"title":"Max","type":"integer"}},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Values","additionalProperties":false}}},"CA":{"additionalProperties":false,"description":"The function set_actor_id","title":"Set Actor Id","type":"object","properties":{"function":{"type":"string","const":"set_actor_id","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"id":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Id"}}},"CB":{"additionalProperties":false,"description":"The function set_banner_details","title":"Set Banner Details","type":"object","properties":{"function":{"type":"string","const":"set_banner_details","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"type":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Type"}}},"CC":{"additionalProperties":false,"description":"The function set_book_contents","title":"Set Book Contents","required":["function","author","title","pages"],"type":"object","properties":{"function":{"type":"string","const":"set_book_contents","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"author":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Author"},"title":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Title"},"pages":{"type":"array","items":{"type":"string","examples":["Some text","{`rawtext`:[ {`translate`:`some.text`}]}"]},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Pages"}}},"CD":{"additionalProperties":false,"type":"object","description":"The function set_count","title":"Set Count","properties":{"function":{"type":"string","const":"set_count","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"count":{"title":"Count","oneOf":[{"type":"integer"},{"type":"object","properties":{"min":{"type":"integer","title":"Minimum"},"max":{"type":"integer","title":"Maximum"}}}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"CE":{"additionalProperties":false,"description":"The function set_damage","title":"Set Damage","type":"object","properties":{"function":{"type":"string","const":"set_damage","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"damage":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Damage","oneOf":[{"type":"number","minimum":0,"maximum":1},{"type":"object","properties":{"min":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Minimum","minimum":0,"maximum":1},"max":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Maximum","minimum":0,"maximum":1}}}]}}},"CF":{"additionalProperties":false,"description":"The function set_data","title":"Set Data","type":"object","properties":{"function":{"type":"string","const":"set_data","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"data":{"title":"Data","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"integer"},{"type":"object","properties":{"min":{"type":"integer","title":"Minimum","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"max":{"type":"integer","title":"Maximum","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}}]}}},"CG":{"additionalProperties":false,"description":"The function set_data_from_color_index","title":"Set Data From Color Index","type":"object","properties":{"function":{"type":"string","const":"set_data_from_color_index","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"}}},"CH":{"additionalProperties":false,"description":"The function trader_material_type","title":"Trader Material Type","type":"object","properties":{"function":{"type":"string","const":"trader_material_type","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"}}},"CI":{"additionalProperties":false,"description":"The function random_dye","title":"Trader Material Type","type":"object","properties":{"function":{"type":"string","const":"random_dye","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"}}},"CJ":{"additionalProperties":false,"description":"The function set_lore","title":"Set Lore","type":"object","properties":{"function":{"type":"string","const":"set_lore","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"lore":{"type":"array","items":{"type":"string"},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Lore"}}},"DA":{"additionalProperties":false,"description":"The function set_name","title":"Set Name","type":"object","properties":{"function":{"type":"string","const":"set_name","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"name":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"name"}}},"DB_IDEnchant":{"type":"string","title":"ID Enchantment","enum":["aqua_affinity","bane_of_arthropods","blast_protection","channeling","binding","curse_of_vanishing","depth_strider","efficiency","feather_falling","fire_aspect","fire_protection","flame","fortune","frost_walker","impaling","infinity","knockback","looting","loyalty","luck_of_the_sea","lure","mending","multishot","piercing","projectile_protection","protection","power","punch","quick_charge","respiration","riptide","sharpness","silk_touch","smite","soul_speed","thorns","unbreaking"]},"DB_Enchant":{"type":"object","title":"Enchantment","additionalProperties":false,"properties":{"id":{"$ref":"#/definitions/DB_IDEnchant"},"level":{"title":"Level","oneOf":[{"type":"integer","title":"Level"},{"type":"array","items":[{"type":"integer","title":"Min"},{"type":"integer","title":"Max"}]}]}}},"DB":{"additionalProperties":false,"type":"object","description":"The function specific_enchants","title":"Specific Enchants","properties":{"function":{"type":"string","const":"specific_enchants","description":"Specific enchants","title":"Specific Enchants"},"enchants":{"title":"Enchants","description":"A enchanting specification","oneOf":[{"type":"string","$ref":"#/definitions/DB_IDEnchant"},{"type":"object","$ref":"#/definitions/DB_Enchant"},{"type":"array","items":{"$ref":"#/definitions/DB_Enchant"}}]}}},"J":{"description":"A minecraft loot table condition","title":"Functions","type":"object","properties":{"function":{"type":"string","enum":["enchant_book_for_trading","enchant_random_gear","enchant_randomly","enchant_with_levels","exploration_map","fill_container","furnace_smelt","looting_enchant","random_aux_value","random_block_state","random_dye","set_actor_id","set_banner_details","set_book_contents","set_count","set_damage","set_data_from_color_index","set_data","set_lore","set_name","specific_enchants","trader_material_type","minecraft:enchant_book_for_trading","minecraft:enchant_random_gear","minecraft:enchant_randomly","minecraft:enchant_with_levels","minecraft:exploration_map","minecraft:fill_container","minecraft:furnace_smelt","minecraft:looting_enchant","minecraft:random_aux_value","minecraft:random_block_state","minecraft:random_dye","minecraft:set_actor_id","minecraft:set_banner_details","minecraft:set_book_contents","minecraft:set_count","minecraft:set_damage","minecraft:set_data_from_color_index","minecraft:set_data","minecraft:set_lore","minecraft:set_name","minecraft:specific_enchants","minecraft:trader_material_type"]},"add":{"title":"Add","description":"UNDOCUMENTED","type":"boolean","default":false}},"allOf":[{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_random_gear$"}}},"then":{"$ref":"#/definitions/BA"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_book_for_trading$"}}},"then":{"$ref":"#/definitions/BB"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_randomly$"}}},"then":{"$ref":"#/definitions/BC"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_with_levels$"}}},"then":{"$ref":"#/definitions/BD"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*exploration_map$"}}},"then":{"$ref":"#/definitions/BE"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*fill_container$"}}},"then":{"$ref":"#/definitions/BF"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*furnace_smelt$"}}},"then":{"$ref":"#/definitions/BG"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*looting_enchant$"}}},"then":{"$ref":"#/definitions/BH"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_aux_value$"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_block_state$"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_actor_id$"}}},"then":{"$ref":"#/definitions/CA"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_banner_details$"}}},"then":{"$ref":"#/definitions/CB"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_book_contents$"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_count$"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_damage$"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_data$"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_data_from_color_index$"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*trader_material_type$"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_dye$"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_lore$"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_name$"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*specific_enchants$"}}},"then":{"$ref":"#/definitions/DB"}}]}},"properties":{"pools":{"$ref":"#/definitions/pools_spec","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Pools"},"type":{"title":"Type","type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["minecraft:chest"]}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.loot_tables","additionalProperties":false,"description":"A minecraft loot table.","title":"Loot Table","type":"object","examples":[{"pools":[{"rolls":1,"entries":[{"type":"item","name":"minecraft:spawn_egg","weight":1,"functions":[{"function":"set_count","count":{"min":1,"max":1}},{"function":"set_actor_id"}]}]}]}],"definitions":{"pools_spec":{"title":"Pools","description":"A collection of items where the system will choice one or more from.","$comment":"UNDOCUMENTED","type":"array","additionalProperties":false,"items":{"additionalProperties":false,"title":"A Single Pool","type":"object","properties":{"rolls":{"title":"Rolls","description":"Determines how many items, will be selected.","$comment":"UNDOCUMENTED","oneOf":[{"type":"integer","minimum":0},{"type":"object","required":["min","max"],"properties":{"min":{"title":"Minimum","type":"number","minimum":0,"description":"The minimum amount."},"max":{"title":"Maximum","type":"number","minimum":1,"description":"The maximum amount."}}}]},"type":{"title":"Type","type":"string","description":"Whenever this pool item is an item or another table.","$comment":"UNDOCUMENTED","enum":["loot_table","item","empty"]},"conditions":{"title":"Conditions","description":"Possible conditions that need to have been met before selecting this item.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/A"}},"entries":{"title":"Entries","type":"array","description":"The items specifiation of this pool.","$comment":"UNDOCUMENTED","items":{"additionalProperties":false,"type":"object","required":["type"],"title":"Entry","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"type":{"title":"Type","type":"string","enum":["item","empty","loot_table"],"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"count":{"type":"integer","title":"Count","description":"The amount of the item."},"name":{"title":"Name","type":"string","description":"An item or loottable.","pattern":"^([\\w]+:|loot_tables/)"},"weight":{"title":"Weight","type":"integer","minimum":1,"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"functions":{"title":"Functions","type":"array","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":{"type":"object","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","required":["function"],"title":"Function","$ref":"#/definitions/J"}},"pools":{"$ref":"#/definitions/pools_spec"},"quality":{"title":"Quality","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer"}}}},"tiers":{"title":"Tiers","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"bonus_chance":{"title":"Bonus Chance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number"},"bonus_rolls":{"title":"Bonus Rolls","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer"},"initial_range":{"title":"Initial Range","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer"}}},"bonus_rolls":{"title":"Bonus Rolls","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0,"default":0}}}},"B":{"type":"object","additionalProperties":false,"description":"Returns true if the actor properties defined were executed.","title":"Entity Properties","properties":{"condition":{"type":"string","title":"Condition","description":"Returns true if the actor properties defined were executed.","$comment":"UNDOCUMENTED"},"entity":{"type":"string","default":"this","description":"The entity to test. The value must be only `this`.","title":"Entity"},"properties":{"type":"object","default":{},"description":"The entity's properties. `on_fire`, `on_ground` is used for now.","title":"Properties","additionalProperties":false,"properties":{"on_fire":{"title":"On Fire","description":"Checks if the entity is on fire or not.","$comment":"UNDOCUMENTED","type":"boolean"},"on_ground":{"title":"On Ground","description":"Checks if the entity is on the ground or not.","$comment":"UNDOCUMENTED","type":"boolean"}}}}},"C":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor's mark variant is matched to the value.","title":"Has Mark Variant","properties":{"condition":{"type":"string","title":"Condition","description":"Returns the condition true if the actor's mark variant is matched to the value.","$comment":"UNDOCUMENTED"},"value":{"type":"integer","default":"0","description":"Tests for the actor's mark variant (if it has one).","title":"Value"}}},"D":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor of the loot table is killed by player or entities that has owner.","title":"Killed By Player","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"E":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor of the loot table is killed by player or entities that has owner.","title":"Killed By Player Or Pets Or Pets","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"F":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value.","title":"Random Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"chance":{"type":"number","default":0,"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Chance"},"max_chance":{"type":"number","default":0,"description":"The maximum random chance value allowed.","title":"Maximum Chance"}}},"G":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value. Looting enchantment increase the random chance multiplier.","title":"Random Chance With Looting","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"chance":{"type":"number","default":0,"description":"The random chance of the value.","title":"Chance"},"looting_multiplier":{"type":"number","default":0,"description":"The multiplier for the chance if the target entity has the looting enchant that affects the actor.","title":"Looting Multiplier"}}},"H":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value based on the level difficulty.","title":"Random Difficulty Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"default_chance":{"type":"number","default":0,"description":"The default random chance if the level difficulty is not assigned.","title":"Default Chance"},"easy":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in easy. Omitting this field will set the value to `default_chance` field.","title":"Easy"},"hard":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in hard. Omitting this field will set the value to `default_chance` field.","title":"Hard"},"normal":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in normal. Omitting this field will set the value to `default_chance` field.","title":"Normal"},"peaceful":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in peaceful. Omitting this field will set the value to `default_chance` field.","title":"Peaceful"}}},"I":{"type":"object","additionalProperties":false,"description":"Sets a Maximum regional difficulty random chance of the specified value.","title":"Random Regional Difficulty Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"default_chance":{"type":"number","default":0,"description":"The default random chance if the level difficulty is not assigned.","title":"Default Chance"},"max_chance":{"title":"Maximum Chance","type":"number","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"easy":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in easy. Omitting this field will set the value to `default_chance` field.","title":"Easy"},"hard":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in hard. Omitting this field will set the value to `default_chance` field.","title":"Hard"},"normal":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in normal. Omitting this field will set the value to `default_chance` field.","title":"Normal"},"peaceful":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in peaceful. Omitting this field will set the value to `default_chance` field.","title":"Peaceful"}}},"A":{"description":"A minecraft loot table condition.","title":"Condition","allOf":[{"if":{"properties":{"condition":{"type":"string","const":"entity_properties"}}},"then":{"$ref":"#/definitions/B"}},{"if":{"properties":{"condition":{"type":"string","const":"has_mark_variant"}}},"then":{"$ref":"#/definitions/C"}},{"if":{"properties":{"condition":{"type":"string","const":"killed_by_player"}}},"then":{"$ref":"#/definitions/D"}},{"if":{"properties":{"condition":{"type":"string","const":"killed_by_player_or_pets"}}},"then":{"$ref":"#/definitions/E"}},{"if":{"properties":{"condition":{"type":"string","const":"random_chance"}}},"then":{"$ref":"#/definitions/F"}},{"if":{"properties":{"condition":{"type":"string","const":"random_chance_with_looting"}}},"then":{"$ref":"#/definitions/G"}},{"if":{"properties":{"condition":{"type":"string","const":"random_difficulty_chance"}}},"then":{"$ref":"#/definitions/H"}},{"if":{"properties":{"condition":{"type":"string","const":"random_regional_difficulty_chance"}}},"then":{"$ref":"#/definitions/I"}}]},"BA":{"additionalProperties":false,"type":"object","description":"The function enchant_random_gear.","title":"Enchant Random Gear","properties":{"function":{"type":"string","const":"enchant_random_gear","title":"Function","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"chance":{"type":"number","description":"Takes a chance modifier to manipulate the algorithm. Note that a chance modifier of 1.0 doesn't mean a 100% chance that gear will become enchanted.","title":"Chance"}}},"BB":{"additionalProperties":false,"type":"object","description":"The function enchant_book_for_trading.","title":"Enchant Book For Trading","required":["function","base_cost","base_random_cost","per_level_random_cost","per_level_cost"],"properties":{"function":{"type":"string","const":"enchant_book_for_trading","title":"Function","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"base_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"base_random_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"per_level_random_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"per_level_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"BC":{"additionalProperties":false,"type":"object","description":"The function enchant_randomly.","title":"Enchant Randomly","properties":{"function":{"type":"string","const":"enchant_randomly","title":"Function","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"treasure":{"type":"boolean","description":"Supports the optional treasure boolean (true/false) to allow treasure enchantments to be toggled on and off.","title":"Treasure"}}},"BD":{"additionalProperties":false,"description":"The function enchant_with_levels.","title":"Enchant With Levels","type":"object","properties":{"function":{"type":"string","const":"enchant_with_levels","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"levels":{"title":"Levels","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"type":"integer"},{"type":"object","additionalProperties":false,"required":["min","max"],"properties":{"min":{"type":"integer","title":"Minimum"},"max":{"type":"integer","title":"Maximum"}}}]},"treasure":{"type":"boolean","title":"Treasure","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"BE":{"additionalProperties":false,"description":"Transforms a normal map into a treasure map that marks the location of hidden treasure.","title":"Exploration Map","type":"object","properties":{"function":{"type":"string","const":"exploration_map","description":"Transforms a normal map into a treasure map that marks the location of hidden treasure.","title":"Function"},"destination":{"type":"string","description":"The destination value defines what type of treasure map they receive.","enum":["endcity","fortress","mineshaft","monument","ruins","stronghold","temple","village","mansion","shipwreck","buriedtreasure","pillageroutpost"],"title":"Destination"}}},"BF":{"additionalProperties":false,"type":"object","description":"The function fill_container.","title":"Fill Container","properties":{"function":{"type":"string","const":"fill_container","title":"Function","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"loot_table":{"type":"string","title":"Loot Table","pattern":"^loot_tables/.*\\.json$","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"BG":{"additionalProperties":false,"type":"object","description":"If the item to return has a smelted crafting recipe and the loot table is triggered by an entity killed with fire. the result will be the smelted version of the item","title":"Furnace Smelt","properties":{"function":{"type":"string","const":"furnace_smelt","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"conditions":{"title":"Conditions","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/A"}}}},"BH":{"additionalProperties":false,"description":"The function looting_enchant.","title":"Looting Enchant","type":"object","properties":{"function":{"type":"string","const":"looting_enchant","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"count":{"type":"object","properties":{"min":{"type":"integer"},"max":{"type":"integer"}},"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Count","additionalProperties":false}}},"BI":{"additionalProperties":false,"description":"The function random_aux_value.","title":"Random Aux Value","type":"object","properties":{"function":{"type":"string","const":"random_aux_value","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"values":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Values","additionalProperties":false,"type":"object","properties":{"min":{"type":"integer","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Minimum"},"max":{"type":"integer","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Maximum"}}}}},"BJ":{"additionalProperties":false,"description":"The function random_block_state.","title":"Random Block State","type":"object","properties":{"function":{"type":"string","const":"random_block_state","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"block_state":{"type":"string","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Block State"},"values":{"type":"object","properties":{"min":{"title":"Min","type":"integer"},"max":{"title":"Max","type":"integer"}},"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Values","additionalProperties":false}}},"CA":{"additionalProperties":false,"description":"The function set_actor_id.","title":"Set Actor Id","type":"object","properties":{"function":{"type":"string","const":"set_actor_id","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"id":{"type":"string","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Id"}}},"CB":{"additionalProperties":false,"description":"The function set_banner_details.","title":"Set Banner Details","type":"object","properties":{"function":{"type":"string","const":"set_banner_details","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"type":{"type":"integer","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Type"}}},"CC":{"additionalProperties":false,"description":"The function set_book_contents.","title":"Set Book Contents","required":["function","author","title","pages"],"type":"object","properties":{"function":{"type":"string","const":"set_book_contents","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"author":{"type":"string","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Author"},"title":{"type":"string","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Title"},"pages":{"type":"array","items":{"type":"string","examples":["Some text","{`rawtext`:[ {`translate`:`some.text`}]}"]},"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Pages"}}},"CD":{"additionalProperties":false,"type":"object","description":"The function set_count.","title":"Set Count","properties":{"function":{"type":"string","const":"set_count","title":"Function","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"count":{"title":"Count","oneOf":[{"type":"integer"},{"type":"object","properties":{"min":{"type":"integer","title":"Minimum"},"max":{"type":"integer","title":"Maximum"}}}],"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"CE":{"additionalProperties":false,"description":"The function set_damage.","title":"Set Damage","type":"object","properties":{"function":{"type":"string","const":"set_damage","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"damage":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Damage","oneOf":[{"type":"number","minimum":0,"maximum":1},{"type":"object","properties":{"min":{"type":"number","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Minimum","minimum":0,"maximum":1},"max":{"type":"number","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Maximum","minimum":0,"maximum":1}}}]}}},"CF":{"additionalProperties":false,"description":"The function set_data.","title":"Set Data","type":"object","properties":{"function":{"type":"string","const":"set_data","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"data":{"title":"Data","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"type":"integer"},{"type":"object","properties":{"min":{"type":"integer","title":"Minimum","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"max":{"type":"integer","title":"Maximum","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}}]}}},"CG":{"additionalProperties":false,"description":"The function set_data_from_color_index.","title":"Set Data From Color Index","type":"object","properties":{"function":{"type":"string","const":"set_data_from_color_index","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"}}},"CH":{"additionalProperties":false,"description":"The function trader_material_type.","title":"Trader Material Type","type":"object","properties":{"function":{"type":"string","const":"trader_material_type","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"}}},"CI":{"additionalProperties":false,"description":"The function random_dye.","title":"Trader Material Type","type":"object","properties":{"function":{"type":"string","const":"random_dye","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"}}},"CJ":{"additionalProperties":false,"description":"The function set_lore.","title":"Set Lore","type":"object","properties":{"function":{"type":"string","const":"set_lore","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"lore":{"type":"array","items":{"type":"string"},"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Lore"}}},"DA":{"additionalProperties":false,"description":"The function set_name.","title":"Set Name","type":"object","properties":{"function":{"type":"string","const":"set_name","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"name":{"type":"string","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"name"}}},"DB_IDEnchant":{"type":"string","title":"ID Enchantment","enum":["aqua_affinity","bane_of_arthropods","blast_protection","channeling","binding","curse_of_vanishing","depth_strider","efficiency","feather_falling","fire_aspect","fire_protection","flame","fortune","frost_walker","impaling","infinity","knockback","looting","loyalty","luck_of_the_sea","lure","mending","multishot","piercing","projectile_protection","protection","power","punch","quick_charge","respiration","riptide","sharpness","silk_touch","smite","soul_speed","thorns","unbreaking"]},"DB_Enchant":{"type":"object","title":"Enchantment","additionalProperties":false,"properties":{"id":{"$ref":"#/definitions/DB_IDEnchant"},"level":{"title":"Level","oneOf":[{"type":"integer","title":"Level"},{"type":"array","items":[{"type":"integer","title":"Min"},{"type":"integer","title":"Max"}]}]}}},"DB":{"additionalProperties":false,"type":"object","description":"The function specific_enchants.","title":"Specific Enchants","properties":{"function":{"type":"string","const":"specific_enchants","description":"Specific enchants.","title":"Specific Enchants"},"enchants":{"title":"Enchants","description":"A enchanting specification.","oneOf":[{"type":"string","$ref":"#/definitions/DB_IDEnchant"},{"type":"object","$ref":"#/definitions/DB_Enchant"},{"type":"array","items":{"$ref":"#/definitions/DB_Enchant"}}]}}},"J":{"description":"A minecraft loot table condition.","title":"Functions","type":"object","properties":{"function":{"type":"string","enum":["enchant_book_for_trading","enchant_random_gear","enchant_randomly","enchant_with_levels","exploration_map","fill_container","furnace_smelt","looting_enchant","random_aux_value","random_block_state","random_dye","set_actor_id","set_banner_details","set_book_contents","set_count","set_damage","set_data_from_color_index","set_data","set_lore","set_name","specific_enchants","trader_material_type","minecraft:enchant_book_for_trading","minecraft:enchant_random_gear","minecraft:enchant_randomly","minecraft:enchant_with_levels","minecraft:exploration_map","minecraft:fill_container","minecraft:furnace_smelt","minecraft:looting_enchant","minecraft:random_aux_value","minecraft:random_block_state","minecraft:random_dye","minecraft:set_actor_id","minecraft:set_banner_details","minecraft:set_book_contents","minecraft:set_count","minecraft:set_damage","minecraft:set_data_from_color_index","minecraft:set_data","minecraft:set_lore","minecraft:set_name","minecraft:specific_enchants","minecraft:trader_material_type"]},"add":{"title":"Add","description":"UNDOCUMENTED.","type":"boolean","default":false}},"allOf":[{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_random_gear$"}}},"then":{"$ref":"#/definitions/BA"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_book_for_trading$"}}},"then":{"$ref":"#/definitions/BB"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_randomly$"}}},"then":{"$ref":"#/definitions/BC"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_with_levels$"}}},"then":{"$ref":"#/definitions/BD"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*exploration_map$"}}},"then":{"$ref":"#/definitions/BE"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*fill_container$"}}},"then":{"$ref":"#/definitions/BF"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*furnace_smelt$"}}},"then":{"$ref":"#/definitions/BG"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*looting_enchant$"}}},"then":{"$ref":"#/definitions/BH"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_aux_value$"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_block_state$"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_actor_id$"}}},"then":{"$ref":"#/definitions/CA"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_banner_details$"}}},"then":{"$ref":"#/definitions/CB"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_book_contents$"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_count$"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_damage$"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_data$"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_data_from_color_index$"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*trader_material_type$"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_dye$"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_lore$"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_name$"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*specific_enchants$"}}},"then":{"$ref":"#/definitions/DB"}}]}},"properties":{"pools":{"$ref":"#/definitions/pools_spec","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Pools"},"type":{"title":"Type","type":"string","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["minecraft:chest"]}}} \ No newline at end of file diff --git a/behavior/recipes/recipes.json b/behavior/recipes/recipes.json index d2c75acb..e7646eda 100644 --- a/behavior/recipes/recipes.json +++ b/behavior/recipes/recipes.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.recipes","examples":[{"format_version":"1.19.0","minecraft:recipe_shaped":{"description":{"identifier":"minecraft:item"},"tags":["crafting_table"],"pattern":[],"key":{},"result":{"item":"minecraft:boat","data":4}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.12"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.12.0"}}},"then":{"$ref":"#/definitions/A"}},{"properties":{"format_version":{"$ref":"#/definitions/J"}}}],"definitions":{"C":{"description":"Recipe definition 1.12.0","title":"Definition","type":"object","properties":{"identifier":{"type":"string","pattern":"[a-z0-9_:\\-]+","title":"Recipe Identifier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"additionalProperties":false},"D":{"description":"Recipe tags 1.12.0","title":"Tags","type":"array","items":{"type":"string","title":"Tag","examples":["smithing_table"]}},"B":{"description":"Represents a furnace recipe for a furnace.'Input` items will burn and transform into items specified in `output`..","title":"Furnace Recipe 1.12.0","additionalProperties":false,"required":["description"],"type":"object","properties":{"description":{"$ref":"#/definitions/C"},"tags":{"$ref":"#/definitions/D"},"input":{"type":"string","description":"Items used as input for the furnace recipe.","title":"Input"},"output":{"type":"string","description":"Items used as output for the furnace recipe.","title":"Output"}}},"E":{"description":"Represents a Potion Brewing Container Recipe..","title":"Brewing Recipe 1.12.0","additionalProperties":false,"required":["description"],"type":"object","properties":{"description":{"$ref":"#/definitions/C"},"tags":{"$ref":"#/definitions/D"},"input":{"type":"string","description":"Input potion used on the brewing stand.","title":"Input"},"output":{"type":"string","description":"Output potion from mixing the input potion with the reagent on the brewing stand.","title":"Output"},"reagent":{"type":"string","description":"Item used to mix with the input potion.","title":"Reagent"}}},"F":{"description":"Represents a Potion Brewing Container Recipe..","title":"Brewing Recipe 1.12.0","additionalProperties":false,"required":["description"],"type":"object","properties":{"description":{"$ref":"#/definitions/C"},"tags":{"$ref":"#/definitions/D"},"input":{"type":"string","description":"Input potion used on the brewing stand.","title":"Input"},"output":{"type":"string","description":"Output potion from mixing the input potion with the reagent on the brewing stand.","title":"Output"},"reagent":{"type":"string","description":"Item used to mix with the input potion.","title":"Reagent"}}},"H":{"description":"Recipe item 1.12.0","title":"Item","oneOf":[{"type":"string","title":"Item Identifier"},{"additionalProperties":false,"type":"object","required":["item"],"properties":{"item":{"type":"string","title":"Item Identifier"},"data":{"type":"integer","minimum":0,"title":"Item Data Value"},"count":{"type":"integer","minimum":1,"default":1,"title":"Count"}}}]},"G":{"description":"Represents a shaped crafting recipe for a crafting table. The key used in the pattern may be any single character except the `space` character, which is reserved for empty slots in a recipe..","title":"Shaped Recipe 1.12.0","additionalProperties":false,"required":["description"],"type":"object","properties":{"description":{"$ref":"#/definitions/C"},"tags":{"$ref":"#/definitions/D"},"key":{"type":"object","description":"Patten key character mapped to item names.","title":"Key","minProperties":1,"additionalProperties":{"$ref":"#/definitions/H"}},"group":{"type":"string","title":"Group","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"pattern":{"type":"array","description":"Characters that represent a pattern to be defined by keys.","title":"Pattern","maxItems":3,"minItems":1,"items":{"type":"string","title":"Pattern"}},"priority":{"type":"integer","description":"Item used as output for the furnace recipe.","title":"Priority"},"result":{"description":"When input items match the pattern then these items are the result.","title":"Result","oneOf":[{"$ref":"#/definitions/H"},{"type":"array","items":{"$ref":"#/definitions/H"}}]}}},"I":{"description":"Represents a shapeless crafting recipe..","title":"Shapeless Recipe 1.12.0","additionalProperties":false,"required":["description"],"type":"object","properties":{"description":{"$ref":"#/definitions/C"},"tags":{"$ref":"#/definitions/D"},"ingredients":{"description":"Items used as input (without a shape) for the recipe.","title":"Ingredients","oneOf":[{"$ref":"#/definitions/H"},{"type":"array","items":{"$ref":"#/definitions/H"}}]},"group":{"type":"string","title":"Group","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"priority":{"type":"integer","description":"Item used as output for the furnace recipe.","title":"Priority"},"result":{"description":"When input items match the pattern then these items are the result.","title":"Result","oneOf":[{"$ref":"#/definitions/H"},{"type":"array","items":{"$ref":"#/definitions/H"}}]}}},"A":{"description":"Minecraft recipe 1.12.0","required":["format_version"],"additionalProperties":false,"minProperties":2,"type":"object","title":"Recipe","properties":{"format_version":{"type":"string","description":"A version that tells minecraft what type of data format can be expected when reading this file.","title":"Format Version"},"minecraft:recipe_furnace":{"$ref":"#/definitions/B"},"minecraft:recipe_brewing_container":{"$ref":"#/definitions/E"},"minecraft:recipe_brewing_mix":{"$ref":"#/definitions/F"},"minecraft:recipe_shaped":{"$ref":"#/definitions/G"},"minecraft:recipe_shapeless":{"$ref":"#/definitions/I"}}},"J":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.recipes","examples":[{"format_version":"1.19.0","minecraft:recipe_shaped":{"description":{"identifier":"minecraft:item"},"tags":["crafting_table"],"pattern":[],"key":{},"result":{"item":"minecraft:boat","data":4}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.12"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.12.0"}}},"then":{"$ref":"#/definitions/A"}},{"properties":{"format_version":{"$ref":"#/definitions/J"}}}],"definitions":{"C":{"description":"Recipe definition 1.12.0","title":"Definition","type":"object","properties":{"identifier":{"type":"string","pattern":"[a-z0-9_:\\-]+","title":"Recipe Identifier","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"additionalProperties":false},"D":{"description":"Recipe tags 1.12.0","title":"Tags","type":"array","items":{"type":"string","title":"Tag","examples":["smithing_table"]}},"B":{"description":"Represents a furnace recipe for a furnace.'Input` items will burn and transform into items specified in `output`..","title":"Furnace Recipe 1.12.0","additionalProperties":false,"required":["description"],"type":"object","properties":{"description":{"$ref":"#/definitions/C"},"tags":{"$ref":"#/definitions/D"},"input":{"type":"string","description":"Items used as input for the furnace recipe.","title":"Input"},"output":{"type":"string","description":"Items used as output for the furnace recipe.","title":"Output"}}},"E":{"description":"Represents a Potion Brewing Container Recipe..","title":"Brewing Recipe 1.12.0","additionalProperties":false,"required":["description"],"type":"object","properties":{"description":{"$ref":"#/definitions/C"},"tags":{"$ref":"#/definitions/D"},"input":{"type":"string","description":"Input potion used on the brewing stand.","title":"Input"},"output":{"type":"string","description":"Output potion from mixing the input potion with the reagent on the brewing stand.","title":"Output"},"reagent":{"type":"string","description":"Item used to mix with the input potion.","title":"Reagent"}}},"F":{"description":"Represents a Potion Brewing Container Recipe..","title":"Brewing Recipe 1.12.0","additionalProperties":false,"required":["description"],"type":"object","properties":{"description":{"$ref":"#/definitions/C"},"tags":{"$ref":"#/definitions/D"},"input":{"type":"string","description":"Input potion used on the brewing stand.","title":"Input"},"output":{"type":"string","description":"Output potion from mixing the input potion with the reagent on the brewing stand.","title":"Output"},"reagent":{"type":"string","description":"Item used to mix with the input potion.","title":"Reagent"}}},"H":{"description":"Recipe item 1.12.0","title":"Item","oneOf":[{"type":"string","title":"Item Identifier"},{"additionalProperties":false,"type":"object","required":["item"],"properties":{"item":{"type":"string","title":"Item Identifier"},"data":{"type":"integer","minimum":0,"title":"Item Data Value"},"count":{"type":"integer","minimum":1,"default":1,"title":"Count"}}}]},"G":{"description":"Represents a shaped crafting recipe for a crafting table. The key used in the pattern may be any single character except the `space` character, which is reserved for empty slots in a recipe..","title":"Shaped Recipe 1.12.0","additionalProperties":false,"required":["description"],"type":"object","properties":{"description":{"$ref":"#/definitions/C"},"tags":{"$ref":"#/definitions/D"},"key":{"type":"object","description":"Patten key character mapped to item names.","title":"Key","minProperties":1,"additionalProperties":{"$ref":"#/definitions/H"}},"group":{"type":"string","title":"Group","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"pattern":{"type":"array","description":"Characters that represent a pattern to be defined by keys.","title":"Pattern","maxItems":3,"minItems":1,"items":{"type":"string","title":"Pattern"}},"priority":{"type":"integer","description":"Item used as output for the furnace recipe.","title":"Priority"},"result":{"description":"When input items match the pattern then these items are the result.","title":"Result","oneOf":[{"$ref":"#/definitions/H"},{"type":"array","items":{"$ref":"#/definitions/H"}}]}}},"I":{"description":"Represents a shapeless crafting recipe..","title":"Shapeless Recipe 1.12.0","additionalProperties":false,"required":["description"],"type":"object","properties":{"description":{"$ref":"#/definitions/C"},"tags":{"$ref":"#/definitions/D"},"ingredients":{"description":"Items used as input (without a shape) for the recipe.","title":"Ingredients","oneOf":[{"$ref":"#/definitions/H"},{"type":"array","items":{"$ref":"#/definitions/H"}}]},"group":{"type":"string","title":"Group","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"priority":{"type":"integer","description":"Item used as output for the furnace recipe.","title":"Priority"},"result":{"description":"When input items match the pattern then these items are the result.","title":"Result","oneOf":[{"$ref":"#/definitions/H"},{"type":"array","items":{"$ref":"#/definitions/H"}}]}}},"A":{"description":"Minecraft recipe 1.12.0","required":["format_version"],"additionalProperties":false,"minProperties":2,"type":"object","title":"Recipe","properties":{"format_version":{"type":"string","description":"A version that tells minecraft what type of data format can be expected when reading this file.","title":"Format Version"},"minecraft:recipe_furnace":{"$ref":"#/definitions/B"},"minecraft:recipe_brewing_container":{"$ref":"#/definitions/E"},"minecraft:recipe_brewing_mix":{"$ref":"#/definitions/F"},"minecraft:recipe_shaped":{"$ref":"#/definitions/G"},"minecraft:recipe_shapeless":{"$ref":"#/definitions/I"}}},"J":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}}} \ No newline at end of file diff --git a/behavior/spawn_rules/spawn_rules.json b/behavior/spawn_rules/spawn_rules.json index 788adcd8..c6c99332 100644 --- a/behavior/spawn_rules/spawn_rules.json +++ b/behavior/spawn_rules/spawn_rules.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.behavior.spawn_rules","examples":[{"format_version":"1.19.0","minecraft:spawn_rules":{"description":{"identifier":"minecraft:entity","population_control":"ambient"},"conditions":[{}]}}],"type":"object","title":"Spawn Rules","description":"Data-Driven spawning allows you to adjust the spawn conditions of mobs","additionalProperties":false,"required":["format_version","minecraft:spawn_rules"],"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:spawn_rules":{"type":"object","title":"Spawn Rules","description":"Data-Driven spawning allows you to adjust the spawn conditions of mobs","additionalProperties":false,"properties":{"description":{"type":"object","title":"Description","description":"The descripton of to which entity this spawn rule belongs","$comment":"UNDOCUMENTED","additionalProperties":false,"required":["identifier","population_control"],"properties":{"identifier":{"title":"Identifier","description":"The entity identifier this spawn rule will apply to, entity must exist","$comment":"UNDOCUMENTED","$ref":"#/definitions/B"},"population_control":{"type":"string","title":"Population Control","description":"Setting an entity to a pool it will spawn as long as that pool hasn't reached the spawn limit.","$comment":"UNDOCUMENTED","enum":["ambient","animal","water_animal","monster","cat","pillager"]}}},"conditions":{"type":"array","title":"Conditions","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"additionalProperties":false,"type":"object","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"minecraft:biome_filter":{"$ref":"#/definitions/C"},"minecraft:brightness_filter":{"$ref":"#/definitions/HI"},"minecraft:density_limit":{"$ref":"#/definitions/HJ"},"minecraft:difficulty_filter":{"$ref":"#/definitions/IA"},"minecraft:delay_filter":{"$ref":"#/definitions/IB"},"minecraft:distance_filter":{"$ref":"#/definitions/IC"},"minecraft:disallow_spawns_in_bubble":{"$ref":"#/definitions/ID"},"minecraft:height_filter":{"$ref":"#/definitions/IE"},"minecraft:herd":{"$ref":"#/definitions/IF"},"minecraft:player_in_village_filter":{"$ref":"#/definitions/IG"},"minecraft:permute_type":{"$ref":"#/definitions/IH"},"minecraft:mob_event_filter":{"$ref":"#/definitions/II"},"minecraft:spawn_event":{"$ref":"#/definitions/IJ"},"minecraft:spawns_on_block_filter":{"$ref":"#/definitions/JA"},"minecraft:spawns_on_block_prevented_filter":{"$ref":"#/definitions/JB"},"minecraft:spawns_lava":{"$ref":"#/definitions/JC"},"minecraft:spawns_on_surface":{"$ref":"#/definitions/JD"},"minecraft:spawns_underground":{"$ref":"#/definitions/JE"},"minecraft:spawns_underwater":{"$ref":"#/definitions/JF"},"minecraft:spawns_above_block_filter":{"$ref":"#/definitions/JG"},"minecraft:weight":{"$ref":"#/definitions/JH"},"minecraft:world_age_filter":{"$ref":"#/definitions/JI"}}}}}}},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"B":{"description":"A minecraft entity identifier","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Entity Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"D_filters_spec":{"defaultSnippets":[{"label":"New Test","body":{"test":"$1","value":"$2"}},{"label":"New All_of Test","body":{"all_of":[{"test":"$1","value":"$2"},{"test":"$3","value":"$4"}]}},{"label":"New Any_of Test","body":{"any_of":[{"test":"$1","value":"$2"},{"test":"$3","value":"$4"}]}},{"label":"New None_of Test","body":{"none_of":[{"test":"$1","value":"$2"},{"test":"$3","value":"$4"}]}}],"examples":[{"all_of":[{}]},{"any_of":[{}]},{"none_of":[{}]}],"oneOf":[{"propertyNames":{"enum":["all_of","any_of","none_of"]},"properties":{"all_of":{"title":"All Of","description":"All tests in an `all_of` group must pass in order for the group to pass.","$ref":"#/definitions/D_groups_spec"},"any_of":{"title":"Any Of","description":"One or more tests in an `any_of` group must pass in order for the group to pass.","$ref":"#/definitions/D_groups_spec"},"none_of":{"title":"None Of","description":"All tests in a `none_of` group must fail in order for the group to pass.","$ref":"#/definitions/D_groups_spec"}}},{"required":["test"],"properties":{"all_of":{"title":"All Of","description":"All tests in an `all_of` group must pass in order for the group to pass.","$ref":"#/definitions/D_groups_spec"},"any_of":{"title":"Any Of","description":"One or more tests in an `any_of` group must pass in order for the group to pass.","$ref":"#/definitions/D_groups_spec"},"none_of":{"title":"None Of","description":"All tests in a `none_of` group must fail in order for the group to pass.","$ref":"#/definitions/D_groups_spec"}},"allOf":[{"if":{"properties":{"test":{"const":"clock_time"}}},"then":{"$ref":"#/definitions/E"}},{"if":{"properties":{"test":{"const":"distance_to_nearest_player"}}},"then":{"$ref":"#/definitions/H"}},{"if":{"properties":{"test":{"const":"has_ability"}}},"then":{"$ref":"#/definitions/I"}},{"if":{"properties":{"test":{"const":"has_biome_tag"}}},"then":{"$ref":"#/definitions/J"}},{"if":{"properties":{"test":{"const":"has_component"}}},"then":{"$ref":"#/definitions/BA"}},{"if":{"properties":{"test":{"const":"has_container_open"}}},"then":{"$ref":"#/definitions/BB"}},{"if":{"properties":{"test":{"const":"has_damage"}}},"then":{"$ref":"#/definitions/BC"}},{"if":{"properties":{"test":{"const":"has_equipment"}}},"then":{"$ref":"#/definitions/BE"}},{"if":{"properties":{"test":{"const":"has_mob_effect"}}},"then":{"$ref":"#/definitions/BG"}},{"if":{"properties":{"test":{"const":"has_nametag"}}},"then":{"$ref":"#/definitions/BH"}},{"if":{"properties":{"test":{"const":"has_ranged_weapon"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"test":{"const":"has_silk_touch"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"test":{"const":"has_tag"}}},"then":{"$ref":"#/definitions/CA"}},{"if":{"properties":{"test":{"const":"has_target"}}},"then":{"$ref":"#/definitions/CB"}},{"if":{"properties":{"test":{"const":"has_trade_supply"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"test":{"const":"hourly_clock_time"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"test":{"const":"in_block"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"test":{"const":"in_caravan"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"test":{"const":"in_clouds"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"test":{"const":"in_contact_with_water"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"test":{"const":"in_lava"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"test":{"const":"in_nether"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"test":{"const":"in_water_or_rain"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"test":{"const":"in_water"}}},"then":{"$ref":"#/definitions/DB"}},{"if":{"properties":{"test":{"const":"inactivity_timer"}}},"then":{"$ref":"#/definitions/DC"}},{"if":{"properties":{"test":{"const":"is_altitude"}}},"then":{"$ref":"#/definitions/DD"}},{"if":{"properties":{"test":{"const":"is_avoiding_mobs"}}},"then":{"$ref":"#/definitions/DE"}},{"if":{"properties":{"test":{"const":"is_biome"}}},"then":{"$ref":"#/definitions/DF"}},{"if":{"properties":{"test":{"const":"is_block"}}},"then":{"$ref":"#/definitions/DG"}},{"if":{"properties":{"test":{"const":"is_brightness"}}},"then":{"$ref":"#/definitions/DH"}},{"if":{"properties":{"test":{"const":"is_climbing"}}},"then":{"$ref":"#/definitions/DI"}},{"if":{"properties":{"test":{"const":"is_color"}}},"then":{"$ref":"#/definitions/DJ"}},{"if":{"properties":{"test":{"const":"is_daytime"}}},"then":{"$ref":"#/definitions/EA"}},{"if":{"properties":{"test":{"const":"is_difficulty"}}},"then":{"$ref":"#/definitions/EB"}},{"if":{"properties":{"test":{"const":"is_family"}}},"then":{"$ref":"#/definitions/EC"}},{"if":{"properties":{"test":{"const":"is_game_rule"}}},"then":{"$ref":"#/definitions/ED"}},{"if":{"properties":{"test":{"const":"is_humid"}}},"then":{"$ref":"#/definitions/EE"}},{"if":{"properties":{"test":{"const":"is_immobile"}}},"then":{"$ref":"#/definitions/EF"}},{"if":{"properties":{"test":{"const":"is_in_village"}}},"then":{"$ref":"#/definitions/EG"}},{"if":{"properties":{"test":{"const":"is_leashed_to"}}},"then":{"$ref":"#/definitions/EH"}},{"if":{"properties":{"test":{"const":"is_leashed"}}},"then":{"$ref":"#/definitions/EI"}},{"if":{"properties":{"test":{"const":"is_mark_variant"}}},"then":{"$ref":"#/definitions/EJ"}},{"if":{"properties":{"test":{"const":"is_missing_health"}}},"then":{"$ref":"#/definitions/FA"}},{"if":{"properties":{"test":{"const":"is_moving"}}},"then":{"$ref":"#/definitions/FB"}},{"if":{"properties":{"test":{"const":"is_owner"}}},"then":{"$ref":"#/definitions/FC"}},{"if":{"properties":{"test":{"const":"is_persistent"}}},"then":{"$ref":"#/definitions/FD"}},{"if":{"properties":{"test":{"const":"is_riding"}}},"then":{"$ref":"#/definitions/FE"}},{"if":{"properties":{"test":{"const":"is_skin_id"}}},"then":{"$ref":"#/definitions/FF"}},{"if":{"properties":{"test":{"const":"is_sleeping"}}},"then":{"$ref":"#/definitions/FG"}},{"if":{"properties":{"test":{"const":"is_sneaking"}}},"then":{"$ref":"#/definitions/FH"}},{"if":{"properties":{"test":{"const":"is_snow_covered"}}},"then":{"$ref":"#/definitions/FI"}},{"if":{"properties":{"test":{"const":"is_target"}}},"then":{"$ref":"#/definitions/FJ"}},{"if":{"properties":{"test":{"const":"is_temperature_type"}}},"then":{"$ref":"#/definitions/GA"}},{"if":{"properties":{"test":{"const":"is_temperature_value"}}},"then":{"$ref":"#/definitions/GB"}},{"if":{"properties":{"test":{"const":"is_underground"}}},"then":{"$ref":"#/definitions/GC"}},{"if":{"properties":{"test":{"const":"is_underwater"}}},"then":{"$ref":"#/definitions/GD"}},{"if":{"properties":{"test":{"const":"is_variant"}}},"then":{"$ref":"#/definitions/GE"}},{"if":{"properties":{"test":{"const":"is_visible"}}},"then":{"$ref":"#/definitions/GF"}},{"if":{"properties":{"test":{"const":"is_waterlogged"}}},"then":{"$ref":"#/definitions/GG"}},{"if":{"properties":{"test":{"const":"light_level"}}},"then":{"$ref":"#/definitions/GH"}},{"if":{"properties":{"test":{"const":"moon_intensity"}}},"then":{"$ref":"#/definitions/GI"}},{"if":{"properties":{"test":{"const":"moon_phase"}}},"then":{"$ref":"#/definitions/GJ"}},{"if":{"properties":{"test":{"const":"on_ground"}}},"then":{"$ref":"#/definitions/HA"}},{"if":{"properties":{"test":{"const":"on_ladder"}}},"then":{"$ref":"#/definitions/HB"}},{"if":{"properties":{"test":{"const":"random_chance"}}},"then":{"$ref":"#/definitions/HC"}},{"if":{"properties":{"test":{"const":"rider_count"}}},"then":{"$ref":"#/definitions/HD"}},{"if":{"properties":{"test":{"const":"surface_mob"}}},"then":{"$ref":"#/definitions/HE"}},{"if":{"properties":{"test":{"const":"trusts"}}},"then":{"$ref":"#/definitions/HF"}},{"if":{"properties":{"test":{"const":"weather_at_position"}}},"then":{"$ref":"#/definitions/HG"}},{"if":{"properties":{"test":{"const":"weather"}}},"then":{"$ref":"#/definitions/HH"}},{"not":{"properties":{"test":{"const":"is_weather"}},"$comment":"DEPRECATED"}}]}]},"D_groups_spec":{"oneOf":[{"type":"array","items":{"$ref":"#/definitions/D_groups_spec"}},{"type":"object","$ref":"#/definitions/D_filters_spec"}]},"F":{"title":"Operator","type":"string","description":"The comparison to apply with `value`.","default":"equals","enum":["!=","<","<=","<>","=","==",">",">=","equals","not"]},"G":{"title":"Subject","type":"string","description":"The subject of this filter test.","default":"self","enum":["block","other","parent","player","self","target","damager"]},"E":{"type":"object","title":"Clock Time","description":"Compares the current time with a float value in the range (0.0, 1.0).\n0.0= Noon\n0.25= Sunset\n0.5= Midnight\n0.75= Sunrise","required":["value"],"examples":[{"test":"clock_time","value":0.25}],"properties":{"test":{"type":"string","title":"Test Property","description":"Compares the current time with a float value in the range (0.0, 1.0).\n0.0= Noon\n0.25= Sunset\n0.5= Midnight\n0.75= Sunrise"},"operator":{"$ref":"#/definitions/F","description":"(Optional) The comparison to apply with `value`.","default":"equals","title":"Operator"},"subject":{"$ref":"#/definitions/G","description":"(Optional) The subject of this filter test.","default":"self","title":"Subject"},"value":{"type":"number","minimum":0,"maximum":24000,"description":"(Required) A floating point value.","title":"Value","examples":[0,0.025,0.5,0.75,1]}}},"H":{"type":"object","title":"Distance To Nearest Player","description":"Compares the distance to the nearest Player with a float value.","required":["value"],"examples":[{"test":"distance_to_nearest_player","value":5.7}],"properties":{"test":{"type":"string","title":"Test Property","description":"Compares the distance to the nearest Player with a float value."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"number","description":"(Required) A floating point value.","title":"Value"}}},"I":{"type":"object","title":"Has Ability","description":"Returns true when the subject entity has the named ability.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity has the named ability."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"(Required) The Ability type to test","enum":["flySpeed","flying","instabuild","invulnerable","lightning","mayfly","mute","noclip","walkSpeed","worldbuilder"],"title":"Value"}},"examples":[{"test":"has_ability","value":"flySpeed"}]},"J":{"type":"object","title":"Has Biome Tag","description":"Tests whether the biome the subject is in has the specified tag.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the biome the subject is in has the specified tag."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"(Required) The tag to look for","type":"string","title":"Value"}},"examples":[{"test":"has_biome_tag","value":"monster"}]},"BA":{"type":"object","title":"Has Component","description":"Returns true when the subject entity contains the named component.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity contains the named component."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"(Required) The component name to look for","title":"Value"}},"examples":[{"test":"has_component","value":"minecraft:explode"}]},"BB":{"type":"object","title":"Has Container Open","description":"Returns true when the subject Player entity has opened a container.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"(Optional) true or false.","title":"Value","type":"boolean","default":true}},"examples":[{"test":"has_container_open","value":true}]},"BD":{"title":"Entity Damage Source","description":"The types of damage an entity can receive","type":"string","enum":["all","anvil","attack","block_explosion","charging","contact","drowning","entity_attack","entity_explosion","fall","falling_block","fatal","fire_tick","fire","fireworks","fly_into_wall","freezing","lava","lightning","magic","magma","none","override","piston","projectile","sonic_boom","stalactite","stalagmite","starve","suffocation","suicide","temperature","thorns","void","wither"]},"BC":{"type":"object","title":"Has Damage","description":"Returns true when the subject entity receives the named damage type. has_damage can also use subject and operator parameters but they are optional.","required":["value"],"examples":[{"test":"has_damage","value":"fatal"}],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity receives the named damage type."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"The Damage type to test","$ref":"#/definitions/BD","title":"Value"}}},"BF":{"description":"A minecraft item identifier","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"BE":{"type":"object","title":"Has Equipment","description":"Tests for the presence of a named item in the designated slot of the subject entity.","required":["value"],"properties":{"test":{"type":"string","const":"has_equipment","description":"Tests for the presence of a named item in the designated slot of the subject entity.","title":"Test"},"domain":{"description":"The equipment location to test","default":"any","enum":["any","armor","feet","hand","head","leg","torso"],"title":"Domain"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The item name to look for","type":"string","$ref":"#/definitions/BF","title":"Value"}},"examples":[{"test":"has_equipment","value":"example"}]},"BG":{"type":"object","title":"Has Mob Effect","description":"Tests whether the Subject has the specified mob effect.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the Subject has the specified mob effect."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"The specified mob effect","title":"Value"}},"examples":[{"test":"has_mob_effect","value":"bad_omen"}]},"BH":{"type":"object","title":"Has Equipment","description":"Tests for the presence of a named item in the designated slot of the subject entity.","required":["value"],"properties":{"test":{"type":"string","const":"has_nametag","description":"Tests for the presence of a named item in the designated slot of the subject entity.","title":"Test"},"domain":{"description":"The equipment location to test","default":"any","enum":["any","armor","feet","hand","head","leg","torso"],"title":"Domain"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"","type":"boolean","title":"Value"}},"examples":[{"test":"has_nametag","value":false},{"test":"has_nametag","value":true}]},"BI":{"type":"object","title":"Has Ranged Weapon","description":"Returns true when the subject entity is holding a ranged weapon like a bow or crossbow.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_ranged_weapon","value":true}]},"BJ":{"type":"object","title":"Has Silk Touch","description":"Tests if the subject is holding an item with silk touch.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_silk_touch","subject":"other","value":true}]},"CA":{"type":"object","title":"Has Tag","description":"Returns true if the subject entity has the tag provided.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity has the tag provided."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"The tag as a string","pattern":"[a-zA-Z0-9_]+","title":"Value"}},"examples":[{"test":"has_tag","value":"example"}]},"CB":{"type":"object","title":"Has Target","description":"Returns true if the subject entity has a valid target.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_target","value":true}]},"CC":{"type":"object","title":"Has Trade Supply","description":"Tests whether the target has any trade supply left. Will return false if the target cannot be traded with.","properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the target has any trade supply left. Will return false if the target cannot be traded with."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"has_trade_supply","value":true}]},"CD":{"type":"object","title":"Hourly Clock Time","description":"Compares the current 24 hour time with an int value in the range[0, 24000]","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Compares the current 24 hour time with an int value in the range[0, 24000]","const":"hourly_clock_time"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"(Required) An integer value set between 0 and 24000","minimum":0,"maximum":24000,"title":"Value"}},"examples":[{"test":"hourly_clock_time","value":0}]},"CE":{"type":"object","title":"In Block","description":"Returns true when the subject entity is inside a specified Block type.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is inside a specified Block type."},"operator":{"$ref":"#/definitions/F","description":"(Optional) The comparison to apply with `value`.","default":"equals","title":"Operator"},"subject":{"$ref":"#/definitions/G","description":"(Optional) The subject of this filter test.","default":"self","title":"Subject"},"value":{"type":"string","description":"(Optional) A string value.","title":"Value"}},"examples":[{"test":"in_block","value":"minecraft:water"}]},"CF":{"type":"object","title":"In Caravan","description":"Returns true if the subject entity is in a caravan.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity is in a caravan."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_caravan","value":true}]},"CG":{"type":"object","title":"In Clouds","description":"Returns true when the subject entity is in the clouds.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is in the clouds."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_clouds","value":true}]},"CH":{"type":"object","title":"In Contact With Water","description":"Returns true when the subject entity in contact with any water: water, rain, splash water bottle.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity in contact with any water: water, rain, splash water bottle."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"(Optional) true or false.","type":"boolean","default":true}},"examples":[{"test":"in_contact_with_water","value":true}]},"CI":{"type":"object","title":"In Lava","description":"Returns true when the subject entity is in lava.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is in lava."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_lava","value":true}]},"CJ":{"type":"object","title":"In Nether","description":"Returns true when the subject entity is in Nether.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"in_nether","value":true}]},"DA":{"type":"object","title":"In Water Or Rain","description":"Returns true when the subject entity is in water or rain.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is in water or rain."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_water_or_rain","value":true}]},"DB":{"type":"object","title":"In Water","description":"Returns true when the subject entity is in water.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is in water."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_water","value":true}]},"DC":{"type":"object","title":"Inactivity Timer","description":"Tests if the specified duration in seconds of inactivity for despawning has been reached.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for","type":"integer","title":"Value"}},"examples":[{"test":"inactivity_timer","value":0}]},"DD":{"type":"object","title":"Is Altitude","description":"Tests the current altitude against a provided value. 0= bedrock elevation.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests the current altitude against a provided value. 0= bedrock elevation."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"The altitude value to compare with","minimum":0,"title":"Value"}},"examples":[{"test":"example","value":0}]},"DE":{"type":"object","title":"Is Avoiding Mobs","description":"Returns true if the subject entity is fleeing from other mobs.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity is fleeing from other mobs."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"example","value":true}]},"DF":{"type":"object","title":"Is Biome","description":"Tests whether the Subject is currently in the named biome.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the Subject is currently in the named biome."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Biome type to test","type":"string","enum":["beach","desert","extreme_hills","flat","forest","ice","jungle","mesa","mushroom_island","ocean","plain","river","savanna","stone_beach","swamp","taiga","the_end","the_nether"],"title":"Value"}},"examples":[{"test":"is_biome","value":"beach"}]},"DG":{"type":"object","title":"Is Block","description":"Returns true when the block has the given name.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for","type":"string","title":"Value"}},"examples":[{"test":"is_block","subject":"block","value":"minecraft:sweet_berry_bush"}]},"DH":{"type":"object","title":"Is Brightness","description":"Tests the current brightness against a provided value in the range (0.0f, 1.0f).","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests the current brightness against a provided value in the range (0.0f, 1.0f)."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The brightness value to compare with.","type":"number","minimum":0.0,"maximum":1.0,"title":"Value"}},"examples":[{"test":"is_brightness","value":0.0}]},"DI":{"type":"object","title":"Is Climbing","description":"Returns true if the subject entity is climbing.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity is climbing."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_climbing","value":true}]},"DJ":{"type":"object","title":"Is Color","description":"Returns true if the subject entity is the named color.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity is the named color."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Palette Color to test","type":"string","enum":["black","blue","brown","cyan","gray","green","light_blue","light_green","magenta","orange","pink","purple","red","silver","white","yellow"],"title":"Value"}},"examples":[{"test":"is_color","value":"black"}]},"EA":{"type":"object","title":"Is Daytime","description":"Returns true during the daylight hours.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true during the daylight hours."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_daytime","value":true}]},"EB":{"type":"object","title":"Is Difficulty","description":"Tests the current difficulty level of the game.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests the current difficulty level of the game."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The game's difficulty level to test","type":"string","enum":["easy","hard","normal","peaceful"],"title":"Value"}},"examples":[{"test":"is_difficulty","value":"easy"}]},"EC":{"type":"object","title":"Is Family","description":"Returns true when the subject entity is a member of the named family.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is a member of the named family."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for","type":"string","title":"Value"}},"examples":[{"test":"is_family","value":"monster"}]},"ED":{"type":"object","title":"Is Game Rule","description":"Tests whether a named game rule is active.","required":["domain","value"],"properties":{"domain":{"description":"The Game Rule to test.","title":"Domain","examples":["commandBlockOutput","commandBlocksEnabled","doDaylightCycle","doEntityDrops","doFireTick","doImmediateRespawn","doInsomnia","doMobLoot","doMobSpawning","doTileDrops","doWeatherCycle","drowningDamage","fallDamage","fireDamage","freezeDamage","functionCommandLimit","keepInventory","maxCommandChainLength","mobGriefing","naturalRegeneration","pvp","randomTickSpeed","respawnblocksexplode","sendCommandFeedback","showCoordinates","showDeathMessages","showTags","spawnRadius","tntExplodes"]},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"Tests whether a named game rule is active.","default":true,"type":"boolean","title":"Value"}},"examples":[{"test":"is_game_rule","domain":"domobspawning","value":false}]},"EE":{"type":"object","title":"Is Humid","description":"Tests whether the Subject is in an area with humidity","properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the Subject is in an area with humidity"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_humid","value":true}]},"EF":{"type":"object","title":"Is Immobile","description":"Returns true if the subject entity is immobile. An entity is immobile if it lacks AI goals, has just changed dimensions or if it is a mob and has no health.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_immobile","value":true}]},"EG":{"type":"object","title":"Is In Village","description":"Tests whether the Subject is inside the bounds of a village.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_in_village","value":true}]},"EH":{"type":"object","title":"Is Leashed To","description":"Returns true if the subject entity leashed to the calling entity.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_leashed_to","value":true}]},"EI":{"type":"object","title":"Is Leashed","description":"Returns true if the subject entity is leashed.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_leashed","value":true}]},"EJ":{"type":"object","title":"Is Mark Variant","description":"Returns true if the subject entity is the mark variant number provided.","additionalProperties":false,"properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"The altitude value to compare with","title":"Value"}},"examples":[{"test":"is_mark_variant","value":0}]},"FA":{"type":"object","title":"In Nether","description":"Tests if the subject is not at full health.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_missing_health","value":true}]},"FB":{"type":"object","title":"Is Moving","description":"Returns true if the subject entity is moving.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_moving","value":true}]},"FC":{"type":"object","title":"Is Owner","description":"Returns true if the subject entity is the owner of the calling entity.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_owner","value":true}]},"FD":{"type":"object","title":"Is Persistent","description":"Tests if the subject's persistence matches the bool value passed in.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_persistent","value":true}]},"FE":{"type":"object","title":"Is Riding","description":"Returns true if the subject entity is riding on another entity.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_riding","value":true}]},"FF":{"type":"object","title":"Is Skin Id","description":"Returns true if the subject entity is the skin id number provided.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"The altitude value to compare with","title":"Value"}},"examples":[{"test":"is_skin_id","value":0}]},"FG":{"type":"object","title":"Is Sleeping","description":"Tests whether the Subject is sleeping.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_sleeping","value":true}]},"FH":{"type":"object","title":"Is Sneaking","description":"Returns true if the subject entity is sneaking.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_sneaking","value":true}]},"FI":{"type":"object","title":"Is Snow Covered","description":"Tests whether the Subject is in an area with snow cover","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_snow_covered","value":true}]},"FJ":{"type":"object","title":"Is Target","description":"Returns true if the subject entity is the target of the calling entity.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_target","value":true}]},"GA":{"type":"object","title":"Is Target","description":"Tests whether the current temperature is a given type.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Biome temperature catagory to test","type":"string","enum":["cold","mild","ocean","warm"],"title":"Value"}},"examples":[{"test":"is_temperature_type","value":"cold"}]},"GB":{"type":"object","title":"Is Temperature Value","description":"Tests the current temperature against a provided value in the range (0.0, 1.0) where 0.0f is the coldest temp and 1.0f is the hottest.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Biome temperature value to compare with.","type":"number","minimum":0.0,"maximum":1.0,"title":"Value"}},"examples":[{"test":"is_temperature_value","value":0.0}]},"GC":{"type":"object","title":"Is Underground","description":"Returns true when the subject entity is underground. An entity is considered underground if there are non-solid blocks above it.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_underground","value":true}]},"GD":{"type":"object","title":"Is Underwater","description":"Returns true when the subject entity is under water. An entity is considered underwater if it is completely submerged in water blocks.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_underwater","value":true}]},"GE":{"type":"object","title":"Is Variant","description":"Returns true if the subject entity is the variant number provided.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"The altitude value to compare with","title":"Value"}},"examples":[{"test":"is_variant","value":0}]},"GF":{"type":"object","title":"Is Visible","description":"Returns true if the subject entity is visible.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_visible","value":true}]},"GG":{"type":"object","title":"Is Waterlogged","description":"Tests if the subject block is submerged in water.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"true or false.","type":"boolean","title":"Value"}},"examples":[{"test":"light_level","value":0}]},"GH":{"type":"object","title":"Light Level","description":"Tests is the mob is outside of the specified light level range (0, 16).","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"An integer value.","type":"integer","title":"Value","minimum":0,"maximum":16}},"examples":[{"test":"light_level","value":0}]},"GI":{"type":"object","title":"Moon Intensity","description":"Compares the current moon intensity with a float value in the range (0.0, 1.0)","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"A floating point value.","type":"number","minimum":0,"maximum":1,"title":"Value"}},"examples":[{"test":"moon_intensity","value":0.0}]},"GJ":{"type":"object","title":"Moon Phase","description":"Compares the current moon phase with an integer value in the range (0, 7).","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"An integer value.","minimum":0,"maximum":7,"title":"Value"}},"examples":[{"test":"moon_phase","value":0}]},"HA":{"type":"object","title":"On Ground","description":"Returns true when the subject entity is on ground.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"on_ground","value":true}]},"HB":{"type":"object","title":"On Ladder","description":"Returns true when the subject entity is on a ladder.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"on_ladder","value":true}]},"HC":{"type":"object","title":"Random Chance","description":"Returns true if the random chance rolls 0 out of a specified Maximum range.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"An integer value.","type":"integer","title":"Value"}},"examples":[{"test":"random_chance","value":0}]},"HD":{"type":"object","title":"Rider Count","description":"Returns the number of riders on this entity.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"An integer value.","type":"integer","title":"Value"}},"examples":[{"test":"rider_count","value":0}]},"HE":{"type":"object","title":"Surface Mob","description":"Tests if the subject is a surface mob.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"surface_mob","value":true}]},"HF":{"type":"object","title":"Trusts","description":"Returns true if the subject is trusted by entity.","properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"trusts","value":true}]},"HG":{"type":"object","title":"Weather At Position","description":"Tests the current weather, at the actor's position, against a provided weather value.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for","type":"string","title":"Value","examples":["thunderstorm"]}},"examples":[{"test":"weather_at_position","value":"thunderstorm"}]},"HH":{"type":"object","title":"Weather","description":"Tests for the current weather state the entity is experiencing.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for","type":"string","title":"Value","examples":["clear","thunderstorm"]}},"examples":[{"test":"weather","value":"clear"}]},"D":{"title":"Filters","$ref":"#/definitions/D_groups_spec","examples":[{"test":"is_family","subject":"other","value":"example"},{"test":"has_tag","value":"example"},[]]},"C":{"title":"Biome Filter","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"array","items":{"$ref":"#/definitions/D"}},{"type":"object","$ref":"#/definitions/D"}]},"HI":{"additionalProperties":false,"type":"object","title":"Brightness Filter","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"min":{"type":"integer","description":"This is the minimum light level value that allows the mob to spawn","title":"Min"},"max":{"type":"integer","description":"This is the maximum light level value that allows the mob to spawn","title":"Max"},"adjust_for_weather":{"type":"boolean","description":"This determines if weather can affect the light level conditions that cause the mob to spawn (e.g. Allowing hostile mobs to spawn during the day when it rains.)","title":"Adjust For Weather","default":true}}},"HJ":{"additionalProperties":false,"type":"object","title":"Density Limit","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"surface":{"type":"integer","description":"This is the maximum number of mobs of this type spawnable on the surface","title":"Surface"},"underground":{"type":"integer","description":"This is the maximum number of mobs of this type spawnable underground","title":"Underground"}}},"IA_difficulty":{"type":"string","enum":["easy","normal","hard","peaceful"]},"IA":{"additionalProperties":false,"type":"object","title":"Difficulty Filter","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"min":{"$ref":"#/definitions/IA_difficulty","description":"This is the minimum difficulty level that a mob spawns","title":"Min"},"max":{"$ref":"#/definitions/IA_difficulty","description":"This is the maximum difficulty level that a mob spawns","title":"Max"}}},"IB":{"additionalProperties":false,"type":"object","title":"Delay Filter","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"min":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Min"},"max":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Max"},"identifier":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Identifier"},"spawn_chance":{"title":"Spawn Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"}}},"IC":{"additionalProperties":false,"type":"object","title":"Distance Filter","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"min":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Min"},"max":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Max"}}},"ID":{"additionalProperties":false,"type":"object","title":"Disallow Spawns In Bubble","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"IE":{"additionalProperties":false,"type":"object","title":"Height Filter","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"min":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Min"},"max":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Max"}}},"IF_herd":{"type":"object","title":"Herd","description":"Herd","additionalProperties":false,"properties":{"initial_event":{"title":"Initial Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"},"initial_event_count":{"title":"Initial Event Count","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"},"min_size":{"type":"integer","description":"This is the minimum number of mobs that spawn in a herd","title":"Minimum Size"},"max_size":{"type":"integer","description":"This is the maximum number of mobs that spawn in a herd","title":"Maximum Size"},"event":{"type":"string","description":"This is an event that can be triggered from spawning","title":"Event"},"event_skip_count":{"type":"integer","description":"This is the number of mobs spawned before the specified event is triggered","title":"Event Skip Count"}}},"IF":{"title":"Height Filter","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"object","$ref":"#/definitions/IF_herd"},{"type":"array","items":{"$ref":"#/definitions/IF_herd"}}]},"IG":{"additionalProperties":false,"type":"object","title":"Player In Village Filter","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"distance":{"type":"integer","title":"Distance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"village_border_tolerance":{"type":"integer","title":"Village Border Tolerance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"IH":{"additionalProperties":false,"type":"array","title":"Permute Type","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"object","additionalProperties":false,"title":"Permute Type","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"weight":{"type":"integer","title":"Weight","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"entity_type":{"type":"string","title":"Entity Type","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}}},"II":{"title":"Mob Event Filter","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"type":"object","properties":{"event":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Event"}}},"IJ":{"title":"Spawn Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"event":{"type":"string","title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"JA":{"title":"Spawns On Block Filter","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"JB":{"title":"Spawns On Block Prevented Filter","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"JC":{"additionalProperties":false,"type":"object","title":"Spawns On Lava","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{}},"JD":{"additionalProperties":false,"type":"object","title":"Spawns On Surface","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{}},"JE":{"additionalProperties":false,"type":"object","title":"Spawns Underground","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{}},"JF":{"title":"Spawns Underwater","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"JG":{"title":"Spawns Underwater","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"blocks":{"title":"Blocks","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"distance":{"title":"Distance","type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","minimum":0}}},"JH":{"additionalProperties":false,"type":"object","title":"Weight","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"default":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Default"}}},"JI":{"title":"World Age Filter","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"min":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Min"}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.behavior.spawn_rules","examples":[{"format_version":"1.19.0","minecraft:spawn_rules":{"description":{"identifier":"minecraft:entity","population_control":"ambient"},"conditions":[{}]}}],"type":"object","title":"Spawn Rules","description":"Data-Driven spawning allows you to adjust the spawn conditions of mobs.","additionalProperties":false,"required":["format_version","minecraft:spawn_rules"],"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:spawn_rules":{"type":"object","title":"Spawn Rules","description":"Data-Driven spawning allows you to adjust the spawn conditions of mobs.","additionalProperties":false,"properties":{"description":{"type":"object","title":"Description","description":"The descripton of to which entity this spawn rule belongs.","$comment":"UNDOCUMENTED","additionalProperties":false,"required":["identifier","population_control"],"properties":{"identifier":{"title":"Identifier","description":"The entity identifier this spawn rule will apply to, entity must exist.","$comment":"UNDOCUMENTED","$ref":"#/definitions/B"},"population_control":{"type":"string","title":"Population Control","description":"Setting an entity to a pool it will spawn as long as that pool hasn't reached the spawn limit.","$comment":"UNDOCUMENTED","enum":["ambient","animal","water_animal","monster","cat","pillager"]}}},"conditions":{"type":"array","title":"Conditions","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":{"additionalProperties":false,"type":"object","title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"minecraft:biome_filter":{"$ref":"#/definitions/C"},"minecraft:brightness_filter":{"$ref":"#/definitions/HI"},"minecraft:density_limit":{"$ref":"#/definitions/HJ"},"minecraft:difficulty_filter":{"$ref":"#/definitions/IA"},"minecraft:delay_filter":{"$ref":"#/definitions/IB"},"minecraft:distance_filter":{"$ref":"#/definitions/IC"},"minecraft:disallow_spawns_in_bubble":{"$ref":"#/definitions/ID"},"minecraft:height_filter":{"$ref":"#/definitions/IE"},"minecraft:herd":{"$ref":"#/definitions/IF"},"minecraft:player_in_village_filter":{"$ref":"#/definitions/IG"},"minecraft:permute_type":{"$ref":"#/definitions/IH"},"minecraft:mob_event_filter":{"$ref":"#/definitions/II"},"minecraft:spawn_event":{"$ref":"#/definitions/IJ"},"minecraft:spawns_on_block_filter":{"$ref":"#/definitions/JA"},"minecraft:spawns_on_block_prevented_filter":{"$ref":"#/definitions/JB"},"minecraft:spawns_lava":{"$ref":"#/definitions/JC"},"minecraft:spawns_on_surface":{"$ref":"#/definitions/JD"},"minecraft:spawns_underground":{"$ref":"#/definitions/JE"},"minecraft:spawns_underwater":{"$ref":"#/definitions/JF"},"minecraft:spawns_above_block_filter":{"$ref":"#/definitions/JG"},"minecraft:weight":{"$ref":"#/definitions/JH"},"minecraft:world_age_filter":{"$ref":"#/definitions/JI"}}}}}}},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"B":{"description":"A minecraft entity identifier.","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Entity Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"D_filters_spec":{"defaultSnippets":[{"label":"New Test","body":{"test":"$1","value":"$2"}},{"label":"New All_of Test","body":{"all_of":[{"test":"$1","value":"$2"},{"test":"$3","value":"$4"}]}},{"label":"New Any_of Test","body":{"any_of":[{"test":"$1","value":"$2"},{"test":"$3","value":"$4"}]}},{"label":"New None_of Test","body":{"none_of":[{"test":"$1","value":"$2"},{"test":"$3","value":"$4"}]}}],"examples":[{"all_of":[{}]},{"any_of":[{}]},{"none_of":[{}]}],"oneOf":[{"propertyNames":{"enum":["all_of","any_of","none_of"]},"properties":{"all_of":{"title":"All Of","description":"All tests in an `all_of` group must pass in order for the group to pass.","$ref":"#/definitions/D_groups_spec"},"any_of":{"title":"Any Of","description":"One or more tests in an `any_of` group must pass in order for the group to pass.","$ref":"#/definitions/D_groups_spec"},"none_of":{"title":"None Of","description":"All tests in a `none_of` group must fail in order for the group to pass.","$ref":"#/definitions/D_groups_spec"}}},{"required":["test"],"properties":{"all_of":{"title":"All Of","description":"All tests in an `all_of` group must pass in order for the group to pass.","$ref":"#/definitions/D_groups_spec"},"any_of":{"title":"Any Of","description":"One or more tests in an `any_of` group must pass in order for the group to pass.","$ref":"#/definitions/D_groups_spec"},"none_of":{"title":"None Of","description":"All tests in a `none_of` group must fail in order for the group to pass.","$ref":"#/definitions/D_groups_spec"}},"allOf":[{"if":{"properties":{"test":{"const":"clock_time"}}},"then":{"$ref":"#/definitions/E"}},{"if":{"properties":{"test":{"const":"distance_to_nearest_player"}}},"then":{"$ref":"#/definitions/H"}},{"if":{"properties":{"test":{"const":"has_ability"}}},"then":{"$ref":"#/definitions/I"}},{"if":{"properties":{"test":{"const":"has_biome_tag"}}},"then":{"$ref":"#/definitions/J"}},{"if":{"properties":{"test":{"const":"has_component"}}},"then":{"$ref":"#/definitions/BA"}},{"if":{"properties":{"test":{"const":"has_container_open"}}},"then":{"$ref":"#/definitions/BB"}},{"if":{"properties":{"test":{"const":"has_damage"}}},"then":{"$ref":"#/definitions/BC"}},{"if":{"properties":{"test":{"const":"has_equipment"}}},"then":{"$ref":"#/definitions/BE"}},{"if":{"properties":{"test":{"const":"has_mob_effect"}}},"then":{"$ref":"#/definitions/BG"}},{"if":{"properties":{"test":{"const":"has_nametag"}}},"then":{"$ref":"#/definitions/BH"}},{"if":{"properties":{"test":{"const":"has_ranged_weapon"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"test":{"const":"has_silk_touch"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"test":{"const":"has_tag"}}},"then":{"$ref":"#/definitions/CA"}},{"if":{"properties":{"test":{"const":"has_target"}}},"then":{"$ref":"#/definitions/CB"}},{"if":{"properties":{"test":{"const":"has_trade_supply"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"test":{"const":"hourly_clock_time"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"test":{"const":"in_block"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"test":{"const":"in_caravan"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"test":{"const":"in_clouds"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"test":{"const":"in_contact_with_water"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"test":{"const":"in_lava"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"test":{"const":"in_nether"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"test":{"const":"in_water_or_rain"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"test":{"const":"in_water"}}},"then":{"$ref":"#/definitions/DB"}},{"if":{"properties":{"test":{"const":"inactivity_timer"}}},"then":{"$ref":"#/definitions/DC"}},{"if":{"properties":{"test":{"const":"is_altitude"}}},"then":{"$ref":"#/definitions/DD"}},{"if":{"properties":{"test":{"const":"is_avoiding_mobs"}}},"then":{"$ref":"#/definitions/DE"}},{"if":{"properties":{"test":{"const":"is_biome"}}},"then":{"$ref":"#/definitions/DF"}},{"if":{"properties":{"test":{"const":"is_block"}}},"then":{"$ref":"#/definitions/DG"}},{"if":{"properties":{"test":{"const":"is_brightness"}}},"then":{"$ref":"#/definitions/DH"}},{"if":{"properties":{"test":{"const":"is_climbing"}}},"then":{"$ref":"#/definitions/DI"}},{"if":{"properties":{"test":{"const":"is_color"}}},"then":{"$ref":"#/definitions/DJ"}},{"if":{"properties":{"test":{"const":"is_daytime"}}},"then":{"$ref":"#/definitions/EA"}},{"if":{"properties":{"test":{"const":"is_difficulty"}}},"then":{"$ref":"#/definitions/EB"}},{"if":{"properties":{"test":{"const":"is_family"}}},"then":{"$ref":"#/definitions/EC"}},{"if":{"properties":{"test":{"const":"is_game_rule"}}},"then":{"$ref":"#/definitions/ED"}},{"if":{"properties":{"test":{"const":"is_humid"}}},"then":{"$ref":"#/definitions/EE"}},{"if":{"properties":{"test":{"const":"is_immobile"}}},"then":{"$ref":"#/definitions/EF"}},{"if":{"properties":{"test":{"const":"is_in_village"}}},"then":{"$ref":"#/definitions/EG"}},{"if":{"properties":{"test":{"const":"is_leashed_to"}}},"then":{"$ref":"#/definitions/EH"}},{"if":{"properties":{"test":{"const":"is_leashed"}}},"then":{"$ref":"#/definitions/EI"}},{"if":{"properties":{"test":{"const":"is_mark_variant"}}},"then":{"$ref":"#/definitions/EJ"}},{"if":{"properties":{"test":{"const":"is_missing_health"}}},"then":{"$ref":"#/definitions/FA"}},{"if":{"properties":{"test":{"const":"is_moving"}}},"then":{"$ref":"#/definitions/FB"}},{"if":{"properties":{"test":{"const":"is_owner"}}},"then":{"$ref":"#/definitions/FC"}},{"if":{"properties":{"test":{"const":"is_persistent"}}},"then":{"$ref":"#/definitions/FD"}},{"if":{"properties":{"test":{"const":"is_riding"}}},"then":{"$ref":"#/definitions/FE"}},{"if":{"properties":{"test":{"const":"is_skin_id"}}},"then":{"$ref":"#/definitions/FF"}},{"if":{"properties":{"test":{"const":"is_sleeping"}}},"then":{"$ref":"#/definitions/FG"}},{"if":{"properties":{"test":{"const":"is_sneaking"}}},"then":{"$ref":"#/definitions/FH"}},{"if":{"properties":{"test":{"const":"is_snow_covered"}}},"then":{"$ref":"#/definitions/FI"}},{"if":{"properties":{"test":{"const":"is_target"}}},"then":{"$ref":"#/definitions/FJ"}},{"if":{"properties":{"test":{"const":"is_temperature_type"}}},"then":{"$ref":"#/definitions/GA"}},{"if":{"properties":{"test":{"const":"is_temperature_value"}}},"then":{"$ref":"#/definitions/GB"}},{"if":{"properties":{"test":{"const":"is_underground"}}},"then":{"$ref":"#/definitions/GC"}},{"if":{"properties":{"test":{"const":"is_underwater"}}},"then":{"$ref":"#/definitions/GD"}},{"if":{"properties":{"test":{"const":"is_variant"}}},"then":{"$ref":"#/definitions/GE"}},{"if":{"properties":{"test":{"const":"is_visible"}}},"then":{"$ref":"#/definitions/GF"}},{"if":{"properties":{"test":{"const":"is_waterlogged"}}},"then":{"$ref":"#/definitions/GG"}},{"if":{"properties":{"test":{"const":"light_level"}}},"then":{"$ref":"#/definitions/GH"}},{"if":{"properties":{"test":{"const":"moon_intensity"}}},"then":{"$ref":"#/definitions/GI"}},{"if":{"properties":{"test":{"const":"moon_phase"}}},"then":{"$ref":"#/definitions/GJ"}},{"if":{"properties":{"test":{"const":"on_ground"}}},"then":{"$ref":"#/definitions/HA"}},{"if":{"properties":{"test":{"const":"on_ladder"}}},"then":{"$ref":"#/definitions/HB"}},{"if":{"properties":{"test":{"const":"random_chance"}}},"then":{"$ref":"#/definitions/HC"}},{"if":{"properties":{"test":{"const":"rider_count"}}},"then":{"$ref":"#/definitions/HD"}},{"if":{"properties":{"test":{"const":"surface_mob"}}},"then":{"$ref":"#/definitions/HE"}},{"if":{"properties":{"test":{"const":"trusts"}}},"then":{"$ref":"#/definitions/HF"}},{"if":{"properties":{"test":{"const":"weather_at_position"}}},"then":{"$ref":"#/definitions/HG"}},{"if":{"properties":{"test":{"const":"weather"}}},"then":{"$ref":"#/definitions/HH"}},{"not":{"properties":{"test":{"const":"is_weather"}},"$comment":"DEPRECATED"}}]}]},"D_groups_spec":{"oneOf":[{"type":"array","items":{"$ref":"#/definitions/D_groups_spec"}},{"type":"object","$ref":"#/definitions/D_filters_spec"}]},"F":{"title":"Operator","type":"string","description":"The comparison to apply with `value`.","default":"equals","enum":["!=","<","<=","<>","=","==",">",">=","equals","not"]},"G":{"title":"Subject","type":"string","description":"The subject of this filter test.","default":"self","enum":["block","other","parent","player","self","target","damager"]},"E":{"type":"object","title":"Clock Time","description":"Compares the current time with a float value in the range (0.0, 1.0).\n0.0= Noon\n0.25= Sunset\n0.5= Midnight\n0.75= Sunrise","required":["value"],"examples":[{"test":"clock_time","value":0.25}],"properties":{"test":{"type":"string","title":"Test Property","description":"Compares the current time with a float value in the range (0.0, 1.0).\n0.0= Noon\n0.25= Sunset\n0.5= Midnight\n0.75= Sunrise"},"operator":{"$ref":"#/definitions/F","description":"(Optional) The comparison to apply with `value`.","default":"equals","title":"Operator"},"subject":{"$ref":"#/definitions/G","description":"(Optional) The subject of this filter test.","default":"self","title":"Subject"},"value":{"type":"number","minimum":0,"maximum":24000,"description":"(Required) A floating point value.","title":"Value","examples":[0,0.025,0.5,0.75,1]}}},"H":{"type":"object","title":"Distance To Nearest Player","description":"Compares the distance to the nearest Player with a float value.","required":["value"],"examples":[{"test":"distance_to_nearest_player","value":5.7}],"properties":{"test":{"type":"string","title":"Test Property","description":"Compares the distance to the nearest Player with a float value."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"number","description":"(Required) A floating point value.","title":"Value"}}},"I":{"type":"object","title":"Has Ability","description":"Returns true when the subject entity has the named ability.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity has the named ability."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"(Required) The Ability type to test.","enum":["flySpeed","flying","instabuild","invulnerable","lightning","mayfly","mute","noclip","walkSpeed","worldbuilder"],"title":"Value"}},"examples":[{"test":"has_ability","value":"flySpeed"}]},"J":{"type":"object","title":"Has Biome Tag","description":"Tests whether the biome the subject is in has the specified tag.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the biome the subject is in has the specified tag."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"(Required) The tag to look for.","type":"string","title":"Value"}},"examples":[{"test":"has_biome_tag","value":"monster"}]},"BA":{"type":"object","title":"Has Component","description":"Returns true when the subject entity contains the named component.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity contains the named component."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"(Required) The component name to look for.","title":"Value"}},"examples":[{"test":"has_component","value":"minecraft:explode"}]},"BB":{"type":"object","title":"Has Container Open","description":"Returns true when the subject Player entity has opened a container.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"(Optional) true or false.","title":"Value","type":"boolean","default":true}},"examples":[{"test":"has_container_open","value":true}]},"BD":{"title":"Entity Damage Source","description":"The types of damage an entity can receive.","type":"string","enum":["all","anvil","attack","block_explosion","charging","contact","drowning","entity_attack","entity_explosion","fall","falling_block","fatal","fire_tick","fire","fireworks","fly_into_wall","freezing","lava","lightning","magic","magma","none","override","piston","projectile","sonic_boom","stalactite","stalagmite","starve","suffocation","suicide","temperature","thorns","void","wither"]},"BC":{"type":"object","title":"Has Damage","description":"Returns true when the subject entity receives the named damage type. has_damage can also use subject and operator parameters but they are optional.","required":["value"],"examples":[{"test":"has_damage","value":"fatal"}],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity receives the named damage type."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"The Damage type to test.","$ref":"#/definitions/BD","title":"Value"}}},"BF":{"description":"A minecraft item identifier.","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"BE":{"type":"object","title":"Has Equipment","description":"Tests for the presence of a named item in the designated slot of the subject entity.","required":["value"],"properties":{"test":{"type":"string","const":"has_equipment","description":"Tests for the presence of a named item in the designated slot of the subject entity.","title":"Test"},"domain":{"description":"The equipment location to test.","default":"any","enum":["any","armor","feet","hand","head","leg","torso"],"title":"Domain"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The item name to look for.","type":"string","$ref":"#/definitions/BF","title":"Value"}},"examples":[{"test":"has_equipment","value":"example"}]},"BG":{"type":"object","title":"Has Mob Effect","description":"Tests whether the Subject has the specified mob effect.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the Subject has the specified mob effect."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"The specified mob effect.","title":"Value"}},"examples":[{"test":"has_mob_effect","value":"bad_omen"}]},"BH":{"type":"object","title":"Has Equipment","description":"Tests for the presence of a named item in the designated slot of the subject entity.","required":["value"],"properties":{"test":{"type":"string","const":"has_nametag","description":"Tests for the presence of a named item in the designated slot of the subject entity.","title":"Test"},"domain":{"description":"The equipment location to test.","default":"any","enum":["any","armor","feet","hand","head","leg","torso"],"title":"Domain"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"","type":"boolean","title":"Value"}},"examples":[{"test":"has_nametag","value":false},{"test":"has_nametag","value":true}]},"BI":{"type":"object","title":"Has Ranged Weapon","description":"Returns true when the subject entity is holding a ranged weapon like a bow or crossbow.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_ranged_weapon","value":true}]},"BJ":{"type":"object","title":"Has Silk Touch","description":"Tests if the subject is holding an item with silk touch.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_silk_touch","subject":"other","value":true}]},"CA":{"type":"object","title":"Has Tag","description":"Returns true if the subject entity has the tag provided.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity has the tag provided."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"string","description":"The tag as a string.","pattern":"[a-zA-Z0-9_]+","title":"Value"}},"examples":[{"test":"has_tag","value":"example"}]},"CB":{"type":"object","title":"Has Target","description":"Returns true if the subject entity has a valid target.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_target","value":true}]},"CC":{"type":"object","title":"Has Trade Supply","description":"Tests whether the target has any trade supply left. Will return false if the target cannot be traded with.","properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the target has any trade supply left. Will return false if the target cannot be traded with."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"has_trade_supply","value":true}]},"CD":{"type":"object","title":"Hourly Clock Time","description":"Compares the current 24 hour time with an int value in the range[0, 24000].","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Compares the current 24 hour time with an int value in the range[0, 24000].","const":"hourly_clock_time"},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"(Required) An integer value set between 0 and 24000.","minimum":0,"maximum":24000,"title":"Value"}},"examples":[{"test":"hourly_clock_time","value":0}]},"CE":{"type":"object","title":"In Block","description":"Returns true when the subject entity is inside a specified Block type.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is inside a specified Block type."},"operator":{"$ref":"#/definitions/F","description":"(Optional) The comparison to apply with `value`.","default":"equals","title":"Operator"},"subject":{"$ref":"#/definitions/G","description":"(Optional) The subject of this filter test.","default":"self","title":"Subject"},"value":{"type":"string","description":"(Optional) A string value.","title":"Value"}},"examples":[{"test":"in_block","value":"minecraft:water"}]},"CF":{"type":"object","title":"In Caravan","description":"Returns true if the subject entity is in a caravan.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity is in a caravan."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_caravan","value":true}]},"CG":{"type":"object","title":"In Clouds","description":"Returns true when the subject entity is in the clouds.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is in the clouds."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_clouds","value":true}]},"CH":{"type":"object","title":"In Contact With Water","description":"Returns true when the subject entity in contact with any water: water, rain, splash water bottle.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity in contact with any water: water, rain, splash water bottle."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"(Optional) true or false.","type":"boolean","default":true}},"examples":[{"test":"in_contact_with_water","value":true}]},"CI":{"type":"object","title":"In Lava","description":"Returns true when the subject entity is in lava.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is in lava."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_lava","value":true}]},"CJ":{"type":"object","title":"In Nether","description":"Returns true when the subject entity is in Nether.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"in_nether","value":true}]},"DA":{"type":"object","title":"In Water Or Rain","description":"Returns true when the subject entity is in water or rain.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is in water or rain."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_water_or_rain","value":true}]},"DB":{"type":"object","title":"In Water","description":"Returns true when the subject entity is in water.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is in water."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_water","value":true}]},"DC":{"type":"object","title":"Inactivity Timer","description":"Tests if the specified duration in seconds of inactivity for despawning has been reached.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for.","type":"integer","title":"Value"}},"examples":[{"test":"inactivity_timer","value":0}]},"DD":{"type":"object","title":"Is Altitude","description":"Tests the current altitude against a provided value. 0= bedrock elevation.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests the current altitude against a provided value. 0= bedrock elevation."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"The altitude value to compare with.","minimum":0,"title":"Value"}},"examples":[{"test":"example","value":0}]},"DE":{"type":"object","title":"Is Avoiding Mobs","description":"Returns true if the subject entity is fleeing from other mobs.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity is fleeing from other mobs."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"example","value":true}]},"DF":{"type":"object","title":"Is Biome","description":"Tests whether the Subject is currently in the named biome.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the Subject is currently in the named biome."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Biome type to test.","type":"string","enum":["beach","desert","extreme_hills","flat","forest","ice","jungle","mesa","mushroom_island","ocean","plain","river","savanna","stone_beach","swamp","taiga","the_end","the_nether"],"title":"Value"}},"examples":[{"test":"is_biome","value":"beach"}]},"DG":{"type":"object","title":"Is Block","description":"Returns true when the block has the given name.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for.","type":"string","title":"Value"}},"examples":[{"test":"is_block","subject":"block","value":"minecraft:sweet_berry_bush"}]},"DH":{"type":"object","title":"Is Brightness","description":"Tests the current brightness against a provided value in the range (0.0f, 1.0f).","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests the current brightness against a provided value in the range (0.0f, 1.0f)."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The brightness value to compare with.","type":"number","minimum":0.0,"maximum":1.0,"title":"Value"}},"examples":[{"test":"is_brightness","value":0.0}]},"DI":{"type":"object","title":"Is Climbing","description":"Returns true if the subject entity is climbing.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity is climbing."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_climbing","value":true}]},"DJ":{"type":"object","title":"Is Color","description":"Returns true if the subject entity is the named color.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true if the subject entity is the named color."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Palette Color to test.","type":"string","enum":["black","blue","brown","cyan","gray","green","light_blue","light_green","magenta","orange","pink","purple","red","silver","white","yellow"],"title":"Value"}},"examples":[{"test":"is_color","value":"black"}]},"EA":{"type":"object","title":"Is Daytime","description":"Returns true during the daylight hours.","properties":{"test":{"type":"string","title":"Test Property","description":"Returns true during the daylight hours."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_daytime","value":true}]},"EB":{"type":"object","title":"Is Difficulty","description":"Tests the current difficulty level of the game.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Tests the current difficulty level of the game."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The game's difficulty level to test.","type":"string","enum":["easy","hard","normal","peaceful"],"title":"Value"}},"examples":[{"test":"is_difficulty","value":"easy"}]},"EC":{"type":"object","title":"Is Family","description":"Returns true when the subject entity is a member of the named family.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"Returns true when the subject entity is a member of the named family."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for.","type":"string","title":"Value"}},"examples":[{"test":"is_family","value":"monster"}]},"ED":{"type":"object","title":"Is Game Rule","description":"Tests whether a named game rule is active.","required":["domain","value"],"properties":{"domain":{"description":"The Game Rule to test.","title":"Domain","examples":["commandBlockOutput","commandBlocksEnabled","doDaylightCycle","doEntityDrops","doFireTick","doImmediateRespawn","doInsomnia","doMobLoot","doMobSpawning","doTileDrops","doWeatherCycle","drowningDamage","fallDamage","fireDamage","freezeDamage","functionCommandLimit","keepInventory","maxCommandChainLength","mobGriefing","naturalRegeneration","pvp","randomTickSpeed","respawnblocksexplode","sendCommandFeedback","showCoordinates","showDeathMessages","showTags","spawnRadius","tntExplodes"]},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"Tests whether a named game rule is active.","default":true,"type":"boolean","title":"Value"}},"examples":[{"test":"is_game_rule","domain":"domobspawning","value":false}]},"EE":{"type":"object","title":"Is Humid","description":"Tests whether the Subject is in an area with humidity.","properties":{"test":{"type":"string","title":"Test Property","description":"Tests whether the Subject is in an area with humidity."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_humid","value":true}]},"EF":{"type":"object","title":"Is Immobile","description":"Returns true if the subject entity is immobile. An entity is immobile if it lacks AI goals, has just changed dimensions or if it is a mob and has no health.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_immobile","value":true}]},"EG":{"type":"object","title":"Is In Village","description":"Tests whether the Subject is inside the bounds of a village.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_in_village","value":true}]},"EH":{"type":"object","title":"Is Leashed To","description":"Returns true if the subject entity leashed to the calling entity.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_leashed_to","value":true}]},"EI":{"type":"object","title":"Is Leashed","description":"Returns true if the subject entity is leashed.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_leashed","value":true}]},"EJ":{"type":"object","title":"Is Mark Variant","description":"Returns true if the subject entity is the mark variant number provided.","additionalProperties":false,"properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"The altitude value to compare with.","title":"Value"}},"examples":[{"test":"is_mark_variant","value":0}]},"FA":{"type":"object","title":"In Nether","description":"Tests if the subject is not at full health.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_missing_health","value":true}]},"FB":{"type":"object","title":"Is Moving","description":"Returns true if the subject entity is moving.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_moving","value":true}]},"FC":{"type":"object","title":"Is Owner","description":"Returns true if the subject entity is the owner of the calling entity.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_owner","value":true}]},"FD":{"type":"object","title":"Is Persistent","description":"Tests if the subject's persistence matches the bool value passed in.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_persistent","value":true}]},"FE":{"type":"object","title":"Is Riding","description":"Returns true if the subject entity is riding on another entity.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_riding","value":true}]},"FF":{"type":"object","title":"Is Skin Id","description":"Returns true if the subject entity is the skin id number provided.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"The altitude value to compare with.","title":"Value"}},"examples":[{"test":"is_skin_id","value":0}]},"FG":{"type":"object","title":"Is Sleeping","description":"Tests whether the Subject is sleeping.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_sleeping","value":true}]},"FH":{"type":"object","title":"Is Sneaking","description":"Returns true if the subject entity is sneaking.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_sneaking","value":true}]},"FI":{"type":"object","title":"Is Snow Covered","description":"Tests whether the Subject is in an area with snow cover.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_snow_covered","value":true}]},"FJ":{"type":"object","title":"Is Target","description":"Returns true if the subject entity is the target of the calling entity.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_target","value":true}]},"GA":{"type":"object","title":"Is Target","description":"Tests whether the current temperature is a given type.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Biome temperature catagory to test.","type":"string","enum":["cold","mild","ocean","warm"],"title":"Value"}},"examples":[{"test":"is_temperature_type","value":"cold"}]},"GB":{"type":"object","title":"Is Temperature Value","description":"Tests the current temperature against a provided value in the range (0.0, 1.0) where 0.0f is the coldest temp and 1.0f is the hottest.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Biome temperature value to compare with.","type":"number","minimum":0.0,"maximum":1.0,"title":"Value"}},"examples":[{"test":"is_temperature_value","value":0.0}]},"GC":{"type":"object","title":"Is Underground","description":"Returns true when the subject entity is underground. An entity is considered underground if there are non-solid blocks above it.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_underground","value":true}]},"GD":{"type":"object","title":"Is Underwater","description":"Returns true when the subject entity is under water. An entity is considered underwater if it is completely submerged in water blocks.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_underwater","value":true}]},"GE":{"type":"object","title":"Is Variant","description":"Returns true if the subject entity is the variant number provided.","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"The altitude value to compare with.","title":"Value"}},"examples":[{"test":"is_variant","value":0}]},"GF":{"type":"object","title":"Is Visible","description":"Returns true if the subject entity is visible.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_visible","value":true}]},"GG":{"type":"object","title":"Is Waterlogged","description":"Tests if the subject block is submerged in water.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"true or false.","type":"boolean","title":"Value"}},"examples":[{"test":"light_level","value":0}]},"GH":{"type":"object","title":"Light Level","description":"Tests is the mob is outside of the specified light level range (0, 16).","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"An integer value.","type":"integer","title":"Value","minimum":0,"maximum":16}},"examples":[{"test":"light_level","value":0}]},"GI":{"type":"object","title":"Moon Intensity","description":"Compares the current moon intensity with a float value in the range (0.0, 1.0)","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"A floating point value.","type":"number","minimum":0,"maximum":1,"title":"Value"}},"examples":[{"test":"moon_intensity","value":0.0}]},"GJ":{"type":"object","title":"Moon Phase","description":"Compares the current moon phase with an integer value in the range (0, 7).","required":["value"],"properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"type":"integer","description":"An integer value.","minimum":0,"maximum":7,"title":"Value"}},"examples":[{"test":"moon_phase","value":0}]},"HA":{"type":"object","title":"On Ground","description":"Returns true when the subject entity is on ground.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"on_ground","value":true}]},"HB":{"type":"object","title":"On Ladder","description":"Returns true when the subject entity is on a ladder.","properties":{"test":{"type":"string","title":"Test Property","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"on_ladder","value":true}]},"HC":{"type":"object","title":"Random Chance","description":"Returns true if the random chance rolls 0 out of a specified Maximum range.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"An integer value.","type":"integer","title":"Value"}},"examples":[{"test":"random_chance","value":0}]},"HD":{"type":"object","title":"Rider Count","description":"Returns the number of riders on this entity.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"An integer value.","type":"integer","title":"Value"}},"examples":[{"test":"rider_count","value":0}]},"HE":{"type":"object","title":"Surface Mob","description":"Tests if the subject is a surface mob.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"surface_mob","value":true}]},"HF":{"type":"object","title":"Trusts","description":"Returns true if the subject is trusted by entity.","properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"trusts","value":true}]},"HG":{"type":"object","title":"Weather At Position","description":"Tests the current weather, at the actor's position, against a provided weather value.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for.","type":"string","title":"Value","examples":["thunderstorm"]}},"examples":[{"test":"weather_at_position","value":"thunderstorm"}]},"HH":{"type":"object","title":"Weather","description":"Tests for the current weather state the entity is experiencing.","required":["value"],"properties":{"test":{"type":"string","title":"Test","description":"The test property."},"operator":{"$ref":"#/definitions/F"},"subject":{"$ref":"#/definitions/G"},"value":{"description":"The Family name to look for.","type":"string","title":"Value","examples":["clear","thunderstorm"]}},"examples":[{"test":"weather","value":"clear"}]},"D":{"title":"Filters","$ref":"#/definitions/D_groups_spec","examples":[{"test":"is_family","subject":"other","value":"example"},{"test":"has_tag","value":"example"},[]]},"C":{"title":"Biome Filter","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"type":"array","items":{"$ref":"#/definitions/D"}},{"type":"object","$ref":"#/definitions/D"}]},"HI":{"additionalProperties":false,"type":"object","title":"Brightness Filter","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"min":{"type":"integer","description":"This is the minimum light level value that allows the mob to spawn.","title":"Min"},"max":{"type":"integer","description":"This is the maximum light level value that allows the mob to spawn.","title":"Max"},"adjust_for_weather":{"type":"boolean","description":"This determines if weather can affect the light level conditions that cause the mob to spawn (e.g. Allowing hostile mobs to spawn during the day when it rains.)","title":"Adjust For Weather","default":true}}},"HJ":{"additionalProperties":false,"type":"object","title":"Density Limit","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"surface":{"type":"integer","description":"This is the maximum number of mobs of this type spawnable on the surface.","title":"Surface"},"underground":{"type":"integer","description":"This is the maximum number of mobs of this type spawnable underground.","title":"Underground"}}},"IA_difficulty":{"type":"string","enum":["easy","normal","hard","peaceful"]},"IA":{"additionalProperties":false,"type":"object","title":"Difficulty Filter","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"min":{"$ref":"#/definitions/IA_difficulty","description":"This is the minimum difficulty level that a mob spawns.","title":"Min"},"max":{"$ref":"#/definitions/IA_difficulty","description":"This is the maximum difficulty level that a mob spawns.","title":"Max"}}},"IB":{"additionalProperties":false,"type":"object","title":"Delay Filter","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"min":{"type":"integer","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Min"},"max":{"type":"integer","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Max"},"identifier":{"type":"string","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Identifier"},"spawn_chance":{"title":"Spawn Chance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number"}}},"IC":{"additionalProperties":false,"type":"object","title":"Distance Filter","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"min":{"type":"integer","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Min"},"max":{"type":"integer","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Max"}}},"ID":{"additionalProperties":false,"type":"object","title":"Disallow Spawns In Bubble","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"IE":{"additionalProperties":false,"type":"object","title":"Height Filter","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"min":{"type":"integer","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Min"},"max":{"type":"integer","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Max"}}},"IF_herd":{"type":"object","title":"Herd","description":"Herd.","additionalProperties":false,"properties":{"initial_event":{"title":"Initial Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"},"initial_event_count":{"title":"Initial Event Count","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer"},"min_size":{"type":"integer","description":"This is the minimum number of mobs that spawn in a herd.","title":"Minimum Size"},"max_size":{"type":"integer","description":"This is the maximum number of mobs that spawn in a herd.","title":"Maximum Size"},"event":{"type":"string","description":"This is an event that can be triggered from spawning.","title":"Event"},"event_skip_count":{"type":"integer","description":"This is the number of mobs spawned before the specified event is triggered.","title":"Event Skip Count"}}},"IF":{"title":"Height Filter","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"type":"object","$ref":"#/definitions/IF_herd"},{"type":"array","items":{"$ref":"#/definitions/IF_herd"}}]},"IG":{"additionalProperties":false,"type":"object","title":"Player In Village Filter","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"distance":{"type":"integer","title":"Distance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"village_border_tolerance":{"type":"integer","title":"Village Border Tolerance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"IH":{"additionalProperties":false,"type":"array","title":"Permute Type","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":{"type":"object","additionalProperties":false,"title":"Permute Type","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"weight":{"type":"integer","title":"Weight","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"entity_type":{"type":"string","title":"Entity Type","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}}},"II":{"title":"Mob Event Filter","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"type":"object","properties":{"event":{"type":"string","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Event"}}},"IJ":{"title":"Spawn Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"event":{"type":"string","title":"Event","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"JA":{"title":"Spawns On Block Filter","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"JB":{"title":"Spawns On Block Prevented Filter","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"JC":{"additionalProperties":false,"type":"object","title":"Spawns On Lava","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{}},"JD":{"additionalProperties":false,"type":"object","title":"Spawns On Surface","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{}},"JE":{"additionalProperties":false,"type":"object","title":"Spawns Underground","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{}},"JF":{"title":"Spawns Underwater","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"JG":{"title":"Spawns Underwater","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"blocks":{"title":"Blocks","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"distance":{"title":"Distance","type":"number","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","minimum":0}}},"JH":{"additionalProperties":false,"type":"object","title":"Weight","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"default":{"type":"integer","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Default"}}},"JI":{"title":"World Age Filter","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"min":{"type":"integer","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Min"}}}}} \ No newline at end of file diff --git a/behavior/trading/trading.json b/behavior/trading/trading.json index bf4a45ae..d79a1198 100644 --- a/behavior/trading/trading.json +++ b/behavior/trading/trading.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.trading","type":"object","additionalProperties":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Trading","examples":[{"tiers":[{"trades":[{"wants":[{"item":"minecraft:coal:0","quantity":{"min":16,"max":24}}],"gives":[{"item":"minecraft:emerald"}]}]}]}],"definitions":{"Item":{"title":"Item","oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"properties":{"item":{"type":"string","title":"Item Identifier"},"price_multiplier":{"type":"number","title":"Price Multiplier"},"functions":{"$ref":"#/definitions/Functions"},"biomes":{"title":"Biomes","description":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/A"}},"quantity":{"title":"Quantity","oneOf":[{"type":"integer","minimum":1,"title":"Amount"},{"type":"object","additionalProperties":false,"required":["min","max"],"properties":{"min":{"type":"integer","minimum":1,"title":"Minimum"},"max":{"type":"integer","minimum":1,"title":"Maximum"}}}]}}}]},"Functions":{"title":"Functions","type":"array","items":{"type":"object","required":["function"],"$ref":"#/definitions/B"}},"TradeArray":{"type":"array","title":"Trades","items":{"additionalProperties":false,"type":"object","title":"Trade","required":["wants","gives"],"properties":{"gives":{"type":"array","title":"Gives","items":{"title":"Give","oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"properties":{"item":{"type":"string","title":"Item Identifier"},"quantity":{"title":"Quantity","oneOf":[{"type":"integer","minimum":1,"title":"Amount"},{"type":"object","additionalProperties":false,"required":["min","max"],"properties":{"min":{"type":"integer","minimum":1,"title":"Minimum"},"max":{"type":"integer","minimum":1,"title":"Maximum"}}}]},"functions":{"$ref":"#/definitions/Functions"},"choice":{"title":"Choice","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/Item"}}}}]}},"wants":{"type":"array","title":"Wants","items":{"title":"Want","oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"properties":{"item":{"type":"string","title":"Item Identifier"},"quantity":{"title":"Quantity","oneOf":[{"type":"integer","minimum":1,"title":"Amount"},{"type":"object","additionalProperties":false,"required":["min","max"],"properties":{"min":{"type":"integer","minimum":1,"title":"Minimum"},"max":{"type":"integer","minimum":1,"title":"Maximum"}}}]},"price_multiplier":{"title":"Price Multiplier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"functions":{"$ref":"#/definitions/Functions"},"choice":{"title":"Choice","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/Item"}}}}]}},"trader_exp":{"type":"integer","title":"Trader Experience"},"max_uses":{"type":"integer","title":"Maximum Uses"},"weight":{"type":"integer","title":"Weight"},"reward_exp":{"type":"boolean","title":"Reward Experience"}}}},"A":{"type":"string","title":"Biome Name","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["animal","beach","birch","cold","dark_oak","deep","desert","edge","extreme_hills","flower_forest","forest","frozen","hills","ice","ice_plains","jungle","lakes","lukewarm","mega","mesa","monster","mooshroom_island","mountain","mutated","nether","ocean","plains","plateau","river","roofed","savanna","shore","stone","swamp","taiga","the_end","warm"]},"C":{"additionalProperties":false,"type":"object","description":"The function enchant_random_gear","title":"Enchant Random Gear","properties":{"function":{"type":"string","const":"enchant_random_gear","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"chance":{"type":"number","description":"Takes a chance modifier to manipulate the algorithm. Note that a chance modifier of 1.0 doesn't mean a 100% chance that gear will become enchanted.","title":"Chance"}}},"D":{"additionalProperties":false,"type":"object","description":"The function enchant_book_for_trading","title":"Enchant Book For Trading","required":["function","base_cost","base_random_cost","per_level_random_cost","per_level_cost"],"properties":{"function":{"type":"string","const":"enchant_book_for_trading","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"base_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"base_random_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"per_level_random_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"per_level_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"E":{"additionalProperties":false,"type":"object","description":"The function enchant_randomly","title":"Enchant Randomly","properties":{"function":{"type":"string","const":"enchant_randomly","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"treasure":{"type":"boolean","description":"Supports the optional treasure boolean (true/false) to allow treasure enchantments to be toggled on and off.","title":"Treasure"}}},"F":{"additionalProperties":false,"description":"The function enchant_with_levels","title":"Enchant With Levels","type":"object","properties":{"function":{"type":"string","const":"enchant_with_levels","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"levels":{"title":"Levels","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"integer"},{"type":"object","additionalProperties":false,"required":["min","max"],"properties":{"min":{"type":"integer","title":"Minimum"},"max":{"type":"integer","title":"Maximum"}}}]},"treasure":{"type":"boolean","title":"Treasure","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"G":{"additionalProperties":false,"description":"Transforms a normal map into a treasure map that marks the location of hidden treasure","title":"Exploration Map","type":"object","properties":{"function":{"type":"string","const":"exploration_map","description":"Transforms a normal map into a treasure map that marks the location of hidden treasure","title":"Function"},"destination":{"type":"string","description":"The destination value defines what type of treasure map they receive.","enum":["endcity","fortress","mineshaft","monument","ruins","stronghold","temple","village","mansion","shipwreck","buriedtreasure","pillageroutpost"],"title":"Destination"}}},"H":{"additionalProperties":false,"type":"object","description":"The function fill_container","title":"Fill Container","properties":{"function":{"type":"string","const":"fill_container","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"loot_table":{"type":"string","title":"Loot Table","pattern":"^loot_tables/.*\\.json$","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"BA":{"type":"object","additionalProperties":false,"description":"Returns true if the actor properties defined were executed.","title":"Entity Properties","properties":{"condition":{"type":"string","title":"Condition","description":"Returns true if the actor properties defined were executed.","$comment":"UNDOCUMENTED"},"entity":{"type":"string","default":"this","description":"The entity to test. The value must be only `this`.","title":"Entity"},"properties":{"type":"object","default":{},"description":"The entity's properties. `on_fire`, `on_ground` is used for now.","title":"Properties","additionalProperties":false,"properties":{"on_fire":{"title":"On Fire","description":"Checks if the entity is on fire or not","$comment":"UNDOCUMENTED","type":"boolean"},"on_ground":{"title":"On Ground","description":"Checks if the entity is on the ground or not","$comment":"UNDOCUMENTED","type":"boolean"}}}}},"BB":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor's mark variant is matched to the value.","title":"Has Mark Variant","properties":{"condition":{"type":"string","title":"Condition","description":"Returns the condition true if the actor's mark variant is matched to the value.","$comment":"UNDOCUMENTED"},"value":{"type":"integer","default":"0","description":"Tests for the actor's mark variant (if it has one)","title":"Value"}}},"BC":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor of the loot table is killed by player or entities that has owner.","title":"Killed By Player","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"BD":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor of the loot table is killed by player or entities that has owner.","title":"Killed By Player Or Pets Or Pets","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"BE":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value.","title":"Random Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"chance":{"type":"number","default":0,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Chance"},"max_chance":{"type":"number","default":0,"description":"The maximum random chance value allowed.","title":"Maximum Chance"}}},"BF":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value. Looting enchantment increase the random chance multiplier.","title":"Random Chance With Looting","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"chance":{"type":"number","default":0,"description":"The random chance of the value.","title":"Chance"},"looting_multiplier":{"type":"number","default":0,"description":"The multiplier for the chance if the target entity has the looting enchant that affects the actor.","title":"Looting Multiplier"}}},"BG":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value based on the level difficulty.","title":"Random Difficulty Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"default_chance":{"type":"number","default":0,"description":"The default random chance if the level difficulty is not assigned.","title":"Default Chance"},"easy":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in easy. Omitting this field will set the value to `default_chance` field.","title":"Easy"},"hard":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in hard. Omitting this field will set the value to `default_chance` field.","title":"Hard"},"normal":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in normal. Omitting this field will set the value to `default_chance` field.","title":"Normal"},"peaceful":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in peaceful. Omitting this field will set the value to `default_chance` field.","title":"Peaceful"}}},"BH":{"type":"object","additionalProperties":false,"description":"Sets a Maximum regional difficulty random chance of the specified value.","title":"Random Regional Difficulty Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"default_chance":{"type":"number","default":0,"description":"The default random chance if the level difficulty is not assigned.","title":"Default Chance"},"max_chance":{"title":"Maximum Chance","type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"easy":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in easy. Omitting this field will set the value to `default_chance` field.","title":"Easy"},"hard":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in hard. Omitting this field will set the value to `default_chance` field.","title":"Hard"},"normal":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in normal. Omitting this field will set the value to `default_chance` field.","title":"Normal"},"peaceful":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in peaceful. Omitting this field will set the value to `default_chance` field.","title":"Peaceful"}}},"J":{"description":"A minecraft loot table condition","title":"Condition","allOf":[{"if":{"properties":{"condition":{"type":"string","const":"entity_properties"}}},"then":{"$ref":"#/definitions/BA"}},{"if":{"properties":{"condition":{"type":"string","const":"has_mark_variant"}}},"then":{"$ref":"#/definitions/BB"}},{"if":{"properties":{"condition":{"type":"string","const":"killed_by_player"}}},"then":{"$ref":"#/definitions/BC"}},{"if":{"properties":{"condition":{"type":"string","const":"killed_by_player_or_pets"}}},"then":{"$ref":"#/definitions/BD"}},{"if":{"properties":{"condition":{"type":"string","const":"random_chance"}}},"then":{"$ref":"#/definitions/BE"}},{"if":{"properties":{"condition":{"type":"string","const":"random_chance_with_looting"}}},"then":{"$ref":"#/definitions/BF"}},{"if":{"properties":{"condition":{"type":"string","const":"random_difficulty_chance"}}},"then":{"$ref":"#/definitions/BG"}},{"if":{"properties":{"condition":{"type":"string","const":"random_regional_difficulty_chance"}}},"then":{"$ref":"#/definitions/BH"}}]},"I":{"additionalProperties":false,"type":"object","description":"If the item to return has a smelted crafting recipe and the loot table is triggered by an entity killed with fire. the result will be the smelted version of the item","title":"Furnace Smelt","properties":{"function":{"type":"string","const":"furnace_smelt","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"conditions":{"title":"Conditions","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/J"}}}},"BI":{"additionalProperties":false,"description":"The function looting_enchant","title":"Looting Enchant","type":"object","properties":{"function":{"type":"string","const":"looting_enchant","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"count":{"type":"object","properties":{"min":{"type":"integer"},"max":{"type":"integer"}},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Count","additionalProperties":false}}},"BJ":{"additionalProperties":false,"description":"The function random_aux_value","title":"Random Aux Value","type":"object","properties":{"function":{"type":"string","const":"random_aux_value","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"values":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Values","additionalProperties":false,"type":"object","properties":{"min":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Minimum"},"max":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Maximum"}}}}},"CA":{"additionalProperties":false,"description":"The function random_block_state","title":"Random Block State","type":"object","properties":{"function":{"type":"string","const":"random_block_state","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"block_state":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Block State"},"values":{"type":"object","properties":{"min":{"title":"Min","type":"integer"},"max":{"title":"Max","type":"integer"}},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Values","additionalProperties":false}}},"CB":{"additionalProperties":false,"description":"The function set_actor_id","title":"Set Actor Id","type":"object","properties":{"function":{"type":"string","const":"set_actor_id","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"id":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Id"}}},"CC":{"additionalProperties":false,"description":"The function set_banner_details","title":"Set Banner Details","type":"object","properties":{"function":{"type":"string","const":"set_banner_details","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"type":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Type"}}},"CD":{"additionalProperties":false,"description":"The function set_book_contents","title":"Set Book Contents","required":["function","author","title","pages"],"type":"object","properties":{"function":{"type":"string","const":"set_book_contents","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"author":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Author"},"title":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Title"},"pages":{"type":"array","items":{"type":"string","examples":["Some text","{`rawtext`:[ {`translate`:`some.text`}]}"]},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Pages"}}},"CE":{"additionalProperties":false,"type":"object","description":"The function set_count","title":"Set Count","properties":{"function":{"type":"string","const":"set_count","title":"Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"count":{"title":"Count","oneOf":[{"type":"integer"},{"type":"object","properties":{"min":{"type":"integer","title":"Minimum"},"max":{"type":"integer","title":"Maximum"}}}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"CF":{"additionalProperties":false,"description":"The function set_damage","title":"Set Damage","type":"object","properties":{"function":{"type":"string","const":"set_damage","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"damage":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Damage","oneOf":[{"type":"number","minimum":0,"maximum":1},{"type":"object","properties":{"min":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Minimum","minimum":0,"maximum":1},"max":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Maximum","minimum":0,"maximum":1}}}]}}},"CG":{"additionalProperties":false,"description":"The function set_data","title":"Set Data","type":"object","properties":{"function":{"type":"string","const":"set_data","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"data":{"title":"Data","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"integer"},{"type":"object","properties":{"min":{"type":"integer","title":"Minimum","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"max":{"type":"integer","title":"Maximum","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}}]}}},"CH":{"additionalProperties":false,"description":"The function set_data_from_color_index","title":"Set Data From Color Index","type":"object","properties":{"function":{"type":"string","const":"set_data_from_color_index","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"}}},"CI":{"additionalProperties":false,"description":"The function trader_material_type","title":"Trader Material Type","type":"object","properties":{"function":{"type":"string","const":"trader_material_type","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"}}},"CJ":{"additionalProperties":false,"description":"The function random_dye","title":"Trader Material Type","type":"object","properties":{"function":{"type":"string","const":"random_dye","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"}}},"DA":{"additionalProperties":false,"description":"The function set_lore","title":"Set Lore","type":"object","properties":{"function":{"type":"string","const":"set_lore","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"lore":{"type":"array","items":{"type":"string"},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Lore"}}},"DB":{"additionalProperties":false,"description":"The function set_name","title":"Set Name","type":"object","properties":{"function":{"type":"string","const":"set_name","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Function"},"name":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"name"}}},"DC_IDEnchant":{"type":"string","title":"ID Enchantment","enum":["aqua_affinity","bane_of_arthropods","blast_protection","channeling","binding","curse_of_vanishing","depth_strider","efficiency","feather_falling","fire_aspect","fire_protection","flame","fortune","frost_walker","impaling","infinity","knockback","looting","loyalty","luck_of_the_sea","lure","mending","multishot","piercing","projectile_protection","protection","power","punch","quick_charge","respiration","riptide","sharpness","silk_touch","smite","soul_speed","thorns","unbreaking"]},"DC_Enchant":{"type":"object","title":"Enchantment","additionalProperties":false,"properties":{"id":{"$ref":"#/definitions/DC_IDEnchant"},"level":{"title":"Level","oneOf":[{"type":"integer","title":"Level"},{"type":"array","items":[{"type":"integer","title":"Min"},{"type":"integer","title":"Max"}]}]}}},"DC":{"additionalProperties":false,"type":"object","description":"The function specific_enchants","title":"Specific Enchants","properties":{"function":{"type":"string","const":"specific_enchants","description":"Specific enchants","title":"Specific Enchants"},"enchants":{"title":"Enchants","description":"A enchanting specification","oneOf":[{"type":"string","$ref":"#/definitions/DC_IDEnchant"},{"type":"object","$ref":"#/definitions/DC_Enchant"},{"type":"array","items":{"$ref":"#/definitions/DC_Enchant"}}]}}},"B":{"description":"A minecraft loot table condition","title":"Functions","type":"object","properties":{"function":{"type":"string","enum":["enchant_book_for_trading","enchant_random_gear","enchant_randomly","enchant_with_levels","exploration_map","fill_container","furnace_smelt","looting_enchant","random_aux_value","random_block_state","random_dye","set_actor_id","set_banner_details","set_book_contents","set_count","set_damage","set_data_from_color_index","set_data","set_lore","set_name","specific_enchants","trader_material_type","minecraft:enchant_book_for_trading","minecraft:enchant_random_gear","minecraft:enchant_randomly","minecraft:enchant_with_levels","minecraft:exploration_map","minecraft:fill_container","minecraft:furnace_smelt","minecraft:looting_enchant","minecraft:random_aux_value","minecraft:random_block_state","minecraft:random_dye","minecraft:set_actor_id","minecraft:set_banner_details","minecraft:set_book_contents","minecraft:set_count","minecraft:set_damage","minecraft:set_data_from_color_index","minecraft:set_data","minecraft:set_lore","minecraft:set_name","minecraft:specific_enchants","minecraft:trader_material_type"]},"add":{"title":"Add","description":"UNDOCUMENTED","type":"boolean","default":false}},"allOf":[{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_random_gear$"}}},"then":{"$ref":"#/definitions/C"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_book_for_trading$"}}},"then":{"$ref":"#/definitions/D"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_randomly$"}}},"then":{"$ref":"#/definitions/E"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_with_levels$"}}},"then":{"$ref":"#/definitions/F"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*exploration_map$"}}},"then":{"$ref":"#/definitions/G"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*fill_container$"}}},"then":{"$ref":"#/definitions/H"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*furnace_smelt$"}}},"then":{"$ref":"#/definitions/I"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*looting_enchant$"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_aux_value$"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_block_state$"}}},"then":{"$ref":"#/definitions/CA"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_actor_id$"}}},"then":{"$ref":"#/definitions/CB"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_banner_details$"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_book_contents$"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_count$"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_damage$"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_data$"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_data_from_color_index$"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*trader_material_type$"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_dye$"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_lore$"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_name$"}}},"then":{"$ref":"#/definitions/DB"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*specific_enchants$"}}},"then":{"$ref":"#/definitions/DC"}}]},"DD":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}},"properties":{"format_version":{"$ref":"#/definitions/DD"},"tiers":{"type":"array","title":"Tiers","description":"A collection of tiers","items":{"additionalProperties":false,"type":"object","title":"Tier","properties":{"trades":{"$ref":"#/definitions/TradeArray"},"total_exp_required":{"title":"Total Experience Required","type":"integer"},"groups":{"type":"array","title":"Groups","description":"A collection of groups","items":{"type":"object","title":"Group","additionalProperties":false,"properties":{"num_to_select":{"title":"Number To Select","type":"integer"},"trades":{"$ref":"#/definitions/TradeArray"}}}}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.trading","type":"object","additionalProperties":false,"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Trading","examples":[{"tiers":[{"trades":[{"wants":[{"item":"minecraft:coal:0","quantity":{"min":16,"max":24}}],"gives":[{"item":"minecraft:emerald"}]}]}]}],"definitions":{"Item":{"title":"Item","oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"properties":{"item":{"type":"string","title":"Item Identifier"},"price_multiplier":{"type":"number","title":"Price Multiplier"},"functions":{"$ref":"#/definitions/Functions"},"biomes":{"title":"Biomes","description":"UNDOCUMENTED.","type":"array","items":{"$ref":"#/definitions/A"}},"quantity":{"title":"Quantity","oneOf":[{"type":"integer","minimum":1,"title":"Amount"},{"type":"object","additionalProperties":false,"required":["min","max"],"properties":{"min":{"type":"integer","minimum":1,"title":"Minimum"},"max":{"type":"integer","minimum":1,"title":"Maximum"}}}]}}}]},"Functions":{"title":"Functions","type":"array","items":{"type":"object","required":["function"],"$ref":"#/definitions/B"}},"TradeArray":{"type":"array","title":"Trades","items":{"additionalProperties":false,"type":"object","title":"Trade","required":["wants","gives"],"properties":{"gives":{"type":"array","title":"Gives","items":{"title":"Give","oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"properties":{"item":{"type":"string","title":"Item Identifier"},"quantity":{"title":"Quantity","oneOf":[{"type":"integer","minimum":1,"title":"Amount"},{"type":"object","additionalProperties":false,"required":["min","max"],"properties":{"min":{"type":"integer","minimum":1,"title":"Minimum"},"max":{"type":"integer","minimum":1,"title":"Maximum"}}}]},"functions":{"$ref":"#/definitions/Functions"},"choice":{"title":"Choice","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/Item"}}}}]}},"wants":{"type":"array","title":"Wants","items":{"title":"Want","oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"properties":{"item":{"type":"string","title":"Item Identifier"},"quantity":{"title":"Quantity","oneOf":[{"type":"integer","minimum":1,"title":"Amount"},{"type":"object","additionalProperties":false,"required":["min","max"],"properties":{"min":{"type":"integer","minimum":1,"title":"Minimum"},"max":{"type":"integer","minimum":1,"title":"Maximum"}}}]},"price_multiplier":{"title":"Price Multiplier","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"number"},"functions":{"$ref":"#/definitions/Functions"},"choice":{"title":"Choice","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/Item"}}}}]}},"trader_exp":{"type":"integer","title":"Trader Experience"},"max_uses":{"type":"integer","title":"Maximum Uses"},"weight":{"type":"integer","title":"Weight"},"reward_exp":{"type":"boolean","title":"Reward Experience"}}}},"A":{"type":"string","title":"Biome Name","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["animal","beach","birch","cold","dark_oak","deep","desert","edge","extreme_hills","flower_forest","forest","frozen","hills","ice","ice_plains","jungle","lakes","lukewarm","mega","mesa","monster","mooshroom_island","mountain","mutated","nether","ocean","plains","plateau","river","roofed","savanna","shore","stone","swamp","taiga","the_end","warm"]},"C":{"additionalProperties":false,"type":"object","description":"The function enchant_random_gear.","title":"Enchant Random Gear","properties":{"function":{"type":"string","const":"enchant_random_gear","title":"Function","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"chance":{"type":"number","description":"Takes a chance modifier to manipulate the algorithm. Note that a chance modifier of 1.0 doesn't mean a 100% chance that gear will become enchanted.","title":"Chance"}}},"D":{"additionalProperties":false,"type":"object","description":"The function enchant_book_for_trading.","title":"Enchant Book For Trading","required":["function","base_cost","base_random_cost","per_level_random_cost","per_level_cost"],"properties":{"function":{"type":"string","const":"enchant_book_for_trading","title":"Function","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"base_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"base_random_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"per_level_random_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"per_level_cost":{"type":"integer","title":"Base Cost","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"E":{"additionalProperties":false,"type":"object","description":"The function enchant_randomly.","title":"Enchant Randomly","properties":{"function":{"type":"string","const":"enchant_randomly","title":"Function","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"treasure":{"type":"boolean","description":"Supports the optional treasure boolean (true/false) to allow treasure enchantments to be toggled on and off.","title":"Treasure"}}},"F":{"additionalProperties":false,"description":"The function enchant_with_levels.","title":"Enchant With Levels","type":"object","properties":{"function":{"type":"string","const":"enchant_with_levels","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"levels":{"title":"Levels","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"type":"integer"},{"type":"object","additionalProperties":false,"required":["min","max"],"properties":{"min":{"type":"integer","title":"Minimum"},"max":{"type":"integer","title":"Maximum"}}}]},"treasure":{"type":"boolean","title":"Treasure","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"G":{"additionalProperties":false,"description":"Transforms a normal map into a treasure map that marks the location of hidden treasure.","title":"Exploration Map","type":"object","properties":{"function":{"type":"string","const":"exploration_map","description":"Transforms a normal map into a treasure map that marks the location of hidden treasure.","title":"Function"},"destination":{"type":"string","description":"The destination value defines what type of treasure map they receive.","enum":["endcity","fortress","mineshaft","monument","ruins","stronghold","temple","village","mansion","shipwreck","buriedtreasure","pillageroutpost"],"title":"Destination"}}},"H":{"additionalProperties":false,"type":"object","description":"The function fill_container.","title":"Fill Container","properties":{"function":{"type":"string","const":"fill_container","title":"Function","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"loot_table":{"type":"string","title":"Loot Table","pattern":"^loot_tables/.*\\.json$","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"BA":{"type":"object","additionalProperties":false,"description":"Returns true if the actor properties defined were executed.","title":"Entity Properties","properties":{"condition":{"type":"string","title":"Condition","description":"Returns true if the actor properties defined were executed.","$comment":"UNDOCUMENTED"},"entity":{"type":"string","default":"this","description":"The entity to test. The value must be only `this`.","title":"Entity"},"properties":{"type":"object","default":{},"description":"The entity's properties. `on_fire`, `on_ground` is used for now.","title":"Properties","additionalProperties":false,"properties":{"on_fire":{"title":"On Fire","description":"Checks if the entity is on fire or not.","$comment":"UNDOCUMENTED","type":"boolean"},"on_ground":{"title":"On Ground","description":"Checks if the entity is on the ground or not.","$comment":"UNDOCUMENTED","type":"boolean"}}}}},"BB":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor's mark variant is matched to the value.","title":"Has Mark Variant","properties":{"condition":{"type":"string","title":"Condition","description":"Returns the condition true if the actor's mark variant is matched to the value.","$comment":"UNDOCUMENTED"},"value":{"type":"integer","default":"0","description":"Tests for the actor's mark variant (if it has one).","title":"Value"}}},"BC":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor of the loot table is killed by player or entities that has owner.","title":"Killed By Player","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"BD":{"type":"object","additionalProperties":false,"description":"Returns the condition true if the actor of the loot table is killed by player or entities that has owner.","title":"Killed By Player Or Pets Or Pets","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"BE":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value.","title":"Random Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"chance":{"type":"number","default":0,"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Chance"},"max_chance":{"type":"number","default":0,"description":"The maximum random chance value allowed.","title":"Maximum Chance"}}},"BF":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value. Looting enchantment increase the random chance multiplier.","title":"Random Chance With Looting","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"chance":{"type":"number","default":0,"description":"The random chance of the value.","title":"Chance"},"looting_multiplier":{"type":"number","default":0,"description":"The multiplier for the chance if the target entity has the looting enchant that affects the actor.","title":"Looting Multiplier"}}},"BG":{"type":"object","additionalProperties":false,"description":"Sets a random chance of the specified value based on the level difficulty.","title":"Random Difficulty Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"default_chance":{"type":"number","default":0,"description":"The default random chance if the level difficulty is not assigned.","title":"Default Chance"},"easy":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in easy. Omitting this field will set the value to `default_chance` field.","title":"Easy"},"hard":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in hard. Omitting this field will set the value to `default_chance` field.","title":"Hard"},"normal":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in normal. Omitting this field will set the value to `default_chance` field.","title":"Normal"},"peaceful":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in peaceful. Omitting this field will set the value to `default_chance` field.","title":"Peaceful"}}},"BH":{"type":"object","additionalProperties":false,"description":"Sets a Maximum regional difficulty random chance of the specified value.","title":"Random Regional Difficulty Chance","properties":{"condition":{"type":"string","title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"default_chance":{"type":"number","default":0,"description":"The default random chance if the level difficulty is not assigned.","title":"Default Chance"},"max_chance":{"title":"Maximum Chance","type":"number","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"easy":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in easy. Omitting this field will set the value to `default_chance` field.","title":"Easy"},"hard":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in hard. Omitting this field will set the value to `default_chance` field.","title":"Hard"},"normal":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in normal. Omitting this field will set the value to `default_chance` field.","title":"Normal"},"peaceful":{"type":"number","default":0,"description":"The default random chance if the level difficulty is in peaceful. Omitting this field will set the value to `default_chance` field.","title":"Peaceful"}}},"J":{"description":"A minecraft loot table condition.","title":"Condition","allOf":[{"if":{"properties":{"condition":{"type":"string","const":"entity_properties"}}},"then":{"$ref":"#/definitions/BA"}},{"if":{"properties":{"condition":{"type":"string","const":"has_mark_variant"}}},"then":{"$ref":"#/definitions/BB"}},{"if":{"properties":{"condition":{"type":"string","const":"killed_by_player"}}},"then":{"$ref":"#/definitions/BC"}},{"if":{"properties":{"condition":{"type":"string","const":"killed_by_player_or_pets"}}},"then":{"$ref":"#/definitions/BD"}},{"if":{"properties":{"condition":{"type":"string","const":"random_chance"}}},"then":{"$ref":"#/definitions/BE"}},{"if":{"properties":{"condition":{"type":"string","const":"random_chance_with_looting"}}},"then":{"$ref":"#/definitions/BF"}},{"if":{"properties":{"condition":{"type":"string","const":"random_difficulty_chance"}}},"then":{"$ref":"#/definitions/BG"}},{"if":{"properties":{"condition":{"type":"string","const":"random_regional_difficulty_chance"}}},"then":{"$ref":"#/definitions/BH"}}]},"I":{"additionalProperties":false,"type":"object","description":"If the item to return has a smelted crafting recipe and the loot table is triggered by an entity killed with fire. the result will be the smelted version of the item","title":"Furnace Smelt","properties":{"function":{"type":"string","const":"furnace_smelt","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"conditions":{"title":"Conditions","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"$ref":"#/definitions/J"}}}},"BI":{"additionalProperties":false,"description":"The function looting_enchant.","title":"Looting Enchant","type":"object","properties":{"function":{"type":"string","const":"looting_enchant","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"count":{"type":"object","properties":{"min":{"type":"integer"},"max":{"type":"integer"}},"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Count","additionalProperties":false}}},"BJ":{"additionalProperties":false,"description":"The function random_aux_value.","title":"Random Aux Value","type":"object","properties":{"function":{"type":"string","const":"random_aux_value","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"values":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Values","additionalProperties":false,"type":"object","properties":{"min":{"type":"integer","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Minimum"},"max":{"type":"integer","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Maximum"}}}}},"CA":{"additionalProperties":false,"description":"The function random_block_state.","title":"Random Block State","type":"object","properties":{"function":{"type":"string","const":"random_block_state","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"block_state":{"type":"string","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Block State"},"values":{"type":"object","properties":{"min":{"title":"Min","type":"integer"},"max":{"title":"Max","type":"integer"}},"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Values","additionalProperties":false}}},"CB":{"additionalProperties":false,"description":"The function set_actor_id.","title":"Set Actor Id","type":"object","properties":{"function":{"type":"string","const":"set_actor_id","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"id":{"type":"string","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Id"}}},"CC":{"additionalProperties":false,"description":"The function set_banner_details.","title":"Set Banner Details","type":"object","properties":{"function":{"type":"string","const":"set_banner_details","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"type":{"type":"integer","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Type"}}},"CD":{"additionalProperties":false,"description":"The function set_book_contents.","title":"Set Book Contents","required":["function","author","title","pages"],"type":"object","properties":{"function":{"type":"string","const":"set_book_contents","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"author":{"type":"string","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Author"},"title":{"type":"string","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Title"},"pages":{"type":"array","items":{"type":"string","examples":["Some text","{`rawtext`:[ {`translate`:`some.text`}]}"]},"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Pages"}}},"CE":{"additionalProperties":false,"type":"object","description":"The function set_count.","title":"Set Count","properties":{"function":{"type":"string","const":"set_count","title":"Function","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"count":{"title":"Count","oneOf":[{"type":"integer"},{"type":"object","properties":{"min":{"type":"integer","title":"Minimum"},"max":{"type":"integer","title":"Maximum"}}}],"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"CF":{"additionalProperties":false,"description":"The function set_damage.","title":"Set Damage","type":"object","properties":{"function":{"type":"string","const":"set_damage","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"damage":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Damage","oneOf":[{"type":"number","minimum":0,"maximum":1},{"type":"object","properties":{"min":{"type":"number","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Minimum","minimum":0,"maximum":1},"max":{"type":"number","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Maximum","minimum":0,"maximum":1}}}]}}},"CG":{"additionalProperties":false,"description":"The function set_data.","title":"Set Data","type":"object","properties":{"function":{"type":"string","const":"set_data","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"data":{"title":"Data","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"type":"integer"},{"type":"object","properties":{"min":{"type":"integer","title":"Minimum","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"max":{"type":"integer","title":"Maximum","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}}]}}},"CH":{"additionalProperties":false,"description":"The function set_data_from_color_index.","title":"Set Data From Color Index","type":"object","properties":{"function":{"type":"string","const":"set_data_from_color_index","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"}}},"CI":{"additionalProperties":false,"description":"The function trader_material_type.","title":"Trader Material Type","type":"object","properties":{"function":{"type":"string","const":"trader_material_type","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"}}},"CJ":{"additionalProperties":false,"description":"The function random_dye.","title":"Trader Material Type","type":"object","properties":{"function":{"type":"string","const":"random_dye","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"}}},"DA":{"additionalProperties":false,"description":"The function set_lore.","title":"Set Lore","type":"object","properties":{"function":{"type":"string","const":"set_lore","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"lore":{"type":"array","items":{"type":"string"},"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Lore"}}},"DB":{"additionalProperties":false,"description":"The function set_name.","title":"Set Name","type":"object","properties":{"function":{"type":"string","const":"set_name","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Function"},"name":{"type":"string","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"name"}}},"DC_IDEnchant":{"type":"string","title":"ID Enchantment","enum":["aqua_affinity","bane_of_arthropods","blast_protection","channeling","binding","curse_of_vanishing","depth_strider","efficiency","feather_falling","fire_aspect","fire_protection","flame","fortune","frost_walker","impaling","infinity","knockback","looting","loyalty","luck_of_the_sea","lure","mending","multishot","piercing","projectile_protection","protection","power","punch","quick_charge","respiration","riptide","sharpness","silk_touch","smite","soul_speed","thorns","unbreaking"]},"DC_Enchant":{"type":"object","title":"Enchantment","additionalProperties":false,"properties":{"id":{"$ref":"#/definitions/DC_IDEnchant"},"level":{"title":"Level","oneOf":[{"type":"integer","title":"Level"},{"type":"array","items":[{"type":"integer","title":"Min"},{"type":"integer","title":"Max"}]}]}}},"DC":{"additionalProperties":false,"type":"object","description":"The function specific_enchants.","title":"Specific Enchants","properties":{"function":{"type":"string","const":"specific_enchants","description":"Specific enchants.","title":"Specific Enchants"},"enchants":{"title":"Enchants","description":"A enchanting specification.","oneOf":[{"type":"string","$ref":"#/definitions/DC_IDEnchant"},{"type":"object","$ref":"#/definitions/DC_Enchant"},{"type":"array","items":{"$ref":"#/definitions/DC_Enchant"}}]}}},"B":{"description":"A minecraft loot table condition.","title":"Functions","type":"object","properties":{"function":{"type":"string","enum":["enchant_book_for_trading","enchant_random_gear","enchant_randomly","enchant_with_levels","exploration_map","fill_container","furnace_smelt","looting_enchant","random_aux_value","random_block_state","random_dye","set_actor_id","set_banner_details","set_book_contents","set_count","set_damage","set_data_from_color_index","set_data","set_lore","set_name","specific_enchants","trader_material_type","minecraft:enchant_book_for_trading","minecraft:enchant_random_gear","minecraft:enchant_randomly","minecraft:enchant_with_levels","minecraft:exploration_map","minecraft:fill_container","minecraft:furnace_smelt","minecraft:looting_enchant","minecraft:random_aux_value","minecraft:random_block_state","minecraft:random_dye","minecraft:set_actor_id","minecraft:set_banner_details","minecraft:set_book_contents","minecraft:set_count","minecraft:set_damage","minecraft:set_data_from_color_index","minecraft:set_data","minecraft:set_lore","minecraft:set_name","minecraft:specific_enchants","minecraft:trader_material_type"]},"add":{"title":"Add","description":"UNDOCUMENTED.","type":"boolean","default":false}},"allOf":[{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_random_gear$"}}},"then":{"$ref":"#/definitions/C"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_book_for_trading$"}}},"then":{"$ref":"#/definitions/D"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_randomly$"}}},"then":{"$ref":"#/definitions/E"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*enchant_with_levels$"}}},"then":{"$ref":"#/definitions/F"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*exploration_map$"}}},"then":{"$ref":"#/definitions/G"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*fill_container$"}}},"then":{"$ref":"#/definitions/H"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*furnace_smelt$"}}},"then":{"$ref":"#/definitions/I"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*looting_enchant$"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_aux_value$"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_block_state$"}}},"then":{"$ref":"#/definitions/CA"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_actor_id$"}}},"then":{"$ref":"#/definitions/CB"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_banner_details$"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_book_contents$"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_count$"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_damage$"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_data$"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_data_from_color_index$"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*trader_material_type$"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*random_dye$"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_lore$"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*set_name$"}}},"then":{"$ref":"#/definitions/DB"}},{"if":{"properties":{"function":{"type":"string","pattern":"^(minecraft:)*specific_enchants$"}}},"then":{"$ref":"#/definitions/DC"}}]},"DD":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}},"properties":{"format_version":{"$ref":"#/definitions/DD"},"tiers":{"type":"array","title":"Tiers","description":"A collection of tiers.","items":{"additionalProperties":false,"type":"object","title":"Tier","properties":{"trades":{"$ref":"#/definitions/TradeArray"},"total_exp_required":{"title":"Total Experience Required","type":"integer"},"groups":{"type":"array","title":"Groups","description":"A collection of groups.","items":{"type":"object","title":"Group","additionalProperties":false,"properties":{"num_to_select":{"title":"Number To Select","type":"integer"},"trades":{"$ref":"#/definitions/TradeArray"}}}}}}}}} \ No newline at end of file diff --git a/behavior/volumes/volumes.json b/behavior/volumes/volumes.json index 6bf81457..730179ab 100644 --- a/behavior/volumes/volumes.json +++ b/behavior/volumes/volumes.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.volumes","examples":[{"format_version":"1.19.0","minecraft:volume":{"description":{"identifier":"example:foo"},"components":{}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.17.0"}}},"then":{"$ref":"#/definitions/A"}},{"properties":{"format_version":{"$ref":"#/definitions/D"}}}],"definitions":{"B":{"description":"A minecraft entity volume","examples":["namespace:volume_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Volume Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"C":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"A":{"type":"object","title":"Spawn Rules 1.17.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"required":["format_version","minecraft:volume"],"properties":{"format_version":{"const":"1.17.0","description":"Specifies the version of the game this entity was made in. Minimum supported version is 1.17.0. Current supported version is 1.17.0.","title":"Format Version"},"minecraft:volume":{"type":"object","title":"Spawn Rules","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"description":{"type":"object","title":"Description","description":"The description contains a single `identifier` string","additionalProperties":false,"properties":{"identifier":{"title":"Identifier","description":"The unique identifier for this volume. It must be of the form `namespace:name', where namespace cannot be `minecraft`.","$ref":"#/definitions/B"}}},"components":{"type":"object","title":"Components","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"minecraft:bounds":{"title":"Bounds","description":"Component that defines a minimum and maximum block position for a bounding box and which world dimension the bounding box is in. Every volume must have a bounds component.","type":"object","additionalProperties":false,"properties":{"dimension":{"type":"string","description":"The name of the dimension the bounding box will exist in: one of `overworld', `nether` or `the end`.","title":"Dimension","enum":["overworld","nether","the end"]},"max":{"type":"array","description":"The maximum block position of the bounding box.","title":"Maximum","items":[{"title":"X","type":"number"},{"title":"Y","type":"number"},{"title":"Z","type":"number"}]},"min":{"type":"array","description":"The minimum block position of the bounding box.","title":"Minimum","items":[{"title":"X","type":"number"},{"title":"Y","type":"number"},{"title":"Z","type":"number"}]}}},"minecraft:fog":{"title":"Fog","description":"Displays the given fog whenever a player enters the volume. Each volume can only have one fog attached.","type":"object","additionalProperties":false,"properties":{"fog_identifier":{"type":"string","default":"","description":"The identifier of a fog definition. Note that you will not receive any feedback if the definition does not exist.","title":"Fog Identifier"},"priority":{"type":"integer","default":2147483647,"description":"The priority for this fog definition setting. Smaller numbers have higher priority. Fogs with equal priority will be combined together.","title":"Priority"}}},"minecraft:on_actor_enter":{"title":"On Actor Enter","description":"Component that defines what happens when an actor enters the volume. Can contain multiple json objects.","type":"object","additionalProperties":false,"required":["on_enter"],"properties":{"on_enter":{"title":"On Enter","description":"Required array that contains all the triggers.","type":"array","items":{"title":"On Enter Trigger","description":"Trigger","type":"object","additionalProperties":false,"properties":{"condition":{"title":"Condition","description":"Molang expression to test against the actor. The given event will be triggered if the expression evaluates to true.","type":"string","$ref":"#/definitions/C"},"event":{"title":"Event","description":"Name of the event to run.","type":"string"},"target":{"title":"Target","description":"One of `self` or `other`. Self means the event is attached to the volume. Other means the event is attached to the actor.","type":"string","enum":["self","other"]}}}}}},"minecraft:on_actor_leave":{"title":"On Actor Leave","description":"Component that defines what happens when an actor leaves the volume.","type":"object","additionalProperties":false,"required":["on_enter"],"properties":{"on_enter":{"title":"On Enter","description":"Required array that contains all the triggers.","type":"array","items":{"title":"On Enter Trigger","description":"Trigger","type":"object","additionalProperties":false,"properties":{"condition":{"title":"Condition","description":"Molang expression to test against the actor. The given event will be triggered if the expression evaluates to true.","type":"string","$ref":"#/definitions/C"},"event":{"title":"Event","description":"Name of the event to run.","type":"string"},"target":{"title":"Target","description":"One of `self` or `other`. Self means the event is attached to the volume. Other means the event is attached to the actor.","type":"string","enum":["self","other"]}}}}}}}}}}}},"D":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.volumes","examples":[{"format_version":"1.19.0","minecraft:volume":{"description":{"identifier":"example:foo"},"components":{}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.17.0"}}},"then":{"$ref":"#/definitions/A"}},{"properties":{"format_version":{"$ref":"#/definitions/D"}}}],"definitions":{"B":{"description":"A minecraft entity volume.","examples":["namespace:volume_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Volume Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"C":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"A":{"type":"object","title":"Spawn Rules 1.17.0","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"required":["format_version","minecraft:volume"],"properties":{"format_version":{"const":"1.17.0","description":"Specifies the version of the game this entity was made in. Minimum supported version is 1.17.0. Current supported version is 1.17.0.","title":"Format Version"},"minecraft:volume":{"type":"object","title":"Spawn Rules","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"description":{"type":"object","title":"Description","description":"The description contains a single `identifier` string.","additionalProperties":false,"properties":{"identifier":{"title":"Identifier","description":"The unique identifier for this volume. It must be of the form `namespace:name', where namespace cannot be `minecraft`.","$ref":"#/definitions/B"}}},"components":{"type":"object","title":"Components","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"minecraft:bounds":{"title":"Bounds","description":"Component that defines a minimum and maximum block position for a bounding box and which world dimension the bounding box is in. Every volume must have a bounds component.","type":"object","additionalProperties":false,"properties":{"dimension":{"type":"string","description":"The name of the dimension the bounding box will exist in: one of `overworld', `nether` or `the end`.","title":"Dimension","enum":["overworld","nether","the end"]},"max":{"type":"array","description":"The maximum block position of the bounding box.","title":"Maximum","items":[{"title":"X","type":"number"},{"title":"Y","type":"number"},{"title":"Z","type":"number"}]},"min":{"type":"array","description":"The minimum block position of the bounding box.","title":"Minimum","items":[{"title":"X","type":"number"},{"title":"Y","type":"number"},{"title":"Z","type":"number"}]}}},"minecraft:fog":{"title":"Fog","description":"Displays the given fog whenever a player enters the volume. Each volume can only have one fog attached.","type":"object","additionalProperties":false,"properties":{"fog_identifier":{"type":"string","default":"","description":"The identifier of a fog definition. Note that you will not receive any feedback if the definition does not exist.","title":"Fog Identifier"},"priority":{"type":"integer","default":2147483647,"description":"The priority for this fog definition setting. Smaller numbers have higher priority. Fogs with equal priority will be combined together.","title":"Priority"}}},"minecraft:on_actor_enter":{"title":"On Actor Enter","description":"Component that defines what happens when an actor enters the volume. Can contain multiple json objects.","type":"object","additionalProperties":false,"required":["on_enter"],"properties":{"on_enter":{"title":"On Enter","description":"Required array that contains all the triggers.","type":"array","items":{"title":"On Enter Trigger","description":"Trigger.","type":"object","additionalProperties":false,"properties":{"condition":{"title":"Condition","description":"Molang expression to test against the actor. The given event will be triggered if the expression evaluates to true.","type":"string","$ref":"#/definitions/C"},"event":{"title":"Event","description":"Name of the event to run.","type":"string"},"target":{"title":"Target","description":"One of `self` or `other`. Self means the event is attached to the volume. Other means the event is attached to the actor.","type":"string","enum":["self","other"]}}}}}},"minecraft:on_actor_leave":{"title":"On Actor Leave","description":"Component that defines what happens when an actor leaves the volume.","type":"object","additionalProperties":false,"required":["on_enter"],"properties":{"on_enter":{"title":"On Enter","description":"Required array that contains all the triggers.","type":"array","items":{"title":"On Enter Trigger","description":"Trigger.","type":"object","additionalProperties":false,"properties":{"condition":{"title":"Condition","description":"Molang expression to test against the actor. The given event will be triggered if the expression evaluates to true.","type":"string","$ref":"#/definitions/C"},"event":{"title":"Event","description":"Name of the event to run.","type":"string"},"target":{"title":"Target","description":"One of `self` or `other`. Self means the event is attached to the volume. Other means the event is attached to the actor.","type":"string","enum":["self","other"]}}}}}}}}}}}},"D":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}}} \ No newline at end of file diff --git a/general/world_x_packs.json b/general/world_x_packs.json index 5455e714..772d7e9a 100644 --- a/general/world_x_packs.json +++ b/general/world_x_packs.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.world_x_packs","type":"array","title":"World X Pack Schema","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","examples":[[{"pack_id":"UUID","version":[1,0,0]}]],"items":{"title":"Items","description":"A reference to a pack","type":"object","properties":{"pack_id":{"description":"The uuid of the pack to include","$ref":"#/definitions/A","title":"Pack Id"},"version":{"description":"The version of the pack","$ref":"#/definitions/B","title":"Version"}}},"definitions":{"A":{"description":"A valid uuid v4","format":"uuid","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","title":"A UUID V4","type":"string","defaultSnippets":[{"label":"new UUID v4","body":"$UUID"}]},"B":{"type":"array","title":"Version Numbering","description":"A version made of 3 numbers","examples":[[1,0,0]],"items":[{"type":"number","minimum":1,"title":""},{"type":"number","minimum":0,"title":"Major"},{"type":"number","minimum":0,"title":"Minor"}]}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.world_x_packs","type":"array","title":"World X Pack Schema","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","examples":[[{"pack_id":"UUID","version":[1,0,0]}]],"items":{"title":"Items","description":"A reference to a pack.","type":"object","properties":{"pack_id":{"description":"The uuid of the pack to include.","$ref":"#/definitions/A","title":"Pack Id"},"version":{"description":"The version of the pack.","$ref":"#/definitions/B","title":"Version"}}},"definitions":{"A":{"description":"A valid uuid v4.","format":"uuid","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","title":"A UUID V4","type":"string","defaultSnippets":[{"label":"new UUID v4","body":"$UUID"}]},"B":{"type":"array","title":"Version Numbering","description":"A version made of 3 numbers.","examples":[[1,0,0]],"items":[{"type":"number","minimum":1,"title":""},{"type":"number","minimum":0,"title":"Major"},{"type":"number","minimum":0,"title":"Minor"}]}}} \ No newline at end of file diff --git a/language/language_names.json b/language/language_names.json index eb32cc0e..e678f22f 100644 --- a/language/language_names.json +++ b/language/language_names.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.language_names","examples":[[["en_US","English (US)"],["en_GB","English (UK)"],["de_DE","Deutsch (Deutschland)"],["es_ES","Español (España)"],["es_MX","Español (México)"],["fr_FR","Français (France)"],["fr_CA","Français (Canada)"],["it_IT","Italiano (Italia)"],["ja_JP","日本語 (日本)"],["ko_KR","한국어 (대한민국)"],["pt_BR","Português (Brasil)"],["pt_PT","Português (Portugal)"],["ru_RU","Русский (Россия)"],["zh_CN","简体中文"],["zh_TW","繁體中文"],["nl_NL","Nederlands (Nederland)"],["bg_BG","Български (BG)"],["cs_CZ","Čeština (Česká republika)"],["da_DK","Dansk (DA)"],["el_GR","Ελληνικά (Ελλάδα)"],["fi_FI","Suomi (Suomi)"],["hu_HU","Magyar (HU)"],["id_ID","Bahasa Indonesia (Indonesia)"],["nb_NO","Norsk bokmål (Norge)"],["pl_PL","Polski (PL)"],["sk_SK","Slovensky (SK)"],["sv_SE","Svenska (Sverige)"],["tr_TR","Türkçe (Türkiye)"],["uk_UA","Українська (Україна)"]]],"additionalProperties":false,"type":"array","title":"Language Names","description":"A language names definitions file","items":{"type":"array","description":"A language name identifier","items":[{"type":"string","description":"A language identifier","pattern":"^[a-z]{2}_[A-Z]{2}$"},{"type":"string","description":"The name of the language"}]},"definitions":{}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.language_names","examples":[[["en_US","English (US)"],["en_GB","English (UK)"],["de_DE","Deutsch (Deutschland)"],["es_ES","Español (España)"],["es_MX","Español (México)"],["fr_FR","Français (France)"],["fr_CA","Français (Canada)"],["it_IT","Italiano (Italia)"],["ja_JP","日本語 (日本)"],["ko_KR","한국어 (대한민국)"],["pt_BR","Português (Brasil)"],["pt_PT","Português (Portugal)"],["ru_RU","Русский (Россия)"],["zh_CN","简体中文"],["zh_TW","繁體中文"],["nl_NL","Nederlands (Nederland)"],["bg_BG","Български (BG)"],["cs_CZ","Čeština (Česká republika)"],["da_DK","Dansk (DA)"],["el_GR","Ελληνικά (Ελλάδα)"],["fi_FI","Suomi (Suomi)"],["hu_HU","Magyar (HU)"],["id_ID","Bahasa Indonesia (Indonesia)"],["nb_NO","Norsk bokmål (Norge)"],["pl_PL","Polski (PL)"],["sk_SK","Slovensky (SK)"],["sv_SE","Svenska (Sverige)"],["tr_TR","Türkçe (Türkiye)"],["uk_UA","Українська (Україна)"]]],"additionalProperties":false,"type":"array","title":"Language Names","description":"A language names definitions file.","items":{"type":"array","description":"A language name identifier.","items":[{"type":"string","description":"A language identifier.","pattern":"^[a-z]{2}_[A-Z]{2}$"},{"type":"string","description":"The name of the language."}]},"definitions":{}} \ No newline at end of file diff --git a/language/languages.json b/language/languages.json index 4d76af73..b4d70768 100644 --- a/language/languages.json +++ b/language/languages.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.languages","additionalProperties":false,"examples":[["en_US","de_DE","ru_RU","zh_CN","fr_FR","it_IT","pt_BR","fr_CA","zh_TW","es_MX","es_ES","pt_PT","en_GB","ko_KR","ja_JP","nl_NL","bg_BG","cs_CZ","da_DK","el_GR","fi_FI","hu_HU","id_ID","nb_NO","pl_PL","sk_SK","sv_SE","tr_TR","uk_UA"]],"type":"array","title":"Languages","description":"A language definitions file","items":{"type":"string","description":"A language identifier","pattern":"^[a-z]{2}_[A-Z]{2}$","enum":["en_US","de_DE","ru_RU","zh_CN","fr_FR","it_IT","pt_BR","fr_CA","zh_TW","es_MX","es_ES","pt_PT","en_GB","ko_KR","ja_JP","nl_NL","bg_BG","cs_CZ","da_DK","el_GR","fi_FI","hu_HU","id_ID","nb_NO","pl_PL","sk_SK","sv_SE","tr_TR","uk_UA"]},"definitions":{}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.languages","additionalProperties":false,"examples":[["en_US","de_DE","ru_RU","zh_CN","fr_FR","it_IT","pt_BR","fr_CA","zh_TW","es_MX","es_ES","pt_PT","en_GB","ko_KR","ja_JP","nl_NL","bg_BG","cs_CZ","da_DK","el_GR","fi_FI","hu_HU","id_ID","nb_NO","pl_PL","sk_SK","sv_SE","tr_TR","uk_UA"]],"type":"array","title":"Languages","description":"A language definitions file.","items":{"type":"string","description":"A language identifier.","pattern":"^[a-z]{2}_[A-Z]{2}$","enum":["en_US","de_DE","ru_RU","zh_CN","fr_FR","it_IT","pt_BR","fr_CA","zh_TW","es_MX","es_ES","pt_PT","en_GB","ko_KR","ja_JP","nl_NL","bg_BG","cs_CZ","da_DK","el_GR","fi_FI","hu_HU","id_ID","nb_NO","pl_PL","sk_SK","sv_SE","tr_TR","uk_UA"]},"definitions":{}} \ No newline at end of file diff --git a/resource/animation_controllers/animation_controller.json b/resource/animation_controllers/animation_controller.json index 2831196e..dc89c415 100644 --- a/resource/animation_controllers/animation_controller.json +++ b/resource/animation_controllers/animation_controller.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.animation_controller","examples":[{"format_version":"1.19.0","animation_controllers":{"controller.animation.example":{"states":{"default":{"transitions":[{"state_1":"query.is_baby"}]},"state_1":{"animations":["state_1"],"transitions":[{"default":"query.all_animations_finished"}]}}}}}],"type":"object","title":"Animation Controller","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","definitions":{"animationspec":{"anyOf":[{"title":"Animation Specification","description":"A single string that specifies which animation there are","type":"string"},{"type":"object","title":"Animation Specification","description":"A object specification on how to transition","maxProperties":1,"minProperties":1,"additionalProperties":{"oneOf":[{"type":"string","$ref":"#/definitions/A"},{"type":"number","description":"A blend weight"}]}}]},"particle_effect_spec":{"additionalProperties":false,"type":"object","required":["effect"],"properties":{"bind_to_actor":{"type":"boolean","title":"Bind To Actor","description":"Set to false to have the effect spawned in the world without being bound to an actor (by default an effect is bound to the actor).","const":false},"effect":{"type":"string","title":"Effect","description":"The name of a particle effect that should be played"},"locator":{"type":"string","title":"Locator","description":"The name of a locator on the actor where the effect should be located"},"pre_effect_script":{"type":"string","title":"Pre Effect Script","description":"A molang script that will be run when the particle emitter is initialized","pattern":"^.+;$"}}},"commands":{"type":"string","description":"The event or commands to execute","pattern":"^(@s .+|/.+)$"},"A":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"B":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"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"}]}},"required":["format_version","animation_controllers"],"additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/B"},"animation_controllers":{"type":"object","title":"Animation Controllers Schema","description":"The animation controllers schema for","propertyNames":{"pattern":"^controller\\.animation\\.[a-z\\.]+","examples":["controller.animation.example","controller.animation.example.foo"]},"additionalProperties":{"additionalProperties":false,"type":"object","title":"A Animation Controller","description":"A single animation controller","required":["states"],"minProperties":1,"properties":{"states":{"title":"States","description":"The states of this animation controller","propertyNames":{"pattern":"[a-z\\.]+","examples":["default"]},"minProperties":1,"type":"object","additionalProperties":{"additionalProperties":false,"title":"Animation State","description":"Animation state","type":"object","examples":[{"animations":["anim.idle"],"transitions":[{"example":"query.is_sheared"}]}],"properties":{"animations":{"title":"Animations","description":"The animations definition for","type":"array","items":{"$ref":"#/definitions/animationspec","title":"Animations"}},"blend_transition":{"title":"Blend Transition","oneOf":[{"type":"number","default":0.1,"minimum":0,"description":"A short-hand version of blend_out that simply sets the amount of time to fade out if the animation is interrupted"},{"type":"object","description":"Specifies the cross-fade time in seconds when transitioning to another state","additionalProperties":{"type":"number","description":"Mapping of time since the animation was canceled, to the blend value at that time. A default key of time=0 to a blend value of 1.0 is provided if any other key is set and a blend value at time=0 hasn't already been set."}}]},"blend_via_shortest_path":{"description":"When blending a transition to another state, animate each euler axis through the shortest rotation, instead of by value","type":"boolean","title":"Blend Via Shortest Path"},"particle_effects":{"description":"The effects to be emitted","type":"array","items":{"$ref":"#/definitions/particle_effect_spec","description":"UNDOCUMENTED: particle effects","title":"Particle Effects"},"title":"Particle Effects"},"sound_effects":{"type":"array","description":"Collection of sounds to trigger on entry to this animation state.","items":{"type":"object","additionalProperties":false,"required":["effect"],"properties":{"effect":{"description":"Valid sound effect names should be listed in the entity's resource_definition json file.","type":"string"}}}},"transitions":{"title":"Transition","description":"The transition definition for","minProperties":1,"type":"array","items":{"$ref":"#/definitions/animationspec","description":"The specification on when to transition to a new state","title":"Transitions"}},"variables":{"type":"object","additionalProperties":{"additionalProperties":false,"type":"object","required":["input"],"properties":{"input":{"$ref":"#/definitions/C"},"remap_curve":{"title":"Remap Curve","type":"object","additionalProperties":{"propertyNames":{"pattern":"^([\\-\\+0-9]+|[\\-\\+0-9]+.[0-9]+)$"},"type":"number"}}}}},"on_entry":{"title":"On Entry","description":"Sets molang on data on entry","$comment":"UNDOCUMENTED","type":"array","items":{"pattern":"^.+=.+;$","title":"Molang","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}},"on_exit":{"title":"On Exit","description":"Sets molang on data on exit","$comment":"UNDOCUMENTED","type":"array","items":{"pattern":"^.+=.+;$","title":"Molang","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}}}},"initial_state":{"type":"string","description":"The state to start with, if not specified state at position 0 in the array is used","title":"Initial State"}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.animation_controller","examples":[{"format_version":"1.19.0","animation_controllers":{"controller.animation.example":{"states":{"default":{"transitions":[{"state_1":"query.is_baby"}]},"state_1":{"animations":["state_1"],"transitions":[{"default":"query.all_animations_finished"}]}}}}}],"type":"object","title":"Animation Controller","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","definitions":{"animationspec":{"anyOf":[{"title":"Animation Specification","description":"A single string that specifies which animation there are.","type":"string"},{"type":"object","title":"Animation Specification","description":"A object specification on how to transition.","maxProperties":1,"minProperties":1,"additionalProperties":{"oneOf":[{"type":"string","$ref":"#/definitions/A"},{"type":"number","description":"A blend weight."}]}}]},"particle_effect_spec":{"additionalProperties":false,"type":"object","required":["effect"],"properties":{"bind_to_actor":{"type":"boolean","title":"Bind To Actor","description":"Set to false to have the effect spawned in the world without being bound to an actor (by default an effect is bound to the actor).","const":false},"effect":{"type":"string","title":"Effect","description":"The name of a particle effect that should be played."},"locator":{"type":"string","title":"Locator","description":"The name of a locator on the actor where the effect should be located."},"pre_effect_script":{"type":"string","title":"Pre Effect Script","description":"A molang script that will be run when the particle emitter is initialized.","pattern":"^.+;$"}}},"commands":{"type":"string","description":"The event or commands to execute.","pattern":"^(@s .+|/.+)$"},"A":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"B":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"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"}]}},"required":["format_version","animation_controllers"],"additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/B"},"animation_controllers":{"type":"object","title":"Animation Controllers Schema","description":"The animation controllers schema for.","propertyNames":{"pattern":"^controller\\.animation\\.[a-z\\.]+","examples":["controller.animation.example","controller.animation.example.foo"]},"additionalProperties":{"additionalProperties":false,"type":"object","title":"A Animation Controller","description":"A single animation controller.","required":["states"],"minProperties":1,"properties":{"states":{"title":"States","description":"The states of this animation controller.","propertyNames":{"pattern":"[a-z\\.]+","examples":["default"]},"minProperties":1,"type":"object","additionalProperties":{"additionalProperties":false,"title":"Animation State","description":"Animation state.","type":"object","examples":[{"animations":["anim.idle"],"transitions":[{"example":"query.is_sheared"}]}],"properties":{"animations":{"title":"Animations","description":"The animations definition for.","type":"array","items":{"$ref":"#/definitions/animationspec","title":"Animations"}},"blend_transition":{"title":"Blend Transition","oneOf":[{"type":"number","default":0.1,"minimum":0,"description":"A short-hand version of blend_out that simply sets the amount of time to fade out if the animation is interrupted."},{"type":"object","description":"Specifies the cross-fade time in seconds when transitioning to another state.","additionalProperties":{"type":"number","description":"Mapping of time since the animation was canceled, to the blend value at that time. A default key of time=0 to a blend value of 1.0 is provided if any other key is set and a blend value at time=0 hasn't already been set."}}]},"blend_via_shortest_path":{"description":"When blending a transition to another state, animate each euler axis through the shortest rotation, instead of by value.","type":"boolean","title":"Blend Via Shortest Path"},"particle_effects":{"description":"The effects to be emitted.","type":"array","items":{"$ref":"#/definitions/particle_effect_spec","description":"UNDOCUMENTED: particle effects.","title":"Particle Effects"},"title":"Particle Effects"},"sound_effects":{"type":"array","description":"Collection of sounds to trigger on entry to this animation state.","items":{"type":"object","additionalProperties":false,"required":["effect"],"properties":{"effect":{"description":"Valid sound effect names should be listed in the entity's resource_definition json file.","type":"string"}}}},"transitions":{"title":"Transition","description":"The transition definition for.","minProperties":1,"type":"array","items":{"$ref":"#/definitions/animationspec","description":"The specification on when to transition to a new state.","title":"Transitions"}},"variables":{"type":"object","additionalProperties":{"additionalProperties":false,"type":"object","required":["input"],"properties":{"input":{"$ref":"#/definitions/C"},"remap_curve":{"title":"Remap Curve","type":"object","additionalProperties":{"propertyNames":{"pattern":"^([\\-\\+0-9]+|[\\-\\+0-9]+.[0-9]+)$"},"type":"number"}}}}},"on_entry":{"title":"On Entry","description":"Sets molang on data on entry.","$comment":"UNDOCUMENTED","type":"array","items":{"pattern":"^.+=.+;$","title":"Molang","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"}},"on_exit":{"title":"On Exit","description":"Sets molang on data on exit.","$comment":"UNDOCUMENTED","type":"array","items":{"pattern":"^.+=.+;$","title":"Molang","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"}}}}},"initial_state":{"type":"string","description":"The state to start with, if not specified state at position 0 in the array is used.","title":"Initial State"}}}}}} \ No newline at end of file diff --git a/resource/animations/actor_animation.json b/resource/animations/actor_animation.json index 8097e990..258a06d6 100644 --- a/resource/animations/actor_animation.json +++ b/resource/animations/actor_animation.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.actor_animation","examples":[{"format_version":"1.19.0","animations":{"animation.annie.idle":{"loop":true,"animation_length":2.12,"bones":{}}}}],"additionalProperties":false,"type":"object","title":"Actor Animation","description":"The RP animation that changes an actors models, or molang data.","$comment":"UNDOCUMENTED","definitions":{"ParticleEffect":{"type":"object","title":"Particle Effect","additionalProperties":false,"required":["effect"],"properties":{"effect":{"type":"string","title":"Particle Id","description":"The name of a particle effect that should be played"},"locator":{"type":"string","title":"Locator","description":"The name of a locator on the actor where the effect should be located"},"pre_effect_script":{"title":"Pre Effect Script","description":"A molang script that will be run when the particle emitter is initialized","$ref":"#/definitions/A"},"bind_to_actor":{"type":"boolean","title":"Bind To Actor","description":"Set to false to have the effect spawned in the world without being bound to an actor (by default an effect is bound to the actor).","const":false}}},"PositionV3":{"title":"Position Array","description":"An array of 3 items that describe the bones position","type":"array","examples":[[0,0,0]],"maxItems":3,"minItems":3,"items":[{"title":"Position X","description":"The position over the X-axis or forwards/backwards.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Position Y","description":"The position over the Y-axis, or up/down.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Position Z","description":"The position over the Z-axis, or left/right.\nCan be molang or a float","$ref":"#/definitions/B"}]},"RotationV3":{"title":"Rotation Array","description":"An array of 3 items that describe the bones rotation","type":"array","examples":[[0,0,0]],"maxItems":3,"minItems":3,"items":[{"title":"Rotation X","description":"The rotation over the X-axis, or up or down.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Rotation Y","description":"The rotation over the Y-axis, or yaw.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Rotation Z","description":"The rotation over the Z-axis, or roll.\nCan be molang or a float","$ref":"#/definitions/B"}]},"ScaleV3":{"title":"Scale Array","description":"An array of 3 items that describe the bones scale","type":"array","examples":[[0,0,0]],"maxItems":3,"minItems":3,"items":[{"title":"Scale X","description":"The scale over the X-axis or forwards/backwards.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Scale Y","description":"The scale over the Y-axis, or up/down.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Scale Z","description":"The scale over the Z-axis, or left/right.\nCan be molang or a float","$ref":"#/definitions/B"}]},"SoundEffect":{"title":"Sound Effect","type":"object","additionalProperties":false,"properties":{"effect":{"title":"Effect","type":"string","description":"Valid sound effect names should be listed in the entity's resource_definition json file."}}},"A":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"B":{"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"}]},"C":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}},"required":["format_version","animations"],"properties":{"format_version":{"$ref":"#/definitions/C"},"animations":{"title":"Animations Schema","description":"The animation specification","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"type":"object","additionalProperties":{"additionalProperties":false,"type":"object","title":"Animation","description":"The animation specification","properties":{"anim_time_update":{"title":"Start Delay","description":"How does time pass when playing the animation. Defaults to `query.anim_time + query.delta_time` which means advance in seconds.","$ref":"#/definitions/B"},"animation_length":{"title":"Animation Length","description":"Override calculated value (set as the last keyframe time) and set animation length in seconds.","type":"number"},"blend_weight":{"title":"Blend Weight","description":"The weight of the animation when blending with other animations. Defaults to 1.","$comment":"UNDOCUMENTED","$ref":"#/definitions/B"},"bones":{"title":"Bones","description":"Defines how the bones in an animation move or transform","propertyNames":{"examples":["leftArm"]},"type":"object","minProperties":1,"additionalProperties":{"title":"Bone Transformation","description":"The bone definition that declare how it transforms during animation","type":"object","additionalProperties":false,"properties":{"position":{"title":"Position","description":"The Position transformation during this animation","oneOf":[{"type":"array","$ref":"#/definitions/PositionV3"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","oneOf":[{"$ref":"#/definitions/B","description":"Uniform position"},{"type":"array","$ref":"#/definitions/PositionV3"},{"additionalProperties":false,"type":"object","properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/PositionV3"},"post":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/PositionV3"}}}]}}]},"rotation":{"title":"Rotation","description":"The rotation transformation during this animation","oneOf":[{"type":"array","$ref":"#/definitions/RotationV3"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","oneOf":[{"$ref":"#/definitions/B","description":"Uniform rotation"},{"type":"array","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/RotationV3"},{"additionalProperties":false,"type":"object","properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/RotationV3"},"post":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/RotationV3"}}}]}}]},"relative_to":{"title":"Relative To","description":"If set, makes the bone rotation relative to the entity instead of the bone's parent","properties":{"rotation":{"title":"Rotation","description":"If set, makes the bone rotation relative to the entity instead of the bone's parent","type":"string"}}},"scale":{"title":"Scale","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"$ref":"#/definitions/B","description":"Uniform scale"},{"$ref":"#/definitions/ScaleV3"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","oneOf":[{"$ref":"#/definitions/B","description":"Uniform rotation"},{"type":"array","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/ScaleV3"},{"additionalProperties":false,"type":"object","properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/ScaleV3"},"post":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/ScaleV3"}}}]}}]}}}},"loop":{"title":"Loop","description":"Should this animation stop, loop, or stay on the last frame when finished (true, false, hold_on_last_frame)","oneOf":[{"type":"boolean"},{"type":"string","enum":["hold_on_last_frame"]}]},"loop_delay":{"title":"Loop Delay","description":"How long to wait in seconds before looping this animation. Note that this expression is evaluated after each loop and on looping animation only.","$ref":"#/definitions/B"},"override_previous_animation":{"title":"Override Previous Animation","description":"Reset bones in this animation to the default pose before applying this animation.","type":"boolean"},"particle_effects":{"title":"Particle Effects","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"examples":[{"0.0":{}}],"additionalProperties":{"title":"Timeline Object","description":"A single point in time","oneOf":[{"type":"object","$ref":"#/definitions/ParticleEffect"},{"type":"array","items":{"$ref":"#/definitions/ParticleEffect"}}]}},"start_delay":{"title":"Start Delay","description":"How long to wait in seconds before playing this animation. Note that this expression is evaluated once before playing, and only re-evaluated if asked to play from the beginning again. A looping animation should use `loop_delay` if it wants a delay between loops.","$ref":"#/definitions/B"},"sound_effects":{"title":"Sound Effect","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","oneOf":[{"type":"object","$ref":"#/definitions/SoundEffect"},{"type":"array","items":{"$ref":"#/definitions/SoundEffect"}}]}},"timeline":{"title":"Timeline","description":"The time line","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"examples":[{"0.0":{}}],"additionalProperties":{"oneOf":[{"type":"string","title":"Molang","description":"Variable definition","pattern":"^(v|variable)\\..*=.*;$"},{"type":"array","title":"Collection Timelime Items","items":{"type":"string","title":"Molang","description":"Variable definition","pattern":"^(v|variable)\\..*=.*;$"}}]}}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.actor_animation","examples":[{"format_version":"1.19.0","animations":{"animation.annie.idle":{"loop":true,"animation_length":2.12,"bones":{}}}}],"additionalProperties":false,"type":"object","title":"Actor Animation","description":"The RP animation that changes an actors models, or molang data.","$comment":"UNDOCUMENTED","definitions":{"ParticleEffect":{"type":"object","title":"Particle Effect","additionalProperties":false,"required":["effect"],"properties":{"effect":{"type":"string","title":"Particle Id","description":"The name of a particle effect that should be played."},"locator":{"type":"string","title":"Locator","description":"The name of a locator on the actor where the effect should be located."},"pre_effect_script":{"title":"Pre Effect Script","description":"A molang script that will be run when the particle emitter is initialized.","$ref":"#/definitions/A"},"bind_to_actor":{"type":"boolean","title":"Bind To Actor","description":"Set to false to have the effect spawned in the world without being bound to an actor (by default an effect is bound to the actor).","const":false}}},"PositionV3":{"title":"Position Array","description":"An array of 3 items that describe the bones position.","type":"array","examples":[[0,0,0]],"maxItems":3,"minItems":3,"items":[{"title":"Position X","description":"The position over the X-axis or forwards/backwards.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Position Y","description":"The position over the Y-axis, or up/down.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Position Z","description":"The position over the Z-axis, or left/right.\nCan be molang or a float","$ref":"#/definitions/B"}]},"RotationV3":{"title":"Rotation Array","description":"An array of 3 items that describe the bones rotation.","type":"array","examples":[[0,0,0]],"maxItems":3,"minItems":3,"items":[{"title":"Rotation X","description":"The rotation over the X-axis, or up or down.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Rotation Y","description":"The rotation over the Y-axis, or yaw.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Rotation Z","description":"The rotation over the Z-axis, or roll.\nCan be molang or a float","$ref":"#/definitions/B"}]},"ScaleV3":{"title":"Scale Array","description":"An array of 3 items that describe the bones scale.","type":"array","examples":[[0,0,0]],"maxItems":3,"minItems":3,"items":[{"title":"Scale X","description":"The scale over the X-axis or forwards/backwards.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Scale Y","description":"The scale over the Y-axis, or up/down.\nCan be molang or a float","$ref":"#/definitions/B"},{"title":"Scale Z","description":"The scale over the Z-axis, or left/right.\nCan be molang or a float","$ref":"#/definitions/B"}]},"SoundEffect":{"title":"Sound Effect","type":"object","additionalProperties":false,"properties":{"effect":{"title":"Effect","type":"string","description":"Valid sound effect names should be listed in the entity's resource_definition json file."}}},"A":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"B":{"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"}]},"C":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}},"required":["format_version","animations"],"properties":{"format_version":{"$ref":"#/definitions/C"},"animations":{"title":"Animations Schema","description":"The animation specification.","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"type":"object","additionalProperties":{"additionalProperties":false,"type":"object","title":"Animation","description":"The animation specification.","properties":{"anim_time_update":{"title":"Start Delay","description":"How does time pass when playing the animation. Defaults to `query.anim_time + query.delta_time` which means advance in seconds.","$ref":"#/definitions/B"},"animation_length":{"title":"Animation Length","description":"Override calculated value (set as the last keyframe time) and set animation length in seconds.","type":"number"},"blend_weight":{"title":"Blend Weight","description":"The weight of the animation when blending with other animations. Defaults to 1.","$comment":"UNDOCUMENTED","$ref":"#/definitions/B"},"bones":{"title":"Bones","description":"Defines how the bones in an animation move or transform.","propertyNames":{"examples":["leftArm"]},"type":"object","minProperties":1,"additionalProperties":{"title":"Bone Transformation","description":"The bone definition that declare how it transforms during animation.","type":"object","additionalProperties":false,"properties":{"position":{"title":"Position","description":"The Position transformation during this animation.","oneOf":[{"type":"array","$ref":"#/definitions/PositionV3"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time.","oneOf":[{"$ref":"#/definitions/B","description":"Uniform position."},{"type":"array","$ref":"#/definitions/PositionV3"},{"additionalProperties":false,"type":"object","properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/PositionV3"},"post":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/PositionV3"}}}]}}]},"rotation":{"title":"Rotation","description":"The rotation transformation during this animation.","oneOf":[{"type":"array","$ref":"#/definitions/RotationV3"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time.","oneOf":[{"$ref":"#/definitions/B","description":"Uniform rotation."},{"type":"array","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/RotationV3"},{"additionalProperties":false,"type":"object","properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/RotationV3"},"post":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/RotationV3"}}}]}}]},"relative_to":{"title":"Relative To","description":"If set, makes the bone rotation relative to the entity instead of the bone's parent.","properties":{"rotation":{"title":"Rotation","description":"If set, makes the bone rotation relative to the entity instead of the bone's parent.","type":"string"}}},"scale":{"title":"Scale","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"$ref":"#/definitions/B","description":"Uniform scale."},{"$ref":"#/definitions/ScaleV3"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time.","oneOf":[{"$ref":"#/definitions/B","description":"Uniform rotation."},{"type":"array","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/ScaleV3"},{"additionalProperties":false,"type":"object","properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/ScaleV3"},"post":{"title":"Pre","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/ScaleV3"}}}]}}]}}}},"loop":{"title":"Loop","description":"Should this animation stop, loop, or stay on the last frame when finished (true, false, hold_on_last_frame).","oneOf":[{"type":"boolean"},{"type":"string","enum":["hold_on_last_frame"]}]},"loop_delay":{"title":"Loop Delay","description":"How long to wait in seconds before looping this animation. Note that this expression is evaluated after each loop and on looping animation only.","$ref":"#/definitions/B"},"override_previous_animation":{"title":"Override Previous Animation","description":"Reset bones in this animation to the default pose before applying this animation.","type":"boolean"},"particle_effects":{"title":"Particle Effects","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"examples":[{"0.0":{}}],"additionalProperties":{"title":"Timeline Object","description":"A single point in time.","oneOf":[{"type":"object","$ref":"#/definitions/ParticleEffect"},{"type":"array","items":{"$ref":"#/definitions/ParticleEffect"}}]}},"start_delay":{"title":"Start Delay","description":"How long to wait in seconds before playing this animation. Note that this expression is evaluated once before playing, and only re-evaluated if asked to play from the beginning again. A looping animation should use `loop_delay` if it wants a delay between loops.","$ref":"#/definitions/B"},"sound_effects":{"title":"Sound Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time.","oneOf":[{"type":"object","$ref":"#/definitions/SoundEffect"},{"type":"array","items":{"$ref":"#/definitions/SoundEffect"}}]}},"timeline":{"title":"Timeline","description":"The time line.","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"examples":[{"0.0":{}}],"additionalProperties":{"oneOf":[{"type":"string","title":"Molang","description":"Variable definition.","pattern":"^(v|variable)\\..*=.*;$"},{"type":"array","title":"Collection Timelime Items","items":{"type":"string","title":"Molang","description":"Variable definition.","pattern":"^(v|variable)\\..*=.*;$"}}]}}}}}}} \ No newline at end of file diff --git a/resource/attachables/attachables.json b/resource/attachables/attachables.json index bee824cb..979db3b9 100644 --- a/resource/attachables/attachables.json +++ b/resource/attachables/attachables.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.attachables","examples":[{"format_version":"1.19.0","minecraft:attachable":{"description":{"identifier":"minecraft:item","materials":{"default":"entity_alphatest","enchanted":"entity_alphatest_glint"},"textures":{"default":"textures/items/item"},"geometry":{"default":"geometry.item"},"scripts":{},"render_controllers":["controller.render.item"]}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10"}}},"then":{"$ref":"#/definitions/D"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/D"}},{"properties":{"format_version":{"$ref":"#/definitions/E"}}}],"definitions":{"B":{"description":"A minecraft item identifier","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item 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"}]},"A":{"type":"object","title":"Actor Animation 1.8.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["format_version","minecraft:attachable"],"properties":{"format_version":{"title":"1.8.0 Format Version","type":"string","pattern":"^1.8.0$","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:attachable":{"type":"object","title":"Attachables","description":"The attachables definition for 1.8.0","required":["description"],"properties":{"description":{"additionalProperties":false,"title":"Description","description":"UNDOCUMENTED: description","type":"object","required":["identifier","geometry"],"properties":{"animations":{"description":"The connecting of animations in animations controllers with the actuall animations, names should corosponds","title":"Animations","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties","title":"Animation"}},"animation_controllers":{"type":"array","minItems":1,"description":"UNDOCUMENTED: animation controllers","title":"Animation Controllers","items":{"type":"object","additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties","title":"Animation Controller"},"description":"UNDOCUMENTED: animation controllers","title":"Animation Controllers"}},"enable_attachables":{"type":"boolean","description":"UNDOCUMENTED: enable attachables","title":"Enable Attachables"},"geometry":{"title":"Geometry","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties","title":"Geometry"},"description":"UNDOCUMENTED: geometry"},"identifier":{"type":"string","description":"UNDOCUMENTED: identifier","title":"Identifier","$ref":"#/definitions/B"},"item":{"type":"object","title":"Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":{"type":"string","title":"Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"materials":{"type":"object","description":"UNDOCUMENTED: materials","title":"Materials","additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties","title":"Material"}},"min_engine_version":{"type":"string","pattern":"[0-9]+\\.[0-9]+\\.[0-9]+","description":"UNDOCUMENTED: Minimum engine version","title":"Minimum Engine Version"},"particle_effects":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties","title":"Particle Effects"},"description":"UNDOCUMENTED: particle effects","title":"Particle Effects"},"particle_emitters":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties","title":"Particle Emitter"},"description":"UNDOCUMENTED: particle emitters","title":"Particle Emitters"},"render_controllers":{"type":"array","description":"UNDOCUMENTED: render controllers","title":"Render Controllers","minItems":1,"items":{"type":"string","description":"UNDOCUMENTED: render controllers","title":"Render Controllers"}},"sound_effects":{"type":"array","description":"UNDOCUMENTED: sound effects","title":"Sound Effects","minItems":1,"items":{"type":"string","description":"UNDOCUMENTED: sound effects","title":"Sound Effects"}},"spawn_egg":{"type":"object","description":"UNDOCUMENTED: spawn egg","title":"Spawn Egg","dependencies":{"texture":["texture_index"],"texture_index":["texture"],"base_colour":["overlay_color"],"overlay_color":["base_colour"]},"properties":{"base_colour":{"type":"string","description":"UNDOCUMENTED: base colour","title":"Base Colour"},"overlay_color":{"type":"string","description":"UNDOCUMENTED: overlay color","title":"Overlay Color"},"texture":{"type":"string","description":"UNDOCUMENTED: texture","title":"Texture"},"texture_index":{"type":"integer","description":"UNDOCUMENTED: texture index","title":"Texture Index"}}},"scripts":{"type":"object","description":"UNDOCUMENTED: scripts","title":"Scripts","properties":{"pre_animation":{"type":"array","items":{"pattern":";$","$ref":"#/definitions/C","description":"UNDOCUMENTED: pre aninamtion","title":"Pre Animation"},"description":"UNDOCUMENTED: pre aninamtion","title":"Pre Animation"},"scale":{"type":"string","description":"UNDOCUMENTED: scale","title":"Scale"},"animate":{"type":"array","title":"Animate","items":{"oneOf":[{"type":"string","description":"UNDOCUMENTED: oneOf[0]","title":"Animate"},{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties","title":"Animate"},"description":"UNDOCUMENTED: oneOf[1]","title":"Animate"}],"description":"UNDOCUMENTED: animate","title":"Animate"},"description":"UNDOCUMENTED: animate"},"parent_setup":{"$ref":"#/definitions/C"}}},"textures":{"type":"object","additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties","title":"Textures"},"description":"UNDOCUMENTED: textures","title":"Textures"}}}},"additionalProperties":false}},"additionalProperties":false},"D":{"type":"object","title":"Actor Animation 1.10.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["format_version","minecraft:attachable"],"properties":{"format_version":{"title":"1.10.0 Format Version","type":"string","pattern":"^(1.10.0|1.10)$","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:attachable":{"type":"object","title":"Attachables","description":"The attachables definition","required":["description"],"properties":{"description":{"title":"Description","type":"object","required":["identifier"],"additionalProperties":false,"properties":{"animations":{"type":"object","additionalProperties":{"type":"string","description":"A single animation reference","title":"Animation"},"description":"The collection of animations references","title":"Animations"},"animation_controllers":{"type":"array","additionalProperties":{"type":"object","description":"A collection of animation controller references","title":"Animation Controller","additionalProperties":{"type":"string","description":"A single Animation controller reference","title":"Animation Controller Reference"}},"description":"The specification of animation controllers","title":"Animation Controllers"},"enable_attachables":{"type":"boolean","description":"UNDOCUMENTED: enable attachables","title":"Enable Attachables"},"geometry":{"title":"Geometry","type":"object","propertyNames":{"pattern":"[a-zA-Z0-9_\\.\\-]+"},"minProperties":1,"additionalProperties":{"type":"string","description":"A single geometry reference","title":"Geometry"},"description":"The geometry specification"},"identifier":{"type":"string","description":"UNDOCUMENTED: identifier","title":"Identifier","$ref":"#/definitions/B"},"item":{"type":"object","title":"Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":{"type":"string","title":"Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"materials":{"type":"object","additionalProperties":{"type":"string","description":"A single material reference","title":"Material"},"description":"A collection of material references","title":"Materials"},"min_engine_version":{"type":"string","pattern":"[0-9]+\\.[0-9]+\\.[0-9]+","description":"The minimum engine needed to use this","title":"Minimum Engine Version"},"particle_effects":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"A single particle effect reference","title":"Particle Effect"},"description":"A collection of particle effect references","title":"Particle Effects"},"particle_emitters":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties","title":"Particle Emitters"},"description":"UNDOCUMENTED: particle emitters","title":"Particle Emitters"},"render_controllers":{"type":"array","description":"UNDOCUMENTED: render controllers","title":"Render Controllers","minItems":1,"items":{"type":"string","description":"UNDOCUMENTED: render controllers","title":"Render Controllers"}},"scripts":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED: scripts","title":"Scripts","properties":{"animate":{"type":"array","title":"Animate","minItems":1,"items":{"oneOf":[{"type":"string","description":"UNDOCUMENTED: oneOf[0]","title":"Animate"},{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties","title":"Animate"},"description":"UNDOCUMENTED: oneOf[1]","title":"Animate"}],"description":"UNDOCUMENTED: animate","title":"Animate"},"description":"UNDOCUMENTED: animate"},"initialize":{"type":"array","description":"UNDOCUMENTED: initialize","title":"Initialize","items":{"pattern":";$","$ref":"#/definitions/C","description":"UNDOCUMENTED: initialize","title":"Initialize"}},"pre_animation":{"type":"array","description":"UNDOCUMENTED: pre aninamtion","title":"Pre Animation","items":{"pattern":";$","$ref":"#/definitions/C","description":"UNDOCUMENTED: pre aninamtion","title":"Pre Animation"}},"parent_setup":{"type":"string","description":"UNDOCUMENTED: parent setup","title":"Parent Setup","$ref":"#/definitions/C"},"scale":{"type":"string","description":"UNDOCUMENTED: scale","title":"Scale","$ref":"#/definitions/C"}}},"sound_effects":{"type":"array","description":"UNDOCUMENTED: sound effects","title":"Sound Effects","minItems":1,"items":{"type":"string","description":"UNDOCUMENTED: sound effects","title":"Sound Effects"}},"spawn_egg":{"type":"object","description":"UNDOCUMENTED: spawn egg","title":"Spawn Egg","dependencies":{"texture":["texture_index"],"texture_index":["texture"],"base_colour":["overlay_color"],"overlay_color":["base_colour"]},"properties":{"base_colour":{"type":"string","description":"UNDOCUMENTED: base colour","title":"Base Colour"},"overlay_color":{"type":"string","description":"UNDOCUMENTED: overlay color","title":"Overlay Color"},"texture":{"type":"string","description":"UNDOCUMENTED: texture","title":"Texture"},"texture_index":{"type":"integer","description":"UNDOCUMENTED: texture index","title":"Texture Index"}}},"textures":{"type":"object","additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties","title":"Texture"},"description":"UNDOCUMENTED: textures","title":"Textures"}},"description":"UNDOCUMENTED: description"}},"additionalProperties":false}},"additionalProperties":false},"E":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.attachables","examples":[{"format_version":"1.19.0","minecraft:attachable":{"description":{"identifier":"minecraft:item","materials":{"default":"entity_alphatest","enchanted":"entity_alphatest_glint"},"textures":{"default":"textures/items/item"},"geometry":{"default":"geometry.item"},"scripts":{},"render_controllers":["controller.render.item"]}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10"}}},"then":{"$ref":"#/definitions/D"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/D"}},{"properties":{"format_version":{"$ref":"#/definitions/E"}}}],"definitions":{"B":{"description":"A minecraft item identifier.","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item 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"}]},"A":{"type":"object","title":"Actor Animation 1.8.0","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","required":["format_version","minecraft:attachable"],"properties":{"format_version":{"title":"1.8.0 Format Version","type":"string","pattern":"^1.8.0$","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:attachable":{"type":"object","title":"Attachables","description":"The attachables definition for 1.8.0","required":["description"],"properties":{"description":{"additionalProperties":false,"title":"Description","description":"UNDOCUMENTED: description.","type":"object","required":["identifier","geometry"],"properties":{"animations":{"description":"The connecting of animations in animations controllers with the actuall animations, names should corosponds.","title":"Animations","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties.","title":"Animation"}},"animation_controllers":{"type":"array","minItems":1,"description":"UNDOCUMENTED: animation controllers.","title":"Animation Controllers","items":{"type":"object","additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties.","title":"Animation Controller"},"description":"UNDOCUMENTED: animation controllers.","title":"Animation Controllers"}},"enable_attachables":{"type":"boolean","description":"UNDOCUMENTED: enable attachables.","title":"Enable Attachables"},"geometry":{"title":"Geometry","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties.","title":"Geometry"},"description":"UNDOCUMENTED: geometry."},"identifier":{"type":"string","description":"UNDOCUMENTED: identifier.","title":"Identifier","$ref":"#/definitions/B"},"item":{"type":"object","title":"Item","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":{"type":"string","title":"Item","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"materials":{"type":"object","description":"UNDOCUMENTED: materials.","title":"Materials","additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties.","title":"Material"}},"min_engine_version":{"type":"string","pattern":"[0-9]+\\.[0-9]+\\.[0-9]+","description":"UNDOCUMENTED: Minimum engine version.","title":"Minimum Engine Version"},"particle_effects":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties.","title":"Particle Effects"},"description":"UNDOCUMENTED: particle effects.","title":"Particle Effects"},"particle_emitters":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties.","title":"Particle Emitter"},"description":"UNDOCUMENTED: particle emitters.","title":"Particle Emitters"},"render_controllers":{"type":"array","description":"UNDOCUMENTED: render controllers.","title":"Render Controllers","minItems":1,"items":{"type":"string","description":"UNDOCUMENTED: render controllers.","title":"Render Controllers"}},"sound_effects":{"type":"array","description":"UNDOCUMENTED: sound effects.","title":"Sound Effects","minItems":1,"items":{"type":"string","description":"UNDOCUMENTED: sound effects.","title":"Sound Effects"}},"spawn_egg":{"type":"object","description":"UNDOCUMENTED: spawn egg.","title":"Spawn Egg","dependencies":{"texture":["texture_index"],"texture_index":["texture"],"base_colour":["overlay_color"],"overlay_color":["base_colour"]},"properties":{"base_colour":{"type":"string","description":"UNDOCUMENTED: base colour.","title":"Base Colour"},"overlay_color":{"type":"string","description":"UNDOCUMENTED: overlay color.","title":"Overlay Color"},"texture":{"type":"string","description":"UNDOCUMENTED: texture.","title":"Texture"},"texture_index":{"type":"integer","description":"UNDOCUMENTED: texture index.","title":"Texture Index"}}},"scripts":{"type":"object","description":"UNDOCUMENTED: scripts.","title":"Scripts","properties":{"pre_animation":{"type":"array","items":{"pattern":";$","$ref":"#/definitions/C","description":"UNDOCUMENTED: pre aninamtion.","title":"Pre Animation"},"description":"UNDOCUMENTED: pre aninamtion.","title":"Pre Animation"},"scale":{"type":"string","description":"UNDOCUMENTED: scale.","title":"Scale"},"animate":{"type":"array","title":"Animate","items":{"oneOf":[{"type":"string","description":"UNDOCUMENTED: oneOf[0].","title":"Animate"},{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties.","title":"Animate"},"description":"UNDOCUMENTED: oneOf[1].","title":"Animate"}],"description":"UNDOCUMENTED: animate.","title":"Animate"},"description":"UNDOCUMENTED: animate."},"parent_setup":{"$ref":"#/definitions/C"}}},"textures":{"type":"object","additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties.","title":"Textures"},"description":"UNDOCUMENTED: textures.","title":"Textures"}}}},"additionalProperties":false}},"additionalProperties":false},"D":{"type":"object","title":"Actor Animation 1.10.0","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","required":["format_version","minecraft:attachable"],"properties":{"format_version":{"title":"1.10.0 Format Version","type":"string","pattern":"^(1.10.0|1.10)$","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:attachable":{"type":"object","title":"Attachables","description":"The attachables definition.","required":["description"],"properties":{"description":{"title":"Description","type":"object","required":["identifier"],"additionalProperties":false,"properties":{"animations":{"type":"object","additionalProperties":{"type":"string","description":"A single animation reference.","title":"Animation"},"description":"The collection of animations references.","title":"Animations"},"animation_controllers":{"type":"array","additionalProperties":{"type":"object","description":"A collection of animation controller references.","title":"Animation Controller","additionalProperties":{"type":"string","description":"A single Animation controller reference.","title":"Animation Controller Reference"}},"description":"The specification of animation controllers.","title":"Animation Controllers"},"enable_attachables":{"type":"boolean","description":"UNDOCUMENTED: enable attachables.","title":"Enable Attachables"},"geometry":{"title":"Geometry","type":"object","propertyNames":{"pattern":"[a-zA-Z0-9_\\.\\-]+"},"minProperties":1,"additionalProperties":{"type":"string","description":"A single geometry reference.","title":"Geometry"},"description":"The geometry specification."},"identifier":{"type":"string","description":"UNDOCUMENTED: identifier.","title":"Identifier","$ref":"#/definitions/B"},"item":{"type":"object","title":"Item","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":{"type":"string","title":"Item","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"materials":{"type":"object","additionalProperties":{"type":"string","description":"A single material reference.","title":"Material"},"description":"A collection of material references.","title":"Materials"},"min_engine_version":{"type":"string","pattern":"[0-9]+\\.[0-9]+\\.[0-9]+","description":"The minimum engine needed to use this.","title":"Minimum Engine Version"},"particle_effects":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"A single particle effect reference.","title":"Particle Effect"},"description":"A collection of particle effect references.","title":"Particle Effects"},"particle_emitters":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties.","title":"Particle Emitters"},"description":"UNDOCUMENTED: particle emitters.","title":"Particle Emitters"},"render_controllers":{"type":"array","description":"UNDOCUMENTED: render controllers.","title":"Render Controllers","minItems":1,"items":{"type":"string","description":"UNDOCUMENTED: render controllers.","title":"Render Controllers"}},"scripts":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED: scripts.","title":"Scripts","properties":{"animate":{"type":"array","title":"Animate","minItems":1,"items":{"oneOf":[{"type":"string","description":"UNDOCUMENTED: oneOf[0].","title":"Animate"},{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties.","title":"Animate"},"description":"UNDOCUMENTED: oneOf[1].","title":"Animate"}],"description":"UNDOCUMENTED: animate.","title":"Animate"},"description":"UNDOCUMENTED: animate."},"initialize":{"type":"array","description":"UNDOCUMENTED: initialize.","title":"Initialize","items":{"pattern":";$","$ref":"#/definitions/C","description":"UNDOCUMENTED: initialize.","title":"Initialize"}},"pre_animation":{"type":"array","description":"UNDOCUMENTED: pre aninamtion.","title":"Pre Animation","items":{"pattern":";$","$ref":"#/definitions/C","description":"UNDOCUMENTED: pre aninamtion.","title":"Pre Animation"}},"parent_setup":{"type":"string","description":"UNDOCUMENTED: parent setup.","title":"Parent Setup","$ref":"#/definitions/C"},"scale":{"type":"string","description":"UNDOCUMENTED: scale.","title":"Scale","$ref":"#/definitions/C"}}},"sound_effects":{"type":"array","description":"UNDOCUMENTED: sound effects.","title":"Sound Effects","minItems":1,"items":{"type":"string","description":"UNDOCUMENTED: sound effects.","title":"Sound Effects"}},"spawn_egg":{"type":"object","description":"UNDOCUMENTED: spawn egg.","title":"Spawn Egg","dependencies":{"texture":["texture_index"],"texture_index":["texture"],"base_colour":["overlay_color"],"overlay_color":["base_colour"]},"properties":{"base_colour":{"type":"string","description":"UNDOCUMENTED: base colour.","title":"Base Colour"},"overlay_color":{"type":"string","description":"UNDOCUMENTED: overlay color.","title":"Overlay Color"},"texture":{"type":"string","description":"UNDOCUMENTED: texture.","title":"Texture"},"texture_index":{"type":"integer","description":"UNDOCUMENTED: texture index.","title":"Texture Index"}}},"textures":{"type":"object","additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties.","title":"Texture"},"description":"UNDOCUMENTED: textures.","title":"Textures"}},"description":"UNDOCUMENTED: description."}},"additionalProperties":false}},"additionalProperties":false},"E":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}}} \ No newline at end of file diff --git a/resource/biomes_client.json b/resource/biomes_client.json index 108e77ce..3ec01e3f 100644 --- a/resource/biomes_client.json +++ b/resource/biomes_client.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.biomes_client.json","type":"object","title":"Biomes Client","description":"The minecraft biomes definition file","additionalProperties":false,"definitions":{"biomespec":{"additionalProperties":false,"description":"The specification of colors in a given biome","title":"Biome","type":"object","properties":{"fog_color":{"$ref":"#/definitions/colorhex","title":"Fog Color","description":"The color of the fog"},"fog_identifier":{"title":"Fog Identifier","description":"The fog to be associated to this biome","$ref":"#/definitions/A"},"fog_ids_to_merge":{"title":"Fog Ids To Merge","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Fog ID","type":"string","$ref":"#/definitions/A"}},"inherit_from_prior_fog":{"title":"Inherit From Prior Fog","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"remove_all_prior_fog":{"title":"Remove All Prior Fog","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"water_fog_color":{"$ref":"#/definitions/colorhex","title":"Water Fog Color","description":"The color of the water fog"},"water_fog_distance":{"type":"integer","title":"Water Fog Distance","description":"The distance the water fog start at"},"water_surface_color":{"$ref":"#/definitions/colorhex","title":"Water Surface Color","description":"The color of the water surface"},"water_surface_transparency":{"type":"number","title":"Water Surface Transparency","description":"The amount of transpareny the surface of the water has"}}},"colorhex":{"description":"The colouration of this object","title":"Colorhex","format":"color-hex","examples":["#FFFFFF"]},"A":{"description":"A minecraft fog identifier","examples":["namespace:fog_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Fog Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]}},"properties":{"biomes":{"type":"object","title":"Biomes","additionalProperties":false,"description":"A collection of predefined biomes","properties":{"bamboo_jungle_hills":{"$ref":"#/definitions/biomespec"},"bamboo_jungle":{"$ref":"#/definitions/biomespec"},"basalt_deltas":{"$ref":"#/definitions/biomespec"},"beach":{"$ref":"#/definitions/biomespec"},"birch_forest_hills":{"$ref":"#/definitions/biomespec"},"birch_forest":{"$ref":"#/definitions/biomespec"},"cold_beach":{"$ref":"#/definitions/biomespec"},"cold_ocean":{"$ref":"#/definitions/biomespec"},"cold_taiga_hills":{"$ref":"#/definitions/biomespec"},"cold_taiga_mutated":{"$ref":"#/definitions/biomespec"},"cold_taiga":{"$ref":"#/definitions/biomespec"},"crimson_forest":{"$ref":"#/definitions/biomespec"},"deep_cold_ocean":{"$ref":"#/definitions/biomespec"},"deep_frozen_ocean":{"$ref":"#/definitions/biomespec"},"deep_lukewarm_ocean":{"$ref":"#/definitions/biomespec"},"deep_ocean":{"$ref":"#/definitions/biomespec"},"deep_warm_ocean":{"$ref":"#/definitions/biomespec"},"default":{"$ref":"#/definitions/biomespec"},"desert_hills":{"$ref":"#/definitions/biomespec"},"desert":{"$ref":"#/definitions/biomespec"},"extreme_hills_edge":{"$ref":"#/definitions/biomespec"},"extreme_hills_mutated":{"$ref":"#/definitions/biomespec"},"extreme_hills_plus_trees_mutated":{"$ref":"#/definitions/biomespec"},"extreme_hills_plus_trees":{"$ref":"#/definitions/biomespec"},"extreme_hills":{"$ref":"#/definitions/biomespec"},"flower_forest":{"$ref":"#/definitions/biomespec"},"forest_hills":{"$ref":"#/definitions/biomespec"},"forest":{"$ref":"#/definitions/biomespec"},"frozen_ocean":{"$ref":"#/definitions/biomespec"},"frozen_river":{"$ref":"#/definitions/biomespec"},"hell":{"$ref":"#/definitions/biomespec"},"ice_mountains":{"$ref":"#/definitions/biomespec"},"ice_plains_spikes":{"$ref":"#/definitions/biomespec"},"ice_plains":{"$ref":"#/definitions/biomespec"},"jungle_edge":{"$ref":"#/definitions/biomespec"},"jungle_hills":{"$ref":"#/definitions/biomespec"},"jungle_mutated":{"$ref":"#/definitions/biomespec"},"jungle":{"$ref":"#/definitions/biomespec"},"lukewarm_ocean":{"$ref":"#/definitions/biomespec"},"mangrove_swamp":{"$ref":"#/definitions/biomespec"},"mega_spruce_taiga_mutated":{"$ref":"#/definitions/biomespec"},"mega_spruce_taiga":{"$ref":"#/definitions/biomespec"},"mega_taiga_hills":{"$ref":"#/definitions/biomespec"},"mega_taiga_mutated":{"$ref":"#/definitions/biomespec"},"mega_taiga":{"$ref":"#/definitions/biomespec"},"mesa_bryce":{"$ref":"#/definitions/biomespec"},"mesa_mutated":{"$ref":"#/definitions/biomespec"},"mesa_plateau_stone":{"$ref":"#/definitions/biomespec"},"mesa_plateau":{"$ref":"#/definitions/biomespec"},"mesa":{"$ref":"#/definitions/biomespec"},"mushroom_island_shore":{"$ref":"#/definitions/biomespec"},"mushroom_island":{"$ref":"#/definitions/biomespec"},"ocean":{"$ref":"#/definitions/biomespec"},"plains":{"$ref":"#/definitions/biomespec"},"river":{"$ref":"#/definitions/biomespec"},"roofed_forest":{"$ref":"#/definitions/biomespec"},"savanna_mutated":{"$ref":"#/definitions/biomespec"},"savanna_plateau":{"$ref":"#/definitions/biomespec"},"savanna":{"$ref":"#/definitions/biomespec"},"soulsand_valley":{"$ref":"#/definitions/biomespec"},"stone_beach":{"$ref":"#/definitions/biomespec"},"sunflower_plains":{"$ref":"#/definitions/biomespec"},"swampland_mutated":{"$ref":"#/definitions/biomespec"},"swampland":{"$ref":"#/definitions/biomespec"},"taiga_hills":{"$ref":"#/definitions/biomespec"},"taiga_mutated":{"$ref":"#/definitions/biomespec"},"taiga":{"$ref":"#/definitions/biomespec"},"the_end":{"$ref":"#/definitions/biomespec"},"warm_ocean":{"$ref":"#/definitions/biomespec"},"warped_forest":{"$ref":"#/definitions/biomespec"}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.biomes_client.json","type":"object","title":"Biomes Client","description":"The minecraft biomes definition file.","additionalProperties":false,"definitions":{"biomespec":{"additionalProperties":false,"description":"The specification of colors in a given biome.","title":"Biome","type":"object","properties":{"fog_color":{"$ref":"#/definitions/colorhex","title":"Fog Color","description":"The color of the fog."},"fog_identifier":{"title":"Fog Identifier","description":"The fog to be associated to this biome.","$ref":"#/definitions/A"},"fog_ids_to_merge":{"title":"Fog Ids To Merge","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Fog ID","type":"string","$ref":"#/definitions/A"}},"inherit_from_prior_fog":{"title":"Inherit From Prior Fog","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"},"remove_all_prior_fog":{"title":"Remove All Prior Fog","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"},"water_fog_color":{"$ref":"#/definitions/colorhex","title":"Water Fog Color","description":"The color of the water fog."},"water_fog_distance":{"type":"integer","title":"Water Fog Distance","description":"The distance the water fog start at."},"water_surface_color":{"$ref":"#/definitions/colorhex","title":"Water Surface Color","description":"The color of the water surface."},"water_surface_transparency":{"type":"number","title":"Water Surface Transparency","description":"The amount of transpareny the surface of the water has."}}},"colorhex":{"description":"The colouration of this object.","title":"Colorhex","format":"color-hex","examples":["#FFFFFF"]},"A":{"description":"A minecraft fog identifier.","examples":["namespace:fog_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Fog Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]}},"properties":{"biomes":{"type":"object","title":"Biomes","additionalProperties":false,"description":"A collection of predefined biomes.","properties":{"bamboo_jungle_hills":{"$ref":"#/definitions/biomespec"},"bamboo_jungle":{"$ref":"#/definitions/biomespec"},"basalt_deltas":{"$ref":"#/definitions/biomespec"},"beach":{"$ref":"#/definitions/biomespec"},"birch_forest_hills":{"$ref":"#/definitions/biomespec"},"birch_forest":{"$ref":"#/definitions/biomespec"},"cold_beach":{"$ref":"#/definitions/biomespec"},"cold_ocean":{"$ref":"#/definitions/biomespec"},"cold_taiga_hills":{"$ref":"#/definitions/biomespec"},"cold_taiga_mutated":{"$ref":"#/definitions/biomespec"},"cold_taiga":{"$ref":"#/definitions/biomespec"},"crimson_forest":{"$ref":"#/definitions/biomespec"},"deep_cold_ocean":{"$ref":"#/definitions/biomespec"},"deep_frozen_ocean":{"$ref":"#/definitions/biomespec"},"deep_lukewarm_ocean":{"$ref":"#/definitions/biomespec"},"deep_ocean":{"$ref":"#/definitions/biomespec"},"deep_warm_ocean":{"$ref":"#/definitions/biomespec"},"default":{"$ref":"#/definitions/biomespec"},"desert_hills":{"$ref":"#/definitions/biomespec"},"desert":{"$ref":"#/definitions/biomespec"},"extreme_hills_edge":{"$ref":"#/definitions/biomespec"},"extreme_hills_mutated":{"$ref":"#/definitions/biomespec"},"extreme_hills_plus_trees_mutated":{"$ref":"#/definitions/biomespec"},"extreme_hills_plus_trees":{"$ref":"#/definitions/biomespec"},"extreme_hills":{"$ref":"#/definitions/biomespec"},"flower_forest":{"$ref":"#/definitions/biomespec"},"forest_hills":{"$ref":"#/definitions/biomespec"},"forest":{"$ref":"#/definitions/biomespec"},"frozen_ocean":{"$ref":"#/definitions/biomespec"},"frozen_river":{"$ref":"#/definitions/biomespec"},"hell":{"$ref":"#/definitions/biomespec"},"ice_mountains":{"$ref":"#/definitions/biomespec"},"ice_plains_spikes":{"$ref":"#/definitions/biomespec"},"ice_plains":{"$ref":"#/definitions/biomespec"},"jungle_edge":{"$ref":"#/definitions/biomespec"},"jungle_hills":{"$ref":"#/definitions/biomespec"},"jungle_mutated":{"$ref":"#/definitions/biomespec"},"jungle":{"$ref":"#/definitions/biomespec"},"lukewarm_ocean":{"$ref":"#/definitions/biomespec"},"mangrove_swamp":{"$ref":"#/definitions/biomespec"},"mega_spruce_taiga_mutated":{"$ref":"#/definitions/biomespec"},"mega_spruce_taiga":{"$ref":"#/definitions/biomespec"},"mega_taiga_hills":{"$ref":"#/definitions/biomespec"},"mega_taiga_mutated":{"$ref":"#/definitions/biomespec"},"mega_taiga":{"$ref":"#/definitions/biomespec"},"mesa_bryce":{"$ref":"#/definitions/biomespec"},"mesa_mutated":{"$ref":"#/definitions/biomespec"},"mesa_plateau_stone":{"$ref":"#/definitions/biomespec"},"mesa_plateau":{"$ref":"#/definitions/biomespec"},"mesa":{"$ref":"#/definitions/biomespec"},"mushroom_island_shore":{"$ref":"#/definitions/biomespec"},"mushroom_island":{"$ref":"#/definitions/biomespec"},"ocean":{"$ref":"#/definitions/biomespec"},"plains":{"$ref":"#/definitions/biomespec"},"river":{"$ref":"#/definitions/biomespec"},"roofed_forest":{"$ref":"#/definitions/biomespec"},"savanna_mutated":{"$ref":"#/definitions/biomespec"},"savanna_plateau":{"$ref":"#/definitions/biomespec"},"savanna":{"$ref":"#/definitions/biomespec"},"soulsand_valley":{"$ref":"#/definitions/biomespec"},"stone_beach":{"$ref":"#/definitions/biomespec"},"sunflower_plains":{"$ref":"#/definitions/biomespec"},"swampland_mutated":{"$ref":"#/definitions/biomespec"},"swampland":{"$ref":"#/definitions/biomespec"},"taiga_hills":{"$ref":"#/definitions/biomespec"},"taiga_mutated":{"$ref":"#/definitions/biomespec"},"taiga":{"$ref":"#/definitions/biomespec"},"the_end":{"$ref":"#/definitions/biomespec"},"warm_ocean":{"$ref":"#/definitions/biomespec"},"warped_forest":{"$ref":"#/definitions/biomespec"}}}}} \ No newline at end of file diff --git a/resource/blocks.json b/resource/blocks.json index f9f27e16..1204d761 100644 --- a/resource/blocks.json +++ b/resource/blocks.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.block.json","type":"object","title":"Blocks","description":"The minecraft block definition file","definitions":{"texture":{"oneOf":[{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"down":{"type":"string","pattern":"^[\\w_\\-]+$"},"up":{"type":"string","pattern":"^[\\w_\\-]+$"},"side":{"type":"string","pattern":"^[\\w_\\-]+$"},"south":{"type":"string","pattern":"^[\\w_\\-]+$"},"north":{"type":"string","pattern":"^[\\w_\\-]+$"},"west":{"type":"string","pattern":"^[\\w_\\-]+$"},"east":{"type":"string","pattern":"^[\\w_\\-]+$"}}}]},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}},"propertyNames":{"pattern":"^[\\w_\\-:\\.]+$"},"properties":{"format_version":{"$ref":"#/definitions/A"}},"additionalProperties":{"additionalProperties":false,"title":"Block","description":"Block texture definition","type":"object","properties":{"brightness_gamma":{"type":"number","title":"Brightness Gamma","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"carried_textures":{"$ref":"#/definitions/texture","title":"Carried Textures","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"isotropic":{"title":"Isotropic","description":"Marks if this block is isotropic or not, or which side are","oneOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"down":{"type":"boolean"},"up":{"type":"boolean"},"side":{"type":"boolean"},"south":{"type":"boolean"},"north":{"type":"boolean"},"west":{"type":"boolean"},"east":{"type":"boolean"}}}]},"sound":{"type":"string","title":"Sound","description":"The sound definition of this block"},"textures":{"$ref":"#/definitions/texture","title":"Sound","description":"Textures"}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.block.json","type":"object","title":"Blocks","description":"The minecraft block definition file.","definitions":{"texture":{"oneOf":[{"type":"string"},{"additionalProperties":false,"type":"object","properties":{"down":{"type":"string","pattern":"^[\\w_\\-]+$"},"up":{"type":"string","pattern":"^[\\w_\\-]+$"},"side":{"type":"string","pattern":"^[\\w_\\-]+$"},"south":{"type":"string","pattern":"^[\\w_\\-]+$"},"north":{"type":"string","pattern":"^[\\w_\\-]+$"},"west":{"type":"string","pattern":"^[\\w_\\-]+$"},"east":{"type":"string","pattern":"^[\\w_\\-]+$"}}}]},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}},"propertyNames":{"pattern":"^[\\w_\\-:\\.]+$"},"properties":{"format_version":{"$ref":"#/definitions/A"}},"additionalProperties":{"additionalProperties":false,"title":"Block","description":"Block texture definition.","type":"object","properties":{"brightness_gamma":{"type":"number","title":"Brightness Gamma","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"carried_textures":{"$ref":"#/definitions/texture","title":"Carried Textures","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"isotropic":{"title":"Isotropic","description":"Marks if this block is isotropic or not, or which side are.","oneOf":[{"type":"boolean"},{"additionalProperties":false,"type":"object","properties":{"down":{"type":"boolean"},"up":{"type":"boolean"},"side":{"type":"boolean"},"south":{"type":"boolean"},"north":{"type":"boolean"},"west":{"type":"boolean"},"east":{"type":"boolean"}}}]},"sound":{"type":"string","title":"Sound","description":"The sound definition of this block."},"textures":{"$ref":"#/definitions/texture","title":"Sound","description":"Textures."}}}} \ No newline at end of file diff --git a/resource/entity/entity.json b/resource/entity/entity.json index 552940db..9854ceff 100644 --- a/resource/entity/entity.json +++ b/resource/entity/entity.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.entity","examples":[{"format_version":"1.19.0","minecraft:client_entity":{"description":{"identifier":"minecraft:entity","materials":{"default":"entity_custom"},"textures":{"default":"textures/entity/custom/entity"},"geometry":{"default":"geometry.entity"},"animations":{},"particle_effects":{},"scripts":{},"render_controllers":["controller.render.entity"],"spawn_egg":{"base_color":"#288483","overlay_color":"#2B7135"}}}}],"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"},"else":{"$ref":"#/definitions/E"},"definitions":{"B":{"description":"A minecraft entity identifier","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Entity Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"C":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"D":{"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"}]},"A":{"type":"object","title":"Actor Entity 1.8.0","description":"A client side entity definition","additionalProperties":false,"required":["format_version","minecraft:client_entity"],"properties":{"format_version":{"title":"1.8.0 Format Version","type":"string","const":"1.8.0","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:client_entity":{"type":"object","additionalProperties":false,"title":"Client Entity","description":"The entity description for clientside rendering, animations and models","required":["description"],"properties":{"description":{"additionalProperties":false,"title":"Description","description":"The entity description for clientside rendering, animations and models","type":"object","required":["identifier"],"properties":{"animations":{"title":"Animations","description":"These names are used by the animation controller JSON. Players can reference animations from the vanilla Minecraft Resource Pack or create their own. Custom animations should be in the animation folder at the root of the Resource Pack.","type":"object","minProperties":1,"examples":[{"basic":"controller.generic.basic"}],"additionalProperties":{"type":"string","description":"These names are used by the animation controller JSON. Players can reference animations from the vanilla Minecraft Resource Pack or create their own. Custom animations should be in the animation folder at the root of the Resource Pack.","title":"Animation Reference","examples":["controller.","animation."]}},"animation_controllers":{"type":"array","minItems":1,"description":"A reference to an animation controller","title":"Animation Controllers","items":{"type":"object","description":"A collection of animation controllers","title":"Animation Controllers","additionalProperties":{"type":"string","description":"A reference to an animation","title":"Animation Reference","examples":[{"basic":"controller.generic.basic"}]}}},"enable_attachables":{"type":"boolean","description":"UNDOCUMENTED: enable attachables","title":"Enable Attachables"},"geometry":{"title":"Geometry","description":"The reference to defined geometries in `/models/'","type":"object","propertyNames":{"pattern":"[a-zA-Z0-9_\\.\\-]+"},"minProperties":1,"additionalProperties":{"type":"string","description":"The reference to the geometry","title":"Geometry Reference"}},"hide_armor":{"type":"boolean","default":true,"title":"Hide Armor","description":"Hides or shows the possible armor"},"held_item_ignores_lighting":{"type":"boolean","default":false,"title":"Held Item Ignores Lighting","description":"This determines if the item held by an entity should render fully lit up (if true), or depending on surrounding lighting."},"identifier":{"type":"string","description":"The entity indentifier","title":"Identifier","$ref":"#/definitions/B"},"materials":{"type":"object","additionalProperties":{"type":"string","description":"Material reference","title":"Material"},"description":"A collection of material definitions","title":"Materials"},"min_engine_version":{"type":"string","pattern":"[0-9]+\\.[0-9]+\\.[0-9]+","description":"The minimum engine version to be used","title":"Minimum Engine Version"},"particle_effects":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"Particle reference","title":"Particle"},"description":"Keys are required and need to be unique from all other keys in the animation controllers. Players can reference particles from the vanilla Minecraft Resource Pack or create their own. Custom particles should be in the particle folder at the root of the Resource Pack.","title":"Particle Effects"},"particle_emitters":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"Particle emitter reference","title":"Particle Emitter"},"description":"A collection of particle emitters definitions","title":"Particle Emitters"},"render_controllers":{"type":"array","description":"Players can reference Render Controllers from the vanilla Minecraft Resource Pack or create their own. Custom Render Controllers should be in the textures folder at the root of the Resource Pack.","title":"Render Controllers","minItems":1,"items":{"oneOf":[{"type":"string","title":"Render Controller","description":"A single render controller definition"},{"type":"object","additionalProperties":{"type":"string","description":"A render controller activate on conditional","title":"Render Controller"}}]}},"scripts":{"additionalProperties":false,"type":"object","title":"Scripts","description":"The place where variables, and animations / controller to be run is specified","properties":{"pre_animation":{"type":"array","description":"Client side scripts that are evaluated immediately before animations are processed.","title":"Pre Animation","items":{"pattern":";$","$ref":"#/definitions/C","description":"Clientside molang variables that are to be evualated during the animation","title":"Pre Animation"}},"parent_setup":{"type":"string","description":"UNDOCUMENTED: parent setup","title":"Parent Setup","$ref":"#/definitions/D"},"scale":{"type":"string","description":"Scale sets the scale of the mob's geometry.","title":"Scale","$ref":"#/definitions/D"},"scalex":{"$ref":"#/definitions/D","title":"Scale X"},"scaley":{"$ref":"#/definitions/D","title":"Scale Y"},"scalez":{"$ref":"#/definitions/D","title":"Scale Z"}}},"sound_effects":{"title":"Sound Effects","description":"A collection of sound effect definition","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"A sound effect definition","title":"Sound Effect"}},"spawn_egg":{"additionalProperties":false,"type":"object","description":"The definition of how the spawn_egg icon looks like","title":"Spawn Egg","dependencies":{"texture_index":["texture"],"base_colour":["overlay_color"],"overlay_color":["base_color"]},"examples":[{"base_color":"#FFFFFF","overlay_color":"#000000"},{"texture":"example_egg","texture_index":0}],"properties":{"base_color":{"type":"string","description":"The basic color of the egg","title":"Base Color","format":"color-hex","examples":["#FFFFFF"]},"overlay_color":{"type":"string","description":"The colors of the dots on the egg","title":"Overlay Color","format":"color-hex","examples":["#FFFFFF"]},"texture":{"type":"string","description":"The texture reference in item_texture.json","title":"Texture"},"texture_index":{"type":"integer","description":"The index of the texture","title":"Texture Index","default":0}}},"textures":{"type":"object","additionalProperties":{"type":"string","description":"A reference to a texture in the resourcepack","title":"Texture"},"description":"A collection of references to textures in the resourcepack","title":"Textures"}}}}}}},"F":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"E":{"type":"object","title":"Actor Entity 1.10.0","description":"A client side entity definition","additionalProperties":false,"required":["format_version","minecraft:client_entity"],"properties":{"format_version":{"$ref":"#/definitions/F"},"minecraft:client_entity":{"type":"object","additionalProperties":false,"title":"Client Entity","description":"The entity description for clientside rendering, animations and models","required":["description"],"properties":{"description":{"additionalProperties":false,"title":"Description","description":"The entity description for clientside rendering, animations and models","type":"object","required":["identifier"],"properties":{"animations":{"title":"Animations","description":"These names are used by the animation controller JSON. Players can reference animations from the vanilla Minecraft Resource Pack or create their own. Custom animations should be in the animation folder at the root of the Resource Pack.","type":"object","minProperties":1,"examples":[{"basic":"controller.generic.basic"}],"additionalProperties":{"type":"string","description":"These names are used by the animation controller JSON. Players can reference animations from the vanilla Minecraft Resource Pack or create their own. Custom animations should be in the animation folder at the root of the Resource Pack.","title":"Animation Reference","examples":["controller.","animation."]}},"enable_attachables":{"type":"boolean","description":"Whether or not attachables are enaboled","title":"Enable Attachables"},"geometry":{"title":"Geometry","description":"The reference to defined geometries in `/models/'","type":"object","propertyNames":{"pattern":"[a-zA-Z0-9_\\.\\-]+"},"minProperties":1,"additionalProperties":{"type":"string","description":"The reference to the geometry","title":"Geometry Reference"}},"queryable_geometry":{"title":"Queryable Geometry","description":"UNDOCUMENTED","type":"string"},"hide_armor":{"type":"boolean","default":true,"title":"Hide Armor","description":"Hides or shows the possible armor"},"held_item_ignores_lighting":{"type":"boolean","default":false,"title":"Held Item Ignores Lighting","description":"This determines if the item held by an entity should render fully lit up (if true), or depending on surrounding lighting."},"identifier":{"type":"string","description":"The entity indentifier","title":"Identifier","$ref":"#/definitions/B"},"materials":{"type":"object","additionalProperties":{"type":"string","description":"Material reference","title":"Material","examples":["agent","alpha_block","alpha_block_color","animated_texture_blit","armor","armor_enchanted","armor_leather","armor_leather_enchanted","armor_stand","arrow","ash","axolotl","axolotl_limbs","banner","banner_pole","bat","beacon_beam","beacon_beam_transparent","bed","bee","bell","blaze_body","blaze_head","block_overlay","blue_spores","boat","camera","camera_facing_sprite","cat","chalkboard","charged_creeper","chest","chicken","chicken_legs","clouds","clownfish","cod","conduit","conduit_wind","cow","cracks_overlay","cracks_overlay_alpha_test","cracks_overlay_tile_entity","creeper","debug","debug_array_texture","debug_texture","dolphin","dragon_head","dragon_head_glint","drowned","egg","elytra","elytra_glint","enchanting_table_book","ender_crystal","ender_dragon","ender_pearl","enderman","enderman_invisible","endermite","entity","entity_alphablend","entity_alphablend_nocolor","entity_alphatest","entity_alphatest_change_color","entity_alphatest_change_color_glint","entity_alphatest_glint","entity_alphatest_glint_item","entity_alphatest_multicolor_tint","entity_alphatest_one_sided","entity_beam","entity_beam_additive","entity_change_color","entity_change_color_glint","entity_custom","entity_dissolve_layer0","entity_dissolve_layer1","entity_emissive","entity_emissive_alpha","entity_emissive_alpha_one_sided","entity_flat_color_line","entity_glint","entity_lead_base","entity_loyalty_rope","entity_multitexture","entity_multitexture_alpha_test","entity_multitexture_alpha_test_color_mask","entity_multitexture_color_mask","entity_multitexture_masked","entity_multitexture_multiplicative_blend","entity_nocull","entity_static","evoker","experience_orb","eye_of_ender_signal","fang","fireball","fireworks_rocket","fishing_hook","fox","fullscreen_cube_overlay","fullscreen_cube_overlay_blend","fullscreen_cube_overlay_opaque","ghast","glow_sign_text","glow_squid","goat","guardian","guardian_ghost","hoglin","holo_coord_frame","holo_hand","holo_hand_pointer","holo_hud_quad","hologram","hologram_hit_effect","hololens_LSRPlane","hololens_LSRPlaneTextured","hololens_UICursor","hololens_UICursor_ingame_mainpart","hololens_UICursor_ingame_pseudoshadow","holoscreen_level_quad","holoscreen_monoscopic_quad","holoscreen_stereoscopic_quad","horse","horse_leather_armor","husk","husk_clothes","im_gui","iron_golem","item_in_hand","item_in_hand_entity_alphatest","item_in_hand_entity_alphatest_color","item_in_hand_glint","item_in_hand_multicolor_tint","leash_knot","lightning","lingering_potion_enchanted","living_room","llama","llama_spit","magma_cube","map","map_decoration","map_marker","minecart","mob_head","mob_head_glint","mooshroom","mooshroom_mushrooms","moving_block","moving_block_alpha","moving_block_alpha_seasons","moving_block_alpha_single_side","moving_block_blend","moving_block_double_side","moving_block_seasons","name_tag","name_tag_depth_tested","name_text_depth_tested","npc","ocelot","on_screen_effect","opaque_block","opaque_block_color","opaque_block_color_uv2","overlay_quad","overlay_quad_clear","panda","parrot","particles_alpha","particles_base","particles_blend","particles_effects","particles_opaque","particles_random_test","passthru_postprocess","phantom","phantom_invisible","pig","piglin","piglin_brute","pillager","piston_arm","plankton","player","player_alphatest","player_animated","polar_bear","portal_base","precipitation","pufferfish","rabbit","rain","ravager","reality_frame_cutout","reality_frame_skyfill","red_spores","rift_mirror_logo","rift_mirror_texture","rift_texture_copy_noalpha","salmon","selection_box","selection_overlay","selection_overlay_alpha","selection_overlay_block_entity","selection_overlay_double_sided","selection_overlay_item","selection_overlay_level","selection_overlay_opaque","shadow_back","shadow_front","shadow_overlay","sheep","shield","shield_glint","shulker","shulker_box","shulker_bullet","sign","sign_text","silverfish","silverfish_layers","skeleton","slime","slime_outer","snow","snow_golem","snow_golem_pumpkin","snowball","spider","spider_invisible","splash_potion_enchanted","squid","ST_BatchedStandard","ST_Blur_1","ST_Blur_10","ST_Blur_11","ST_Blur_12","ST_Blur_2","ST_Blur_3","ST_Blur_4","ST_Blur_5","ST_Blur_6","ST_Blur_7","ST_Blur_8","ST_Blur_9","ST_Hairline","ST_HairlinePath","ST_LinearGradient2Point","ST_LinearGradient3PointSymmetrical","ST_LinearGradientFromTexture","ST_LinearGradientMasked2Point","ST_LinearGradientMasked3PointSymmetrical","ST_LinearGradientMaskedFromTexture","ST_Path","ST_RadialGradient2Point","ST_RadialGradient3PointSymmetrical","ST_RadialGradientFromTexture","ST_RadialGradientMasked2Point","ST_RadialGradientMasked3PointSymmetrical","ST_RadialGradientMaskedFromTexture","ST_SimpleTexture","ST_SimpleTextureMasked","ST_Standard","ST_StandardCircle","ST_StandardEllipse","ST_StandardRRect","ST_StandardStrokeCircle","ST_StandardStrokeEllipse","ST_StandardStrokeRRect","ST_StandardTexture","ST_StandardTextureWithColorMatrix","ST_Stencil","ST_StencilCircle","ST_StencilPath","ST_StencilRRect","ST_StencilTexture","ST_Text","ST_TextSDF","ST_TextStrokeSDF","ST_TexturesWithColorMix","ST_YUV2ARGB","ST_YUV2RGB","stray","stray_clothes","strider","terrain_alpha","terrain_alpha_seasons","terrain_alpha_single_side","terrain_base","terrain_blend","terrain_blend_far","terrain_blend_no_culling","terrain_doubleside","terrain_far","terrain_inside_block","terrain_opaque","terrain_opaque_seasons","terrain_seasons_far","terrain_seasons_far_alpha","trident","trident_glint","trident_riptide","tropicalfish","turtle","ui_banner","ui_banner_pole","ui_base","ui_conduit","ui_crosshair","ui_cubemap","ui_dragon_head","ui_dragon_head_glint","ui_fill_color","ui_fill_gradient","ui_fill_stencil","ui_grayscale","ui_grayscale_bilinear","ui_inventory_item_glint","ui_invert_overlay","ui_item","ui_item_glint","ui_item_glint_stencil","ui_item_multicolor_tint","ui_item_unglint_stencil","ui_mob_head","ui_mob_head_glint","ui_shield","ui_shield_glint","ui_skinning_item","ui_text","ui_text_msdf","ui_text_smooth","ui_texture_and_color","ui_texture_and_color_blur","ui_texture_and_color_tint","ui_textured","ui_textured_and_glcolor","ui_textured_and_glcolor_bilinear_sprite","ui_textured_and_glcolor_sprite","vex","villager","villager_v2","villager_v2_masked","vindicator","wandering_trader","water_hole","white_ash","windowsmr_holo_hand","wireframe","witch","wither_boss","wither_boss_armor","wither_skull","wolf","xp_bottle","zoglin","zombie","zombie_villager","zombie_villager_v2","zombie_villager_v2_masked"]},"description":"A collection of material definitions","title":"Materials"},"min_engine_version":{"type":"string","pattern":"[0-9]+\\.[0-9]+\\.[0-9]+","description":"The minimum engine version to be used","title":"Minimum Engine Version"},"particle_effects":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"Particle reference","title":"Particle"},"description":"A collection of particle definitions","title":"Particle Effects"},"particle_emitters":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"Particle emitter reference","title":"Particle Emitter"},"description":"A collection of particle emitters definitions","title":"Particle Emitters"},"render_controllers":{"type":"array","description":"A collection of Render controller definitions","title":"Render Controllers","minItems":1,"items":{"oneOf":[{"type":"string","title":"Render Controller","description":"A single render controller definition"},{"type":"object","additionalProperties":{"type":"string","description":"A render controller activate on conditional","title":"Render Controller"}}]}},"scripts":{"additionalProperties":false,"type":"object","title":"Scripts","description":"The place where variables, and animations / controller to be run is specified","properties":{"animate":{"type":"array","title":"Animate","description":"The array of items to animate","minItems":1,"items":{"oneOf":[{"type":"string","description":"A single animation or animation controller to run","title":"Animation (Controller)"},{"type":"object","minProperties":1,"maxProperties":1,"title":"Animation (Controller) Condition","description":"A single animation or animation controller to run on condition","additionalProperties":{"oneOf":[{"type":"string","description":"A molang condition","title":"Molang"},{"type":"number","description":"Blend weight","title":"Blend Weight"}]}}]}},"initialize":{"type":"array","description":"Clientside molang variables that are to be evualated during the creation of the entity","title":"Initialize","minItems":1,"items":{"pattern":";$","$ref":"#/definitions/C","description":"Clientside molang variables that are to be evualated during the creation of the entity","title":"Initialize"}},"pre_animation":{"type":"array","description":"Clientside molang variables that are to be evualated during the animation","title":"Pre Animation","items":{"pattern":";$","$ref":"#/definitions/C","description":"Clientside molang variables that are to be evualated during the animation","title":"Pre Animation"}},"parent_setup":{"type":"string","description":"UNDOCUMENTED: parent setup","title":"Parent Setup","$ref":"#/definitions/D"},"scale":{"type":"string","description":"Scale sets the scale of the mob's geometry.","title":"Scale","$ref":"#/definitions/D"},"scalex":{"$ref":"#/definitions/D","title":"Scale X"},"scaley":{"$ref":"#/definitions/D","title":"Scale Y"},"scalez":{"$ref":"#/definitions/D","title":"Scale Z"},"should_update_bones_and_effects_offscreen":{"title":"Should Update Bones And Effects Offscreen","description":"Bones and effects will still be updated if the entity is off screen if this expression returns anything other than 0.0.","oneOf":[{"type":"boolean"},{"type":"string","$ref":"#/definitions/C"}]},"should_update_effects_offscreen":{"title":"Should Update Effects Offscreen","description":"Effects will still be updated if the entity is off screen if this expression or `should_update_bones_and_effects_offscreen` returns anything other than 0.0.","oneOf":[{"type":"boolean"},{"type":"string","$ref":"#/definitions/C"}]},"variables":{"title":"Variables","description":" A list of variables that need certain settings applied to them. Currently, for the client, only `public` is supported.","type":"object","minProperties":1,"propertyNames":{"pattern":"variable.[a-zA-Z_][a-zA-Z0-9_]*"},"additionalProperties":{"title":"Variable","description":" If a variable is public, it can be read by other mobs. See the molang `->` operator for details.","type":"string","enum":["public"]}}}},"sound_effects":{"title":"Sound Effects","description":"A collection of sound effect definition","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"A sound effect definition","title":"Sound Effect"}},"spawn_egg":{"additionalProperties":false,"type":"object","description":"The definition of how the spawn_egg icon looks like","title":"Spawn Egg","dependencies":{"texture_index":["texture"],"base_colour":["overlay_color"],"overlay_color":["base_color"]},"examples":[{"base_color":"#FFFFFF","overlay_color":"#000000"},{"texture":"example_egg","texture_index":0}],"properties":{"base_color":{"type":"string","description":"The basic color of the egg","title":"Base Color","format":"color-hex","examples":["#FFFFFF"]},"overlay_color":{"type":"string","description":"The colors of the dots on the egg","title":"Overlay Color","format":"color-hex","examples":["#FFFFFF"]},"texture":{"type":"string","description":"The texture reference in item_texture.json","title":"Texture"},"texture_index":{"type":"integer","description":"The index of the texture","title":"Texture Index","default":0}}},"textures":{"type":"object","additionalProperties":{"type":"string","description":"A reference to a texture in the resourcepack","title":"Texture"},"description":"A collection of references to textures in the resourcepack","title":"Textures"}}}}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.entity","examples":[{"format_version":"1.19.0","minecraft:client_entity":{"description":{"identifier":"minecraft:entity","materials":{"default":"entity_custom"},"textures":{"default":"textures/entity/custom/entity"},"geometry":{"default":"geometry.entity"},"animations":{},"particle_effects":{},"scripts":{},"render_controllers":["controller.render.entity"],"spawn_egg":{"base_color":"#288483","overlay_color":"#2B7135"}}}}],"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"},"else":{"$ref":"#/definitions/E"},"definitions":{"B":{"description":"A minecraft entity identifier.","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Entity Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"C":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"D":{"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"}]},"A":{"type":"object","title":"Actor Entity 1.8.0","description":"A client side entity definition.","additionalProperties":false,"required":["format_version","minecraft:client_entity"],"properties":{"format_version":{"title":"1.8.0 Format Version","type":"string","const":"1.8.0","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:client_entity":{"type":"object","additionalProperties":false,"title":"Client Entity","description":"The entity description for clientside rendering, animations and models.","required":["description"],"properties":{"description":{"additionalProperties":false,"title":"Description","description":"The entity description for clientside rendering, animations and models.","type":"object","required":["identifier"],"properties":{"animations":{"title":"Animations","description":"These names are used by the animation controller JSON. Players can reference animations from the vanilla Minecraft Resource Pack or create their own. Custom animations should be in the animation folder at the root of the Resource Pack.","type":"object","minProperties":1,"examples":[{"basic":"controller.generic.basic"}],"additionalProperties":{"type":"string","description":"These names are used by the animation controller JSON. Players can reference animations from the vanilla Minecraft Resource Pack or create their own. Custom animations should be in the animation folder at the root of the Resource Pack.","title":"Animation Reference","examples":["controller.","animation."]}},"animation_controllers":{"type":"array","minItems":1,"description":"A reference to an animation controller.","title":"Animation Controllers","items":{"type":"object","description":"A collection of animation controllers.","title":"Animation Controllers","additionalProperties":{"type":"string","description":"A reference to an animation.","title":"Animation Reference","examples":[{"basic":"controller.generic.basic"}]}}},"enable_attachables":{"type":"boolean","description":"UNDOCUMENTED: enable attachables.","title":"Enable Attachables"},"geometry":{"title":"Geometry","description":"The reference to defined geometries in `/models/'.","type":"object","propertyNames":{"pattern":"[a-zA-Z0-9_\\.\\-]+"},"minProperties":1,"additionalProperties":{"type":"string","description":"The reference to the geometry.","title":"Geometry Reference"}},"hide_armor":{"type":"boolean","default":true,"title":"Hide Armor","description":"Hides or shows the possible armor."},"held_item_ignores_lighting":{"type":"boolean","default":false,"title":"Held Item Ignores Lighting","description":"This determines if the item held by an entity should render fully lit up (if true), or depending on surrounding lighting."},"identifier":{"type":"string","description":"The entity indentifier.","title":"Identifier","$ref":"#/definitions/B"},"materials":{"type":"object","additionalProperties":{"type":"string","description":"Material reference.","title":"Material"},"description":"A collection of material definitions.","title":"Materials"},"min_engine_version":{"type":"string","pattern":"[0-9]+\\.[0-9]+\\.[0-9]+","description":"The minimum engine version to be used.","title":"Minimum Engine Version"},"particle_effects":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"Particle reference.","title":"Particle"},"description":"Keys are required and need to be unique from all other keys in the animation controllers. Players can reference particles from the vanilla Minecraft Resource Pack or create their own. Custom particles should be in the particle folder at the root of the Resource Pack.","title":"Particle Effects"},"particle_emitters":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"Particle emitter reference.","title":"Particle Emitter"},"description":"A collection of particle emitters definitions.","title":"Particle Emitters"},"render_controllers":{"type":"array","description":"Players can reference Render Controllers from the vanilla Minecraft Resource Pack or create their own. Custom Render Controllers should be in the textures folder at the root of the Resource Pack.","title":"Render Controllers","minItems":1,"items":{"oneOf":[{"type":"string","title":"Render Controller","description":"A single render controller definition."},{"type":"object","additionalProperties":{"type":"string","description":"A render controller activate on conditional.","title":"Render Controller"}}]}},"scripts":{"additionalProperties":false,"type":"object","title":"Scripts","description":"The place where variables, and animations / controller to be run is specified.","properties":{"pre_animation":{"type":"array","description":"Client side scripts that are evaluated immediately before animations are processed.","title":"Pre Animation","items":{"pattern":";$","$ref":"#/definitions/C","description":"Clientside molang variables that are to be evualated during the animation.","title":"Pre Animation"}},"parent_setup":{"type":"string","description":"UNDOCUMENTED: parent setup.","title":"Parent Setup","$ref":"#/definitions/D"},"scale":{"type":"string","description":"Scale sets the scale of the mob's geometry.","title":"Scale","$ref":"#/definitions/D"},"scalex":{"$ref":"#/definitions/D","title":"Scale X"},"scaley":{"$ref":"#/definitions/D","title":"Scale Y"},"scalez":{"$ref":"#/definitions/D","title":"Scale Z"}}},"sound_effects":{"title":"Sound Effects","description":"A collection of sound effect definition.","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"A sound effect definition.","title":"Sound Effect"}},"spawn_egg":{"additionalProperties":false,"type":"object","description":"The definition of how the spawn_egg icon looks like.","title":"Spawn Egg","dependencies":{"texture_index":["texture"],"base_colour":["overlay_color"],"overlay_color":["base_color"]},"examples":[{"base_color":"#FFFFFF","overlay_color":"#000000"},{"texture":"example_egg","texture_index":0}],"properties":{"base_color":{"type":"string","description":"The basic color of the egg.","title":"Base Color","format":"color-hex","examples":["#FFFFFF"]},"overlay_color":{"type":"string","description":"The colors of the dots on the egg.","title":"Overlay Color","format":"color-hex","examples":["#FFFFFF"]},"texture":{"type":"string","description":"The texture reference in item_texture.json","title":"Texture"},"texture_index":{"type":"integer","description":"The index of the texture.","title":"Texture Index","default":0}}},"textures":{"type":"object","additionalProperties":{"type":"string","description":"A reference to a texture in the resourcepack.","title":"Texture"},"description":"A collection of references to textures in the resourcepack.","title":"Textures"}}}}}}},"F":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"E":{"type":"object","title":"Actor Entity 1.10.0","description":"A client side entity definition.","additionalProperties":false,"required":["format_version","minecraft:client_entity"],"properties":{"format_version":{"$ref":"#/definitions/F"},"minecraft:client_entity":{"type":"object","additionalProperties":false,"title":"Client Entity","description":"The entity description for clientside rendering, animations and models.","required":["description"],"properties":{"description":{"additionalProperties":false,"title":"Description","description":"The entity description for clientside rendering, animations and models.","type":"object","required":["identifier"],"properties":{"animations":{"title":"Animations","description":"These names are used by the animation controller JSON. Players can reference animations from the vanilla Minecraft Resource Pack or create their own. Custom animations should be in the animation folder at the root of the Resource Pack.","type":"object","minProperties":1,"examples":[{"basic":"controller.generic.basic"}],"additionalProperties":{"type":"string","description":"These names are used by the animation controller JSON. Players can reference animations from the vanilla Minecraft Resource Pack or create their own. Custom animations should be in the animation folder at the root of the Resource Pack.","title":"Animation Reference","examples":["controller.","animation."]}},"enable_attachables":{"type":"boolean","description":"Whether or not attachables are enaboled.","title":"Enable Attachables"},"geometry":{"title":"Geometry","description":"The reference to defined geometries in `/models/'.","type":"object","propertyNames":{"pattern":"[a-zA-Z0-9_\\.\\-]+"},"minProperties":1,"additionalProperties":{"type":"string","description":"The reference to the geometry.","title":"Geometry Reference"}},"queryable_geometry":{"title":"Queryable Geometry","description":"UNDOCUMENTED.","type":"string"},"hide_armor":{"type":"boolean","default":true,"title":"Hide Armor","description":"Hides or shows the possible armor."},"held_item_ignores_lighting":{"type":"boolean","default":false,"title":"Held Item Ignores Lighting","description":"This determines if the item held by an entity should render fully lit up (if true), or depending on surrounding lighting."},"identifier":{"type":"string","description":"The entity indentifier.","title":"Identifier","$ref":"#/definitions/B"},"materials":{"type":"object","additionalProperties":{"type":"string","description":"Material reference.","title":"Material","examples":["agent","alpha_block","alpha_block_color","animated_texture_blit","armor","armor_enchanted","armor_leather","armor_leather_enchanted","armor_stand","arrow","ash","axolotl","axolotl_limbs","banner","banner_pole","bat","beacon_beam","beacon_beam_transparent","bed","bee","bell","blaze_body","blaze_head","block_overlay","blue_spores","boat","camera","camera_facing_sprite","cat","chalkboard","charged_creeper","chest","chicken","chicken_legs","clouds","clownfish","cod","conduit","conduit_wind","cow","cracks_overlay","cracks_overlay_alpha_test","cracks_overlay_tile_entity","creeper","debug","debug_array_texture","debug_texture","dolphin","dragon_head","dragon_head_glint","drowned","egg","elytra","elytra_glint","enchanting_table_book","ender_crystal","ender_dragon","ender_pearl","enderman","enderman_invisible","endermite","entity","entity_alphablend","entity_alphablend_nocolor","entity_alphatest","entity_alphatest_change_color","entity_alphatest_change_color_glint","entity_alphatest_glint","entity_alphatest_glint_item","entity_alphatest_multicolor_tint","entity_alphatest_one_sided","entity_beam","entity_beam_additive","entity_change_color","entity_change_color_glint","entity_custom","entity_dissolve_layer0","entity_dissolve_layer1","entity_emissive","entity_emissive_alpha","entity_emissive_alpha_one_sided","entity_flat_color_line","entity_glint","entity_lead_base","entity_loyalty_rope","entity_multitexture","entity_multitexture_alpha_test","entity_multitexture_alpha_test_color_mask","entity_multitexture_color_mask","entity_multitexture_masked","entity_multitexture_multiplicative_blend","entity_nocull","entity_static","evoker","experience_orb","eye_of_ender_signal","fang","fireball","fireworks_rocket","fishing_hook","fox","fullscreen_cube_overlay","fullscreen_cube_overlay_blend","fullscreen_cube_overlay_opaque","ghast","glow_sign_text","glow_squid","goat","guardian","guardian_ghost","hoglin","holo_coord_frame","holo_hand","holo_hand_pointer","holo_hud_quad","hologram","hologram_hit_effect","hololens_LSRPlane","hololens_LSRPlaneTextured","hololens_UICursor","hololens_UICursor_ingame_mainpart","hololens_UICursor_ingame_pseudoshadow","holoscreen_level_quad","holoscreen_monoscopic_quad","holoscreen_stereoscopic_quad","horse","horse_leather_armor","husk","husk_clothes","im_gui","iron_golem","item_in_hand","item_in_hand_entity_alphatest","item_in_hand_entity_alphatest_color","item_in_hand_glint","item_in_hand_multicolor_tint","leash_knot","lightning","lingering_potion_enchanted","living_room","llama","llama_spit","magma_cube","map","map_decoration","map_marker","minecart","mob_head","mob_head_glint","mooshroom","mooshroom_mushrooms","moving_block","moving_block_alpha","moving_block_alpha_seasons","moving_block_alpha_single_side","moving_block_blend","moving_block_double_side","moving_block_seasons","name_tag","name_tag_depth_tested","name_text_depth_tested","npc","ocelot","on_screen_effect","opaque_block","opaque_block_color","opaque_block_color_uv2","overlay_quad","overlay_quad_clear","panda","parrot","particles_alpha","particles_base","particles_blend","particles_effects","particles_opaque","particles_random_test","passthru_postprocess","phantom","phantom_invisible","pig","piglin","piglin_brute","pillager","piston_arm","plankton","player","player_alphatest","player_animated","polar_bear","portal_base","precipitation","pufferfish","rabbit","rain","ravager","reality_frame_cutout","reality_frame_skyfill","red_spores","rift_mirror_logo","rift_mirror_texture","rift_texture_copy_noalpha","salmon","selection_box","selection_overlay","selection_overlay_alpha","selection_overlay_block_entity","selection_overlay_double_sided","selection_overlay_item","selection_overlay_level","selection_overlay_opaque","shadow_back","shadow_front","shadow_overlay","sheep","shield","shield_glint","shulker","shulker_box","shulker_bullet","sign","sign_text","silverfish","silverfish_layers","skeleton","slime","slime_outer","snow","snow_golem","snow_golem_pumpkin","snowball","spider","spider_invisible","splash_potion_enchanted","squid","ST_BatchedStandard","ST_Blur_1","ST_Blur_10","ST_Blur_11","ST_Blur_12","ST_Blur_2","ST_Blur_3","ST_Blur_4","ST_Blur_5","ST_Blur_6","ST_Blur_7","ST_Blur_8","ST_Blur_9","ST_Hairline","ST_HairlinePath","ST_LinearGradient2Point","ST_LinearGradient3PointSymmetrical","ST_LinearGradientFromTexture","ST_LinearGradientMasked2Point","ST_LinearGradientMasked3PointSymmetrical","ST_LinearGradientMaskedFromTexture","ST_Path","ST_RadialGradient2Point","ST_RadialGradient3PointSymmetrical","ST_RadialGradientFromTexture","ST_RadialGradientMasked2Point","ST_RadialGradientMasked3PointSymmetrical","ST_RadialGradientMaskedFromTexture","ST_SimpleTexture","ST_SimpleTextureMasked","ST_Standard","ST_StandardCircle","ST_StandardEllipse","ST_StandardRRect","ST_StandardStrokeCircle","ST_StandardStrokeEllipse","ST_StandardStrokeRRect","ST_StandardTexture","ST_StandardTextureWithColorMatrix","ST_Stencil","ST_StencilCircle","ST_StencilPath","ST_StencilRRect","ST_StencilTexture","ST_Text","ST_TextSDF","ST_TextStrokeSDF","ST_TexturesWithColorMix","ST_YUV2ARGB","ST_YUV2RGB","stray","stray_clothes","strider","terrain_alpha","terrain_alpha_seasons","terrain_alpha_single_side","terrain_base","terrain_blend","terrain_blend_far","terrain_blend_no_culling","terrain_doubleside","terrain_far","terrain_inside_block","terrain_opaque","terrain_opaque_seasons","terrain_seasons_far","terrain_seasons_far_alpha","trident","trident_glint","trident_riptide","tropicalfish","turtle","ui_banner","ui_banner_pole","ui_base","ui_conduit","ui_crosshair","ui_cubemap","ui_dragon_head","ui_dragon_head_glint","ui_fill_color","ui_fill_gradient","ui_fill_stencil","ui_grayscale","ui_grayscale_bilinear","ui_inventory_item_glint","ui_invert_overlay","ui_item","ui_item_glint","ui_item_glint_stencil","ui_item_multicolor_tint","ui_item_unglint_stencil","ui_mob_head","ui_mob_head_glint","ui_shield","ui_shield_glint","ui_skinning_item","ui_text","ui_text_msdf","ui_text_smooth","ui_texture_and_color","ui_texture_and_color_blur","ui_texture_and_color_tint","ui_textured","ui_textured_and_glcolor","ui_textured_and_glcolor_bilinear_sprite","ui_textured_and_glcolor_sprite","vex","villager","villager_v2","villager_v2_masked","vindicator","wandering_trader","water_hole","white_ash","windowsmr_holo_hand","wireframe","witch","wither_boss","wither_boss_armor","wither_skull","wolf","xp_bottle","zoglin","zombie","zombie_villager","zombie_villager_v2","zombie_villager_v2_masked"]},"description":"A collection of material definitions.","title":"Materials"},"min_engine_version":{"type":"string","pattern":"[0-9]+\\.[0-9]+\\.[0-9]+","description":"The minimum engine version to be used.","title":"Minimum Engine Version"},"particle_effects":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"Particle reference.","title":"Particle"},"description":"A collection of particle definitions.","title":"Particle Effects"},"particle_emitters":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"Particle emitter reference.","title":"Particle Emitter"},"description":"A collection of particle emitters definitions.","title":"Particle Emitters"},"render_controllers":{"type":"array","description":"A collection of Render controller definitions.","title":"Render Controllers","minItems":1,"items":{"oneOf":[{"type":"string","title":"Render Controller","description":"A single render controller definition."},{"type":"object","additionalProperties":{"type":"string","description":"A render controller activate on conditional.","title":"Render Controller"}}]}},"scripts":{"additionalProperties":false,"type":"object","title":"Scripts","description":"The place where variables, and animations / controller to be run is specified.","properties":{"animate":{"type":"array","title":"Animate","description":"The array of items to animate.","minItems":1,"items":{"oneOf":[{"type":"string","description":"A single animation or animation controller to run.","title":"Animation (Controller)"},{"type":"object","minProperties":1,"maxProperties":1,"title":"Animation (Controller) Condition","description":"A single animation or animation controller to run on condition.","additionalProperties":{"oneOf":[{"type":"string","description":"A molang condition.","title":"Molang"},{"type":"number","description":"Blend weight.","title":"Blend Weight"}]}}]}},"initialize":{"type":"array","description":"Clientside molang variables that are to be evualated during the creation of the entity.","title":"Initialize","minItems":1,"items":{"pattern":";$","$ref":"#/definitions/C","description":"Clientside molang variables that are to be evualated during the creation of the entity.","title":"Initialize"}},"pre_animation":{"type":"array","description":"Clientside molang variables that are to be evualated during the animation.","title":"Pre Animation","items":{"pattern":";$","$ref":"#/definitions/C","description":"Clientside molang variables that are to be evualated during the animation.","title":"Pre Animation"}},"parent_setup":{"type":"string","description":"UNDOCUMENTED: parent setup.","title":"Parent Setup","$ref":"#/definitions/D"},"scale":{"type":"string","description":"Scale sets the scale of the mob's geometry.","title":"Scale","$ref":"#/definitions/D"},"scalex":{"$ref":"#/definitions/D","title":"Scale X"},"scaley":{"$ref":"#/definitions/D","title":"Scale Y"},"scalez":{"$ref":"#/definitions/D","title":"Scale Z"},"should_update_bones_and_effects_offscreen":{"title":"Should Update Bones And Effects Offscreen","description":"Bones and effects will still be updated if the entity is off screen if this expression returns anything other than 0.0.","oneOf":[{"type":"boolean"},{"type":"string","$ref":"#/definitions/C"}]},"should_update_effects_offscreen":{"title":"Should Update Effects Offscreen","description":"Effects will still be updated if the entity is off screen if this expression or `should_update_bones_and_effects_offscreen` returns anything other than 0.0.","oneOf":[{"type":"boolean"},{"type":"string","$ref":"#/definitions/C"}]},"variables":{"title":"Variables","description":" A list of variables that need certain settings applied to them. Currently, for the client, only `public` is supported.","type":"object","minProperties":1,"propertyNames":{"pattern":"variable.[a-zA-Z_][a-zA-Z0-9_]*"},"additionalProperties":{"title":"Variable","description":" If a variable is public, it can be read by other mobs. See the molang `->` operator for details.","type":"string","enum":["public"]}}}},"sound_effects":{"title":"Sound Effects","description":"A collection of sound effect definition.","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"A sound effect definition.","title":"Sound Effect"}},"spawn_egg":{"additionalProperties":false,"type":"object","description":"The definition of how the spawn_egg icon looks like.","title":"Spawn Egg","dependencies":{"texture_index":["texture"],"base_colour":["overlay_color"],"overlay_color":["base_color"]},"examples":[{"base_color":"#FFFFFF","overlay_color":"#000000"},{"texture":"example_egg","texture_index":0}],"properties":{"base_color":{"type":"string","description":"The basic color of the egg.","title":"Base Color","format":"color-hex","examples":["#FFFFFF"]},"overlay_color":{"type":"string","description":"The colors of the dots on the egg.","title":"Overlay Color","format":"color-hex","examples":["#FFFFFF"]},"texture":{"type":"string","description":"The texture reference in item_texture.json","title":"Texture"},"texture_index":{"type":"integer","description":"The index of the texture.","title":"Texture Index","default":0}}},"textures":{"type":"object","additionalProperties":{"type":"string","description":"A reference to a texture in the resourcepack.","title":"Texture"},"description":"A collection of references to textures in the resourcepack.","title":"Textures"}}}}}}}}} \ No newline at end of file diff --git a/resource/fog/fog.json b/resource/fog/fog.json index 491b9240..830c9a97 100644 --- a/resource/fog/fog.json +++ b/resource/fog/fog.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.fog","examples":[],"type":"object","additionalProperties":false,"title":"Fog","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","definitions":{"colorHexOrArray":{"examples":["#056bd1"],"oneOf":[{"type":"array","items":[{"type":"number","minimum":0,"maximum":1,"title":"Red"},{"type":"number","minimum":0,"maximum":1,"title":"Green"},{"type":"number","minimum":0,"maximum":1,"title":"Blue"}]},{"type":"string","format":"color-hex","pattern":"^\\#[0-9a-fA-F]{6}$"}]},"defaultFogSettings":{"type":"object","additionalProperties":false,"required":["fog_start","fog_end","fog_color","render_distance_type"],"examples":[{"fog_start":100,"fog_end":200,"fog_color":"#056bd1","render_distance_type":"render"}],"properties":{"fog_start":{"title":"Fog Start","description":"The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'.","type":"number","minimum":0},"fog_end":{"title":"Fog End","description":"The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'.","type":"number","minimum":0},"fog_color":{"title":"Fog Color","description":"The color that the fog will take on.","type":"string","format":"color-hex","examples":["#FFFFFF"]},"render_distance_type":{"title":"Render Distance Type","description":"Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance.","type":"string","enum":["fixed","render"]},"transition_fog":{"title":"Transition Fog","description":"Additional fog data which will slowly transition to the distance fog of current biome.","type":"object","default":false,"properties":{"init_fog":{"title":"Initial Fog","description":"Initial fog that will slowly transition into water distance fog of the biome when player goes into water.","type":"object","properties":{"fog_color":{"title":"Fog Color","description":"The color that the fog will take on.","type":"string","format":"color-hex","examples":["#FFFFFF"]},"fog_start":{"title":"Fog Start","description":"The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'.","type":"number","minimum":0},"fog_end":{"title":"Fog End","description":"The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'.","type":"number","minimum":0},"render_distance_type":{"title":"Render Distance Type","description":"Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance.","enum":["fixed","render"]}}},"min_percent":{"title":"Minimum Percent","description":"The minimum progress of fog transition.","type":"number","minimum":0,"maximum":1},"mid_seconds":{"title":"Midpoint Seconds","description":"The time takes to reach certain progress('mid_percent') of fog transition.","type":"number","minimum":0},"mid_percent":{"title":"Midpoint Percent","description":"The progress of fog transition after 'mid_seconds' seconds.","type":"number","minimum":0,"maximum":1},"max_seconds":{"title":"Maximum Seconds","description":"Total amount of time takes to complete fog transition.","type":"number","minimum":0}}}}},"volumeDensityObject":{"type":"object","additionalProperties":false,"required":["max_density"],"examples":[{"max_density":0.25},{"max_density":0.25,"max_density_height":128,"zero_density_height":20,"uniform":true}],"properties":{"max_density":{"title":"Maximum Density","description":"The maximum amount of opaqueness that the ground fog will take on. A value from [0.0, 1.0].","minimum":0,"maximum":1,"type":"number"},"max_density_height":{"title":"Maximum Density Height","description":"The height in blocks that the ground fog will become it's maximum density.","minimum":0,"maximum":128,"type":"number"},"zero_density_height":{"title":"Zero Density Height","description":"The height in blocks that the ground fog will be completely transparent and begin to appear. This value needs to be at least 1 higher than `max_density_height`.","minimum":0,"maximum":128,"type":"number"},"uniform":{"title":"Uniform","description":"When set to true, the density will be uniform across all heights.","type":"boolean"}}},"volumeMediaObject":{"type":"object","additionalProperties":false,"properties":{"absorption":{"title":"Absorption","description":"Proportion of light that is absorbed (lost) per block.","$ref":"#/definitions/colorHexOrArray"},"scattering":{"title":"Scattering","description":"Proportion of light that is scattered per block.","$ref":"#/definitions/colorHexOrArray"}}},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"B":{"description":"A minecraft fog identifier","examples":["namespace:fog_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Fog Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]}},"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:fog_settings":{"title":"Fog Settings","description":"The definition of a single fog","type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"The identifying description of this fog settings","type":"object","additionalProperties":false,"properties":{"identifier":{"type":"string","title":"Identifier","description":"The identifier for these fog settings. The identifier must include a namespace.","$ref":"#/definitions/B"}}},"distance":{"title":"Distance","description":"The distance fog settings for different camera locations.","type":"object","additionalProperties":false,"properties":{"air":{"title":"Air","description":"The fog settings when the camera is in the air.","$ref":"#/definitions/defaultFogSettings"},"weather":{"title":"Weather","description":" The fog settings for when the camera is in the air with active weather (rain, snow, etc..).","$ref":"#/definitions/defaultFogSettings"},"water":{"title":"Water","description":"The fog settings when the camera is in water.","$ref":"#/definitions/defaultFogSettings"},"lava":{"title":"Lava","description":"The fog settings when the camera is in lava.","$ref":"#/definitions/defaultFogSettings"},"lava_resistance":{"title":"Lava Resistance","description":"The fog settings when the camera is in lava and the player has the lava resistance effect active.","$ref":"#/definitions/defaultFogSettings"},"powder_snow":{"title":"Powder Snow","description":"The fog settings when the camera is inside a Powder Snow block.","$ref":"#/definitions/defaultFogSettings"}}},"volumetric":{"title":"Volumetric","description":"The volumetric fog settings.","type":"object","additionalProperties":false,"properties":{"density":{"title":"Density","description":"The density settings for different camera locations.","type":"object","additionalProperties":false,"properties":{"air":{"title":"Air","description":"Fog density values as light passes through air blocks.","$ref":"#/definitions/volumeDensityObject"},"water":{"title":"Water","description":"Fog density values as light passes through water blocks.","$ref":"#/definitions/volumeDensityObject"},"lava":{"title":"Lava","description":"Fog density values as light passes through lava blocks.","$ref":"#/definitions/volumeDensityObject"},"lava_resistance":{"title":"Lava Resistance","description":"Fog density values as light passes through lava blocks while the player has lava resistance.","$ref":"#/definitions/volumeDensityObject"}}},"media_coefficients":{"title":"Media Coefficients","description":"The coefficient settings for the volumetric fog in different blocks.","additionalProperties":false,"type":"object","properties":{"air":{"title":"Air","description":"Fog coefficient values while light passes through air.","$ref":"#/definitions/volumeMediaObject"},"water":{"title":"Water","description":"Fog coefficient values while light passes through water.","$ref":"#/definitions/volumeMediaObject"},"cloud":{"title":"Cloud","description":"Fog coefficient values while light passes through clouds.","$ref":"#/definitions/volumeMediaObject"}}}}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.fog","examples":[],"type":"object","additionalProperties":false,"title":"Fog","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","definitions":{"colorHexOrArray":{"examples":["#056bd1"],"oneOf":[{"type":"array","items":[{"type":"number","minimum":0,"maximum":1,"title":"Red"},{"type":"number","minimum":0,"maximum":1,"title":"Green"},{"type":"number","minimum":0,"maximum":1,"title":"Blue"}]},{"type":"string","format":"color-hex","pattern":"^\\#[0-9a-fA-F]{6}$"}]},"defaultFogSettings":{"type":"object","additionalProperties":false,"required":["fog_start","fog_end","fog_color","render_distance_type"],"examples":[{"fog_start":100,"fog_end":200,"fog_color":"#056bd1","render_distance_type":"render"}],"properties":{"fog_start":{"title":"Fog Start","description":"The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'.","type":"number","minimum":0},"fog_end":{"title":"Fog End","description":"The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'.","type":"number","minimum":0},"fog_color":{"title":"Fog Color","description":"The color that the fog will take on.","type":"string","format":"color-hex","examples":["#FFFFFF"]},"render_distance_type":{"title":"Render Distance Type","description":"Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance.","type":"string","enum":["fixed","render"]},"transition_fog":{"title":"Transition Fog","description":"Additional fog data which will slowly transition to the distance fog of current biome.","type":"object","default":false,"properties":{"init_fog":{"title":"Initial Fog","description":"Initial fog that will slowly transition into water distance fog of the biome when player goes into water.","type":"object","properties":{"fog_color":{"title":"Fog Color","description":"The color that the fog will take on.","type":"string","format":"color-hex","examples":["#FFFFFF"]},"fog_start":{"title":"Fog Start","description":"The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'.","type":"number","minimum":0},"fog_end":{"title":"Fog End","description":"The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'.","type":"number","minimum":0},"render_distance_type":{"title":"Render Distance Type","description":"Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance.","enum":["fixed","render"]}}},"min_percent":{"title":"Minimum Percent","description":"The minimum progress of fog transition.","type":"number","minimum":0,"maximum":1},"mid_seconds":{"title":"Midpoint Seconds","description":"The time takes to reach certain progress('mid_percent') of fog transition.","type":"number","minimum":0},"mid_percent":{"title":"Midpoint Percent","description":"The progress of fog transition after 'mid_seconds' seconds.","type":"number","minimum":0,"maximum":1},"max_seconds":{"title":"Maximum Seconds","description":"Total amount of time takes to complete fog transition.","type":"number","minimum":0}}}}},"volumeDensityObject":{"type":"object","additionalProperties":false,"required":["max_density"],"examples":[{"max_density":0.25},{"max_density":0.25,"max_density_height":128,"zero_density_height":20,"uniform":true}],"properties":{"max_density":{"title":"Maximum Density","description":"The maximum amount of opaqueness that the ground fog will take on. A value from [0.0, 1.0].","minimum":0,"maximum":1,"type":"number"},"max_density_height":{"title":"Maximum Density Height","description":"The height in blocks that the ground fog will become it's maximum density.","minimum":0,"maximum":128,"type":"number"},"zero_density_height":{"title":"Zero Density Height","description":"The height in blocks that the ground fog will be completely transparent and begin to appear. This value needs to be at least 1 higher than `max_density_height`.","minimum":0,"maximum":128,"type":"number"},"uniform":{"title":"Uniform","description":"When set to true, the density will be uniform across all heights.","type":"boolean"}}},"volumeMediaObject":{"type":"object","additionalProperties":false,"properties":{"absorption":{"title":"Absorption","description":"Proportion of light that is absorbed (lost) per block.","$ref":"#/definitions/colorHexOrArray"},"scattering":{"title":"Scattering","description":"Proportion of light that is scattered per block.","$ref":"#/definitions/colorHexOrArray"}}},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"B":{"description":"A minecraft fog identifier.","examples":["namespace:fog_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Fog Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]}},"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:fog_settings":{"title":"Fog Settings","description":"The definition of a single fog.","type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"The identifying description of this fog settings.","type":"object","additionalProperties":false,"properties":{"identifier":{"type":"string","title":"Identifier","description":"The identifier for these fog settings. The identifier must include a namespace.","$ref":"#/definitions/B"}}},"distance":{"title":"Distance","description":"The distance fog settings for different camera locations.","type":"object","additionalProperties":false,"properties":{"air":{"title":"Air","description":"The fog settings when the camera is in the air.","$ref":"#/definitions/defaultFogSettings"},"weather":{"title":"Weather","description":" The fog settings for when the camera is in the air with active weather (rain, snow, etc..).","$ref":"#/definitions/defaultFogSettings"},"water":{"title":"Water","description":"The fog settings when the camera is in water.","$ref":"#/definitions/defaultFogSettings"},"lava":{"title":"Lava","description":"The fog settings when the camera is in lava.","$ref":"#/definitions/defaultFogSettings"},"lava_resistance":{"title":"Lava Resistance","description":"The fog settings when the camera is in lava and the player has the lava resistance effect active.","$ref":"#/definitions/defaultFogSettings"},"powder_snow":{"title":"Powder Snow","description":"The fog settings when the camera is inside a Powder Snow block.","$ref":"#/definitions/defaultFogSettings"}}},"volumetric":{"title":"Volumetric","description":"The volumetric fog settings.","type":"object","additionalProperties":false,"properties":{"density":{"title":"Density","description":"The density settings for different camera locations.","type":"object","additionalProperties":false,"properties":{"air":{"title":"Air","description":"Fog density values as light passes through air blocks.","$ref":"#/definitions/volumeDensityObject"},"water":{"title":"Water","description":"Fog density values as light passes through water blocks.","$ref":"#/definitions/volumeDensityObject"},"lava":{"title":"Lava","description":"Fog density values as light passes through lava blocks.","$ref":"#/definitions/volumeDensityObject"},"lava_resistance":{"title":"Lava Resistance","description":"Fog density values as light passes through lava blocks while the player has lava resistance.","$ref":"#/definitions/volumeDensityObject"}}},"media_coefficients":{"title":"Media Coefficients","description":"The coefficient settings for the volumetric fog in different blocks.","additionalProperties":false,"type":"object","properties":{"air":{"title":"Air","description":"Fog coefficient values while light passes through air.","$ref":"#/definitions/volumeMediaObject"},"water":{"title":"Water","description":"Fog coefficient values while light passes through water.","$ref":"#/definitions/volumeMediaObject"},"cloud":{"title":"Cloud","description":"Fog coefficient values while light passes through clouds.","$ref":"#/definitions/volumeMediaObject"}}}}}}}}} \ No newline at end of file diff --git a/resource/items/items.json b/resource/items/items.json index 7a470332..d8a81f7e 100644 --- a/resource/items/items.json +++ b/resource/items/items.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.items","examples":[{"format_version":"1.19.0","minecraft:item":{"description":{"identifier":"blockception:item","category":"Equipment"},"components":{"minecraft:icon":"item","minecraft:render_offsets":"apple"}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.10"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/A"}},{"properties":{"format_version":{"$ref":"#/definitions/C"}}}],"definitions":{"B":{"description":"A minecraft item identifier","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"A":{"required":["format_version","minecraft:item"],"title":"Item","description":"Minecraft items 1.10.0","type":"object","properties":{"format_version":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","type":"string"},"minecraft:item":{"title":"Item","description":"A resource pack definition of an item","required":["description","components"],"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"The description of an item","required":["identifier"],"type":"object","additionalProperties":false,"properties":{"identifier":{"title":"Identifier","description":"The item identifier","$ref":"#/definitions/B","examples":["namespace:example"]},"category":{"title":"Category","description":"The category this item belongs in","type":"string"}}},"components":{"title":"Components","description":"The components that describe this item","additionalProperties":false,"properties":{"minecraft:icon":{"title":"Icon","description":"The texture defined in `textures/item_texture.json`","type":"string"},"minecraft:render_offsets":{"type":"string","description":"The render offset used for the item","title":"Render Offsets","enum":["apple"]}}}}}}},"C":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.items","examples":[{"format_version":"1.19.0","minecraft:item":{"description":{"identifier":"blockception:item","category":"Equipment"},"components":{"minecraft:icon":"item","minecraft:render_offsets":"apple"}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.10"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/A"}},{"properties":{"format_version":{"$ref":"#/definitions/C"}}}],"definitions":{"B":{"description":"A minecraft item identifier.","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"A":{"required":["format_version","minecraft:item"],"title":"Item","description":"Minecraft items 1.10.0","type":"object","properties":{"format_version":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","type":"string"},"minecraft:item":{"title":"Item","description":"A resource pack definition of an item.","required":["description","components"],"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"The description of an item.","required":["identifier"],"type":"object","additionalProperties":false,"properties":{"identifier":{"title":"Identifier","description":"The item identifier.","$ref":"#/definitions/B","examples":["namespace:example"]},"category":{"title":"Category","description":"The category this item belongs in.","type":"string"}}},"components":{"title":"Components","description":"The components that describe this item.","additionalProperties":false,"properties":{"minecraft:icon":{"title":"Icon","description":"The texture defined in `textures/item_texture.json`","type":"string"},"minecraft:render_offsets":{"type":"string","description":"The render offset used for the item.","title":"Render Offsets","enum":["apple"]}}}}}}},"C":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}}} \ No newline at end of file diff --git a/resource/materials/materials.json b/resource/materials/materials.json index e32651ea..490d1f3f 100644 --- a/resource/materials/materials.json +++ b/resource/materials/materials.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.materials","type":"object","title":"Material","description":"A collection of material specifications for the render engine of minecraft","$comment":"UNDOCUMENTED","additionalProperties":false,"required":["materials"],"definitions":{"DefinesSpecification":{"type":"array","title":"Defines","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"string","title":"Definition","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["ALLOW_FADE","ALPHA_TEST","ALWAYS_LIT","ARRAY_TEXTURE_0","AS_ENTITY_RENDERER","ATLAS_TEXTURE","BLEND","BLUR_STEPS 1","BLUR_STEPS 10","BLUR_STEPS 11","BLUR_STEPS 12","BLUR_STEPS 2","BLUR_STEPS 3","BLUR_STEPS 4","BLUR_STEPS 5","BLUR_STEPS 6","BLUR_STEPS 7","BLUR_STEPS 8","BLUR_STEPS 9","Blending","COLOR_BASED","COLOR_FROMTEX","COLOR_MULTIPLIER","COLOR_SECOND_TEXTURE","COMFORT_MODE","DISABLE_TINTING","DisableCulling","EFFECTS_OFFSET","ENABLE_CURRENT_ALPHA_MULTIPLY","ENABLE_FOG","ENABLE_LIGHT","ENABLE_VERTEX_TINT_MASK","END_PORTAL","FLIP_OCCLUSION","FOG","FORCE_DEPTH_ZERO","GLINT","GRADIENT_2PT","GRADIENT_3PTSYMM","GRADIENT_FROMTEX","GRADIENT_LINEAR","GRADIENT_RADIAL","HAS_MASK","IGNORE_CURRENTCOLOR","INVENTORY","ITEM_IN_HAND","LINE_STRIP","LOW_PRECISION","MASKED_MULTITEXTURE","MSDF","MULTIPLICATIVE_TINT","MULTIPLICATIVE_TINT_COLOR","MULTI_COLOR_TINT","NO_OCCLUSION","NO_TEXTURE","NO_VARIETY","SEASONS","SEASONS_FAR","SMOOTH","SNOW","STEREO_LEFT_EYE_ONLY","TEXEL_AA","TINTED","TINTED_ALPHA_TEST","UI_ENTITY","USE_COLOR_BLEND","USE_COLOR_MASK","USE_EMISSIVE","USE_LIGHTING","USE_MASK","USE_MULTITEXTURE","USE_ONLY_EMISSIVE","USE_OVERLAY","USE_SKINNING","USE_STEREO_TEXTURE_ARRAY","USE_UV_ANIM","WINDOWSMR_MAGICALPHA"]}},"FailOperation":{"type":"string","title":"Fail Operation","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["Keep","Replace"]},"FaceSpecification":{"type":"object","title":"Face","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"stencilDepthFailOp":{"type":"string","title":"Stencil Depth Fail Operation","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/FailOperation"},"stencilFailOp":{"type":"string","title":"Stencil Fail Operation","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/FailOperation"},"stencilFunc":{"type":"string","title":"Stencil Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["Always","Equal","NotEqual"]},"stencilPass":{"type":"string","title":"Stencil Pass","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["Replace"]},"stencilPassOp":{"type":"string","title":"Stencil Depth Fail Operation","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/FailOperation"}}},"StatesSpecification":{"type":"array","title":"States","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"string","title":"State","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["Blending","DisableAlphaWrite","DisableColorWrite","DisableCulling","DisableDepthTest","DisableDepthWrite","EnableAlphaToCoverage","EnableStencilTest","InvertCulling","StencilWrite"]}},"SamplerStatesSpecification":{"type":"array","title":"Sampler States","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"object","title":"Sample State","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"samplerIndex":{"type":"integer","title":"Sample State","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"textureFilter":{"type":"string","title":"Texture Filter","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["Point","Bilinear","TexelAA"]},"textureWrap":{"type":"string","title":"Texture Wrap","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["Repeat","Clamp"]}}}},"VertexFieldsSpecification":{"type":"array","title":"Vertex Fields","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"object","title":"Vertex Field","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"field":{"type":"string","title":"Vertex Field","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}}},"VariantSpecification":{"type":"array","title":"Variants","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"object","title":"Variant","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","propertyNames":{"enum":["fading","fog","fog.underwater","lit","skinning","skinning_color","underlava","underwater"]},"additionalProperties":{"title":"Variant Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/VariantsItemSpecificaiton"}}},"VariantsItemSpecificaiton":{"type":"object","title":"Variant Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"+defines":{"title":"Defines","description":"UNDOCUMENTED, Add definitions???","$ref":"#/definitions/DefinesSpecification"},"vertexFields":{"title":"Vertex Fields","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/VertexFieldsSpecification"},"states":{"title":"States","description":"UNDOCUMENTED, start states???","$ref":"#/definitions/StatesSpecification"},"+states":{"title":"States","description":"UNDOCUMENTED, Add additional states???","$ref":"#/definitions/StatesSpecification"},"-states":{"title":"States","description":"UNDOCUMENTED, remove additional states???","$ref":"#/definitions/StatesSpecification"}}}},"properties":{"materials":{"type":"object","title":"Materials","description":"The collection of materials, each property key is the identification key of the material, and what it implements if : are used","$comment":"UNDOCUMENTED","required":["version"],"properties":{"version":{"type":"string","const":"1.0.0","title":"Version","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"additionalProperties":{"title":"Material Definitions","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"type":"object","properties":{"alphaDst":{"type":"string","title":"Alpha Distance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["DestColor","OneMinusSrcAlpha"]},"backFace":{"title":"Back Face","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/FaceSpecification"},"blendDst":{"type":"string","title":"Blend Distance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["SourceAlpha","OneMinusSrcAlpha","OneMinusSrcColor","SourceColor","Zero","One"]},"blendSrc":{"type":"string","title":"Blend Source","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["DestColor","One","OneMinusDestColor","SourceAlpha","SourceColor"]},"defines":{"title":"Defines","description":"UNDOCUMENTED, sets or starts definitions???","$ref":"#/definitions/DefinesSpecification"},"+defines":{"title":"Defines","description":"UNDOCUMENTED, Add definitions???","$ref":"#/definitions/DefinesSpecification"},"-defines":{"title":"Defines","description":"UNDOCUMENTED, removes definitions???","$ref":"#/definitions/DefinesSpecification"},"depthBias":{"type":"number","title":"Depth Bias","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"depthBiasOGL":{"type":"number","title":"Depth Bias OGL","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"depthFunc":{"type":"string","title":"Depth Function","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["LessEqual","Always","Equal"]},"fragmentShader":{"type":"string","title":"Fragment Shader","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","pattern":"^shaders/.*\\.fragment$"},"frontFace":{"title":"Front Face","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/FaceSpecification"},"isAnimatedTexture":{"type":"integer","title":"Is Animated Texture","description":"UNDOCUMENTED, think its a boolean value as a number, so 1 and 0????"},"msaaSupport":{"type":"string","title":"MSAA Support","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["Both","MSAA"]},"primitiveMode":{"type":"string","title":"Primitive Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["Line"]},"samplerStates":{"title":"Sampler States","description":"UNDOCUMENTED, set or start samplerStates???","$ref":"#/definitions/SamplerStatesSpecification"},"+samplerStates":{"title":"Sampler States","description":"UNDOCUMENTED, Add samplerStates???","$ref":"#/definitions/SamplerStatesSpecification"},"slopeScaledDepthBias":{"type":"number","title":"Slope Scaled Depth Bias","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"slopeScaledDepthBiasOGL":{"type":"number","title":"Slope Scaled Depth Bias OGL","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"states":{"title":"States","description":"UNDOCUMENTED, start states???","$ref":"#/definitions/StatesSpecification"},"+states":{"title":"States","description":"UNDOCUMENTED, Add additional states???","$ref":"#/definitions/StatesSpecification"},"-states":{"title":"States","description":"UNDOCUMENTED, remove additional states???","$ref":"#/definitions/StatesSpecification"},"stencilRef":{"type":"integer","title":"Stencil Ref","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"stencilRefOverride":{"type":"integer","title":"Stencil Ref Override","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"stencilReadMask":{"type":"integer","title":"Stencil Read Mask","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"stencilWriteMask":{"type":"integer","title":"Stencil Write Mask","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"variants":{"title":"Variants","description":"UNDOCUMENTED, sets the variants?","$ref":"#/definitions/VariantSpecification"},"+variants":{"title":"Variants","description":"UNDOCUMENTED, adds variants?","$ref":"#/definitions/VariantSpecification"},"vertexFields":{"title":"Vertex Fields","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/VertexFieldsSpecification"},"vertexShader":{"type":"string","title":"Vertex Shader","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","pattern":"^shaders/.*\\.vertex$"},"vrGeometryShader":{"type":"string","title":"VR Geometry Shader","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","pattern":"^shaders/.*\\.geometry$"}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.materials","type":"object","title":"Material","description":"A collection of material specifications for the render engine of minecraft.","$comment":"UNDOCUMENTED","additionalProperties":false,"required":["materials"],"definitions":{"DefinesSpecification":{"type":"array","title":"Defines","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":{"type":"string","title":"Definition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["ALLOW_FADE","ALPHA_TEST","ALWAYS_LIT","ARRAY_TEXTURE_0","AS_ENTITY_RENDERER","ATLAS_TEXTURE","BLEND","BLUR_STEPS 1","BLUR_STEPS 10","BLUR_STEPS 11","BLUR_STEPS 12","BLUR_STEPS 2","BLUR_STEPS 3","BLUR_STEPS 4","BLUR_STEPS 5","BLUR_STEPS 6","BLUR_STEPS 7","BLUR_STEPS 8","BLUR_STEPS 9","Blending","COLOR_BASED","COLOR_FROMTEX","COLOR_MULTIPLIER","COLOR_SECOND_TEXTURE","COMFORT_MODE","DISABLE_TINTING","DisableCulling","EFFECTS_OFFSET","ENABLE_CURRENT_ALPHA_MULTIPLY","ENABLE_FOG","ENABLE_LIGHT","ENABLE_VERTEX_TINT_MASK","END_PORTAL","FLIP_OCCLUSION","FOG","FORCE_DEPTH_ZERO","GLINT","GRADIENT_2PT","GRADIENT_3PTSYMM","GRADIENT_FROMTEX","GRADIENT_LINEAR","GRADIENT_RADIAL","HAS_MASK","IGNORE_CURRENTCOLOR","INVENTORY","ITEM_IN_HAND","LINE_STRIP","LOW_PRECISION","MASKED_MULTITEXTURE","MSDF","MULTIPLICATIVE_TINT","MULTIPLICATIVE_TINT_COLOR","MULTI_COLOR_TINT","NO_OCCLUSION","NO_TEXTURE","NO_VARIETY","SEASONS","SEASONS_FAR","SMOOTH","SNOW","STEREO_LEFT_EYE_ONLY","TEXEL_AA","TINTED","TINTED_ALPHA_TEST","UI_ENTITY","USE_COLOR_BLEND","USE_COLOR_MASK","USE_EMISSIVE","USE_LIGHTING","USE_MASK","USE_MULTITEXTURE","USE_ONLY_EMISSIVE","USE_OVERLAY","USE_SKINNING","USE_STEREO_TEXTURE_ARRAY","USE_UV_ANIM","WINDOWSMR_MAGICALPHA"]}},"FailOperation":{"type":"string","title":"Fail Operation","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["Keep","Replace"]},"FaceSpecification":{"type":"object","title":"Face","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"stencilDepthFailOp":{"type":"string","title":"Stencil Depth Fail Operation","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/FailOperation"},"stencilFailOp":{"type":"string","title":"Stencil Fail Operation","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/FailOperation"},"stencilFunc":{"type":"string","title":"Stencil Function","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["Always","Equal","NotEqual"]},"stencilPass":{"type":"string","title":"Stencil Pass","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["Replace"]},"stencilPassOp":{"type":"string","title":"Stencil Depth Fail Operation","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/FailOperation"}}},"StatesSpecification":{"type":"array","title":"States","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":{"type":"string","title":"State","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["Blending","DisableAlphaWrite","DisableColorWrite","DisableCulling","DisableDepthTest","DisableDepthWrite","EnableAlphaToCoverage","EnableStencilTest","InvertCulling","StencilWrite"]}},"SamplerStatesSpecification":{"type":"array","title":"Sampler States","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":{"type":"object","title":"Sample State","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"samplerIndex":{"type":"integer","title":"Sample State","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"textureFilter":{"type":"string","title":"Texture Filter","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["Point","Bilinear","TexelAA"]},"textureWrap":{"type":"string","title":"Texture Wrap","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["Repeat","Clamp"]}}}},"VertexFieldsSpecification":{"type":"array","title":"Vertex Fields","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":{"type":"object","title":"Vertex Field","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"field":{"type":"string","title":"Vertex Field","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}}},"VariantSpecification":{"type":"array","title":"Variants","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":{"type":"object","title":"Variant","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","propertyNames":{"enum":["fading","fog","fog.underwater","lit","skinning","skinning_color","underlava","underwater"]},"additionalProperties":{"title":"Variant Item","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/VariantsItemSpecificaiton"}}},"VariantsItemSpecificaiton":{"type":"object","title":"Variant Item","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"+defines":{"title":"Defines","description":"UNDOCUMENTED, Add definitions???.","$ref":"#/definitions/DefinesSpecification"},"vertexFields":{"title":"Vertex Fields","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/VertexFieldsSpecification"},"states":{"title":"States","description":"UNDOCUMENTED, start states???.","$ref":"#/definitions/StatesSpecification"},"+states":{"title":"States","description":"UNDOCUMENTED, Add additional states???.","$ref":"#/definitions/StatesSpecification"},"-states":{"title":"States","description":"UNDOCUMENTED, remove additional states???.","$ref":"#/definitions/StatesSpecification"}}}},"properties":{"materials":{"type":"object","title":"Materials","description":"The collection of materials, each property key is the identification key of the material, and what it implements if : are used.","$comment":"UNDOCUMENTED","required":["version"],"properties":{"version":{"type":"string","const":"1.0.0","title":"Version","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"additionalProperties":{"title":"Material Definitions","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"type":"object","properties":{"alphaDst":{"type":"string","title":"Alpha Distance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["DestColor","OneMinusSrcAlpha"]},"backFace":{"title":"Back Face","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/FaceSpecification"},"blendDst":{"type":"string","title":"Blend Distance","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["SourceAlpha","OneMinusSrcAlpha","OneMinusSrcColor","SourceColor","Zero","One"]},"blendSrc":{"type":"string","title":"Blend Source","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["DestColor","One","OneMinusDestColor","SourceAlpha","SourceColor"]},"defines":{"title":"Defines","description":"UNDOCUMENTED, sets or starts definitions???.","$ref":"#/definitions/DefinesSpecification"},"+defines":{"title":"Defines","description":"UNDOCUMENTED, Add definitions???.","$ref":"#/definitions/DefinesSpecification"},"-defines":{"title":"Defines","description":"UNDOCUMENTED, removes definitions???.","$ref":"#/definitions/DefinesSpecification"},"depthBias":{"type":"number","title":"Depth Bias","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"depthBiasOGL":{"type":"number","title":"Depth Bias OGL","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"depthFunc":{"type":"string","title":"Depth Function","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["LessEqual","Always","Equal"]},"fragmentShader":{"type":"string","title":"Fragment Shader","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","pattern":"^shaders/.*\\.fragment$"},"frontFace":{"title":"Front Face","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/FaceSpecification"},"isAnimatedTexture":{"type":"integer","title":"Is Animated Texture","description":"UNDOCUMENTED, think its a boolean value as a number, so 1 and 0????."},"msaaSupport":{"type":"string","title":"MSAA Support","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["Both","MSAA"]},"primitiveMode":{"type":"string","title":"Primitive Mode","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","enum":["Line"]},"samplerStates":{"title":"Sampler States","description":"UNDOCUMENTED, set or start samplerStates???.","$ref":"#/definitions/SamplerStatesSpecification"},"+samplerStates":{"title":"Sampler States","description":"UNDOCUMENTED, Add samplerStates???.","$ref":"#/definitions/SamplerStatesSpecification"},"slopeScaledDepthBias":{"type":"number","title":"Slope Scaled Depth Bias","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"slopeScaledDepthBiasOGL":{"type":"number","title":"Slope Scaled Depth Bias OGL","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"states":{"title":"States","description":"UNDOCUMENTED, start states???.","$ref":"#/definitions/StatesSpecification"},"+states":{"title":"States","description":"UNDOCUMENTED, Add additional states???.","$ref":"#/definitions/StatesSpecification"},"-states":{"title":"States","description":"UNDOCUMENTED, remove additional states???.","$ref":"#/definitions/StatesSpecification"},"stencilRef":{"type":"integer","title":"Stencil Ref","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"stencilRefOverride":{"type":"integer","title":"Stencil Ref Override","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"stencilReadMask":{"type":"integer","title":"Stencil Read Mask","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"stencilWriteMask":{"type":"integer","title":"Stencil Write Mask","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"variants":{"title":"Variants","description":"UNDOCUMENTED, sets the variants?.","$ref":"#/definitions/VariantSpecification"},"+variants":{"title":"Variants","description":"UNDOCUMENTED, adds variants?.","$ref":"#/definitions/VariantSpecification"},"vertexFields":{"title":"Vertex Fields","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/VertexFieldsSpecification"},"vertexShader":{"type":"string","title":"Vertex Shader","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","pattern":"^shaders/.*\\.vertex$"},"vrGeometryShader":{"type":"string","title":"VR Geometry Shader","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","pattern":"^shaders/.*\\.geometry$"}}}}}} \ No newline at end of file diff --git a/resource/models/entity/model_entity.json b/resource/models/entity/model_entity.json index e448ccc0..117ff812 100644 --- a/resource/models/entity/model_entity.json +++ b/resource/models/entity/model_entity.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.model","examples":[{"format_version":"1.19.0","minecraft:geometry":[{"description":{"identifier":"geometry.entity","texture_width":64.0,"texture_height":64.0,"visible_bounds_offset":[0.0,0.5,0.0],"visible_bounds_width":1.5},"bones":{}}]}],"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"},"else":{"$ref":"#/definitions/B"},"definitions":{"A":{"type":"object","title":"Model Schema For 1.8.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["format_version"],"properties":{"debug":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Debug"},"format_version":{"title":"1.8.0 Format Version","type":"string","pattern":"^1.8.0$","description":"A version that tells minecraft what type of data format can be expected when reading this file."}},"propertyNames":{"pattern":"(^geometry\\.[a-zA-Z0-9_.'\\-:]+|format_version)"},"additionalProperties":{"additionalProperties":false,"type":"object","description":"Geometry specification","title":"Geometry","properties":{"bones":{"type":"array","description":"The bones definitions","title":"Bones","items":{"additionalProperties":false,"type":"object","description":"The bone definition","title":"Bone","required":["name"],"properties":{"bind_pose_rotation":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"cubes":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"inflate":{"type":"number"},"mirror":{"type":"boolean"},"origin":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"size":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"uv":{"type":"array","items":[{"type":"number"},{"type":"number"}]}}}},"debug":{"type":"boolean"},"inflate":{"type":"number"},"locators":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"mirror":{"type":"boolean"},"name":{"type":"string"},"neverRender":{"type":"boolean"},"parent":{"type":"string"},"pivot":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"poly_mesh":{"type":"object","required":["polys"],"title":"Poly Mesh","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"normalized_uvs":{"title":"Normalized Uvs","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"positions":{"title":"Positions","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"normals":{"title":"Normals","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"polys":{"title":"Polys","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"type":"array","minItems":3,"maxItems":4,"items":[{"type":"number"},{"type":"number"},{"type":"number"}]}}}},"render_group_id":{"title":"Render Group Id","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"reset":{"title":"Reset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"rotation":{"title":"Rotation","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"texture_meshes":{"type":"array","title":"Texture Meshes","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"object","additionalProperties":false,"properties":{"texture":{"type":"string"},"local_pivot":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"position":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"rotation":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"scale":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]}}}}}}},"cape":{"title":"Cape","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"},"debug":{"title":"Debug","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"texturewidth":{"type":"integer","description":"UNDOCUMENTED: texturewidth","title":"Texturewidth"},"textureheight":{"type":"integer","description":"UNDOCUMENTED: textureheight","title":"Textureheight"},"visible_bounds_width":{"type":"number","description":"UNDOCUMENTED: visible bounds width","title":"Visible Bounds Width"},"visible_bounds_height":{"type":"number","description":"UNDOCUMENTED: visible bounds height","title":"Visible Bounds Height"},"visible_bounds_offset":{"type":"array","description":"UNDOCUMENTED: visible bounds offset","title":"Visible Bounds Offset","items":[{"type":"number"},{"type":"number"},{"type":"number"}]}}}},"B_uv":{"type":"array","items":[{"type":"number","title":"X","description":"The x component of the uv"},{"type":"number","title":"Y","description":"The y component of the uv"}]},"B_direction_uv":{"additionalProperties":false,"type":"object","properties":{"uv":{"title":"Uv","description":"Specifies the uv origin for the face. For this face, it is the upper-left corner, when looking at the face with y being up.","$ref":"#/definitions/B_uv"},"uv_size":{"title":"Uv Size","description":"The face maps this many texels from the uv origin. If not specified, the box dimensions are used instead.","$ref":"#/definitions/B_uv"},"material_instance":{"type":"string","title":"Material Instance","description":"Specifies the UV's for the face that stretches"}}},"C":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"D":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"B":{"additionalProperties":false,"type":"object","title":"Geometry 1.16.0","description":"The minecraft resourcepack model schema for 1.16.0","required":["format_version","minecraft:geometry"],"properties":{"debug":{"title":"Debug","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean","default":false},"format_version":{"$ref":"#/definitions/C"},"minecraft:geometry":{"type":"array","title":"Geometry","description":"The collection of geometries","minItems":1,"items":{"additionalProperties":false,"description":"Model specification","title":"Model","type":"object","required":["description"],"properties":{"description":{"type":"object","additionalProperties":false,"description":"The descriptions of the geometry","title":"Description","required":["identifier"],"properties":{"identifier":{"type":"string","description":"Entity definition and Client Block definition files refer to this geometry via this identifier.","pattern":"^geometry\\.[a-zA-Z0-9_\\-\\.]+$","title":"Identifier"},"texture_width":{"type":"number","description":"Assumed width in texels of the texture that will be bound to this geometry.","title":"Texture Width"},"texture_height":{"type":"number","description":"Assumed height in texels of the texture that will be bound to this geometry.","title":"Texture Height"},"visible_bounds_offset":{"title":"Visible Bounds Offset","description":"Offset of the visibility bounding box from the entity location point (in model space units).","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"visible_bounds_width":{"type":"number","title":"Visible Bounds Width","description":"Width of the visibility bounding box (in model space units)."},"visible_bounds_height":{"type":"number","title":"Visible Bounds Height","description":"Height of the visible bounding box (in model space units)."}}},"bones":{"title":"Bones","type":"array","description":"Bones define the `skeleton` of the mob: the parts that can be animated, and to which geometry and other bones are attached.","items":{"additionalProperties":false,"type":"object","description":"A bones specification","required":["name"],"properties":{"binding":{"title":"Binding","description":"useful for items. A molang expression specifying the bone name of the parent skeletal hierarchy that this bone should use as the root transform. Without this field it will look for a bone in the parent entity with the same name as this bone. If both are missing, it will assume a local skeletal hierarchy (via the `parent` field). If that is also missing, it will attach to the owning entity's root transform.","$ref":"#/definitions/D"},"cubes":{"title":"Cubes","description":"This is the list of cubes associated with this bone.","type":"array","items":{"additionalProperties":false,"type":"object","description":"A single cube","properties":{"inflate":{"type":"number","description":"Grow this box by this additive amount in all directions (in model space units), this field overrides the bone's inflate field for this cube only."},"mirror":{"type":"boolean","description":"Mirrors this cube about the unrotated x axis (effectively flipping the east / west faces), overriding the bone's `mirror` setting for this cube."},"origin":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number","description":"This point declares the unrotated lower corner of cube (smallest x/y/z value in model space units)."}},"pivot":{"type":"array","description":"If this field is specified, rotation of this cube occurs around this point, otherwise its rotation is around the center of the box. Note that in 1.12 this is flipped upside-down, but is fixed in 1.14.","title":"Pivot","items":[{"type":"number","title":"X","description":"If this field is specified, rotation of this cube occurs around this point, otherwise its rotation is around the center of the box. Note that in 1.12 this is flipped upside-down, but is fixed in 1.14."},{"type":"number","title":"Y","description":"If this field is specified, rotation of this cube occurs around this point, otherwise its rotation is around the center of the box. Note that in 1.12 this is flipped upside-down, but is fixed in 1.14."},{"type":"number","title":"Z","description":"If this field is specified, rotation of this cube occurs around this point, otherwise its rotation is around the center of the box. Note that in 1.12 this is flipped upside-down, but is fixed in 1.14."}]},"reset":{"title":"Reset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"rotation":{"title":"Rotation","type":"array","minItems":3,"maxItems":3,"items":{"type":"number","description":"The cube is rotated by this amount (in degrees, x-then-y-then-z order) around the pivot."}},"size":{"title":"Size","type":"array","description":"The cube extends this amount relative to its origin (in model space units).","items":[{"type":"number","title":"X","description":"The cube extends this amount relative to its origin (in model space units)."},{"type":"number","title":"Y","description":"The cube extends this amount relative to its origin (in model space units)."},{"type":"number","title":"Z","description":"The cube extends this amount relative to its origin (in model space units)."}]},"uv":{"title":"Uv","description":"This is an alternate per-face uv mapping which specifies each face of the cube. Omitting a face will cause that face to not get drawn.","oneOf":[{"additionalProperties":false,"type":"object","properties":{"north":{"title":"North","$ref":"#/definitions/B_direction_uv","description":"Specifies the UV's for the face that stretches along the x and y axes, and faces the -z axis."},"south":{"title":"South","$ref":"#/definitions/B_direction_uv","description":"Specifies the UV's for the face that stretches along the x and y axes, and faces the z axis"},"east":{"title":"East","$ref":"#/definitions/B_direction_uv","description":"Specifies the UV's for the face that stretches along the z and y axes, and faces the x axis"},"west":{"title":"West","$ref":"#/definitions/B_direction_uv","description":"Specifies the UV's for the face that stretches along the z and y axes, and faces the -x axis"},"up":{"title":"Up","$ref":"#/definitions/B_direction_uv","description":"Specifies the UV's for the face that stretches along the x and z axes, and faces the y axis"},"down":{"title":"Down","$ref":"#/definitions/B_direction_uv","description":"Specifies the UV's for the face that stretches along the x and z axes, and faces the -y axis"}}},{"type":"array","items":[{"type":"number","title":"X","description":"The x component of the uv"},{"type":"number","title":"Y","description":"The y component of the uv"}]}]}}}},"debug":{"type":"boolean"},"inflate":{"type":"number","description":"Grow this box by this additive amount in all directions (in model space units)."},"locators":{"description":"This is a list of locators associated with this bone. A locator is a point in model space that tracks a particular bone as the bone animates (by maintaining it's relationship to the bone through the animation).","type":"object","additionalProperties":{"oneOf":[{"type":"object","required":["offset","rotation"],"properties":{"offset":{"type":"array","minItems":3,"maxItems":3,"description":"Position of the locator in model space.","items":{"type":"number","description":"Position of the locator in model space."}},"rotation":{"type":"array","minItems":3,"maxItems":3,"description":"Rotation of the locator in model space.","items":{"type":"number","description":"Rotation of the locator in model space."}},"ignore_inherited_scale":{"type":"boolean","description":"Discard scale inherited from parent bone."}}},{"type":"array","minItems":3,"maxItems":3,"description":"This is a list of locators associated with this bone. A locator is a point in model space that tracks a particular bone as the bone animates (by maintaining it's relationship to the bone through the animation).","items":{"type":"number","description":"Position of the locator in model space."}}]}},"mirror":{"type":"boolean","title":"Mirror","description":"Mirrors the UV's of the unrotated cubes along the x axis, also causes the east/west faces to get flipped."},"name":{"type":"string","title":"Name","description":"Animation files refer to this bone via this identifier."},"parent":{"type":"string","title":"Parent","description":"Bone that this bone is relative to. If the parent bone moves, this bone will move along with it."},"pivot":{"type":"array","title":"Pivot","description":"The bone pivots around this point (in model space units).","items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]},"poly_mesh":{"additionalProperties":false,"type":"object","description":"***EXPERIMENTAL*** A triangle or quad mesh object. Can be used in conjunction with cubes and texture geometry.","required":["polys"],"properties":{"normalized_uvs":{"type":"boolean","description":"If true, UVs are assumed to be [0-1]. If false, UVs are assumed to be [0-texture_width] and [0-texture_height] respectively."},"normals":{"type":"array","description":"Vertex normals. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and UVs sections.","items":{"type":"array","minItems":3,"maxItems":3,"description":"Vertex normals. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and UVs sections.","items":{"type":"number","description":"Vertex normals. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and UVs sections."}}},"polys":{"oneOf":[{"type":"string","description":"If not specifying vertex indices, arrays of data must be a list of tris or quads, set by making this property either `tri_list` or `quad_list`","enum":["tri_list","quad_list"]},{"type":"array","description":"Poly element indices, as an array of polygons, each an array of either three or four vertices, each an array of indices into positions, normals, and UVs (in that order).","items":{"type":"array","minItems":3,"maxItems":4,"description":"Poly element indices, as an array of polygons, each an array of either three or four vertices, each an array of indices into positions, normals, and UVs (in that order).","items":{"type":"array","minItems":3,"maxItems":3,"items":[{"type":"number","description":"The index of the position"},{"type":"number","description":"The index of the normal vertex"},{"type":"number","description":"The index of the uv vertex"}]}}}]},"positions":{"type":"array","items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number","description":"Vertex positions for the mesh. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the normals and UVs sections."}}},"uvs":{"type":"array","description":"Vertex UVs. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and normals sections.","items":{"type":"array","description":"Vertex UVs. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and normals sections.","minItems":2,"maxItems":2,"items":{"type":"number","description":"Vertex UVs. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and normals sections."}}}}},"render_group_id":{"type":"integer","minimum":0},"rotation":{"type":"array","title":"Rotation","description":"This is the initial rotation of the bone around the pivot, pre-animation (in degrees, x-then-y-then-z order).","items":[{"type":"number","title":"X","description":"in degrees"},{"type":"number","title":"Y","description":"in degrees"},{"type":"number","title":"Z","description":"in degrees"}]},"texture_meshes":{"type":"array","title":"Texture Meshes","description":"***EXPERIMENTAL*** Adds a mesh to the bone's geometry by converting texels in a texture into boxes","items":{"type":"object","additionalProperties":false,"required":["texture"],"properties":{"local_pivot":{"type":"array","description":"The pivot point on the texture (in *texture space* not entity or bone space) of the texture geometry","minItems":3,"maxItems":3,"items":{"type":"number","description":"The pivot point on the texture (in *texture space* not entity or bone space) of the texture geometry"}},"position":{"type":"array","description":"The position of the pivot point after rotation (in *entity space* not texture or bone space) of the texture geometry","minItems":3,"maxItems":3,"items":{"type":"number","description":"The position of the pivot point after rotation (in *entity space* not texture or bone space) of the texture geometry"}},"rotation":{"type":"array","description":"The rotation (in degrees) of the texture geometry relative to the offset","minItems":3,"maxItems":3,"items":{"type":"number","description":"The rotation (in degrees) of the texture geometry relative to the offset"}},"scale":{"type":"array","description":"The scale (in degrees) of the texture geometry relative to the offset","minItems":3,"maxItems":3,"items":{"type":"number","description":"The scale (in degrees) of the texture geometry relative to the offset"}},"texture":{"type":"string","description":"The friendly-named texture to use."}}}}}}},"cape":{"title":"Cape","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.model","examples":[{"format_version":"1.19.0","minecraft:geometry":[{"description":{"identifier":"geometry.entity","texture_width":64.0,"texture_height":64.0,"visible_bounds_offset":[0.0,0.5,0.0],"visible_bounds_width":1.5},"bones":{}}]}],"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"},"else":{"$ref":"#/definitions/B"},"definitions":{"A":{"type":"object","title":"Model Schema For 1.8.0","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","required":["format_version"],"properties":{"debug":{"type":"boolean","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Debug"},"format_version":{"title":"1.8.0 Format Version","type":"string","pattern":"^1.8.0$","description":"A version that tells minecraft what type of data format can be expected when reading this file."}},"propertyNames":{"pattern":"(^geometry\\.[a-zA-Z0-9_.'\\-:]+|format_version)"},"additionalProperties":{"additionalProperties":false,"type":"object","description":"Geometry specification.","title":"Geometry","properties":{"bones":{"type":"array","description":"The bones definitions.","title":"Bones","items":{"additionalProperties":false,"type":"object","description":"The bone definition.","title":"Bone","required":["name"],"properties":{"bind_pose_rotation":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"cubes":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"inflate":{"type":"number"},"mirror":{"type":"boolean"},"origin":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"size":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"uv":{"type":"array","items":[{"type":"number"},{"type":"number"}]}}}},"debug":{"type":"boolean"},"inflate":{"type":"number"},"locators":{"type":"object","additionalProperties":{"type":"array","items":{"type":"number"}}},"mirror":{"type":"boolean"},"name":{"type":"string"},"neverRender":{"type":"boolean"},"parent":{"type":"string"},"pivot":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"poly_mesh":{"type":"object","required":["polys"],"title":"Poly Mesh","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"normalized_uvs":{"title":"Normalized Uvs","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"},"positions":{"title":"Positions","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"normals":{"title":"Normals","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"polys":{"title":"Polys","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":{"type":"array","minItems":3,"maxItems":4,"items":[{"type":"number"},{"type":"number"},{"type":"number"}]}}}},"render_group_id":{"title":"Render Group Id","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0},"reset":{"title":"Reset","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"},"rotation":{"title":"Rotation","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"texture_meshes":{"type":"array","title":"Texture Meshes","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":{"type":"object","additionalProperties":false,"properties":{"texture":{"type":"string"},"local_pivot":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"position":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"rotation":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"scale":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]}}}}}}},"cape":{"title":"Cape","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"},"debug":{"title":"Debug","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"},"texturewidth":{"type":"integer","description":"UNDOCUMENTED: texturewidth.","title":"Texturewidth"},"textureheight":{"type":"integer","description":"UNDOCUMENTED: textureheight.","title":"Textureheight"},"visible_bounds_width":{"type":"number","description":"UNDOCUMENTED: visible bounds width.","title":"Visible Bounds Width"},"visible_bounds_height":{"type":"number","description":"UNDOCUMENTED: visible bounds height.","title":"Visible Bounds Height"},"visible_bounds_offset":{"type":"array","description":"UNDOCUMENTED: visible bounds offset.","title":"Visible Bounds Offset","items":[{"type":"number"},{"type":"number"},{"type":"number"}]}}}},"B_uv":{"type":"array","items":[{"type":"number","title":"X","description":"The x component of the uv."},{"type":"number","title":"Y","description":"The y component of the uv."}]},"B_direction_uv":{"additionalProperties":false,"type":"object","properties":{"uv":{"title":"Uv","description":"Specifies the uv origin for the face. For this face, it is the upper-left corner, when looking at the face with y being up.","$ref":"#/definitions/B_uv"},"uv_size":{"title":"Uv Size","description":"The face maps this many texels from the uv origin. If not specified, the box dimensions are used instead.","$ref":"#/definitions/B_uv"},"material_instance":{"type":"string","title":"Material Instance","description":"Specifies the UV's for the face that stretches."}}},"C":{"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"D":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"B":{"additionalProperties":false,"type":"object","title":"Geometry 1.16.0","description":"The minecraft resourcepack model schema for 1.16.0","required":["format_version","minecraft:geometry"],"properties":{"debug":{"title":"Debug","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean","default":false},"format_version":{"$ref":"#/definitions/C"},"minecraft:geometry":{"type":"array","title":"Geometry","description":"The collection of geometries.","minItems":1,"items":{"additionalProperties":false,"description":"Model specification.","title":"Model","type":"object","required":["description"],"properties":{"description":{"type":"object","additionalProperties":false,"description":"The descriptions of the geometry.","title":"Description","required":["identifier"],"properties":{"identifier":{"type":"string","description":"Entity definition and Client Block definition files refer to this geometry via this identifier.","pattern":"^geometry\\.[a-zA-Z0-9_\\-\\.]+$","title":"Identifier"},"texture_width":{"type":"number","description":"Assumed width in texels of the texture that will be bound to this geometry.","title":"Texture Width"},"texture_height":{"type":"number","description":"Assumed height in texels of the texture that will be bound to this geometry.","title":"Texture Height"},"visible_bounds_offset":{"title":"Visible Bounds Offset","description":"Offset of the visibility bounding box from the entity location point (in model space units).","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"visible_bounds_width":{"type":"number","title":"Visible Bounds Width","description":"Width of the visibility bounding box (in model space units)."},"visible_bounds_height":{"type":"number","title":"Visible Bounds Height","description":"Height of the visible bounding box (in model space units)."}}},"bones":{"title":"Bones","type":"array","description":"Bones define the `skeleton` of the mob: the parts that can be animated, and to which geometry and other bones are attached.","items":{"additionalProperties":false,"type":"object","description":"A bones specification.","required":["name"],"properties":{"binding":{"title":"Binding","description":"useful for items. A molang expression specifying the bone name of the parent skeletal hierarchy that this bone should use as the root transform. Without this field it will look for a bone in the parent entity with the same name as this bone. If both are missing, it will assume a local skeletal hierarchy (via the `parent` field). If that is also missing, it will attach to the owning entity's root transform.","$ref":"#/definitions/D"},"cubes":{"title":"Cubes","description":"This is the list of cubes associated with this bone.","type":"array","items":{"additionalProperties":false,"type":"object","description":"A single cube.","properties":{"inflate":{"type":"number","description":"Grow this box by this additive amount in all directions (in model space units), this field overrides the bone's inflate field for this cube only."},"mirror":{"type":"boolean","description":"Mirrors this cube about the unrotated x axis (effectively flipping the east / west faces), overriding the bone's `mirror` setting for this cube."},"origin":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number","description":"This point declares the unrotated lower corner of cube (smallest x/y/z value in model space units)."}},"pivot":{"type":"array","description":"If this field is specified, rotation of this cube occurs around this point, otherwise its rotation is around the center of the box. Note that in 1.12 this is flipped upside-down, but is fixed in 1.14.","title":"Pivot","items":[{"type":"number","title":"X","description":"If this field is specified, rotation of this cube occurs around this point, otherwise its rotation is around the center of the box. Note that in 1.12 this is flipped upside-down, but is fixed in 1.14."},{"type":"number","title":"Y","description":"If this field is specified, rotation of this cube occurs around this point, otherwise its rotation is around the center of the box. Note that in 1.12 this is flipped upside-down, but is fixed in 1.14."},{"type":"number","title":"Z","description":"If this field is specified, rotation of this cube occurs around this point, otherwise its rotation is around the center of the box. Note that in 1.12 this is flipped upside-down, but is fixed in 1.14."}]},"reset":{"title":"Reset","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"boolean"},"rotation":{"title":"Rotation","type":"array","minItems":3,"maxItems":3,"items":{"type":"number","description":"The cube is rotated by this amount (in degrees, x-then-y-then-z order) around the pivot."}},"size":{"title":"Size","type":"array","description":"The cube extends this amount relative to its origin (in model space units).","items":[{"type":"number","title":"X","description":"The cube extends this amount relative to its origin (in model space units)."},{"type":"number","title":"Y","description":"The cube extends this amount relative to its origin (in model space units)."},{"type":"number","title":"Z","description":"The cube extends this amount relative to its origin (in model space units)."}]},"uv":{"title":"Uv","description":"This is an alternate per-face uv mapping which specifies each face of the cube. Omitting a face will cause that face to not get drawn.","oneOf":[{"additionalProperties":false,"type":"object","properties":{"north":{"title":"North","$ref":"#/definitions/B_direction_uv","description":"Specifies the UV's for the face that stretches along the x and y axes, and faces the -z axis."},"south":{"title":"South","$ref":"#/definitions/B_direction_uv","description":"Specifies the UV's for the face that stretches along the x and y axes, and faces the z axis."},"east":{"title":"East","$ref":"#/definitions/B_direction_uv","description":"Specifies the UV's for the face that stretches along the z and y axes, and faces the x axis."},"west":{"title":"West","$ref":"#/definitions/B_direction_uv","description":"Specifies the UV's for the face that stretches along the z and y axes, and faces the -x axis."},"up":{"title":"Up","$ref":"#/definitions/B_direction_uv","description":"Specifies the UV's for the face that stretches along the x and z axes, and faces the y axis."},"down":{"title":"Down","$ref":"#/definitions/B_direction_uv","description":"Specifies the UV's for the face that stretches along the x and z axes, and faces the -y axis."}}},{"type":"array","items":[{"type":"number","title":"X","description":"The x component of the uv."},{"type":"number","title":"Y","description":"The y component of the uv."}]}]}}}},"debug":{"type":"boolean"},"inflate":{"type":"number","description":"Grow this box by this additive amount in all directions (in model space units)."},"locators":{"description":"This is a list of locators associated with this bone. A locator is a point in model space that tracks a particular bone as the bone animates (by maintaining it's relationship to the bone through the animation).","type":"object","additionalProperties":{"oneOf":[{"type":"object","required":["offset","rotation"],"properties":{"offset":{"type":"array","minItems":3,"maxItems":3,"description":"Position of the locator in model space.","items":{"type":"number","description":"Position of the locator in model space."}},"rotation":{"type":"array","minItems":3,"maxItems":3,"description":"Rotation of the locator in model space.","items":{"type":"number","description":"Rotation of the locator in model space."}},"ignore_inherited_scale":{"type":"boolean","description":"Discard scale inherited from parent bone."}}},{"type":"array","minItems":3,"maxItems":3,"description":"This is a list of locators associated with this bone. A locator is a point in model space that tracks a particular bone as the bone animates (by maintaining it's relationship to the bone through the animation).","items":{"type":"number","description":"Position of the locator in model space."}}]}},"mirror":{"type":"boolean","title":"Mirror","description":"Mirrors the UV's of the unrotated cubes along the x axis, also causes the east/west faces to get flipped."},"name":{"type":"string","title":"Name","description":"Animation files refer to this bone via this identifier."},"parent":{"type":"string","title":"Parent","description":"Bone that this bone is relative to. If the parent bone moves, this bone will move along with it."},"pivot":{"type":"array","title":"Pivot","description":"The bone pivots around this point (in model space units).","items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]},"poly_mesh":{"additionalProperties":false,"type":"object","description":"***EXPERIMENTAL*** A triangle or quad mesh object. Can be used in conjunction with cubes and texture geometry.","required":["polys"],"properties":{"normalized_uvs":{"type":"boolean","description":"If true, UVs are assumed to be [0-1]. If false, UVs are assumed to be [0-texture_width] and [0-texture_height] respectively."},"normals":{"type":"array","description":"Vertex normals. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and UVs sections.","items":{"type":"array","minItems":3,"maxItems":3,"description":"Vertex normals. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and UVs sections.","items":{"type":"number","description":"Vertex normals. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and UVs sections."}}},"polys":{"oneOf":[{"type":"string","description":"If not specifying vertex indices, arrays of data must be a list of tris or quads, set by making this property either `tri_list` or `quad_list`.","enum":["tri_list","quad_list"]},{"type":"array","description":"Poly element indices, as an array of polygons, each an array of either three or four vertices, each an array of indices into positions, normals, and UVs (in that order).","items":{"type":"array","minItems":3,"maxItems":4,"description":"Poly element indices, as an array of polygons, each an array of either three or four vertices, each an array of indices into positions, normals, and UVs (in that order).","items":{"type":"array","minItems":3,"maxItems":3,"items":[{"type":"number","description":"The index of the position."},{"type":"number","description":"The index of the normal vertex."},{"type":"number","description":"The index of the uv vertex."}]}}}]},"positions":{"type":"array","items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number","description":"Vertex positions for the mesh. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the normals and UVs sections."}}},"uvs":{"type":"array","description":"Vertex UVs. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and normals sections.","items":{"type":"array","description":"Vertex UVs. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and normals sections.","minItems":2,"maxItems":2,"items":{"type":"number","description":"Vertex UVs. Can be either indexed via the `polys` section, or be a quad-list if mapped 1-to-1 to the positions and normals sections."}}}}},"render_group_id":{"type":"integer","minimum":0},"rotation":{"type":"array","title":"Rotation","description":"This is the initial rotation of the bone around the pivot, pre-animation (in degrees, x-then-y-then-z order).","items":[{"type":"number","title":"X","description":"in degrees."},{"type":"number","title":"Y","description":"in degrees."},{"type":"number","title":"Z","description":"in degrees."}]},"texture_meshes":{"type":"array","title":"Texture Meshes","description":"***EXPERIMENTAL*** Adds a mesh to the bone's geometry by converting texels in a texture into boxes.","items":{"type":"object","additionalProperties":false,"required":["texture"],"properties":{"local_pivot":{"type":"array","description":"The pivot point on the texture (in *texture space* not entity or bone space) of the texture geometry.","minItems":3,"maxItems":3,"items":{"type":"number","description":"The pivot point on the texture (in *texture space* not entity or bone space) of the texture geometry."}},"position":{"type":"array","description":"The position of the pivot point after rotation (in *entity space* not texture or bone space) of the texture geometry.","minItems":3,"maxItems":3,"items":{"type":"number","description":"The position of the pivot point after rotation (in *entity space* not texture or bone space) of the texture geometry."}},"rotation":{"type":"array","description":"The rotation (in degrees) of the texture geometry relative to the offset.","minItems":3,"maxItems":3,"items":{"type":"number","description":"The rotation (in degrees) of the texture geometry relative to the offset."}},"scale":{"type":"array","description":"The scale (in degrees) of the texture geometry relative to the offset.","minItems":3,"maxItems":3,"items":{"type":"number","description":"The scale (in degrees) of the texture geometry relative to the offset."}},"texture":{"type":"string","description":"The friendly-named texture to use."}}}}}}},"cape":{"title":"Cape","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"}}}}}}}} \ No newline at end of file diff --git a/resource/particles/particles.json b/resource/particles/particles.json index e78fbc69..280d4402 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.19.0","particle_effect":{"description":{"identifier":"example:particle","basic_render_parameters":{"material":"particles_alpha","texture":"textures/particle/particle"}},"curves":{},"components":{}}}],"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"],"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":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Event","type":"object","additionalProperties":false,"properties":{"particle_effect":{"title":"Particle Effect","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"effect":{"type":"string","description":"UNDOCUMENTED: effect","title":"Effect"},"type":{"type":"string","description":"UNDOCUMENTED: type","title":"Type"}}},"sound_effect":{"title":"Sound Effect","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"event_name":{"type":"string","description":"UNDOCUMENTED: effect","title":"Event Name"}}}}}}}}},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${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":["lookat_xyz","lookat_y","rotate_xyz","rotate_y","direction_x","direction_y","direction_z"],"title":"Facing Camera Mode"},"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,"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"}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.particle","examples":[{"format_version":"1.19.0","particle_effect":{"description":{"identifier":"example:particle","basic_render_parameters":{"material":"particles_alpha","texture":"textures/particle/particle"}},"curves":{},"components":{}}}],"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"],"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":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Event","type":"object","additionalProperties":false,"properties":{"particle_effect":{"title":"Particle Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"effect":{"type":"string","description":"UNDOCUMENTED: effect.","title":"Effect"},"type":{"type":"string","description":"UNDOCUMENTED: type.","title":"Type"}}},"sound_effect":{"title":"Sound Effect","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"event_name":{"type":"string","description":"UNDOCUMENTED: effect.","title":"Event Name"}}}}}}}}},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${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":["lookat_xyz","lookat_y","rotate_xyz","rotate_y","direction_x","direction_y","direction_z"],"title":"Facing Camera Mode"},"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,"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."}}} \ No newline at end of file diff --git a/resource/render_controllers/render_controllers.json b/resource/render_controllers/render_controllers.json index a89a42a1..acf71a22 100644 --- a/resource/render_controllers/render_controllers.json +++ b/resource/render_controllers/render_controllers.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.render_controllers","examples":[{"format_version":"1.19.0","render_controllers":{"controller.render.example":{"geometry":"Geometry.default","materials":[{"*":"Material.default"}],"textures":["Texture.default"]}}}],"additionalProperties":false,"type":"object","title":"Render Controllers","description":"A collection of render controllers to apply","definitions":{"color":{"anyOf":[{"type":"number","description":"A color definition as number, between 0 and 1","minimum":0,"maximum":1,"title":"Color Number"},{"type":"string","description":"A color definition in molang, between 0 and 1","title":"Molang Color"}]},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"B":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"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"}]}},"properties":{"format_version":{"$ref":"#/definitions/A"},"render_controllers":{"title":"Render Controllers","description":"The collection of render controllers, each property is the identifier of a render controller","type":"object","propertyNames":{"pattern":"^controller\\.render\\.[a-z\\.]+"},"additionalProperties":{"title":"Render Controller","additionalProperties":false,"type":"object","description":"A single render_controller","required":["geometry","materials"],"properties":{"arrays":{"type":"object","title":"Arrays","additionalProperties":false,"description":"A collection of definition of arrays","properties":{"geometries":{"type":"object","minProperties":1,"description":"A collection of Geometry array","title":"Geometries","additionalProperties":{"type":"array","items":{"type":"string","pattern":"^[Gg]eometry\\..+","description":"A geometry item, must be defined in the entity","title":"Geometry Reference"},"description":"A geometry array definition","title":"Geometries"}},"materials":{"type":"object","minProperties":1,"description":"A collection of materials array","title":"Materials","additionalProperties":{"type":"array","items":{"type":"string","pattern":"^[Mm]aterial\\..+","description":"A material item, must be defined in the entity","title":"Material"},"description":"A material array definition","title":"Materials"}},"textures":{"type":"object","minProperties":1,"description":"A collection of texture array","title":"Textures","additionalProperties":{"type":"array","description":"Textures","title":"Texture","items":{"type":"string","pattern":"^[Tt]exture\\..+","default":"texture.","description":"An texture item","title":"Texture"}}}}},"color":{"additionalProperties":false,"type":"object","properties":{"r":{"$ref":"#/definitions/color","description":"The value of red, between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/color","description":"The value of green, between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/color","description":"The value of blue, between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/color","description":"The value of alpha, between 0 and 1","title":"A"}},"description":"The color to apply","title":"Color"},"filter_lighting":{"type":"boolean","description":"Whenever or not to apply enviroment lighting to this object","title":"Filter Lighting"},"geometry":{"$ref":"#/definitions/B","description":"The model data to use","title":"Geometry","examples":["geometry.default"]},"ignore_lighting":{"type":"boolean","description":"Whenever or not to apply enviroment lighting to this object","title":"Ignore Lighting"},"is_hurt_color":{"additionalProperties":false,"type":"object","description":"The color to overlay on the entity when hurt","title":"Is Hurt Color","properties":{"r":{"$ref":"#/definitions/color","description":"The value of red, between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/color","description":"The value of green, between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/color","description":"The value of blue, between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/color","description":"The value of alpha, between 0 and 1","title":"A"}}},"light_color_multiplier":{"$ref":"#/definitions/C","description":"The amount of light that blends into what is being rendered, lower values gives darker rendering, (1 = 100%)","title":"Light Color Multiplier"},"materials":{"title":"Materials","description":"The specification where to apply materials to","type":"array","minItems":1,"examples":[[{"*":"material.default"}],[{"Alpha_*":"material.alpha"}]],"items":{"type":"object","description":"The definitions of what material to apply to what set of bones, can be done through specific names, or patterns using * as a wildcard","title":"Materials","additionalProperties":{"type":"string","description":"The material to apply, or patterns using * as a wildcard","$comment":"UNDOCUMENTED","title":"Material"}}},"on_fire_color":{"title":"On Fire Color","description":"The color that will be overlayed when the object is on fire","additionalProperties":false,"type":"object","properties":{"r":{"$ref":"#/definitions/color","description":"The value of red, must result in a float between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/color","description":"The value of green, must result in a float between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/color","description":"The value of blue, must result in a float between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/color","description":"The value of alpha, must result in a float between 0 and 1","title":"A"}}},"overlay_color":{"additionalProperties":false,"type":"object","description":"The color to put over the object","title":"Overlay Color","properties":{"r":{"$ref":"#/definitions/color","description":"The value of red, between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/color","description":"The value of green, between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/color","description":"The value of blue, between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/color","description":"The value of alpha, between 0 and 1","title":"A"}}},"part_visibility":{"title":"Part Visibility","description":"Determines what part of the object to show or hide","type":"array","minItems":1,"items":{"description":"The object that describe different bone visibility","title":"Part Visibility","type":"object","additionalProperties":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}},"textures":{"title":"Textures","description":"The texture to apply, multiple texture can be used as to create an overlay effect, a specific material is required though.","type":"array","minItems":1,"items":{"description":"The texture definition to apply","title":"Textures","$ref":"#/definitions/B","examples":["texture.default","Array.skins[query.variant]"]}},"uv_anim":{"title":"Uv Anim","description":"The UV animation to apply to the render texture","additionalProperties":false,"type":"object","required":["offset","scale"],"properties":{"offset":{"title":"Offset","description":"The offset to apply the UV, this will cause the texture on the object to shift by said amount, can be molang. The value for how much to offset is usually specified between 0 and 1","type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"The offset to apply on the texture, can be molang","title":"Offset"}},"scale":{"type":"array","description":"The scale to apply to the texture, this will cause texture to seem to grow and shrink if done per frame","title":"Scale","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"The scale to apply on the texture, can be molang","title":"Scale"}}}}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.render_controllers","examples":[{"format_version":"1.19.0","render_controllers":{"controller.render.example":{"geometry":"Geometry.default","materials":[{"*":"Material.default"}],"textures":["Texture.default"]}}}],"additionalProperties":false,"type":"object","title":"Render Controllers","description":"A collection of render controllers to apply.","definitions":{"color":{"anyOf":[{"type":"number","description":"A color definition as number, between 0 and 1.","minimum":0,"maximum":1,"title":"Color Number"},{"type":"string","description":"A color definition in molang, between 0 and 1.","title":"Molang Color"}]},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]},"B":{"type":"string","title":"Molang","description":"Molang definition.","format":"molang","examples":["query.variant","(1.0)","query.","variable.=;"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"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"}]}},"properties":{"format_version":{"$ref":"#/definitions/A"},"render_controllers":{"title":"Render Controllers","description":"The collection of render controllers, each property is the identifier of a render controller.","type":"object","propertyNames":{"pattern":"^controller\\.render\\.[a-z\\.]+"},"additionalProperties":{"title":"Render Controller","additionalProperties":false,"type":"object","description":"A single render_controller.","required":["geometry","materials"],"properties":{"arrays":{"type":"object","title":"Arrays","additionalProperties":false,"description":"A collection of definition of arrays.","properties":{"geometries":{"type":"object","minProperties":1,"description":"A collection of Geometry array.","title":"Geometries","additionalProperties":{"type":"array","items":{"type":"string","pattern":"^[Gg]eometry\\..+","description":"A geometry item, must be defined in the entity.","title":"Geometry Reference"},"description":"A geometry array definition.","title":"Geometries"}},"materials":{"type":"object","minProperties":1,"description":"A collection of materials array.","title":"Materials","additionalProperties":{"type":"array","items":{"type":"string","pattern":"^[Mm]aterial\\..+","description":"A material item, must be defined in the entity.","title":"Material"},"description":"A material array definition.","title":"Materials"}},"textures":{"type":"object","minProperties":1,"description":"A collection of texture array.","title":"Textures","additionalProperties":{"type":"array","description":"Textures.","title":"Texture","items":{"type":"string","pattern":"^[Tt]exture\\..+","default":"texture.","description":"An texture item.","title":"Texture"}}}}},"color":{"additionalProperties":false,"type":"object","properties":{"r":{"$ref":"#/definitions/color","description":"The value of red, between 0 and 1.","title":"R"},"g":{"$ref":"#/definitions/color","description":"The value of green, between 0 and 1.","title":"G"},"b":{"$ref":"#/definitions/color","description":"The value of blue, between 0 and 1.","title":"B"},"a":{"$ref":"#/definitions/color","description":"The value of alpha, between 0 and 1.","title":"A"}},"description":"The color to apply.","title":"Color"},"filter_lighting":{"type":"boolean","description":"Whenever or not to apply enviroment lighting to this object.","title":"Filter Lighting"},"geometry":{"$ref":"#/definitions/B","description":"The model data to use.","title":"Geometry","examples":["geometry.default"]},"ignore_lighting":{"type":"boolean","description":"Whenever or not to apply enviroment lighting to this object.","title":"Ignore Lighting"},"is_hurt_color":{"additionalProperties":false,"type":"object","description":"The color to overlay on the entity when hurt.","title":"Is Hurt Color","properties":{"r":{"$ref":"#/definitions/color","description":"The value of red, between 0 and 1.","title":"R"},"g":{"$ref":"#/definitions/color","description":"The value of green, between 0 and 1.","title":"G"},"b":{"$ref":"#/definitions/color","description":"The value of blue, between 0 and 1.","title":"B"},"a":{"$ref":"#/definitions/color","description":"The value of alpha, between 0 and 1.","title":"A"}}},"light_color_multiplier":{"$ref":"#/definitions/C","description":"The amount of light that blends into what is being rendered, lower values gives darker rendering, (1 = 100%).","title":"Light Color Multiplier"},"materials":{"title":"Materials","description":"The specification where to apply materials to.","type":"array","minItems":1,"examples":[[{"*":"material.default"}],[{"Alpha_*":"material.alpha"}]],"items":{"type":"object","description":"The definitions of what material to apply to what set of bones, can be done through specific names, or patterns using * as a wildcard.","title":"Materials","additionalProperties":{"type":"string","description":"The material to apply, or patterns using * as a wildcard.","$comment":"UNDOCUMENTED","title":"Material"}}},"on_fire_color":{"title":"On Fire Color","description":"The color that will be overlayed when the object is on fire.","additionalProperties":false,"type":"object","properties":{"r":{"$ref":"#/definitions/color","description":"The value of red, must result in a float between 0 and 1.","title":"R"},"g":{"$ref":"#/definitions/color","description":"The value of green, must result in a float between 0 and 1.","title":"G"},"b":{"$ref":"#/definitions/color","description":"The value of blue, must result in a float between 0 and 1.","title":"B"},"a":{"$ref":"#/definitions/color","description":"The value of alpha, must result in a float between 0 and 1.","title":"A"}}},"overlay_color":{"additionalProperties":false,"type":"object","description":"The color to put over the object.","title":"Overlay Color","properties":{"r":{"$ref":"#/definitions/color","description":"The value of red, between 0 and 1.","title":"R"},"g":{"$ref":"#/definitions/color","description":"The value of green, between 0 and 1.","title":"G"},"b":{"$ref":"#/definitions/color","description":"The value of blue, between 0 and 1.","title":"B"},"a":{"$ref":"#/definitions/color","description":"The value of alpha, between 0 and 1.","title":"A"}}},"part_visibility":{"title":"Part Visibility","description":"Determines what part of the object to show or hide.","type":"array","minItems":1,"items":{"description":"The object that describe different bone visibility.","title":"Part Visibility","type":"object","additionalProperties":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}},"textures":{"title":"Textures","description":"The texture to apply, multiple texture can be used as to create an overlay effect, a specific material is required though.","type":"array","minItems":1,"items":{"description":"The texture definition to apply.","title":"Textures","$ref":"#/definitions/B","examples":["texture.default","Array.skins[query.variant]"]}},"uv_anim":{"title":"Uv Anim","description":"The UV animation to apply to the render texture.","additionalProperties":false,"type":"object","required":["offset","scale"],"properties":{"offset":{"title":"Offset","description":"The offset to apply the UV, this will cause the texture on the object to shift by said amount, can be molang. The value for how much to offset is usually specified between 0 and 1","type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"The offset to apply on the texture, can be molang.","title":"Offset"}},"scale":{"type":"array","description":"The scale to apply to the texture, this will cause texture to seem to grow and shrink if done per frame.","title":"Scale","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/C","description":"The scale to apply on the texture, can be molang.","title":"Scale"}}}}}}}}} \ No newline at end of file diff --git a/resource/sounds.json b/resource/sounds.json index f4de67d6..6036f236 100644 --- a/resource/sounds.json +++ b/resource/sounds.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.sounds.json","type":"object","title":"Sounds.json","description":"Sound definitions","additionalProperties":false,"definitions":{"pitch":{"title":"Pitch","oneOf":[{"default":1,"type":"number","description":"A defined pitch"},{"description":"A random selection between a minimum and maximum","type":"array","items":[{"type":"number","minimum":0,"title":"Minimum"},{"type":"number","minimum":0,"title":"Maximum"}]}]},"volume":{"title":"Volume","oneOf":[{"default":1,"type":"number","description":"A defined volume"},{"description":"A random selection between a minimum and maximum","type":"array","items":[{"type":"number","minimum":0,"title":"Minimum"},{"type":"number","minimum":0,"title":"Maximum"}]}]},"sound_event":{"title":"Sound Event","description":"A single sound event definition","oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"required":["sound"],"properties":{"volume":{"$ref":"#/definitions/volume"},"sound":{"type":"string","title":"Sound Event","description":"The sound event described in sound_definitions.json"},"pitch":{"$ref":"#/definitions/pitch"}}}]},"entity_event":{"type":"object","title":"Entity Sound","description":"Entity sound definitions","properties":{"volume":{"$ref":"#/definitions/volume"},"pitch":{"$ref":"#/definitions/pitch"},"events":{"type":"object","title":"Events","propertyNames":{"pattern":"[a-z\\._]+"},"additionalProperties":{"$ref":"#/definitions/sound_event"}}}}},"properties":{"block_sounds":{"type":"object","title":"Block Sounds","description":"Block sound definitions","additionalProperties":{"type":"object","title":"Block Sound","description":"A single block sound definition","additionalProperties":false,"properties":{"volume":{"$ref":"#/definitions/volume"},"pitch":{"$ref":"#/definitions/pitch"},"events":{"type":"object","title":"Events","propertyNames":{"enum":["default","item.use.on","break","hit","place","power.on","power.off"]},"additionalProperties":{"$ref":"#/definitions/sound_event"}}}}},"entity_sounds":{"type":"object","title":"Entity Sounds","description":"Entity sounds definitions","additionalProperties":false,"properties":{"defaults":{"$ref":"#/definitions/entity_event"},"entities":{"type":"object","title":"Entities","description":"Entities definitions","additionalProperties":{"$ref":"#/definitions/entity_event"}}}},"individual_event_sounds":{"type":"object","title":"Individual Event Sounds","description":"Individual event sounds definitions","additionalProperties":false,"properties":{"events":{"type":"object","title":"Events","description":"Events","additionalProperties":{"$ref":"#/definitions/sound_event"}}}},"interactive_sounds":{"type":"object","title":"Interactive Sounds","description":"Interactive sounds definitions","additionalProperties":false,"properties":{"block_sounds":{"type":"object","title":"Block Sounds","description":"Block sound definitions","additionalProperties":{"type":"object","title":"Block Sound","description":"A single block sound definition","additionalProperties":false,"properties":{"volume":{"$ref":"#/definitions/volume"},"pitch":{"$ref":"#/definitions/pitch"},"events":{"type":"object","title":"Events","propertyNames":{"enum":["default","fall","step","hit","jump","land"]},"additionalProperties":{"title":"Sound Event","description":"A single sound event definition","oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"minProperties":1,"properties":{"volume":{"$ref":"#/definitions/volume"},"sound":{"type":"string","title":"Sound Event","description":"The sound event described in sound_definitions.json"},"pitch":{"$ref":"#/definitions/pitch"}}}]}}}}},"entity_sounds":{"type":"object","title":"Entity Sounds","description":"Entity sound definitions","additionalProperties":false,"properties":{"defaults":{"type":"object","title":"Defaults","description":"Default sound definitions","additionalProperties":{"type":"object","title":"Entity Sounds","properties":{"events":{"type":"object","title":"Entity Events","propertyNames":{"pattern":"[a-z0-9\\.]+"},"additionalProperties":{"type":"object","title":"Entity Event","description":"A single entity event","additionalProperties":{"type":"string","title":"A Sound Interaction"}}}}},"properties":{"volume":{"$ref":"#/definitions/volume"},"pitch":{"$ref":"#/definitions/pitch"}}},"entities":{"type":"object","title":"Entites Sounds","description":"Entities sound definitions","additionalProperties":{"type":"object","title":"Entity Sounds","properties":{"volume":{"$ref":"#/definitions/volume"},"pitch":{"$ref":"#/definitions/pitch"},"events":{"type":"object","title":"Entity Events","propertyNames":{"pattern":"[a-z0-9\\.]+"},"additionalProperties":{"type":"object","title":"Entity Event","description":"A single entity event","additionalProperties":{"type":"string","title":"A Sound Interaction"}}}}}}}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.sounds.json","type":"object","title":"Sounds.json","description":"Sound definitions.","additionalProperties":false,"definitions":{"pitch":{"title":"Pitch","oneOf":[{"default":1,"type":"number","description":"A defined pitch."},{"description":"A random selection between a minimum and maximum.","type":"array","items":[{"type":"number","minimum":0,"title":"Minimum"},{"type":"number","minimum":0,"title":"Maximum"}]}]},"volume":{"title":"Volume","oneOf":[{"default":1,"type":"number","description":"A defined volume."},{"description":"A random selection between a minimum and maximum.","type":"array","items":[{"type":"number","minimum":0,"title":"Minimum"},{"type":"number","minimum":0,"title":"Maximum"}]}]},"sound_event":{"title":"Sound Event","description":"A single sound event definition.","oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"required":["sound"],"properties":{"volume":{"$ref":"#/definitions/volume"},"sound":{"type":"string","title":"Sound Event","description":"The sound event described in sound_definitions.json"},"pitch":{"$ref":"#/definitions/pitch"}}}]},"entity_event":{"type":"object","title":"Entity Sound","description":"Entity sound definitions.","properties":{"volume":{"$ref":"#/definitions/volume"},"pitch":{"$ref":"#/definitions/pitch"},"events":{"type":"object","title":"Events","propertyNames":{"pattern":"[a-z\\._]+"},"additionalProperties":{"$ref":"#/definitions/sound_event"}}}}},"properties":{"block_sounds":{"type":"object","title":"Block Sounds","description":"Block sound definitions.","additionalProperties":{"type":"object","title":"Block Sound","description":"A single block sound definition.","additionalProperties":false,"properties":{"volume":{"$ref":"#/definitions/volume"},"pitch":{"$ref":"#/definitions/pitch"},"events":{"type":"object","title":"Events","propertyNames":{"enum":["default","item.use.on","break","hit","place","power.on","power.off"]},"additionalProperties":{"$ref":"#/definitions/sound_event"}}}}},"entity_sounds":{"type":"object","title":"Entity Sounds","description":"Entity sounds definitions.","additionalProperties":false,"properties":{"defaults":{"$ref":"#/definitions/entity_event"},"entities":{"type":"object","title":"Entities","description":"Entities definitions.","additionalProperties":{"$ref":"#/definitions/entity_event"}}}},"individual_event_sounds":{"type":"object","title":"Individual Event Sounds","description":"Individual event sounds definitions.","additionalProperties":false,"properties":{"events":{"type":"object","title":"Events","description":"Events.","additionalProperties":{"$ref":"#/definitions/sound_event"}}}},"interactive_sounds":{"type":"object","title":"Interactive Sounds","description":"Interactive sounds definitions.","additionalProperties":false,"properties":{"block_sounds":{"type":"object","title":"Block Sounds","description":"Block sound definitions.","additionalProperties":{"type":"object","title":"Block Sound","description":"A single block sound definition.","additionalProperties":false,"properties":{"volume":{"$ref":"#/definitions/volume"},"pitch":{"$ref":"#/definitions/pitch"},"events":{"type":"object","title":"Events","propertyNames":{"enum":["default","fall","step","hit","jump","land"]},"additionalProperties":{"title":"Sound Event","description":"A single sound event definition.","oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"minProperties":1,"properties":{"volume":{"$ref":"#/definitions/volume"},"sound":{"type":"string","title":"Sound Event","description":"The sound event described in sound_definitions.json"},"pitch":{"$ref":"#/definitions/pitch"}}}]}}}}},"entity_sounds":{"type":"object","title":"Entity Sounds","description":"Entity sound definitions.","additionalProperties":false,"properties":{"defaults":{"type":"object","title":"Defaults","description":"Default sound definitions.","additionalProperties":{"type":"object","title":"Entity Sounds","properties":{"events":{"type":"object","title":"Entity Events","propertyNames":{"pattern":"[a-z0-9\\.]+"},"additionalProperties":{"type":"object","title":"Entity Event","description":"A single entity event.","additionalProperties":{"type":"string","title":"A Sound Interaction"}}}}},"properties":{"volume":{"$ref":"#/definitions/volume"},"pitch":{"$ref":"#/definitions/pitch"}}},"entities":{"type":"object","title":"Entites Sounds","description":"Entities sound definitions.","additionalProperties":{"type":"object","title":"Entity Sounds","properties":{"volume":{"$ref":"#/definitions/volume"},"pitch":{"$ref":"#/definitions/pitch"},"events":{"type":"object","title":"Entity Events","propertyNames":{"pattern":"[a-z0-9\\.]+"},"additionalProperties":{"type":"object","title":"Entity Event","description":"A single entity event.","additionalProperties":{"type":"string","title":"A Sound Interaction"}}}}}}}}}}}} \ No newline at end of file diff --git a/resource/sounds/music_definitions.json b/resource/sounds/music_definitions.json index 4af514f7..718b7a01 100644 --- a/resource/sounds/music_definitions.json +++ b/resource/sounds/music_definitions.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.music_definitions.json","examples":[{"example":{"event_name":"music.example","min_delay":600,"max_delay":1200}}],"type":"object","title":"Music File","description":"The definition file of music of the resourcepack","definitions":{"music":{}},"propertyNames":{"examples":["creative","credits","end","endboss","game","hell","menu","nether","soulsand_valley","water"]},"additionalProperties":{"additionalProperties":false,"type":"object","description":"A music defintion","required":["event_name"],"properties":{"event_name":{"description":"The name of the minecraft music event","type":"string","examples":["music.game","music.game.creative","music.game.end","music.game.endboss","music.game.nether","music.game.credits","music.game.nether_wastes","music.menu"],"title":"Event Name"},"min_delay":{"type":"integer","description":"UNDOCUMENTED: Minimum delay","title":"Minimum Delay"},"max_delay":{"type":"integer","description":"UNDOCUMENTED: Maximum delay","title":"Maximum Delay"}},"title":"Music"}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.music_definitions.json","examples":[{"example":{"event_name":"music.example","min_delay":600,"max_delay":1200}}],"type":"object","title":"Music File","description":"The definition file of music of the resourcepack.","definitions":{"music":{}},"propertyNames":{"examples":["creative","credits","end","endboss","game","hell","menu","nether","soulsand_valley","water"]},"additionalProperties":{"additionalProperties":false,"type":"object","description":"A music defintion.","required":["event_name"],"properties":{"event_name":{"description":"The name of the minecraft music event.","type":"string","examples":["music.game","music.game.creative","music.game.end","music.game.endboss","music.game.nether","music.game.credits","music.game.nether_wastes","music.menu"],"title":"Event Name"},"min_delay":{"type":"integer","description":"UNDOCUMENTED: Minimum delay.","title":"Minimum Delay"},"max_delay":{"type":"integer","description":"UNDOCUMENTED: Maximum delay.","title":"Maximum Delay"}},"title":"Music"}} \ No newline at end of file diff --git a/resource/sounds/sound_definitions.json b/resource/sounds/sound_definitions.json index a17b41f1..8ec25d7d 100644 --- a/resource/sounds/sound_definitions.json +++ b/resource/sounds/sound_definitions.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.sound_definition","type":"object","additionalProperties":false,"title":"Sound Definitions","description":"The collection of sound definitions this resourcepack has defined","$comment":"UNDOCUMENTED","definitions":{"SoundPath":{"$id":"SoundFilepath","type":"string","title":"Sound Filepath Schema","description":"The filepath to the sound, starts with `sounds/'","pattern":"(^sounds/.*$|^$)","additionalItems":true,"examples":["sounds/"]},"SoundSpec":{"additionalProperties":false,"type":"object","$id":"#/Sound","title":"Sound","required":["sounds"],"properties":{"__use_legacy_max_distance":{"type":"boolean","title":"Use Legacy Max Distance","description":"Whenever or not use legacy distance checking"},"category":{"type":"string","title":"Sound Category","enum":["ambient","block","music","weather","ui","bucket","neutral","player","hostile","record","bottle"],"description":"The category this sound belongs to, for the user to control the volume on"},"sounds":{"title":"Sounds","description":"The collection of sounds minecraft can choice from","items":{"title":"Sounds","description":"UNDOCUMENTED: sounds","anyOf":[{"type":"string","$ref":"#/definitions/SoundPath"},{"title":"Sounds","description":"A collection of sounds to choice from","$comment":"UNDOCUMENTED","additionalProperties":false,"type":"object","required":["name"],"examples":[{"load_on_low_memory":false,"name":"sounds/fx/example"}],"properties":{"is3D":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Is 3D","type":"boolean"},"pitch":{"description":"The pitch of the audio, 1 is nomial","type":"number","minimum":0,"maximum":2,"title":"Pitch"},"volume":{"description":"The volume of the audio, 1 is nomial","type":"number","minimum":0,"title":"Volume"},"load_on_low_memory":{"type":"boolean","description":"Marks if this audio should be loaded or not on low memory","title":"Load On Low Memory"},"stream":{"description":"If marked true then minecraft will stream the audio","type":"boolean","title":"Stream"},"name":{"$id":"#/Sound/sounds/stringItem","type":"string","$ref":"#/definitions/SoundPath","description":"UNDOCUMENTED: name","title":"Name"},"weight":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Weight","type":"integer","minimum":0}}}]}},"max_distance":{"title":"Max Distance","description":"UNDOCUMENTED","type":"number","minimum":0}}},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}},"properties":{"format_version":{"$ref":"#/definitions/A"},"sound_definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/SoundSpec"},"description":"UNDOCUMENTED: sound definitions","title":"Sound Definitions"},"__use_legacy_max_distance":{"description":"UNDOCUMENTED: use legacy Maximum distance","title":"Use Legacy Maximum Distance","type":"string","enum":["true","false"]}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.sound_definition","type":"object","additionalProperties":false,"title":"Sound Definitions","description":"The collection of sound definitions this resourcepack has defined.","$comment":"UNDOCUMENTED","definitions":{"SoundPath":{"$id":"SoundFilepath","type":"string","title":"Sound Filepath Schema","description":"The filepath to the sound, starts with `sounds/'.","pattern":"(^sounds/.*$|^$)","additionalItems":true,"examples":["sounds/"]},"SoundSpec":{"additionalProperties":false,"type":"object","$id":"#/Sound","title":"Sound","required":["sounds"],"properties":{"__use_legacy_max_distance":{"type":"boolean","title":"Use Legacy Max Distance","description":"Whenever or not use legacy distance checking."},"category":{"type":"string","title":"Sound Category","enum":["ambient","block","music","weather","ui","bucket","neutral","player","hostile","record","bottle"],"description":"The category this sound belongs to, for the user to control the volume on."},"sounds":{"title":"Sounds","description":"The collection of sounds minecraft can choice from.","items":{"title":"Sounds","description":"UNDOCUMENTED: sounds.","anyOf":[{"type":"string","$ref":"#/definitions/SoundPath"},{"title":"Sounds","description":"A collection of sounds to choice from.","$comment":"UNDOCUMENTED","additionalProperties":false,"type":"object","required":["name"],"examples":[{"load_on_low_memory":false,"name":"sounds/fx/example"}],"properties":{"is3D":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Is 3D","type":"boolean"},"pitch":{"description":"The pitch of the audio, 1 is nomial.","type":"number","minimum":0,"maximum":2,"title":"Pitch"},"volume":{"description":"The volume of the audio, 1 is nomial.","type":"number","minimum":0,"title":"Volume"},"load_on_low_memory":{"type":"boolean","description":"Marks if this audio should be loaded or not on low memory.","title":"Load On Low Memory"},"stream":{"description":"If marked true then minecraft will stream the audio.","type":"boolean","title":"Stream"},"name":{"$id":"#/Sound/sounds/stringItem","type":"string","$ref":"#/definitions/SoundPath","description":"UNDOCUMENTED: name.","title":"Name"},"weight":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Weight","type":"integer","minimum":0}}}]}},"max_distance":{"title":"Max Distance","description":"UNDOCUMENTED.","type":"number","minimum":0}}},"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.19.0","examples":["1.19.0","1.18.30","1.18.20","1.18.10","1.18.0","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18|}.${3|2|0|}"}]}},"properties":{"format_version":{"$ref":"#/definitions/A"},"sound_definitions":{"type":"object","additionalProperties":{"$ref":"#/definitions/SoundSpec"},"description":"UNDOCUMENTED: sound definitions.","title":"Sound Definitions"},"__use_legacy_max_distance":{"description":"UNDOCUMENTED: use legacy Maximum distance.","title":"Use Legacy Maximum Distance","type":"string","enum":["true","false"]}}} \ No newline at end of file diff --git a/resource/textures/flipbook_textures.json b/resource/textures/flipbook_textures.json index e4f37d5b..f8172fd8 100644 --- a/resource/textures/flipbook_textures.json +++ b/resource/textures/flipbook_textures.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.texture.flipbook","additionalProperties":false,"description":"The file that specifies animated textures","title":"Flipbook Texture File","type":"array","items":{"additionalProperties":false,"description":"A single flipbook texture","title":"Flipbook Texture","type":"object","properties":{"atlas_index":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Atlas Index","type":"integer"},"atlas_tile":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","pattern":"^[a-z0-9_\\-]*$","title":"Atlas Index","type":"string"},"atlas_tile_variant":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Atlas Index","type":"integer"},"blend_frames":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Atlas Index","type":"boolean"},"flipbook_texture":{"description":"A texture file","pattern":"^textures/.+$","title":"Flipbook Texture","type":"string"},"frames":{"title":"Frames","description":"The collection of frame index to display","items":{"description":"The index of the frame","minimum":0,"title":"Frame Index","type":"integer"},"type":"array"},"replicate":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Atlas Index","type":"integer"},"ticks_per_frame":{"description":"The amount of ticks to wait between frames","title":"Ticks Per Frame","type":"integer"}}},"definitions":{}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.texture.flipbook","additionalProperties":false,"description":"The file that specifies animated textures.","title":"Flipbook Texture File","type":"array","items":{"additionalProperties":false,"description":"A single flipbook texture.","title":"Flipbook Texture","type":"object","properties":{"atlas_index":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Atlas Index","type":"integer"},"atlas_tile":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","pattern":"^[a-z0-9_\\-]*$","title":"Atlas Index","type":"string"},"atlas_tile_variant":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Atlas Index","type":"integer"},"blend_frames":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Atlas Index","type":"boolean"},"flipbook_texture":{"description":"A texture file.","pattern":"^textures/.+$","title":"Flipbook Texture","type":"string"},"frames":{"title":"Frames","description":"The collection of frame index to display.","items":{"description":"The index of the frame.","minimum":0,"title":"Frame Index","type":"integer"},"type":"array"},"replicate":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Atlas Index","type":"integer"},"ticks_per_frame":{"description":"The amount of ticks to wait between frames.","title":"Ticks Per Frame","type":"integer"}}},"definitions":{}} \ No newline at end of file diff --git a/resource/textures/item_texture.json b/resource/textures/item_texture.json index 42d33fc4..057293dc 100644 --- a/resource/textures/item_texture.json +++ b/resource/textures/item_texture.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.texture.item_texture","additionalProperties":false,"type":"object","title":"Item Texture File","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","definitions":{"texture":{"oneOf":[{"description":"A texture file","type":"string","pattern":"^textures/.+$","title":"Texture"},{"type":"object","additionalProperties":false,"description":"A collection of texture files","title":"Texture","properties":{"overlay_color":{"description":"The color to apply to the texture","title":"Overlay Color","format":"color-hex","examples":["#FFFFFF"]},"path":{"description":"A texture file","type":"string","pattern":"^textures/.+$","title":"Path"},"tint_color":{"title":"Tint Color","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","format":"color-hex","examples":["#FFFFFF"],"type":"string"},"variations":{"type":"array","title":"Variantions","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"object","title":"Variantion","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["path"],"properties":{"path":{"description":"A texture file","type":"string","pattern":"^textures/.+$","title":"Path"},"weight":{"type":"integer","title":"Weight","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}}}}}]}},"properties":{"resource_pack_name":{"type":"string","title":"Resource Pack Name","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"texture_data":{"title":"Texture Data","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","propertyNames":{"pattern":"^[\\w_\\-\\.]+$"},"additionalProperties":{"title":"Texture Data","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"textures":{"oneOf":[{"$ref":"#/definitions/texture"},{"description":"A collection of textures","title":"Texture Data","type":"array","items":{"$ref":"#/definitions/texture"}}]}}}},"texture_name":{"title":"Texture Name","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.texture.item_texture","additionalProperties":false,"type":"object","title":"Item Texture File","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","definitions":{"texture":{"oneOf":[{"description":"A texture file.","type":"string","pattern":"^textures/.+$","title":"Texture"},{"type":"object","additionalProperties":false,"description":"A collection of texture files.","title":"Texture","properties":{"overlay_color":{"description":"The color to apply to the texture.","title":"Overlay Color","format":"color-hex","examples":["#FFFFFF"]},"path":{"description":"A texture file.","type":"string","pattern":"^textures/.+$","title":"Path"},"tint_color":{"title":"Tint Color","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","format":"color-hex","examples":["#FFFFFF"],"type":"string"},"variations":{"type":"array","title":"Variantions","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":{"type":"object","title":"Variantion","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","required":["path"],"properties":{"path":{"description":"A texture file.","type":"string","pattern":"^textures/.+$","title":"Path"},"weight":{"type":"integer","title":"Weight","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}}}}}]}},"properties":{"resource_pack_name":{"type":"string","title":"Resource Pack Name","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"texture_data":{"title":"Texture Data","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","propertyNames":{"pattern":"^[\\w_\\-\\.]+$"},"additionalProperties":{"title":"Texture Data","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"textures":{"oneOf":[{"$ref":"#/definitions/texture"},{"description":"A collection of textures.","title":"Texture Data","type":"array","items":{"$ref":"#/definitions/texture"}}]}}}},"texture_name":{"title":"Texture Name","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"string"}}} \ No newline at end of file diff --git a/resource/textures/terrain_texture.json b/resource/textures/terrain_texture.json index cd573e8c..34d5eecf 100644 --- a/resource/textures/terrain_texture.json +++ b/resource/textures/terrain_texture.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.texture.terrain_texture","additionalProperties":false,"type":"object","title":"Terrain Texture File","description":"An collection of texture definitions","$comment":"UNDOCUMENTED","definitions":{"texture":{"oneOf":[{"description":"A texture file","type":"string","pattern":"^textures/.+$","title":"Texture"},{"type":"object","additionalProperties":false,"description":"A collection of texture files","title":"Texture","properties":{"overlay_color":{"description":"The color to apply to the texture","title":"Overlay Color","format":"color-hex","examples":["#FFFFFF"]},"path":{"description":"A texture file","type":"string","pattern":"^textures/.+$","title":"Path"},"tint_color":{"title":"Tint Color","description":"The tint color to be applied to the texture","$comment":"UNDOCUMENTED","format":"color-hex","examples":["#FFFFFF"],"type":"string"},"variations":{"type":"array","title":"Variantions","description":"The possible variations to use for this texture","$comment":"UNDOCUMENTED","items":{"type":"object","title":"Variantion","description":"One of the variantions, specified along with a possible weight","$comment":"UNDOCUMENTED","required":["path"],"properties":{"path":{"description":"A texture file","type":"string","pattern":"^textures/.+$","title":"Path"},"weight":{"type":"integer","title":"Weight","description":"The weight of the texture","$comment":"UNDOCUMENTED"}}}}}}]}},"properties":{"num_mip_levels":{"type":"integer","title":"Num Mip Levels","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"padding":{"type":"integer","title":"Padding","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"resource_pack_name":{"type":"string","title":"Resource Pack Name","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"texture_data":{"type":"object","propertyNames":{"pattern":"^[\\w_\\-\\.]+$"},"additionalProperties":{"type":"object","title":"Texture Data","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"textures":{"oneOf":[{"$ref":"#/definitions/texture"},{"type":"array","items":{"$ref":"#/definitions/texture"}}]}}},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Texture Data"},"texture_name":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Texture Name"}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.texture.terrain_texture","additionalProperties":false,"type":"object","title":"Terrain Texture File","description":"An collection of texture definitions.","$comment":"UNDOCUMENTED","definitions":{"texture":{"oneOf":[{"description":"A texture file.","type":"string","pattern":"^textures/.+$","title":"Texture"},{"type":"object","additionalProperties":false,"description":"A collection of texture files.","title":"Texture","properties":{"overlay_color":{"description":"The color to apply to the texture.","title":"Overlay Color","format":"color-hex","examples":["#FFFFFF"]},"path":{"description":"A texture file.","type":"string","pattern":"^textures/.+$","title":"Path"},"tint_color":{"title":"Tint Color","description":"The tint color to be applied to the texture.","$comment":"UNDOCUMENTED","format":"color-hex","examples":["#FFFFFF"],"type":"string"},"variations":{"type":"array","title":"Variantions","description":"The possible variations to use for this texture.","$comment":"UNDOCUMENTED","items":{"type":"object","title":"Variantion","description":"One of the variantions, specified along with a possible weight.","$comment":"UNDOCUMENTED","required":["path"],"properties":{"path":{"description":"A texture file.","type":"string","pattern":"^textures/.+$","title":"Path"},"weight":{"type":"integer","title":"Weight","description":"The weight of the texture.","$comment":"UNDOCUMENTED"}}}}}}]}},"properties":{"num_mip_levels":{"type":"integer","title":"Num Mip Levels","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"padding":{"type":"integer","title":"Padding","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"resource_pack_name":{"type":"string","title":"Resource Pack Name","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"texture_data":{"type":"object","propertyNames":{"pattern":"^[\\w_\\-\\.]+$"},"additionalProperties":{"type":"object","title":"Texture Data","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"textures":{"oneOf":[{"$ref":"#/definitions/texture"},{"type":"array","items":{"$ref":"#/definitions/texture"}}]}}},"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Texture Data"},"texture_name":{"type":"string","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Texture Name"}}} \ No newline at end of file diff --git a/resource/textures/texture_list.json b/resource/textures/texture_list.json index 3cf4fad0..0db8fb3d 100644 --- a/resource/textures/texture_list.json +++ b/resource/textures/texture_list.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","title":"Texture List","description":"A list of texture to load in","type":"array","items":{"title":"Filepath","type":"string","pattern":"^textures/","examples":["textures/blocks/"]},"definitions":{}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","title":"Texture List","description":"A list of texture to load in.","type":"array","items":{"title":"Filepath","type":"string","pattern":"^textures/","examples":["textures/blocks/"]},"definitions":{}} \ No newline at end of file diff --git a/skinpacks/skins.json b/skinpacks/skins.json index c97e5948..0d803d89 100644 --- a/skinpacks/skins.json +++ b/skinpacks/skins.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","title":"Skip Pack","description":"Skin pack definition","type":"object","additionalProperties":false,"required":["serialize_name","localization_name","skins"],"properties":{"serialize_name":{"title":"Serialize Name","description":"The name of the pack as an identifier, they must be the same as the name of pack without spaces","type":"string"},"localization_name":{"title":"Locatlization Name","description":"The key in the language file to use to display text","type":"string"},"skins":{"type":"array","title":"Skins","description":"An array of item","examples":[{"localization_name":"TemplateSkin1","geometry":"geometry.humanoid.custom","texture":"some_texture.png","type":"paid"}],"items":{"title":"Skin","description":"A single skin definition","additionalProperties":false,"required":["localization_name","geometry","texture","type"],"type":"object","properties":{"localization_name":{"title":"Locatlization Name","description":"The key in the language file to use to display text","type":"string"},"geometry":{"title":"Geometry","description":"The type of geometry to use","type":"string","pattern":"^[Gg]eometry\\..+$","examples":["geometry.humanoid.custom","geometry.humanoid.customSlim"]},"texture":{"title":"Texture","description":"The filename of the skin","pattern":"^.*\\.png$"},"type":{"title":"Type","description":"The type of skin","enum":["free","paid"]}}}}},"definitions":{}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","title":"Skip Pack","description":"Skin pack definition.","type":"object","additionalProperties":false,"required":["serialize_name","localization_name","skins"],"properties":{"serialize_name":{"title":"Serialize Name","description":"The name of the pack as an identifier, they must be the same as the name of pack without spaces.","type":"string"},"localization_name":{"title":"Locatlization Name","description":"The key in the language file to use to display text.","type":"string"},"skins":{"type":"array","title":"Skins","description":"An array of item.","examples":[{"localization_name":"TemplateSkin1","geometry":"geometry.humanoid.custom","texture":"some_texture.png","type":"paid"}],"items":{"title":"Skin","description":"A single skin definition.","additionalProperties":false,"required":["localization_name","geometry","texture","type"],"type":"object","properties":{"localization_name":{"title":"Locatlization Name","description":"The key in the language file to use to display text.","type":"string"},"geometry":{"title":"Geometry","description":"The type of geometry to use.","type":"string","pattern":"^[Gg]eometry\\..+$","examples":["geometry.humanoid.custom","geometry.humanoid.customSlim"]},"texture":{"title":"Texture","description":"The filename of the skin.","pattern":"^.*\\.png$"},"type":{"title":"Type","description":"The type of skin.","enum":["free","paid"]}}}}},"definitions":{}} \ No newline at end of file