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/entities/entities.json b/behavior/entities/entities.json index a2f8c245..2865726b 100644 --- a/behavior/entities/entities.json +++ b/behavior/entities/entities.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.entities","examples":[{"format_version":"1.19.0","minecraft:entity":{"description":{"identifier":"namespace:entity","is_spawnable":true,"is_summonable":true},"component_groups":{},"components":{},"events":{}}}],"type":"object","title":"Entity Behavior","description":"The minecraft entity behavior specification","required":["format_version","minecraft:entity"],"additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:entity":{"$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 entity identifier","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Entity Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"E":{"additionalProperties":false,"type":"object","title":"Add Rider","description":"Adds a rider to the entity. Requires `minecraft:rideable.`","required":["entity_type"],"properties":{"entity_type":{"type":"string","description":"The entity type that will be riding this entity","title":"Entity Type"},"spawn_event":{"type":"string","description":"The spawn event that will be used when the riding entity is created","title":"Spawn Event"}},"examples":[{"entity_type":"minecraft:rabbit"},{"entity_type":"minecraft:rabbit","spawn_event":"self:example"}]},"F":{"type":"object","title":"Admire Item","description":"Causes the mob to ignore attackable targets for a given duration.","additionalProperties":false,"properties":{"cooldown_after_being_attacked":{"type":"integer","default":0,"description":"Duration, in seconds, for which mob won't admire items if it was hurt","title":"Cooldown After Being Attacked"},"duration":{"type":"integer","default":10,"description":"Duration, in seconds, that the mob is pacified.","title":"Duration"}},"examples":[{"cooldown_after_being_attacked":0,"duration":10}]},"H":{"description":"A minecraft item identifier","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"I":{"title":"Event","description":"Minecraft behavior event","examples":["example:foo",{"event":"example:foo","target":"self"}],"defaultSnippets":[{"label":"New Event","body":"^\"$1\""}],"oneOf":[{"type":"string","pattern":"^[a-zA-Z0-9_\\-:]+$","description":"The event to fire"},{"type":"object","properties":{"event":{"type":"string","pattern":"^[a-zA-Z0-9_\\-:]+$","description":"The event to fire","title":"Event"},"target":{"type":"string","description":"The target of the event","title":"Target","enum":["baby","block","damager","other","parent","player","self","target"]}}}]},"G":{"type":"object","title":"Ageable","description":"Adds a timer for the entity to grow up. It can be accelerated by giving the entity the items it likes as defined by feedItems.","additionalProperties":false,"properties":{"drop_items":{"description":"List of items that the entity drops when it grows up.","oneOf":[{"type":"array","items":{"$ref":"#/definitions/H"}},{"type":"string","$ref":"#/definitions/H"}],"title":"Drop Items"},"duration":{"type":"number","default":1200,"description":"Amount of time before the entity grows up, -1 for always a baby.","title":"Duration"},"feed_items":{"description":"List of items that can be fed to the entity. Includes `item` for the item name and `growth` to define how much time it grows up by","oneOf":[{"type":"array","items":{"$ref":"#/definitions/H"}},{"type":"array","items":{"type":"object","properties":{"growth":{"type":"number"},"item":{"$ref":"#/definitions/H"}}}},{"type":"string","$ref":"#/definitions/H"}],"title":"Feed Items"},"grow_up":{"$ref":"#/definitions/I","description":"Event to run when this entity grows up.","title":"Grow Up"},"transform_to_item":{"type":"string","title":"Transform To Item","description":"The feed item used will transform to this item upon successful interaction. Format: itemName:auxValue"}},"examples":[{"duration":1200,"transform_to_item":"example"}]},"J":{"additionalProperties":false,"type":"object","title":"Ambient Sound Interval","description":"Sets the entity's delay between playing its ambient sound.","properties":{"event_name":{"type":"string","default":"ambient","description":"Level sound event to be played as the ambient sound.","title":"Event Name"},"event_names":{"type":"array","description":"List of dynamic level sound events, with conditions for choosing between them. Evaluated in order, first one wins. If none evaluate to true, 'event_name' will take precedence.","items":{"type":"object","properties":{"condition":{"type":"string","description":"The condition that must be satisfied to select the given ambient sound","title":"Condition"},"event_name":{"type":"string","description":"Level sound event to be played as the ambient sound.","title":"Event Name"}}}},"range":{"title":"Range","type":"number","default":16.0,"description":"Maximum time in seconds to randomly add to the ambient sound delay time."},"value":{"title":"Value","type":"number","default":8.0,"description":"Minimum time in seconds before the entity plays its ambient sound again."}},"examples":[{"event_name":"ambient","range":16,"value":8}]},"BB_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/BB_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/BB_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/BB_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/BB_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/BB_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/BB_groups_spec"}},"allOf":[{"if":{"properties":{"test":{"const":"clock_time"}}},"then":{"$ref":"#/definitions/BC"}},{"if":{"properties":{"test":{"const":"distance_to_nearest_player"}}},"then":{"$ref":"#/definitions/BF"}},{"if":{"properties":{"test":{"const":"has_ability"}}},"then":{"$ref":"#/definitions/BG"}},{"if":{"properties":{"test":{"const":"has_biome_tag"}}},"then":{"$ref":"#/definitions/BH"}},{"if":{"properties":{"test":{"const":"has_component"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"test":{"const":"has_container_open"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"test":{"const":"has_damage"}}},"then":{"$ref":"#/definitions/CA"}},{"if":{"properties":{"test":{"const":"has_equipment"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"test":{"const":"has_mob_effect"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"test":{"const":"has_nametag"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"test":{"const":"has_ranged_weapon"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"test":{"const":"has_silk_touch"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"test":{"const":"has_tag"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"test":{"const":"has_target"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"test":{"const":"has_trade_supply"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"test":{"const":"hourly_clock_time"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"test":{"const":"in_block"}}},"then":{"$ref":"#/definitions/DB"}},{"if":{"properties":{"test":{"const":"in_caravan"}}},"then":{"$ref":"#/definitions/DC"}},{"if":{"properties":{"test":{"const":"in_clouds"}}},"then":{"$ref":"#/definitions/DD"}},{"if":{"properties":{"test":{"const":"in_contact_with_water"}}},"then":{"$ref":"#/definitions/DE"}},{"if":{"properties":{"test":{"const":"in_lava"}}},"then":{"$ref":"#/definitions/DF"}},{"if":{"properties":{"test":{"const":"in_nether"}}},"then":{"$ref":"#/definitions/DG"}},{"if":{"properties":{"test":{"const":"in_water_or_rain"}}},"then":{"$ref":"#/definitions/DH"}},{"if":{"properties":{"test":{"const":"in_water"}}},"then":{"$ref":"#/definitions/DI"}},{"if":{"properties":{"test":{"const":"inactivity_timer"}}},"then":{"$ref":"#/definitions/DJ"}},{"if":{"properties":{"test":{"const":"is_altitude"}}},"then":{"$ref":"#/definitions/EA"}},{"if":{"properties":{"test":{"const":"is_avoiding_mobs"}}},"then":{"$ref":"#/definitions/EB"}},{"if":{"properties":{"test":{"const":"is_biome"}}},"then":{"$ref":"#/definitions/EC"}},{"if":{"properties":{"test":{"const":"is_block"}}},"then":{"$ref":"#/definitions/ED"}},{"if":{"properties":{"test":{"const":"is_brightness"}}},"then":{"$ref":"#/definitions/EE"}},{"if":{"properties":{"test":{"const":"is_climbing"}}},"then":{"$ref":"#/definitions/EF"}},{"if":{"properties":{"test":{"const":"is_color"}}},"then":{"$ref":"#/definitions/EG"}},{"if":{"properties":{"test":{"const":"is_daytime"}}},"then":{"$ref":"#/definitions/EH"}},{"if":{"properties":{"test":{"const":"is_difficulty"}}},"then":{"$ref":"#/definitions/EI"}},{"if":{"properties":{"test":{"const":"is_family"}}},"then":{"$ref":"#/definitions/EJ"}},{"if":{"properties":{"test":{"const":"is_game_rule"}}},"then":{"$ref":"#/definitions/FA"}},{"if":{"properties":{"test":{"const":"is_humid"}}},"then":{"$ref":"#/definitions/FB"}},{"if":{"properties":{"test":{"const":"is_immobile"}}},"then":{"$ref":"#/definitions/FC"}},{"if":{"properties":{"test":{"const":"is_in_village"}}},"then":{"$ref":"#/definitions/FD"}},{"if":{"properties":{"test":{"const":"is_leashed_to"}}},"then":{"$ref":"#/definitions/FE"}},{"if":{"properties":{"test":{"const":"is_leashed"}}},"then":{"$ref":"#/definitions/FF"}},{"if":{"properties":{"test":{"const":"is_mark_variant"}}},"then":{"$ref":"#/definitions/FG"}},{"if":{"properties":{"test":{"const":"is_missing_health"}}},"then":{"$ref":"#/definitions/FH"}},{"if":{"properties":{"test":{"const":"is_moving"}}},"then":{"$ref":"#/definitions/FI"}},{"if":{"properties":{"test":{"const":"is_owner"}}},"then":{"$ref":"#/definitions/FJ"}},{"if":{"properties":{"test":{"const":"is_persistent"}}},"then":{"$ref":"#/definitions/GA"}},{"if":{"properties":{"test":{"const":"is_riding"}}},"then":{"$ref":"#/definitions/GB"}},{"if":{"properties":{"test":{"const":"is_skin_id"}}},"then":{"$ref":"#/definitions/GC"}},{"if":{"properties":{"test":{"const":"is_sleeping"}}},"then":{"$ref":"#/definitions/GD"}},{"if":{"properties":{"test":{"const":"is_sneaking"}}},"then":{"$ref":"#/definitions/GE"}},{"if":{"properties":{"test":{"const":"is_snow_covered"}}},"then":{"$ref":"#/definitions/GF"}},{"if":{"properties":{"test":{"const":"is_target"}}},"then":{"$ref":"#/definitions/GG"}},{"if":{"properties":{"test":{"const":"is_temperature_type"}}},"then":{"$ref":"#/definitions/GH"}},{"if":{"properties":{"test":{"const":"is_temperature_value"}}},"then":{"$ref":"#/definitions/GI"}},{"if":{"properties":{"test":{"const":"is_underground"}}},"then":{"$ref":"#/definitions/GJ"}},{"if":{"properties":{"test":{"const":"is_underwater"}}},"then":{"$ref":"#/definitions/HA"}},{"if":{"properties":{"test":{"const":"is_variant"}}},"then":{"$ref":"#/definitions/HB"}},{"if":{"properties":{"test":{"const":"is_visible"}}},"then":{"$ref":"#/definitions/HC"}},{"if":{"properties":{"test":{"const":"is_waterlogged"}}},"then":{"$ref":"#/definitions/HD"}},{"if":{"properties":{"test":{"const":"light_level"}}},"then":{"$ref":"#/definitions/HE"}},{"if":{"properties":{"test":{"const":"moon_intensity"}}},"then":{"$ref":"#/definitions/HF"}},{"if":{"properties":{"test":{"const":"moon_phase"}}},"then":{"$ref":"#/definitions/HG"}},{"if":{"properties":{"test":{"const":"on_ground"}}},"then":{"$ref":"#/definitions/HH"}},{"if":{"properties":{"test":{"const":"on_ladder"}}},"then":{"$ref":"#/definitions/HI"}},{"if":{"properties":{"test":{"const":"random_chance"}}},"then":{"$ref":"#/definitions/HJ"}},{"if":{"properties":{"test":{"const":"rider_count"}}},"then":{"$ref":"#/definitions/IA"}},{"if":{"properties":{"test":{"const":"surface_mob"}}},"then":{"$ref":"#/definitions/IB"}},{"if":{"properties":{"test":{"const":"trusts"}}},"then":{"$ref":"#/definitions/IC"}},{"if":{"properties":{"test":{"const":"weather_at_position"}}},"then":{"$ref":"#/definitions/ID"}},{"if":{"properties":{"test":{"const":"weather"}}},"then":{"$ref":"#/definitions/IE"}},{"not":{"properties":{"test":{"const":"is_weather"}},"$comment":"DEPRECATED"}}]}]},"BB_groups_spec":{"oneOf":[{"type":"array","items":{"$ref":"#/definitions/BB_groups_spec"}},{"type":"object","$ref":"#/definitions/BB_filters_spec"}]},"BD":{"title":"Operator","type":"string","description":"The comparison to apply with `value`.","default":"equals","enum":["!=","<","<=","<>","=","==",">",">=","equals","not"]},"BE":{"title":"Subject","type":"string","description":"The subject of this filter test.","default":"self","enum":["block","other","parent","player","self","target","damager"]},"BC":{"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/BD","description":"(Optional) The comparison to apply with `value`.","default":"equals","title":"Operator"},"subject":{"$ref":"#/definitions/BE","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]}}},"BF":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"number","description":"(Required) A floating point value.","title":"Value"}}},"BG":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"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"}]},"BH":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"(Required) The tag to look for","type":"string","title":"Value"}},"examples":[{"test":"has_biome_tag","value":"monster"}]},"BI":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"string","description":"(Required) The component name to look for","title":"Value"}},"examples":[{"test":"has_component","value":"minecraft:explode"}]},"BJ":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"(Optional) true or false.","title":"Value","type":"boolean","default":true}},"examples":[{"test":"has_container_open","value":true}]},"CB":{"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"]},"CA":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"string","description":"The Damage type to test","$ref":"#/definitions/CB","title":"Value"}}},"CC":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"The item name to look for","type":"string","$ref":"#/definitions/H","title":"Value"}},"examples":[{"test":"has_equipment","value":"example"}]},"CD":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"string","description":"The specified mob effect","title":"Value"}},"examples":[{"test":"has_mob_effect","value":"bad_omen"}]},"CE":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"","type":"boolean","title":"Value"}},"examples":[{"test":"has_nametag","value":false},{"test":"has_nametag","value":true}]},"CF":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_ranged_weapon","value":true}]},"CG":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_silk_touch","subject":"other","value":true}]},"CH":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"string","description":"The tag as a string","pattern":"[a-zA-Z0-9_]+","title":"Value"}},"examples":[{"test":"has_tag","value":"example"}]},"CI":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_target","value":true}]},"CJ":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"has_trade_supply","value":true}]},"DA":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"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}]},"DB":{"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/BD","description":"(Optional) The comparison to apply with `value`.","default":"equals","title":"Operator"},"subject":{"$ref":"#/definitions/BE","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"}]},"DC":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_caravan","value":true}]},"DD":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_clouds","value":true}]},"DE":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"(Optional) true or false.","type":"boolean","default":true}},"examples":[{"test":"in_contact_with_water","value":true}]},"DF":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_lava","value":true}]},"DG":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"in_nether","value":true}]},"DH":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_water_or_rain","value":true}]},"DI":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_water","value":true}]},"DJ":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"The Family name to look for","type":"integer","title":"Value"}},"examples":[{"test":"inactivity_timer","value":0}]},"EA":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"integer","description":"The altitude value to compare with","minimum":0,"title":"Value"}},"examples":[{"test":"example","value":0}]},"EB":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"example","value":true}]},"EC":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"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"}]},"ED":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"The Family name to look for","type":"string","title":"Value"}},"examples":[{"test":"is_block","subject":"block","value":"minecraft:sweet_berry_bush"}]},"EE":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"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}]},"EF":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_climbing","value":true}]},"EG":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"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"}]},"EH":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_daytime","value":true}]},"EI":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"The game's difficulty level to test","type":"string","enum":["easy","hard","normal","peaceful"],"title":"Value"}},"examples":[{"test":"is_difficulty","value":"easy"}]},"EJ":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"The Family name to look for","type":"string","title":"Value"}},"examples":[{"test":"is_family","value":"monster"}]},"FA":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"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}]},"FB":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_humid","value":true}]},"FC":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_immobile","value":true}]},"FD":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_in_village","value":true}]},"FE":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_leashed_to","value":true}]},"FF":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_leashed","value":true}]},"FG":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"integer","description":"The altitude value to compare with","title":"Value"}},"examples":[{"test":"is_mark_variant","value":0}]},"FH":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_missing_health","value":true}]},"FI":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_moving","value":true}]},"FJ":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_owner","value":true}]},"GA":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_persistent","value":true}]},"GB":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_riding","value":true}]},"GC":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"integer","description":"The altitude value to compare with","title":"Value"}},"examples":[{"test":"is_skin_id","value":0}]},"GD":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_sleeping","value":true}]},"GE":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_sneaking","value":true}]},"GF":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_snow_covered","value":true}]},"GG":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_target","value":true}]},"GH":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"The Biome temperature catagory to test","type":"string","enum":["cold","mild","ocean","warm"],"title":"Value"}},"examples":[{"test":"is_temperature_type","value":"cold"}]},"GI":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"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}]},"GJ":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_underground","value":true}]},"HA":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_underwater","value":true}]},"HB":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"integer","description":"The altitude value to compare with","title":"Value"}},"examples":[{"test":"is_variant","value":0}]},"HC":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_visible","value":true}]},"HD":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"true or false.","type":"boolean","title":"Value"}},"examples":[{"test":"light_level","value":0}]},"HE":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"An integer value.","type":"integer","title":"Value","minimum":0,"maximum":16}},"examples":[{"test":"light_level","value":0}]},"HF":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"A floating point value.","type":"number","minimum":0,"maximum":1,"title":"Value"}},"examples":[{"test":"moon_intensity","value":0.0}]},"HG":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"integer","description":"An integer value.","minimum":0,"maximum":7,"title":"Value"}},"examples":[{"test":"moon_phase","value":0}]},"HH":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"on_ground","value":true}]},"HI":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"on_ladder","value":true}]},"HJ":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"An integer value.","type":"integer","title":"Value"}},"examples":[{"test":"random_chance","value":0}]},"IA":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"An integer value.","type":"integer","title":"Value"}},"examples":[{"test":"rider_count","value":0}]},"IB":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"surface_mob","value":true}]},"IC":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"trusts","value":true}]},"ID":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"The Family name to look for","type":"string","title":"Value","examples":["thunderstorm"]}},"examples":[{"test":"weather_at_position","value":"thunderstorm"}]},"IE":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"The Family name to look for","type":"string","title":"Value","examples":["clear","thunderstorm"]}},"examples":[{"test":"weather","value":"clear"}]},"BB":{"title":"Filters","$ref":"#/definitions/BB_groups_spec","examples":[{"test":"is_family","subject":"other","value":"example"},{"test":"has_tag","value":"example"},[]]},"BA":{"type":"object","title":"Angry","description":"Allows this entity to track anger towards a set of nuisances","additionalProperties":false,"required":[],"properties":{"anger_decrement_interval":{"title":"Anger Decrement Interval","type":"number","default":1.0,"description":"Anger level will decay over time. Defines how often anger towards all nuisances will be decreased by one"},"angry_boost":{"title":"Angry Boost","type":"integer","minimum":0,"default":20,"description":"Anger boost applied to angry threshold when mob gets angry"},"angry_threshold":{"title":"Angry Threshold","type":"integer","minimum":0,"default":80,"description":"Threshold that define when the mob is considered angry at a nuisance"},"default_annoyingness":{"title":"Default Annoyingness","type":"string","default":"0","description":"The default amount of annoyingness for any given nuisance. Specifies how much to raise anger level on each provocation"},"max_anger":{"title":"Maximum Anger","type":"integer","default":100,"minimum":0,"description":"The maximum anger level that can be reached. Applies to any nuisance"},"nuisance_filter":{"title":"Nuisance Filter","$ref":"#/definitions/BB","description":"Filter that is applied to determine if a mob can be a nuisance"},"on_increase_sounds":{"title":"On Increase Sounds","$ref":"#/definitions/BB"},"remove_targets_below_angry_threshold":{"title":"Remove Targets Below Angry Threshold","type":"boolean","default":true,"description":"Defines if the mob should remove target if it falls below 'angry' threshold"}},"examples":[]},"IF":{"type":"object","title":"Angry","description":"Defines the entity's 'angry' state using a timer","additionalProperties":false,"required":[],"properties":{"broadcast_anger":{"title":"Broadcast Anger","type":"boolean","default":false,"description":"If true, other entities of the same entity definition within the broadcastRange will also become angry"},"broadcast_filters":{"title":"Broadcast Filters","$ref":"#/definitions/BB","description":"Conditions that make this entry in the list valid"},"filters":{"$ref":"#/definitions/BB","description":"Filter out mob types that it should not attack while angry (other Piglins)"},"broadcast_range":{"title":"Broadcast Range","type":"integer","default":20,"description":"Distance in blocks within which other entities of the same entity definition will become angry"},"broadcast_targets":{"title":"Broadcast Targets","type":"array","description":"A list of entity families to broadcast anger to","items":{"type":"string","description":"An entity family","pattern":"^.+$","title":"Broadcast Targets"}},"calm_event":{"title":"Calm Event","$ref":"#/definitions/I","description":"Event to run after the number of seconds specified in duration expires (when the entity stops being \"angry\")"},"angry_sound":{"title":"Angry Sound","type":"string","default":"","description":"The sound event to play when the mob is angry"},"broadcast_anger_on_attack":{"title":"Broadcast Anger On Attack","type":"boolean","default":false,"description":"If true, other entities of the same entity definition within the broadcastRange will also become angry whenever this mob attacks"},"broadcast_anger_on_being_attacked":{"type":"boolean","default":false,"description":"If true, other entities of the same entity definition within the broadcastRange will also become angry whenever this mob is attacked","title":"Broadcast Anger On Being Attacked"},"duration":{"title":"Duration","type":"integer","default":25,"description":"The amount of time in seconds that the entity will be angry"},"duration_delta":{"title":"Duration Delta","type":"integer","default":0,"description":"Variance in seconds added to the duration [-delta, delta]"},"sound_interval":{"description":"The range of time in seconds to randomly wait before playing the sound again","title":"Sound Interval","oneOf":[{"type":"array","default":[0,0],"items":[{"type":"integer","minimum":0,"description":"The minimum interval","$comment":"UNDOCUMENTED","title":"Minimum"},{"type":"integer","minimum":0,"description":"The maximum interval","$comment":"UNDOCUMENTED","title":"Maximum"}]},{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number","description":"The minimum interval","$comment":"UNDOCUMENTED","title":"Range Minimum"},"range_max":{"type":"number","description":"The maximum interval","$comment":"UNDOCUMENTED","title":"Range Maximum"}}}]}},"examples":[{"broadcast_anger":false,"broadcast_range":20,"broadcast_targets":[],"angry_sound":"","broadcast_anger_on_attack":false,"broadcast_anger_on_being_attacked":false,"duration":25,"duration_delta":0}]},"IG":{"additionalProperties":false,"description":"Allows the actor to break doors assuming that that flags set up for the component to use in navigation","type":"object","title":"Annotation.break Door","required":[],"$comment":"Caution No longe rin use","properties":{"break_time":{"type":"number","default":12,"description":"The time in seconds required to break through doors.","title":"Break Time"},"min_difficulty":{"type":"string","default":"hard","description":"The minimum difficulty that the world must be on for this entity to break doors.","title":"Minimum Difficulty"}},"examples":[{"break_time":12,"min_difficulty":"hard"}]},"IH":{"additionalProperties":false,"description":"Allows the actor to open doors assuming that that flags set up for the component to use in navigation","type":"object","title":"Annotation.open Door","required":[],"properties":{}},"II":{"type":"object","title":"Area Attack","description":"A component that does damage to entities that get within range.","additionalProperties":false,"properties":{"damage_per_tick":{"type":"integer","default":2,"description":"How much damage per tick is applied to entities that enter the damage range.","title":"Damage Per Tick"},"damage_range":{"type":"number","default":0.2,"description":"How close a hostile entity must be to have the damage applied.","title":"Damage Range"},"entity_filter":{"$ref":"#/definitions/BB","description":"Filter to see which entities can be affected by the attack","title":"Entity Filter"},"cause":{"type":"string","description":"what causes the attack to occur","title":"Cause","$ref":"#/definitions/CB"}},"examples":[{"damage_per_tick":2,"damage_range":0.2,"cause":"example"}]},"JA":{"title":"Trigger","description":"Trigger to fire","examples":["event:example",{"filters":[],"target":"self","event":"to:foo"}],"defaultSnippets":[{"label":"New Trigger","body":"^\"$1\""},{"label":"New Trigger - Filtered","body":{"event":"$1","target":"self","filters":[{"test":"$2","value":"$3"}]}}],"oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"properties":{"event":{"type":"string","description":"The event to run when the conditions for this trigger are met.","title":"Event"},"filters":{"$ref":"#/definitions/BB","description":"The list of conditions for this trigger to execute."},"target":{"$ref":"#/definitions/BE","description":"The target of the event.","title":"Target"}}}]},"IJ":{"type":"object","title":"Attack Cooldown","description":"Adds a cooldown to a mob. The intention of this cooldown is to be used to prevent the mob from attempting to aquire new attack targets.","additionalProperties":false,"properties":{"attack_cooldown_complete_event":{"$ref":"#/definitions/JA","description":"Event to be runned when the cooldown is complete.","title":"Attack Cooldown Complete Event"},"attack_cooldown_time":{"default":[0.0,1.0],"description":"Amount of time in seconds for the cooldown. Can be specified as a number or a pair of numbers (Minimum and max).","title":"Attack Cooldown Time","oneOf":[{"type":"array","items":[{"type":"number","title":"Maximum"},{"type":"number","title":"Maximum"}]},{"type":"number"}]}}},"JB":{"type":"object","title":"Attack Damage","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"number","description":"UNDOCUMENTED: value","title":"Value"}},"description":"UNDOCUMENTED","examples":[{"value":0.0}]},"JD":{"title":"Range [A, B]","description":"A described range","examples":[[0.0,1.0]],"oneOf":[{"type":"number"},{"type":"array","items":[{"type":"number","title":"A","description":"The first value of the range"},{"type":"number","title":"B","description":"The second value of the range"}]},{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number","title":"Range Min","description":"The minimum value of the range"},"range_max":{"type":"number","title":"Range Max","description":"The maximum value of the range"}}}]},"JC":{"type":"object","additionalProperties":false,"title":"Attack","description":"Defines an entity's melee attack and any additional effects on it.","required":["damage"],"properties":{"damage":{"title":"Damage","$ref":"#/definitions/JD","description":"Range of the random amount of damage the melee attack deals. A negative value can heal the entity instead of hurting it."},"effect_name":{"type":"string","description":"Identifier of the status ailment to apply to an entity attacked by this entity's melee attack.","examples":["wither","hunger"],"title":"Effect Name"},"effect_duration":{"type":"number","default":1,"description":"Duration in seconds of the status ailment applied to the damaged entity.","title":"Effect Duration"}},"examples":[{"damage":1},{"damage":1,"effect_name":"example","effect_duration":1}]},"JE":{"additionalProperties":false,"type":"object","title":"Balloonable","required":[],"properties":{"mass":{"type":"number","description":"UNDOCUMENTED: mass","title":"Mass"}},"description":"UNDOCUMENTED","examples":[{"mass":0.0}]},"JF":{"type":"object","title":"Barter","description":"Enables the component to drop an item as a barter exchange.","additionalProperties":false,"properties":{"barter_table":{"type":"string","description":"Loot table that's used to drop a random item.","title":"Barter Table"},"cooldown_after_being_attacked":{"type":"integer","default":0,"description":"Duration, in seconds, for which mob won't barter items if it was hurt","title":"Cooldown After Being Attacked"}},"examples":[{"barter_table":"example","cooldown_after_being_attacked":0}]},"JG":{"title":"Block Climber","type":"object","additionalProperties":false,"description":"Allows the player to detect and manuever on the scaffolding block.","properties":{}},"JI":{"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"}]},"JH":{"type":"object","title":"Block Sensor","description":"Fires off a specified event when a block in the block list is broken within the sensor range.","additionalProperties":false,"properties":{"sensor_radius":{"title":"Sensor Radius","type":"integer","description":"The maximum radial distance in which a specified block can be detected. The biggest radius is 32.0.","minimum":0,"maximum":32},"on_break":{"title":"On Break","type":"array","description":"Blocks that will trigger the component when broken and what event will trigger.","items":{"title":"On Block Broken","type":"object","description":"Event to run when a block breaks","additionalProperties":false,"properties":{"block_list":{"title":"Block List","type":"array","description":"List of blocks that will trigger the sensor.","items":{"$ref":"#/definitions/JI","title":"Block ID"}},"on_block_broken":{"title":"On Block Broken","type":"string","description":"Event to run when a block breaks"}}}},"sources":{"title":"Sources","description":"List of sources that break the block to listen for. If none are specified, all block breaks will be detected.","type":"array","items":{"$ref":"#/definitions/BB"},"examples":[{"test":"has_silk_touch","subject":"other","value":false}]}},"examples":[{"sensor_radius":0,"on_break":[]}]},"JJ":{"type":"object","title":"Boostable","additionalProperties":false,"description":"Defines the conditions and behavior of a rideable entity's boost","properties":{"duration":{"type":"number","default":3,"description":"Time in seconds for the boost.","title":"Duration"},"speed_multiplier":{"type":"number","default":1,"description":"Factor by which the entity's normal speed increases. E.g. 2.0 means go twice as fast.","title":"Speed Multiplier"},"boost_items":{"type":"array","description":"List of items that can be used to boost while riding this entity","title":"Boost Items","items":{"type":"object","additionalProperties":false,"description":"List of items that can be used to boost while riding this entity.","properties":{"damage":{"type":"integer","default":1,"description":"This is the damage that the item will take each time it is used.","title":"Damage"},"item":{"type":"string","default":"","description":"Name of the item that can be used to boost.","title":"Item"},"replace_item":{"type":"string","default":"","description":"The item used to boost will become this item once it is used up.","title":"Replace Item"}}}}},"examples":[{"duration":3,"speed_multiplier":1,"boost_items":[]}]},"BAA":{"type":"object","title":"Boss","additionalProperties":false,"description":"The current state of the boss for updating the boss HUD","required":[],"properties":{"hud_range":{"type":"integer","default":55,"description":"The Maximum distance from the boss at which the boss's health bar is present on the players screen.","title":"Hud Range"},"name":{"type":"string","default":"","description":"The name that will be displayed above the boss's health bar.","title":"Name"},"should_darken_sky":{"type":"boolean","default":false,"description":"Whether the sky should darken in the presence of the boss.","title":"Should Darken Sky"}},"examples":[{"hud_range":55,"name":"","should_darken_sky":false}]},"BAC":{"type":"string","title":"Block Name","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"BAB":{"type":"object","title":"Break Blocks","additionalProperties":false,"description":"Specifies the blocks that this entity can break as it moves around.","required":[],"properties":{"breakable_blocks":{"type":"array","title":"Breakable Blocks","description":"A list of the blocks that can be broken as this entity moves around","items":{"$ref":"#/definitions/BAC"}}},"examples":[{"breakable_blocks":[]}]},"BAD":{"type":"object","title":"Breathable","additionalProperties":false,"description":"Defines what blocks this entity can breathe in and gives them the ability to suffocate.","required":[],"properties":{"total_supply":{"type":"integer","default":15,"description":"Time in seconds the entity can hold its breath","title":"Total Supply"},"suffocate_time":{"type":"integer","default":-20,"description":"Time in seconds between suffocation damage","title":"Suffocate Time"},"inhale_time":{"type":"number","default":0,"description":"Time in seconds to recover breath to maximum","title":"Inhale Time"},"breathes_air":{"type":"boolean","default":true,"description":"If true, this entity can breathe in air","title":"Breathes Air"},"breathes_water":{"type":"boolean","default":false,"description":"If true, this entity can breathe in water","title":"Breathes Water"},"breathes_lava":{"type":"boolean","default":false,"description":"If true, this entity can breathe in lava","title":"Breathes Lava"},"breathes_solids":{"type":"boolean","default":false,"description":"If true, this entity can breathe in solid blocks","title":"Breathes Solids"},"generates_bubbles":{"type":"boolean","default":true,"description":"If true, this entity will have visible bubbles while in water","title":"Generates Bubbles"},"breathe_blocks":{"type":"array","description":"List of blocks this entity can breathe in, in addition to the above","items":{"$ref":"#/definitions/JI"},"title":"Breathe Blocks"},"non_breathe_blocks":{"type":"array","description":"List of blocks this entity can't breathe in, in addition to the above","items":{"$ref":"#/definitions/JI"},"title":"Non Breathes Blocks"}},"examples":[{"total_supply":15,"suffocate_time":-20,"inhale_time":0,"breathes_air":true,"breathes_water":false,"breathes_lava":false,"breathes_solids":false,"generates_bubbles":true,"breathe_blocks":[],"non_breathe_blocks":[]}]},"BAE_breeds_with_spec":{"type":"object","description":"An entity definitions that this entity can breed with.","additionalItems":false,"properties":{"baby_type":{"type":"string","description":"The entity definition of this entity's babies.","title":"Baby Type"},"breed_event":{"$ref":"#/definitions/I","description":"Event to run when this entity breeds.","title":"Breed Event"},"mate_type":{"type":"string","description":"The entity definition of this entity's mate.","title":"Mate Type"}}},"BAE_enviroment_requirements":{"type":"object","description":"A nearby block requirements to get the entity into the `love` state.","properties":{"blocks":{"description":"The block types required nearby for the entity to breed.","title":"Blocks","oneOf":[{"type":"array","items":{"description":"A block type required nearby for the entity to breed.","type":"string","$ref":"#/definitions/BAC","title":"Blocks"}},{"description":"A block type required nearby for the entity to breed.","type":"string","$ref":"#/definitions/BAC","title":"Blocks"}]},"count":{"type":"number","description":"The number of the required block types nearby for the entity to breed.","title":"Count"},"radius":{"type":"number","description":"How many blocks radius from the mob's center to search in for the required blocks. Bounded between 0 and 16.","minimum":0,"title":"Radius"}},"title":"Environment Requirements"},"BAE":{"type":"object","title":"Breedable","additionalProperties":false,"description":"Defines the way an entity can get into the `love` state.","properties":{"allow_sitting":{"description":"If true, entities can breed while sitting.","type":"boolean","default":false,"title":"Allow Sitting"},"blend_attributes":{"description":"If true, the entities will blend their attributes in the offspring after they breed. For example, horses blend their health, movement, and jump_strength in their offspring.","type":"boolean","default":true,"title":"Blend Attributes"},"breed_cooldown":{"description":"Time in seconds before the Entity can breed again.","type":"number","default":60.0,"title":"Breed Cooldown"},"breed_items":{"description":"The list of items that can be used to get the entity into the `love` state","title":"Breed Items","oneOf":[{"type":"array","items":{"type":"string","description":"An item that can be used to get the entity into the `love` state","$ref":"#/definitions/H","title":"Breed Item"}},{"type":"string","$ref":"#/definitions/H"}]},"breeds_with":{"description":"The list of entity definitions that this entity can breed with.","title":"Breeds With","oneOf":[{"type":"object","$ref":"#/definitions/BAE_breeds_with_spec"},{"uniqueItems":true,"type":"array","items":{"type":"object","$ref":"#/definitions/BAE_breeds_with_spec"}}]},"deny_parents_variant":{"type":"object","description":"Determines how likely the baby of parents with the same variant will deny that variant and take a random variant within the given range instead.","additionalProperties":false,"properties":{"chance":{"type":"number","default":0,"description":"The percentage chance of denying the parents` variant.","title":"Chance"},"max_variant":{"type":"integer","default":0,"description":"The inclusive maximum of the variant range.","title":"Maximum Variant"},"min_variant":{"type":"integer","default":0,"description":"The inclusive minimum of the variant range.","title":"Minimum Variant"}},"title":"Deny Parents Variant"},"environment_requirements":{"description":"The list of nearby block requirements to get the entity into the `love` state.","oneOf":[{"type":"object","$ref":"#/definitions/BAE_enviroment_requirements"},{"type":"array","items":{"$ref":"#/definitions/BAE_enviroment_requirements"}}],"title":"Environment Requirements"},"extra_baby_chance":{"type":"number","default":0.0,"description":"Chance that up to 16 babies will spawn between 0.0 and 1.0, where 1.0 is 100%.","minimum":0.0,"maximum":1.0,"title":"Extra Baby Chance"},"love_filters":{"$ref":"#/definitions/BB","description":"The filters to run when attempting to fall in love.","title":"Love Filters"},"mutation_factor":{"type":"object","description":"Determines how likely the babies are to NOT inherit one of their parent's variances. Values are between 0.0 and 1.0, with a higher number meaning more likely to mutate.","additionalProperties":false,"properties":{"color":{"type":"number","default":0,"minimum":0.0,"maximum":1.0,"description":"The percentage chance of a mutation on the entity's color.","title":"Color"},"extra_variant":{"type":"number","default":0,"minimum":0.0,"maximum":1.0,"description":"The percentage chance of a mutation on the entity's extra variant type.","title":"Extra Variant"},"variant":{"type":"number","default":0,"minimum":0.0,"maximum":1.0,"description":"The percentage chance of a mutation on the entity's variant type.","title":"Variant"}},"title":"Mutation Factor"},"causes_pregnancy":{"type":"boolean","default":false,"description":"If true, the entity will become pregnant instead of spawning a baby.","title":"Causes Pregnancy"},"inherit_tamed":{"type":"boolean","default":true,"description":"If true, the babies will be automatically tamed if its parents are","title":"Inherit Tamed"},"require_full_health":{"type":"boolean","default":false,"description":"If true, the entity needs to be at full health before it can breed.","title":"Require Full Health"},"require_tame":{"type":"boolean","default":true,"description":"If true, the entities need to be tamed first before they can breed.","title":"Require Tame"},"transform_to_item":{"type":"string","title":"Transform To Item","description":"The feed item used will transform to this item upon successful interaction. Format: itemName:auxValue"}},"examples":[{"allow_sitting":false,"blend_attributes":true,"breed_cooldown":60.0,"deny_parents_variant":{},"extra_baby_chance":0.0,"mutation_factor":{},"causes_pregnancy":false,"inherit_tamed":true,"require_full_health":false,"require_tame":true,"transform_to_item":"example"}]},"BAF":{"type":"object","title":"Bribeable","additionalProperties":false,"description":"Specifies if/how a mob burns in daylight.","required":[],"properties":{"bribe_cooldown":{"type":"number","default":2,"description":"Time in seconds before the Entity can be bribed again","title":"Bribe Cooldown"},"bribe_items":{"type":"array","description":"The list of items that can be used to bribe the entity","items":{"description":"An item that can be used to bribe the entity","$ref":"#/definitions/H","title":"Bribe Items"},"title":"Bribe Items"}},"examples":[{"bribe_cooldown":2,"bribe_items":[]}]},"BAG":{"type":"object","title":"Buoyant","description":"Enables an entity to float on the specified liquid blocks.","additionalProperties":false,"properties":{"base_buoyancy":{"type":"number","default":0,"description":"Base buoyancy used to calculate how much will a mob float.","title":"Base Buoyancy"},"apply_gravity":{"type":"boolean","default":true,"description":"Applies gravity each tick. Causes more of a wave simulation, but will cause more gravity to be applied outside liquids.","title":"Apply Gravity"},"buoyancy":{"type":"number","default":1,"description":"Base buoyancy used to calculate how much will a mob float.","title":"Base Buoyancy"},"big_wave_probability":{"type":"number","default":0.03,"description":"Probability for a big wave hitting the entity. Only used if `simulate_waves` is true.","title":"Big Wave Probability"},"big_wave_speed":{"type":"number","default":10,"description":"Multiplier for the speed to make a big wave. Triggered depending on `big_wave_probability`.","title":"Big Wave Speed"},"drag_down_on_buoyancy_removed":{"type":"number","default":0,"description":"How much an actor will be dragged down when the Buoyancy Component is removed.","title":"Drag Down On Buoyancy Removed"},"liquid_blocks":{"type":"array","description":"List of blocks this entity can float on. Must be a liquid block.","title":"Liquid Blocks","items":{"type":"string","title":"Block ID"}},"simulate_waves":{"type":"boolean","default":true,"description":"Should the movement simulate waves going through.","title":"Simulate Waves"}},"examples":[{"base_buoyancy":0,"apply_gravity":true,"buoyancy":1,"big_wave_probability":0.03,"big_wave_speed":10,"drag_down_on_buoyancy_removed":0,"liquid_blocks":[],"simulate_waves":true}]},"BAH":{"title":"Burns In Daylight","additionalProperties":false,"description":"Specifies if/how a mob burns in daylight.","required":[],"properties":{},"oneOf":[{"type":"boolean"},{"type":"object"}]},"BAI":{"type":"object","title":"Can Climb","additionalProperties":false,"description":"Allows this entity to climb up ladders.","required":[],"properties":{}},"BAJ":{"type":"object","title":"Can Fly","additionalProperties":false,"description":"Marks the entity as being able to fly, the pathfinder won't be restricted to paths where a solid block is required underneath it.","required":[],"properties":{"value":{"type":"boolean","default":true,"description":"Marks the entity as being able to fly, the pathfinder won't be restricted to paths where a solid block is required underneath it.","title":"Value"}},"examples":[{"value":true}]},"BBA":{"type":"object","title":"Can Power Jump","additionalProperties":false,"description":"Allows the entity to power jump like the horse does in vanilla.","required":[],"properties":{}},"BBB":{"type":"object","title":"Celebrate Hunt","description":"Specifies hunt celebration behavior.","additionalProperties":false,"properties":{"broadcast":{"type":"boolean","default":true,"description":"If true, celebration will be broadcasted to other entities in the radius.","title":"Broadcast"},"celebration_targets":{"$ref":"#/definitions/BB","description":"The list of conditions that target of hunt must satisfy to initiate celebration.","title":"Celeberation Targets"},"celebrate_sound":{"type":"string","default":"","description":"The sound event to play when the mob is celebrating","title":"Celebrate Sound"},"duration":{"type":"integer","default":4,"description":"Duration, in seconds, of celebration","title":"Duration"},"radius":{"type":"number","default":16,"description":"If broadcast is enabled, specifies the radius in which it will notify other entities for celebration.","title":"Radius"},"sound_interval":{"default":0,"description":"The range of time in seconds to randomly wait before playing the sound again","title":"Sound Interval","oneOf":[{"type":"array","items":[{"type":"number","title":"Maximum"},{"type":"number","title":"Maximum"}]},{"type":"number"},{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number","title":"Minimum","description":"Minimum"},"range_max":{"type":"number","title":"Maximum","description":"Maximum"}}}]}},"examples":[{"broadcast":true,"celebrate_sound":"","duration":4,"radius":16}]},"BBC":{"type":"object","title":"Collision Box","additionalProperties":false,"description":"Sets the width and height of the Entity's collision box.","required":[],"properties":{"height":{"type":"number","default":1,"description":"Height of the collision box in blocks. A negative value will be assumed to be 0","title":"Height"},"width":{"type":"number","default":1,"description":"Width and Depth of the collision box in blocks. A negative value will be assumed to be 0","title":"Width"}},"examples":[{"height":1,"width":1}]},"BBD":{"type":"object","title":"Color","additionalProperties":false,"description":"Defines the entity's color. Only works on vanilla entities that have predefined color values (sheep, llama, shulker).","required":[],"properties":{"value":{"type":"integer","default":0,"description":"The Palette Color value of the entity","title":"Value"}},"examples":[{"value":0}]},"BBE":{"type":"object","title":"Color.0","additionalProperties":false,"description":"Defines the entity's second texture color. Only works on vanilla entities that have a second predefined color values (tropical fish).","required":[],"properties":{"value":{"type":"integer","default":0,"description":"The second Palette Color value of the entity","title":"Value"}},"examples":[{"value":0}]},"BBF":{"type":"object","title":"Combat Regeneration","description":"Gives Regeneration I and removes Mining Fatigue from the mob that kills the Actor`s attack target.","additionalProperties":false,"properties":{"apply_to_family":{"type":"boolean","default":false,"description":"Determines if the mob will grant mobs of the same type combat buffs if they kill the target.","title":"Apply To Family"},"apply_to_self":{"type":"boolean","default":false,"description":"Determines if the mob will grant itself the combat buffs if it kills the target.","title":"Apply To Self"},"regeneration_duration":{"type":"integer","default":5,"description":"The duration in seconds of Regeneration I added to the mob.","title":"Regeneration Duration"}},"examples":[{"apply_to_family":false,"apply_to_self":false,"regeneration_duration":5}]},"BBG":{"additionalProperties":false,"type":"object","title":"Conditional Bandwidth Optimization","description":"Defines the Conditional Spatial Update Bandwidth Optimizations of this entity.","properties":{"conditional_values":{"title":"Conditional Values","description":"The object containing the conditional bandwidth optimization values.","type":"array","items":{"title":"Conditional Value","description":"The object containing the conditional bandwidth optimization values.","additionalProperties":false,"type":"object","properties":{"max_dropped_ticks":{"title":"Maximum Dropped Ticks","description":"In relation to the optimization value, determines the maximum ticks spatial update packets can be not sent.","type":"integer"},"max_optimized_distance":{"title":"Maximum Optimized Distance","description":"The maximum distance considered during bandwidth optimizations. Any value below the Maximum is interpolated to find optimization, and any value greater than or equal to this Maximum results in Maximum optimization.","type":"number"},"use_motion_prediction_hints":{"title":"Use Motion Prediction Hints","description":"When set to true, smaller motion packets will be sent during drop packet intervals, resulting in the same amount of packets being sent as without optimizations but with much less data being sent. This should be used when actors are travelling very quickly or teleporting to prevent visual oddities.","type":"boolean"},"conditional_values":{"title":"Conditional Values","description":"Conditions that must be met for these optimization values to be used.","type":"array","items":{"$ref":"#/definitions/BB"}}}}},"default_values":{"title":"Default Values","description":"The object containing the default bandwidth optimization values.","type":"object","additionalProperties":false,"properties":{"max_dropped_ticks":{"title":"Maximum Dropped Ticks","description":"In relation to the optimization value, determines the maximum ticks spatial update packets can be not sent.","type":"integer"},"max_optimized_distance":{"title":"Maximum Optimized Distance","description":"The maximum distance considered during bandwidth optimizations. Any value below the Maximum is interpolated to find optimization, and any value greater than or equal to this Maximum results in Maximum optimization.","type":"number"},"use_motion_prediction_hints":{"title":"Use Motion Prediction Hints","description":"When set to true, smaller motion packets will be sent during drop packet intervals, resulting in the same amount of packets being sent as without optimizations but with much less data being sent. This should be used when actors are travelling very quickly or teleporting to prevent visual oddities.","type":"boolean"}}}},"examples":[{"conditional_values":[],"default_values":{}}]},"BBH":{"type":"object","title":"Custom Hit Test","description":"List of hitboxes for melee and ranged hits against the entity.","additionalProperties":false,"properties":{"hitboxes":{"type":"array","title":"Hitboxes","description":"Defines a hitbox size and pivot to test against.","items":{"type":"object","title":"Hitbox","description":"Defines a hitbox size and pivot to test against.","additionalProperties":false,"properties":{"width":{"type":"number","title":"Width","description":"Height of the hitbox in blocks. A negative value will be assumed to be 0."},"height":{"type":"number","title":"Height","description":"Width and Depth of the hitbox in blocks. A negative value will be assumed to be 0."},"pivot":{"type":"array","title":"Pivot","description":"The offset from the entity's anchor where the hitbox will spawn","items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]}}}}},"examples":[{"hitboxes":[{"width":1,"height":1,"pivot":[0,1,0]}]}]},"BBI":{"type":"object","title":"Damage Over Time","additionalProperties":false,"description":"Applies defined amount of damage to the entity at specified intervals.","required":[],"properties":{"damage_per_hurt":{"type":"integer","default":1,"description":"Amount of damage caused each hurt.","title":"Damage Per Hurt"},"time_between_hurt":{"type":"number","default":0,"description":"Time in seconds between damage.","title":"Time Between Hurt"}},"examples":[{"damage_per_hurt":1,"time_between_hurt":0}]},"BBJ_triggers":{"title":"Triggers","description":"List of triggers with the events to call when taking specific kinds of damage.","type":"object","additionalProperties":false,"properties":{"cause":{"type":"string","default":"none","description":"Type of damage that triggers the events.","title":"Cause","$ref":"#/definitions/CB"},"damage_modifier":{"title":"Damage Modifier","type":"number","default":0.0,"description":"A modifier that adds to/removes from the base damage from the damage cause. It does not reduce damage to less than 0."},"damage_multiplier":{"type":"number","default":1,"description":"A multiplier that modifies the base damage from the damage cause. If deals_damage is true the multiplier can only reduce the damage the entity will take to a minimum of 1.","title":"Damage Multiplier"},"deals_damage":{"type":"boolean","default":true,"description":"If true, the damage dealt to the entity will take away health from it, set to false to make the entity ignore that damage.","title":"Deals Damage"},"on_damage":{"type":"object","description":"Specifies filters for entity definitions and events.","title":"On Damage","$ref":"#/definitions/JA"},"on_damage_sound_event":{"type":"string","description":"Defines what sound to play, if any, when the on_damage filters are met.","title":"On Damage Sound Event"}}},"BBJ":{"title":"Damage Sensor","description":"Defines what events to call when this entity is damaged by specific entities or items.","type":"object","additionalProperties":false,"examples":[{"triggers":[{"cause":"all","deals_damage":false}]},{"triggers":[{"on_damage":{"filters":{"test":"has_damage","subject":"self","value":"fatal"}},"deals_damage":false}]}],"properties":{"triggers":{"title":"Triggers","description":"The list of triggers that fire when the environment conditions match the given filter criteria.","examples":[[{"cause":"all","deals_damage":false}]],"oneOf":[{"type":"array","items":{"$ref":"#/definitions/BBJ_triggers"}},{"type":"object","$ref":"#/definitions/BBJ_triggers"}]}}},"BCA":{"type":"object","title":"Default Look Angle","additionalProperties":false,"description":"Sets this entity's default head rotation angle.","required":[],"properties":{"value":{"type":"number","default":0.0,"description":"Angle in degrees","title":"Value"}},"examples":[{"value":0.0}]},"BCB":{"type":"object","title":"Despawn","description":"Despawns the Actor when the despawn rules or optional filters evaluate to true.","additionalProperties":false,"properties":{"despawn_from_chance":{"type":"boolean","default":true,"description":"Determines if `min_range_random_chance` is used in the standard despawn rules","title":"Despawn From Chance"},"despawn_from_distance":{"type":"object","additionalProperties":false,"description":"Defines the minimum and maximum distance for despawn to occur.","title":"Despawn From Distance","properties":{"max_distance":{"type":"integer","default":128,"description":"Maximum distance for standard despawn rules to instantly despawn the mob.","title":"Maximum Distance"},"min_distance":{"type":"integer","default":32,"description":"Minimum distance for standard despawn rules to try to despawn the mob.","title":"Minimum Distance"}}},"despawn_from_inactivity":{"type":"boolean","default":true,"description":"Determines if the `min_range_inactivity_timer` is used in the standard despawn rules.","title":"Despawn From Inactivity"},"despawn_from_simulation_edge":{"type":"boolean","default":true,"description":"Determines if the mob is instantly despawned at the edge of simulation distance in the standard despawn rules.","title":"Despawn From Simulation Edge"},"filters":{"$ref":"#/definitions/BB","description":"The list of conditions that must be satisfied before the Actor is despawned. If a filter is defined then standard despawn rules are ignored."},"min_range_inactivity_timer":{"type":"integer","default":30,"description":"The amount of time in seconds that the mob must be inactive.","title":"Minimum Range Inactivity Timer"},"min_range_random_chance":{"type":"integer","default":800,"description":"A random chance between 1 and the given value.","title":"Minimum Range Random Chance"},"remove_child_entities":{"type":"boolean","default":false,"description":"If true, all entities linked to this entity in a child relationship (eg. leashed) will also be despawned.","title":"Remove Child Entities"}},"examples":[{"despawn_from_chance":true,"despawn_from_distance":{},"despawn_from_inactivity":true,"despawn_from_simulation_edge":true,"min_range_inactivity_timer":30,"min_range_random_chance":800,"remove_child_entities":false}]},"BCC":{"type":"object","title":"Drying Out Timer","description":"Adds a timer for drying out that will count down and fire `dried_out_event` or will stop as soon as the entity will get under rain or water and fire `stopped_drying_out_event`","additionalProperties":false,"properties":{"dried_out_event":{"$ref":"#/definitions/I","description":"Event to fire when the drying out time runs out.","title":"Dried Out Event"},"recover_after_dried_out_event":{"$ref":"#/definitions/I","description":"Event to fire when entity was already dried out but received increase in water supply.","title":"Recover After Dried Out Event"},"stopped_drying_out_event":{"$ref":"#/definitions/I","description":"Event to fire when entity stopped drying out, for example got into water or under rain.","title":"Stopped Drying Out Event"},"total_time":{"type":"number","default":0,"description":"Amount of time in seconds to dry out fully.","title":"Total Time"},"water_bottle_refill_time":{"type":"number","default":0,"description":"Optional amount of additional time in seconds given by using splash water bottle on entity.","title":"Water Bottle Refill Time"}},"examples":[{"total_time":0,"water_bottle_refill_time":0}]},"BCD":{"type":"object","title":"Dweller","description":"Allows a mob to join and migrate between villages and other dwellings.","additionalProperties":false,"properties":{"dwelling_type":{"type":"string","title":"Dwelling Type","description":"The type of dwelling the mob wishes to join. Current Types: village","enum":["village"]},"dweller_role":{"type":"string","title":"Dwelling Role","description":"The role of which the mob plays in the dwelling. Current Roles: inhabitant, defender, hostile, passive.","enum":["inhabitant","defender","hostile","passive"]},"update_interval_base":{"type":"number","title":"Update Interval Base","description":"How often the mob checks on their dwelling status in ticks. Positive values only.","minimum":0},"update_interval_variant":{"type":"number","title":"Update Interval Variant","description":"The variant value in ticks that will be added to the update_interval_base."},"can_find_poi":{"type":"boolean","title":"Can Find Poi","description":"Whether or not the mob can find and add POI's to the dwelling."},"first_founding_reward":{"type":"integer","title":"First Founding Reward","description":"How much reputation should the players be rewarded on first founding?"},"can_migrate":{"type":"boolean","title":"Can Migrate","description":"Can this mob migrate between dwellings? Or does it only have its initial dwelling?"},"dwelling_bounds_tolerance":{"title":"Dwelling Bounds Tolerance","type":"number","description":"A padding distance for checking if the mob is within the dwelling."},"preferred_profession":{"type":"string","title":"Preferred Profession","description":"Allows the user to define a starting profession for this particular Dweller, instead of letting them choose organically. (They still need to gain experience from trading before this takes effect.)"}},"examples":[{"dwelling_type":"village","dweller_role":"inhabitant","update_interval_base":0,"update_interval_variant":0,"preferred_profession":"example","can_find_poi":true,"can_migrate":true,"first_founding_reward":0}]},"BCE":{"type":"object","title":"Economy Trade Table","additionalProperties":false,"description":"Defines this entity's ability to trade with players.","required":[],"properties":{"convert_trades_economy":{"type":"boolean","default":false,"description":"Determines when the mob transforms, if the trades should be converted when the new mob has a economy_trade_table. When the trades are converted, the mob will generate a new trade list with their new trade table, but then it will try to convert any of the same trades over to have the same enchantments and user data. For example, if the original has a Emerald to Enchanted Iron Sword (Sharpness 1), and the new trade also has an Emerald for Enchanted Iron Sword, then the enchantment will be Sharpness 1.","title":"Convert Trades Economy"},"cured_discount":{"type":"array","default":[-5,-20],"description":"How much should the discount be modified by when the player has cured the Zombie Villager. Can be specified as a pair of numbers (low-tier trade discount and high-tier trade discount)","title":"Cured Discount","items":[{"type":"integer","title":"A","description":"Minimum"},{"type":"integer","title":"B","description":"Maximum"}]},"display_name":{"type":"string","default":"","description":"Name to be displayed while trading with this entity","title":"Display Name"},"hero_demand_discount":{"type":"integer","default":-4,"description":"Used in legacy prices to determine how much should Demand be modified by when the player has the Hero of the Village mob effect","title":"Hero Demand Discount"},"max_cured_discount":{"type":"array","default":[-25,-63],"description":"The Maximum the discount can be modified by when the player has cured the Zombie Villager. Can be specified as a pair of numbers (low-tier trade discount and high-tier trade discount)","title":"Maximum Cured Discount","items":[{"type":"integer","title":"A","description":"Minimum"},{"type":"integer","title":"B","description":"Maximum"}]},"max_nearby_cured_discount":{"type":"integer","default":-200,"description":"The Maximum the discount can be modified by when the player has cured a nearby Zombie Villager","title":"Maximum Nearby Cured Discount"},"nearby_cured_discount":{"type":"integer","default":-25,"description":"How much should the discount be modified by when the player has cured a nearby Zombie Villager","title":"Nearby Cured Discount"},"new_screen":{"type":"boolean","default":false,"description":"Used to determine if trading with entity opens the new trade screen","title":"New Screen"},"persist_trades":{"type":"boolean","default":false,"description":"Determines if the trades should persist when the mob transforms. This makes it so that the next time the mob is transformed to something with a trade_table or economy_trade_table, then it keeps their trades.","title":"Persist Trades"},"show_trade_screen":{"type":"boolean","default":true,"description":"Show an in game trade screen when interacting with the mob.","title":"Show Trade Screen"},"table":{"type":"string","default":"","description":"File path relative to the resource pack root for this entity's trades","title":"Table"},"use_legacy_price_formula":{"type":"boolean","default":false,"description":"Determines whether the legacy formula is used to determines the trade prices.","title":"Use Legacy Price Formula"}},"examples":[{"convert_trades_economy":false,"cured_discount":[],"display_name":"","hero_demand_discount":-4,"max_cured_discount":[],"max_nearby_cured_discount":-200,"nearby_cured_discount":-25,"new_screen":false,"persist_trades":false,"show_trade_screen":true,"table":"","use_legacy_price_formula":false}]},"BCF":{"type":"object","title":"Entity Sensor","description":"A component that fires an event when a set of conditions are met by other entities within the defined range.","additionalProperties":false,"properties":{"maximum_count":{"type":"integer","default":-1,"description":"The maximum number of entities that must pass the filter conditions for the event to send.","title":"Maximum Count"},"minimum_count":{"type":"integer","default":1,"description":"The minimum number of entities that must pass the filter conditions for the event to send.","title":"Minimum Count"},"relative_range":{"type":"boolean","default":true,"description":"If true the sensor range is additive on top of the entity's size.","title":"Relative Range"},"require_all":{"type":"boolean","default":false,"description":"If true requires all nearby entities to pass the filter conditions for the event to send.","title":"Require All"},"sensor_range":{"type":"number","default":10,"description":"The maximum distance another entity can be from this and have the filters checked against it.","title":"Sensor Range"},"event_filters":{"$ref":"#/definitions/BB"},"event":{"title":"Event","description":"event","type":"string"}},"examples":[{"maximum_count":-1,"minimum_count":1,"relative_range":true,"require_all":false,"sensor_range":10,"event":"example"}]},"BCG_trigger":{"$ref":"#/definitions/JA"},"BCG":{"title":"Environment Sensor","description":"Creates a trigger based on environment conditions.","type":"object","additionalProperties":false,"examples":[{"triggers":[{"event":"self:example","target":"self","filters":{"test":"has_tag","value":"example"}}]}],"properties":{"triggers":{"description":"The list of triggers that fire when the environment conditions match the given filter criteria.","title":"Triggers","oneOf":[{"type":"array","items":{"$ref":"#/definitions/BCG_trigger"}},{"type":"object","$ref":"#/definitions/BCG_trigger"}]}}},"BCH":{"type":"object","title":"Equip Item","description":"The entity puts on the desired equipment.","additionalProperties":false,"properties":{}},"BCJ":{"description":"A minecraft loot_table identifier","examples":["loot_tables/"],"pattern":"^loot_tables/.*\\.json$","title":"Loot Table Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"loot_tables/$1.json"}]},"BCI":{"type":"object","title":"Equipment","description":"Sets the equipment table to use for the entity.","additionalProperties":false,"properties":{"slot_drop_chance":{"type":"array","description":"A list of slots with the chance to drop an equipped item from that slot.","title":"Slot Drop Chance","items":{"additionalProperties":false,"title":"Slot Drop Chance","description":"A slots with the chance to drop an equipped item from that slot.","type":"object","properties":{"drop_chance":{"type":"number","title":"Drop Chance","description":"The chance that the item in this slot will drop","$comment":"UNDOCUMENTED"},"slot":{"type":"string","title":"Slot","description":"The slot in which the item will drop from","$comment":"UNDOCUMENTED","examples":["slot.weapon.mainhand"]}}}},"table":{"title":"Table","description":"The file path to the equipment table, relative to the behavior pack's root.","$ref":"#/definitions/BCJ"}},"examples":[{"slot_drop_chance":[]}]},"BDA":{"type":"object","title":"Equippable","additionalProperties":false,"description":"Defines an entity's behavior for having items equipped to it.","properties":{"slots":{"description":"List of slots and the item that can be equipped","type":"array","title":"Slots","items":{"description":"A slot and the item that can be equipped","title":"Slots","type":"object","properties":{"slot":{"type":"integer","default":0,"description":"The slot number of this slot.","title":"Slot"},"accepted_items":{"type":"array","description":"The list of items that can go in this slot.","title":"Accepted Items","items":{"type":"string","description":"A item name","$ref":"#/definitions/H","title":"Accepted Items"}},"item":{"$ref":"#/definitions/H","description":"Identifier of the item that can be equipped for this slot.","title":"Item"},"interact_text":{"type":"string","description":"Text to be displayed when the entity can be equipped with this item when playing with Touch-screen controls.","title":"Interact Text"},"on_equip":{"$ref":"#/definitions/I","description":"Event to trigger when this entity is equipped with this item.","title":"On Equip"},"on_unequip":{"$ref":"#/definitions/I","description":"Event to trigger when this item is removed from this entity.","title":"On Unequip"}}}}},"examples":[{"slots":[]}]},"BDB":{"type":"object","title":"Exhaustion Values","additionalProperties":false,"description":"Defines an entity's behavior for having items equipped to it.","properties":{"attack":{"title":"Attack","type":"number","default":0.1,"description":"Amount of exhaustion applied when attacking."},"damage":{"title":"Damage","type":"number","default":0.1,"description":"Amount of exhaustion applied when taking damage."},"heal":{"title":"Heal","type":"number","default":6,"description":"Amount of exhaustion applied when healed through food regeneration."},"jump":{"title":"Jump","type":"number","default":0.05,"description":"Amount of exhaustion applied when jumping."},"mine":{"title":"Mine","type":"number","default":0.005,"description":"Amount of exhaustion applied when mining."},"sprint":{"title":"Sprint","type":"number","default":0.01,"description":"Amount of exhaustion applied when sprinting."},"sprint_jump":{"title":"Sprint Jump","type":"number","default":0.2,"description":"Amount of exhaustion applied when sprint jumping."},"swim":{"title":"Swim","type":"number","default":0.01,"description":"Amount of exhaustion applied when swimming."},"walk":{"title":"Walk","type":"number","default":0,"description":"Amount of exhaustion applied when walking."}},"examples":[{"heal":6,"jump":0.05,"sprint_jump":0.2,"mine":0.005,"attack":0.1,"damage":0.1,"walk":0.0,"sprint":0.01,"swim":0.01}]},"BDC":{"type":"object","title":"Experience Reward","description":"Defines the amount of experience rewarded when the entity dies or is successfully bred.","additionalProperties":false,"properties":{"on_bred":{"type":["string","number"],"default":0,"description":"A molang expression defining the amount of experience rewarded when this entity is successfully bred. An array of expressions adds each expression's result together for a final total.","title":"On Bred"},"on_death":{"type":["string","number"],"default":0,"description":"A molang expression defining the amount of experience rewarded when this entity dies. An array of expressions adds each expression's result together for a final total.","title":"On Death"}},"examples":[{"on_bred":0,"on_death":0}]},"BDD":{"type":"object","title":"Explode","additionalProperties":false,"description":"Defines how the entity explodes.","properties":{"breaks_blocks":{"type":"boolean","default":true,"description":"If true, the explosion will destroy blocks in the explosion radius.","title":"Breaks Blocks"},"causes_fire":{"type":"boolean","default":false,"description":"If true, blocks in the explosion radius will be set on fire.","title":"Causes Fire"},"destroy_affected_by_griefing":{"type":"boolean","default":false,"description":"If true, whether the explosion breaks blocks is affected by the mob griefing game rule.","title":"Destroy Affected By Griefing"},"fire_affected_by_griefing":{"type":"boolean","default":false,"description":"If true, whether the explosion causes fire is affected by the mob griefing game rule.","title":"Fire Affected By Griefing"},"fuse_length":{"default":[0.0,0.0],"description":"The range for the random amount of time the fuse will be lit before exploding, a negative value means the explosion will be immediate.","title":"Fuse Length","oneOf":[{"type":"array","items":[{"type":"number"},{"type":"number"}]},{"type":"number"}]},"fuse_lit":{"type":"boolean","default":false,"description":"If true, the fuse is already lit when this component is added to the entity.","title":"Fuse Lit"},"max_resistance":{"type":"number","description":"A blocks explosion resistance will be capped at this value when an explosion occurs.","title":"Maximum Resistance"},"power":{"type":"number","default":3,"description":"The radius of the explosion in blocks and the amount of damage the explosion deals.","title":"Power"}},"examples":[{"breaks_blocks":true,"causes_fire":false,"destroy_affected_by_griefing":false,"fire_affected_by_griefing":false,"fuse_lit":false,"max_resistance":0.0,"power":3}]},"BDE":{"type":"object","title":"Fall Damage","additionalProperties":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":[],"properties":{"value":{"type":"number","default":1,"description":"UNDOCUMENTED: value","title":"Value"}},"examples":[{"value":1}]},"BDF":{"title":"Fire Immune","additionalProperties":false,"description":"Sets that this entity doesn't take damage from fire.","type":"object","required":[],"properties":{}},"BDG":{"description":"Sets that this entity can float in liquid blocks.","type":"object","title":"Floats In Liquid","additionalProperties":false,"required":[],"properties":{}},"BDH":{"type":"object","title":"Flocking","description":"Allows entities to flock in groups in water or not.","additionalProperties":false,"properties":{"block_distance":{"type":"number","default":0,"description":"The amount of blocks away the entity will look at to push away from.","title":"Block Distance"},"block_weight":{"type":"number","default":0,"description":"The weight of the push back away from blocks.","title":"Block Weight"},"breach_influence":{"type":"number","default":0,"description":"The amount of push back given to a flocker that breaches out of the water.","title":"Breach Influence"},"cohesion_threshold":{"type":"number","default":1,"description":"The threshold in which to start applying cohesion.","title":"Cohesion Threshold"},"cohesion_weight":{"type":"number","default":1,"description":"The weight applied for the cohesion steering of the flock.","title":"Cohesion Weight"},"goal_weight":{"type":"number","default":0,"description":"The weight on which to apply on the goal output.","title":"Goal Weight"},"high_flock_limit":{"type":"integer","default":0,"description":"Determines the high bound amount of entities that can be allowed in the flock.","title":"High Flock Limit"},"in_water":{"type":"boolean","default":false,"description":"Tells the Flocking Component if the entity exists in water.","title":"In Water"},"influence_radius":{"type":"number","default":0,"description":"The area around the entity that allows others to be added to the flock.","title":"Influence Radius"},"innner_cohesion_threshold":{"type":"number","default":0,"description":"The distance in which the flocker will stop applying cohesion.","title":"Innner Cohesion Threshold"},"loner_chance":{"type":"number","default":0,"description":"The percentage chance between 0-1 that a fish will spawn and not want to join flocks. Invalid values will be capped at the end points.","title":"Loner Chance"},"low_flock_limit":{"type":"integer","default":0,"description":"Determines the low bound amount of entities that can be allowed in the flock.","title":"Low Flock Limit"},"match_variants":{"type":"boolean","default":false,"description":"Tells the flockers that they can only match similar entities that also match the variant, mark variants, and color data of the other potential flockers.","title":"Match Variants"},"max_height":{"type":"number","default":0,"description":"The Maximum height allowable in the air or water.","title":"Maximum Height"},"min_height":{"type":"number","default":0,"description":"The Minimum height allowable in the air or water.","title":"Minimum Height"},"separation_threshold":{"type":"number","default":2,"description":"The distance that is determined to be to close to another flocking and to start applying separation.","title":"Separation Threshold"},"separation_weight":{"type":"number","default":1,"description":"The weight applied to the separation of the flock.","title":"Separation Weight"},"use_center_of_mass":{"type":"boolean","default":false,"description":"Tells the flockers that they will follow flocks based on the center of mass.","title":"Use Center Of Mass"}},"examples":[{"block_distance":0,"block_weight":0,"breach_influence":0,"cohesion_threshold":1,"cohesion_weight":1,"goal_weight":0,"high_flock_limit":0,"in_water":false,"influence_radius":0,"innner_cohesion_threshold":0,"loner_chance":0,"low_flock_limit":0,"match_variants":false,"max_height":0,"min_height":0,"separation_threshold":2,"separation_weight":1,"use_center_of_mass":false}]},"BDI":{"type":"object","title":"Flying Speed","additionalProperties":false,"description":"Speed in Blocks that this entity flies at.","required":[],"properties":{"value":{"type":"number","default":0.02,"description":"Flying speed in blocks per tick","title":"Value"}},"examples":[{"value":0.02}]},"BDJ":{"type":"object","title":"Follow Range","additionalProperties":false,"required":[],"properties":{"value":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Value"},"max":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Max"}},"description":"UNDOCUMENTED","examples":[{"value":0,"max":0}]},"BEA":{"type":"object","title":"Friction Modifier","additionalProperties":false,"description":"Defines how much does friction affect this entity.","required":[],"properties":{"value":{"type":"number","default":1.0,"description":"The higher the number, the more the friction affects this entity. A value of 1.0 means regular friction, while 2.0 means twice as much","title":"Value"}},"examples":[{"value":1.0}]},"BEB_integer_range":{"title":"Range","examples":[-1,{"range_min":4,"range_max":7}],"oneOf":[{"type":"integer"},{"type":"object","properties":{"range_min":{"type":"integer","default":0,"description":"Lower bound of the vaues.","title":"Range Minimum"},"range_max":{"type":"integer","default":0,"description":"Upper bound of the vaues.","title":"Range Maximum"}}}]},"BEB":{"type":"object","title":"Genetics","additionalProperties":false,"description":"Defines the way a mob's genes and alleles are passed on to it's offspring, and how those traits manifest in the child. Compatible parent genes are crossed together, the alleles are handed down from the parents to the child, and any matching genetic variants fire off JSON events to modify the child and express the traits.","required":[],"properties":{"mutation_rate":{"type":"number","description":"Chance that an allele will be replaced with a random one instead of the parent's allele during birth.","title":"Mutation Rate","default":0.03125},"genes":{"title":"Genes","type":"array","description":"The list of genes that this entity has and will cross with a partner during breeding.","items":{"type":"object","description":"The list of genes that this entity has and will cross with a partner during breeding.","title":"Gene","properties":{"allele_range":{"title":"Allele Range","description":"The range of positive integer allele values for this gene. Spawned mobs will have a random number in this range assigned to them.","$ref":"#/definitions/BEB_integer_range"},"genetic_variants":{"title":"Genetic Variants","type":"array","description":"The list of genetic variants for this gene. These check for particular allele combinations and fire events when all of them are satisfied.","items":{"title":"Genetic Variants","description":"The genetic variant for this gene. These check for particular allele combinations and fire events when all of them are satisfied.","type":"object","properties":{"birth_event":{"$ref":"#/definitions/I","description":"Event to run when this mob is created and matches the above allele conditions.","title":"Brith Event"},"both_allele":{"title":"Both Allele","default":-1,"description":"If this value is non-negative, compare both the mob's main and hidden alleles with this value for a match with both. Can also be a range of integers.","$ref":"#/definitions/BEB_integer_range"},"either_allele":{"title":"Either Allele","type":"integer","default":-1,"description":"If this value is non-negative, compare both the mob's main and hidden alleles with this value for a match with either. Can also be a range of integers."},"hidden_allele":{"title":"Hidden Allele","type":"integer","default":-1,"description":"If this value is non-negative, compare the mob's hidden allele with this value for a match. Can also be a range of integers."},"main_allele":{"title":"Main Allele","default":-1,"description":"If this value is non-negative, compare the mob's main allele with this value for a match. Can also be a range of integers.","$ref":"#/definitions/BEB_integer_range"},"mutation_rate":{"title":"Mutation Rate","type":"number","default":-1,"description":"If this value is non-negative, overrides the chance for this gene that an allele will be replaced with a random one instead of the parent's allele during birth. Non-negative values greater than 1 will be the same as the value 1."}}}},"name":{"title":"Name","type":"string","description":"The name of the gene."}}}}},"examples":[{"mutation_rate":0.0,"genes":[]}]},"BEC":{"additionalProperties":false,"description":"Defines sets of items that can be used to trigger events when used on this entity. The item will also be taken and placed in the entity's inventory.","type":"object","title":"Giveable","properties":{"triggers":{"description":"Defines sets of items that can be used to trigger events when used on this entity. The item will also be taken and placed in the entity's inventory.","title":"Triggers","type":"object","additionalProperties":false,"properties":{"cooldown":{"type":"number","default":0.0,"description":"An optional cool down in seconds to prevent spamming interactions.","title":"Cooldown"},"items":{"type":"array","title":"Properties","description":"The list of items that can be given to the entity to place in their inventory.","items":{"description":"An items that can be given to the entity to place in their inventory.","$ref":"#/definitions/H","title":"Properties"}},"on_give":{"$ref":"#/definitions/I","description":"Event to fire when the correct item is given.","title":"On Give"}}}},"examples":[{"triggers":{}}]},"BED":{"type":"object","title":"Ground Offset","additionalProperties":false,"description":"Sets the offset from the ground that the entity is actually at.","required":[],"properties":{"value":{"type":"number","default":0.0,"description":"The value of the entity's offset from the terrain, in blocks","title":"Value"}},"examples":[{"value":0.0}]},"BEE":{"type":"object","title":"Group Size","description":"Keeps track of entity group size in the given radius.","additionalProperties":false,"properties":{"filters":{"$ref":"#/definitions/BB","description":"The list of conditions that must be satisfied for other entities to be counted towards group size."},"radius":{"type":"number","default":16,"description":"Radius from center of entity.","title":"Radius"}},"examples":[{"radius":16}]},"BEF":{"type":"object","title":"Grows Crop","description":"Could increase crop growth when entity walks over crop.","additionalProperties":false,"properties":{"chance":{"type":"number","default":0,"description":"Value between 0-1. Chance of success per tick.","minimum":0,"maximum":1,"title":"Chance"},"charges":{"type":"integer","default":10,"description":"Number of charges","title":"Charges"}},"examples":[{"chance":0,"charges":10}]},"BEG":{"description":"Defines the interactions with this entity for healing it.","type":"object","title":"Healable","additionalProperties":false,"required":[],"properties":{"filters":{"$ref":"#/definitions/BB"},"force_use":{"type":"boolean","default":false,"description":"Determines if item can be used regardless of entity being at full health","title":"Force Use"},"items":{"description":"The array of items that can be used to heal this entity","title":"Items","type":"array","items":{"type":"object","properties":{"filters":{"$ref":"#/definitions/BB","description":"The filter group that defines the conditions for using this item to heal the entity"},"heal_amount":{"type":"integer","default":1,"description":"The amount of health this entity gains when fed this item","title":"Heal Amount"},"item":{"type":"string","description":"Item identifier that can be used to heal this entity","title":"Item"}}}}},"examples":[{"force_use":false,"items":[]}]},"BEH":{"description":"Sets the amount of health this mob has","$comment":"UNDOCUMENTED","type":"object","title":"Health","additionalProperties":false,"required":[],"properties":{"max":{"type":"integer","description":"The maximum health the entity can heal","title":"Maximum"},"value":{"description":"Current health of the entity","title":"Value","oneOf":[{"type":"integer","default":1},{"type":"object","additionalProperties":false,"required":["range_min","range_max"],"properties":{"range_min":{"title":"Range Minimum","description":"The minimum amount of health this mob could have","$comment":"UNDOCUMENTED","type":"number"},"range_max":{"title":"Range Maximum","description":"The maximum amount of health this mob could have","$comment":"UNDOCUMENTED","type":"number"}}}]}},"examples":[{"value":1,"max":0}]},"BEJ":{"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"}]},"BEI":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","title":"Health","additionalProperties":false,"required":[],"properties":{"interval":{"title":"Interval","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/BEJ"}},"examples":[{}]},"BFA":{"type":"object","title":"Hide","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{}},"BFB":{"type":"object","title":"Home","description":"Saves a home pos for when the the entity is spawned.","additionalProperties":false,"properties":{"restriction_radius":{"title":"Restriction Radius","description":"The radius that the entity will be restricted to in relation to its home","type":"integer","default":-1},"home_block_list":{"title":"Home Block List","description":"Optional block list that the home position will be associated with. If any of the blocks no longer exist at that position, the home restriction is removed. Example syntax: minecraft:sand. Not supported: minecraft:sand:1","type":"array","items":{"title":"Home Block","description":"Optional block that the home position will be associated with. If any of the blocks no longer exist at that position, the home restriction is removed. Example syntax: minecraft:sand. Not supported: minecraft:sand:1","type":"string","$ref":"#/definitions/H"}}},"examples":[{"restriction_radius":-1,"home_block_list":[]}]},"BFC":{"type":"object","title":"Horse.jump Strength","additionalProperties":false,"description":"Allows this mob to jump higher when being ridden by a player","$comment":"UNDOCUMENTED","properties":{"value":{"description":"The multiplier to apply to the jumping height","$comment":"UNDOCUMENTED","title":"Value","oneOf":[{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number"},"range_max":{"type":"number"}}},{"type":"number"}]}}},"BFD":{"type":"object","title":"Hurt On Condition","description":"Defines a set of conditions under which an entity should take damage.","additionalProperties":false,"properties":{"damage_conditions":{"type":"array","title":"Damage Conditions","description":"An array of conditions used to compare the event to.","items":{"type":"object","title":"Damage Condition","description":"A condition used to compare the event to.","additionalProperties":false,"properties":{"filters":{"$ref":"#/definitions/BB"},"cause":{"type":"string","title":"Cause","description":"Damage cause","$ref":"#/definitions/CB"},"damage_per_tick":{"type":"integer","title":"Damage Per Tick","description":"Amount of damage done each tick that the conditions are met."}}}}},"examples":[{"damage_conditions":[]}]},"BFE":{"type":"object","title":"Hurt When Wet","additionalProperties":false,"required":[],"properties":{},"description":"Specifies if an actor is hurt when wet."},"BFF":{"description":"When configured as a rideable entity, the entity will be controlled using WASD controls.","type":"object","title":"Input Ground Controlled","additionalProperties":false,"required":[],"properties":{}},"BFH":{"title":"Block","type":"object","additionalProperties":false,"properties":{"name":{"title":"Name","description":"The block id, for example: `minecraft:air'","type":"string"},"states":{"title":"States","description":"The block states","type":"object","additionalProperties":{"title":"State","description":"A single state of a block","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}}},"BFG":{"type":"object","title":"Inside Block Notifier","additionalProperties":false,"description":"Verifies whether the entity is inside any of the listed blocks.","required":[],"properties":{"block_list":{"title":"Block List","description":"List of blocks, with certain block states, that we are monitoring to see if the entity is inside.","type":"array","items":{"title":"Block","description":"A of block, with certain block states, that we are monitoring to see if the entity is inside.","type":"object","additionalProperties":false,"properties":{"block":{"$ref":"#/definitions/BFH"},"entered_block_event":{"title":"Entered Block Event","description":"Event to run when this mob enters a valid block","$comment":"UNDOCUMENTED","$ref":"#/definitions/I"},"exited_block_event":{"title":"Exited Block Event","description":"Event to run when this mob leaves a valid block","$comment":"UNDOCUMENTED","$ref":"#/definitions/I"}}}}},"examples":[{"block_list":[]}]},"BFI":{"description":"Adds a timer since last rested to see if phantoms should spawn.","type":"object","title":"Insomnia","additionalProperties":false,"required":[],"properties":{"days_until_insomnia":{"type":"number","default":3,"description":"Number of days the mob has to stay up until the insomnia effect begins.","title":"Days Until Insomnia"}},"examples":[{"days_until_insomnia":3}]},"BFJ":{"type":"object","title":"Instant Despawn","description":"Despawns the Actor immediately.","additionalProperties":false,"properties":{"remove_child_entities":{"type":"boolean","default":false,"description":"If true, all entities linked to this entity in a child relationship (eg. leashed) will also be despawned.","title":"Remove Child Entities"}},"examples":[{"remove_child_entities":false}]},"BGA_interaction_spec":{"type":"object","additionalProperties":false,"properties":{"add_items":{"title":"Add Items","type":"object","description":"Loot table with items to add to the player's inventory upon successful interaction.","additionalProperties":false,"properties":{"table":{"type":"string","$ref":"#/definitions/BCJ","description":"File path, relative to the Behavior Pack's path, to the loot table file.","title":"Table"}}},"cooldown":{"title":"Cooldown","type":"number","default":0,"description":"Time in seconds before this entity can be interacted with again."},"admire":{"title":"Admire","type":"boolean","default":false,"description":"Allows entity to admire the item. Requires \"minecraft:admire_item\" and \"minecraft:behavior.admire_item\" to work.","$comment":"UNDOCUMENTED"},"barter":{"title":"Barter","type":"boolean","default":false,"description":"Allows entity to barter with the item. Requires \"minecraft:barter\" to work.","$comment":"UNDOCUMENTED"},"cooldown_after_being_attacked":{"title":"Cooldown After Being Attacked","type":"number","default":0,"description":"Time in seconds before this entity can be interacted with after being attacked."},"health_amount":{"title":"Health Amount","type":"integer","default":0,"description":"The amount of health this entity will recover or hurt when interacting with this item. Negative values will harm the entity."},"hurt_item":{"title":"Hurt Item","type":"integer","default":0,"description":"The amount of damage the item will take when used to interact with this entity. A value of 0 means the item won't lose durability."},"interact_text":{"title":"Interact Text","type":"string","default":"","description":"Text to show when the player is able to interact in this way with this entity when playing with Touch-screen controls."},"on_interact":{"title":"On Interact","$ref":"#/definitions/JA","description":"Event to fire when the interaction occurs."},"particle_on_start":{"title":"Particle On Start","type":"object","description":"Particle effect that will be triggered at the start of the interaction.","properties":{"particle_offset_towards_interactor":{"type":"boolean","description":"Whether or not the particle will appear closer to who performed the interaction.","title":"Particle Offset Towards Interactor"},"particle_type":{"type":"string","description":"The type of particle that will be spawned.","title":"Particle Type"},"particle_y_offset":{"type":"number","description":"Will offset the particle this amount in the y direction.","title":"Particle Y Offset"}}},"play_sounds":{"title":"Play Sounds","type":"string","default":"","description":"List of sounds to play when the interaction occurs."},"spawn_entities":{"title":"Spawn Entities","type":"string","default":"","description":"List of entities to spawn when the interaction occurs."},"spawn_items":{"type":"object","description":"Loot table with items to drop on the ground upon successful interaction.","title":"Spawn Items","additionalProperties":false,"properties":{"table":{"type":"string","$ref":"#/definitions/BCJ","description":"File path, relative to the Behavior Pack's path, to the loot table file.","title":"Table"}}},"swing":{"title":"Swing","type":"boolean","default":false,"description":"If true, the player will do the \"swing\" animation when interacting with this entity."},"transform_to_item":{"title":"Transform To Item","type":"string","description":"The feed item used will transform to this item upon successful interaction. Format: itemName:auxValue"},"use_item":{"title":"Use Item","type":"boolean","default":false,"description":"If true, the interaction will use an item."},"vibration":{"title":"Vibration","type":"string","description":"Vibration to emit when the interaction occurs. Admitted values are entity_interact (used by default), shear, and none (no vibration emitted)."},"give_item":{"title":"Give Item","type":"boolean","$comment":"UNDOCUMENTED","description":"UNDOCUMENTED Item to give to the player upon successful interaction."},"take_item":{"title":"Take Item","type":"boolean","$comment":"UNDOCUMENTED","description":"UNDOCUMENTED Takes an item from the player"}}},"BGA":{"type":"object","title":"Interact","description":"Defines interactions with this entity.","additionalProperties":false,"examples":[{"interactions":[{}]}],"properties":{"interactions":{"description":"The interactions","title":"Interactions","oneOf":[{"type":"object","$ref":"#/definitions/BGA_interaction_spec"},{"type":"array","items":{"$ref":"#/definitions/BGA_interaction_spec"}}]}}},"BGB":{"description":"Defines this entity's inventory properties.","type":"object","title":"Inventory","additionalProperties":false,"properties":{"additional_slots_per_strength":{"type":"integer","default":0,"description":"Number of slots that this entity can gain per extra strength","title":"Additional Slots Per Strength"},"can_be_siphoned_from":{"type":"boolean","default":false,"description":"If true, the contents of this inventory can be removed by a hopper","title":"Can Be Siphoned From"},"container_type":{"type":"string","default":"none","description":"Type of container this entity has. Can be horse, minecart_chest, chest_boat, minecart_hopper, inventory, container or hopper","title":"Container Type","enum":["horse","minecart_chest","chest_boat","minecart_hopper","inventory","container","hopper"]},"inventory_size":{"type":"integer","default":5,"description":"Number of slots the container has","title":"Inventory Size"},"private":{"type":"boolean","default":false,"description":"If true, only the entity can access the inventory","title":"Private"},"restrict_to_owner":{"type":"boolean","default":false,"description":"If true, the entity's inventory can only be accessed by its owner or itself","title":"Restrict To Owner"}},"examples":[{"additional_slots_per_strength":0,"can_be_siphoned_from":false,"container_type":"none","inventory_size":5,"private":false,"restrict_to_owner":false}]},"BGC":{"description":"Sets that this entity is a baby.","type":"object","title":"Is Baby","additionalProperties":false,"required":[],"properties":{}},"BGD":{"description":"Sets that this entity is charged.","type":"object","title":"Is Charged","additionalProperties":false,"required":[],"properties":{}},"BGE":{"description":"Sets that this entity is currently carrying a chest.","type":"object","title":"Is Chested","additionalProperties":false,"required":[],"properties":{}},"BGF":{"description":"Allows dyes to be used on this entity to change its color.","type":"object","title":"Is Dyeable","additionalProperties":false,"required":[],"properties":{"interact_text":{"type":"string","description":"The text that will display when interacting with this entity with a dye when playing with Touch-screen controls","title":"Interact Text"}},"examples":[{"interact_text":"example"}]},"BGG":{"type":"object","title":"Is Hidden When Invisible","additionalProperties":false,"description":"Sets that this entity can hide from hostile mobs while invisible."},"BGH":{"description":"Sets that this entity is currently on fire.","type":"object","title":"Is Ignited","additionalProperties":false,"required":[],"properties":{}},"BGI":{"description":"Sets that this entity is an illager captain.","type":"object","title":"Is Illager Captain","additionalProperties":false,"required":[],"properties":{}},"BGJ":{"description":"Sets that this entity is currently saddled.","type":"object","title":"Is Saddled","additionalProperties":false,"required":[],"properties":{}},"BHA":{"description":"Sets that this entity is currently shaking.","type":"object","title":"Is Shaking","additionalProperties":false,"required":[],"properties":{}},"BHB":{"description":"Sets that this entity is currently sheared.","type":"object","title":"Is Sheared","additionalProperties":false,"required":[],"properties":{}},"BHC":{"description":"Sets that this entity can be stacked.","type":"object","title":"Is Stackable","additionalProperties":false,"properties":{"value":{"title":"Value","description":"UNDOCUMENTED","type":"boolean"}}},"BHD":{"description":"Sets that this entity is currently stunned.","type":"object","title":"Is Stunned","additionalProperties":false,"required":[],"properties":{}},"BHE":{"description":"Sets that this entity is currently tamed.","type":"object","title":"Is Tamed","additionalProperties":false,"required":[],"properties":{}},"BHF":{"description":"Efines what items can be used to control this entity while ridden","type":"object","title":"Item Controllable","additionalProperties":false,"required":[],"properties":{"control_items":{"description":"List of items that can be used to control this entity","oneOf":[{"type":"array","items":{"type":"string","description":"An item that can be used to control this entity","title":"Item"}},{"type":"string"}],"title":"Control Items"}}},"BHG":{"type":"object","title":"Item Hopper","additionalProperties":false,"required":[],"properties":{},"description":"Determines that this entity is an item hopper"},"BHH":{"description":"Defines a dynamic type jump control that will change jump properties based on the speed modifier of the mob.","type":"object","title":"Jump.dynamic","additionalProperties":false,"required":[],"properties":{}},"BHI":{"description":"Gives the entity the ability to jump.","type":"object","title":"Jump.static","additionalProperties":false,"required":[],"properties":{"jump_power":{"type":"number","default":0.42,"description":"The initial vertical velocity for the jump","title":"Jump Power"}},"examples":[{"jump_power":0.42}]},"BHJ":{"type":"object","title":"Knockback Resistance","additionalProperties":false,"description":"Sets the knockback resistance item component. Determines the amount of knockback resistance that the item has.","required":[],"properties":{"protection":{"title":"Protection","type":"number","description":"Amount of knockback resistance provided with the total maximum protection being 1.0","maximum":1}},"examples":[{"protection":0.5}]},"BIA":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","title":"Lava Movement","additionalProperties":false,"required":[],"properties":{"value":{"type":"number","title":"Value","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"value":0.0}]},"BIB":{"type":"object","title":"Leashable","description":"Defines interactions with this entity.","additionalProperties":false,"properties":{"can_be_stolen":{"type":"boolean","default":false,"description":"If true, players can leash this entity even if it is already leashed to another mob.","title":"Can Be Stolen"},"hard_distance":{"type":"number","default":6,"description":"Distance in blocks at which the leash stiffens, restricting movement.","title":"Hard Distance"},"max_distance":{"type":"number","default":10,"description":"Distance in blocks at which the leash breaks.","title":"Maximum Distance"},"on_leash":{"$ref":"#/definitions/I","description":"Event to call when this entity is leashed.","title":"On Leash"},"on_unleash":{"$ref":"#/definitions/I","description":"Event to call when this entity is unleashed.","title":"On Unleash"},"soft_distance":{"type":"number","default":4,"description":"Distance in blocks at which the `spring` effect starts acting to keep this entity close to the entity that leashed it.","title":"Soft Distance"}},"examples":[{"can_be_stolen":false,"hard_distance":6,"max_distance":10,"soft_distance":4}]},"BIC":{"description":"Defines the behavior when another entity looks at this entity.","type":"object","title":"Lookat","additionalProperties":false,"properties":{"allow_invulnerable":{"type":"boolean","default":false,"description":"If true, invulnerable entities (e.g. Players in creative mode) are considered valid targets.","title":"Allow Invulnerable"},"filters":{"$ref":"#/definitions/BB","description":"Defines the entities that can trigger this component","title":"Filters"},"look_cooldown":{"$ref":"#/definitions/JD","default":[0.0,0.0],"description":"The range for the random amount of time during which the entity is `cooling down` and won't get angered or look for a target","title":"Look Cooldown"},"look_event":{"description":"The event identifier to run when the entities specified in filters look at this entity","title":"Look Event","$ref":"#/definitions/I"},"search_radius":{"type":"number","default":10,"description":"Maximum distance this entity will look for another entity looking at it.","title":"Search Radius"},"set_target":{"type":"boolean","default":true,"description":"If true, this entity will set the attack target as the entity that looked at it.","title":"Set Target"}},"examples":[{"allow_invulnerable":false,"search_radius":10,"set_target":true}]},"BID":{"type":"object","title":"Loot","description":"sets the loot table for what items this entity drops upon death.","additionalProperties":false,"required":["table"],"examples":[{"table":"loot_tables/empty.json"}],"properties":{"table":{"type":"string","pattern":"^loot_tables/.*.json$","description":"The path to the loot table, relative to the Behavior Pack's root.","title":"Table","default":"loot_tables/empty.json"}}},"BIE":{"type":"object","title":"Managed Wandering Trader","additionalProperties":false,"required":[],"properties":{},"description":"This component is used to implement part of the Wandering Trader behavior"},"BIF":{"type":"object","title":"Mark Variant","description":"Additional variant value. Can be used to further differentiate variants.","required":["value"],"properties":{"value":{"type":"integer","default":0,"description":"The ID of the variant. By convention, 0 is the ID of the base entity","title":"Value"}},"additionalProperties":false,"examples":[{"value":0},{"value":1},{"value":2},{"value":3},{"value":4},{"value":5},{"value":6},{"value":7},{"value":8},{"value":9}]},"BIG":{"type":"object","title":"Mob Effect","description":"A component that applies a mob effect to entities that get within range.","additionalProperties":false,"properties":{"cooldown_time":{"title":"Cooldown Time","type":"integer","default":0,"description":"Time in seconds to wait between each application of the effect."},"effect_range":{"title":"Effect Range","type":"number","default":0.2,"description":"How close a hostile entity must be to have the mob effect applied."},"effect_time":{"title":"Effect Time","type":"integer","default":10,"description":"How long the applied mob effect lasts in seconds."},"entity_filter":{"$ref":"#/definitions/BB","title":"Entity Filter","description":"Filter to use for conditions"},"mob_effect":{"title":"Mob Effect","type":"string","default":"","description":"The mob effect that is applied to entities that enter this entities effect range."}},"examples":[{"effect_range":0.2,"effect_time":10,"mob_effect":""}]},"BIH":{"type":"object","title":"Movement Sound Distance Offset","description":"Sets the offset used to determine the next step distance for playing a movement sound.","required":["value"],"properties":{"value":{"type":"number","default":1.0,"description":"The higher the number, the less often the movement sound will be played.","title":"Value"}},"additionalProperties":false,"examples":[{"value":1.0},{"value":0.5},{"value":1.5}]},"BII":{"type":"object","title":"Movement.amphibious","additionalProperties":false,"required":[],"properties":{"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"}},"description":"This move control allows the mob to swim in water and walk on land.","examples":[{"max_turn":30}]},"BIJ":{"type":"object","title":"Movement.basic","description":"defines the movement of an entity.","additionalProperties":false,"required":[],"properties":{"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"}},"examples":[{"max_turn":30}]},"BJA":{"type":"object","title":"Movement.fly","description":"This move control causes the mob to fly.","additionalProperties":false,"required":[],"properties":{"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"}},"examples":[{"max_turn":30}]},"BJB":{"description":"This move control allows a mob to fly, swim, climb, etc.","type":"object","title":"Movement.generic","additionalProperties":false,"required":[],"properties":{"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"}},"examples":[{"max_turn":30}]},"BJC":{"type":"object","title":"Movement.glide","description":"This is the move control for a flying mob that has a gliding movement.","additionalProperties":false,"required":[],"properties":{"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"},"start_speed":{"type":"number","title":"Start Speed","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"speed_when_turning":{"type":"number","title":"Speed When Turning","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"start_speed":1.0,"speed_when_turning":2.0}]},"BJD":{"title":"Movement.hover","description":"This move control causes the mob to hover.","type":"object","additionalProperties":false,"properties":{"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"}},"examples":[{"max_turn":30}]},"BJE":{"type":"object","title":"Movement.jump","description":"Move control that causes the mob to jump as it moves with a specified delay between jumps.","additionalProperties":false,"properties":{"jump_delay":{"type":"array","default":[0.0,0.0],"description":"Delay after landing when using the slime move control.","title":"Jump Delay","items":[{"type":"number","title":"Minimum"},{"type":"number","title":"Maximum"}]},"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"}},"examples":[{"jump_delay":[],"max_turn":30}]},"BJF":{"type":"object","title":"Movement.skip","additionalProperties":false,"required":[],"description":"This move control causes the mob to hop as it moves.","properties":{"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"}},"examples":[{"max_turn":30}]},"BJG":{"title":"Movement.sway","description":"This move control causes the mob to sway side to side giving the impression it is swimming.","type":"object","additionalProperties":false,"properties":{"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"},"sway_amplitude":{"type":"number","description":"Strength of the sway movement.","title":"Sway Amplitude","default":0.05},"sway_frequency":{"type":"number","description":"Multiplier for the frequency of the sway movement.","title":"Sway Amplitude","default":0.5}},"examples":[{"max_turn":30,"sway_amplitude":0.0}]},"BJH":{"type":"object","title":"Movement","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"required":[],"properties":{"value":{"title":"Value","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"type":"array","items":[{"type":"number","title":"Maximum"},{"type":"number","title":"Maximum"}]},{"type":"number"},{"type":"object","additionalProperties":false,"title":"Range","properties":{"range_min":{"type":"number","title":"Range Minimum"},"range_max":{"type":"number","title":"Range Maximum"}}}]},"max":{"type":"number","title":"Maximum","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"max":0.0}]},"BJI_name_action":{"type":"object","additionalProperties":false,"description":"Describes the special names for this entity and the events to call when the entity acquires those names","title":"Name Action","properties":{"name_filter":{"type":"string","default":"","description":"List of special names that will cause the events defined in `on_named` to fire","title":"Name Filter"},"on_named":{"$ref":"#/definitions/I","description":"Event to be called when this entity acquires the name specified in `name_filter'","title":"On Named"}}},"BJI":{"type":"object","title":"Nameable","additionalProperties":false,"description":"Allows this entity to be named (e.g. using a name tag).","properties":{"allow_name_tag_renaming":{"type":"boolean","default":true,"description":"If true, this entity can be renamed with name tags","title":"Allow Name Tag Renaming"},"always_show":{"type":"boolean","default":false,"description":"If true, the name will always be shown","title":"Always Show"},"default_trigger":{"$ref":"#/definitions/JA","description":"Trigger to run when the entity gets named","title":"Default Trigger"},"name_actions":{"title":"Name Actions","description":"Describes the special names for this entity and the events to call when the entity acquires those names","oneOf":[{"type":"array","items":{"$ref":"#/definitions/BJI_name_action"}},{"type":"object","$ref":"#/definitions/BJI_name_action"}]}},"examples":[{"allow_name_tag_renaming":true,"always_show":false}]},"CAA":{"description":"A minecraft block reference","examples":["namespace:block",{"name":"namespace:block"}],"title":"Block Reference","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}],"oneOf":[{"type":"string","$ref":"#/definitions/JI"},{"title":"Block Reference","description":"","type":"object","additionalProperties":false,"properties":{"name":{"type":"string","$ref":"#/definitions/JI"},"states":{"title":"States","description":"","type":"object","propertyNames":{"pattern":"\\w*:?\\w+"},"example":[{"property":"value"}],"additionalProperties":{"type":["boolean","integer","string"],"title":"State Value","description":"The key of property is the name of the block state/property, the value must be the same as the block properties accepted values"}}}}]},"BJJ":{"title":"Navigation.climb","description":"Allows this entity to generate paths that include vertical walls like the vanilla Spiders do.","type":"object","additionalProperties":false,"properties":{"avoid_damage_blocks":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid blocks that cause damage when finding a path","title":"Avoid Damage Blocks"},"avoid_portals":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid portals (like nether portals) when finding a path","title":"Avoid Portals"},"avoid_sun":{"type":"boolean","default":false,"description":"Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths","title":"Avoid Sun"},"avoid_water":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid water when creating a path","title":"Avoid Water"},"blocks_to_avoid":{"type":"array","description":"Tells the pathfinder which blocks to avoid when creating a path","title":"Blocks To Avoid","items":{"title":"Block","description":"Tells the pathfinder which blocks to avoid when creating a path","$ref":"#/definitions/CAA"}},"can_breach":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can jump out of water (like a dolphin)","title":"Can Breach"},"can_break_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door and break it","title":"Can Break Doors"},"can_jump":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can jump up blocks","title":"Can Jump"},"can_open_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door assuming the AI will open the door","title":"Can Open Doors"},"can_open_iron_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door","title":"Can Open Iron Doors"},"can_pass_doors":{"type":"boolean","default":true,"description":"Whether a path can be created through a door","title":"Can Pass Doors"},"can_path_from_air":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can start pathing when in the air","title":"Can Path From Air"},"can_path_over_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the lava","title":"Can Path Over Lava"},"can_path_over_water":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the water","title":"Can Path Over Water"},"can_sink":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it will be pulled down by gravity while in water","title":"Can Sink"},"can_swim":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path","title":"Can Swim"},"can_walk":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can walk on the ground outside water","title":"Can Walk"},"can_walk_in_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel in lava like walking on ground","title":"Can Walk In Lava"},"is_amphibious":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can walk on the ground underwater","title":"Is Amphibious"}},"examples":[{},{"avoid_damage_blocks":true,"can_pass_doors":true,"can_jump":true},{"avoid_damage_blocks":false,"avoid_portals":false,"avoid_sun":false,"avoid_water":false,"blocks_to_avoid":[],"can_breach":false,"can_break_doors":false,"can_jump":true,"can_open_doors":false,"can_open_iron_doors":false,"can_pass_doors":true,"can_path_from_air":false,"can_path_over_lava":false,"can_path_over_water":false,"can_sink":true,"can_swim":false,"can_walk":true,"can_walk_in_lava":false,"is_amphibious":false}]},"CAB":{"title":"Navigation.float","description":"Allows this entity to generate paths by flying around the air like the regular Ghast.","type":"object","additionalProperties":false,"properties":{"avoid_damage_blocks":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid blocks that cause damage when finding a path","title":"Avoid Damage Blocks"},"avoid_portals":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid portals (like nether portals) when finding a path","title":"Avoid Portals"},"avoid_sun":{"type":"boolean","default":false,"description":"Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths","title":"Avoid Sun"},"avoid_water":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid water when creating a path","title":"Avoid Water"},"blocks_to_avoid":{"type":"array","description":"Tells the pathfinder which blocks to avoid when creating a path","title":"Blocks To Avoid","items":{"title":"Block","description":"Tells the pathfinder which blocks to avoid when creating a path","$ref":"#/definitions/CAA"}},"can_breach":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can jump out of water (like a dolphin)","title":"Can Breach"},"can_break_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door and break it","title":"Can Break Doors"},"can_jump":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can jump up blocks","title":"Can Jump"},"can_open_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door assuming the AI will open the door","title":"Can Open Doors"},"can_open_iron_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door","title":"Can Open Iron Doors"},"can_pass_doors":{"type":"boolean","default":true,"description":"Whether a path can be created through a door","title":"Can Pass Doors"},"can_path_from_air":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can start pathing when in the air","title":"Can Path From Air"},"can_path_over_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the lava","title":"Can Path Over Lava"},"can_path_over_water":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the water","title":"Can Path Over Water"},"can_sink":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it will be pulled down by gravity while in water","title":"Can Sink"},"can_swim":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path","title":"Can Swim"},"can_walk":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can walk on the ground outside water","title":"Can Walk"},"can_walk_in_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel in lava like walking on ground","title":"Can Walk In Lava"},"is_amphibious":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can walk on the ground underwater","title":"Is Amphibious"}},"examples":[{},{"avoid_damage_blocks":true,"can_pass_doors":true,"can_jump":true},{"avoid_damage_blocks":false,"avoid_portals":false,"avoid_sun":false,"avoid_water":false,"blocks_to_avoid":[],"can_breach":false,"can_break_doors":false,"can_jump":true,"can_open_doors":false,"can_open_iron_doors":false,"can_pass_doors":true,"can_path_from_air":false,"can_path_over_lava":false,"can_path_over_water":false,"can_sink":true,"can_swim":false,"can_walk":true,"can_walk_in_lava":false,"is_amphibious":false}]},"CAC":{"title":"Navigation.fly","description":"Allows this entity to generate paths in the air like the vanilla Bees do. Keeps them from falling out of the skies and doing predictive movement.","type":"object","additionalProperties":false,"properties":{"avoid_damage_blocks":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid blocks that cause damage when finding a path","title":"Avoid Damage Blocks"},"avoid_portals":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid portals (like nether portals) when finding a path","title":"Avoid Portals"},"avoid_sun":{"type":"boolean","default":false,"description":"Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths","title":"Avoid Sun"},"avoid_water":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid water when creating a path","title":"Avoid Water"},"blocks_to_avoid":{"type":"array","description":"Tells the pathfinder which blocks to avoid when creating a path","title":"Blocks To Avoid","items":{"title":"Block","description":"Tells the pathfinder which blocks to avoid when creating a path","$ref":"#/definitions/CAA"}},"can_breach":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can jump out of water (like a dolphin)","title":"Can Breach"},"can_break_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door and break it","title":"Can Break Doors"},"can_jump":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can jump up blocks","title":"Can Jump"},"can_open_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door assuming the AI will open the door","title":"Can Open Doors"},"can_open_iron_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door","title":"Can Open Iron Doors"},"can_pass_doors":{"type":"boolean","default":true,"description":"Whether a path can be created through a door","title":"Can Pass Doors"},"can_path_from_air":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can start pathing when in the air","title":"Can Path From Air"},"can_path_over_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the lava","title":"Can Path Over Lava"},"can_path_over_water":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the water","title":"Can Path Over Water"},"can_sink":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it will be pulled down by gravity while in water","title":"Can Sink"},"can_swim":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path","title":"Can Swim"},"can_walk":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can walk on the ground outside water","title":"Can Walk"},"can_walk_in_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel in lava like walking on ground","title":"Can Walk In Lava"},"is_amphibious":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can walk on the ground underwater","title":"Is Amphibious"}},"examples":[{},{"avoid_damage_blocks":true,"can_pass_doors":true,"can_jump":true},{"avoid_damage_blocks":false,"avoid_portals":false,"avoid_sun":false,"avoid_water":false,"blocks_to_avoid":[],"can_breach":false,"can_break_doors":false,"can_jump":true,"can_open_doors":false,"can_open_iron_doors":false,"can_pass_doors":true,"can_path_from_air":false,"can_path_over_lava":false,"can_path_over_water":false,"can_sink":true,"can_swim":false,"can_walk":true,"can_walk_in_lava":false,"is_amphibious":false}]},"CAD":{"title":"Navigation.generic","description":"Allows this entity to generate paths by walking, swimming, flying and/or climbing around and jumping up and down a block.","type":"object","additionalProperties":false,"properties":{"avoid_damage_blocks":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid blocks that cause damage when finding a path","title":"Avoid Damage Blocks"},"avoid_portals":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid portals (like nether portals) when finding a path","title":"Avoid Portals"},"avoid_sun":{"type":"boolean","default":false,"description":"Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths","title":"Avoid Sun"},"avoid_water":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid water when creating a path","title":"Avoid Water"},"blocks_to_avoid":{"type":"array","description":"Tells the pathfinder which blocks to avoid when creating a path","title":"Blocks To Avoid","items":{"title":"Block","description":"Tells the pathfinder which blocks to avoid when creating a path","$ref":"#/definitions/CAA"}},"can_breach":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can jump out of water (like a dolphin)","title":"Can Breach"},"can_break_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door and break it","title":"Can Break Doors"},"can_jump":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can jump up blocks","title":"Can Jump"},"can_open_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door assuming the AI will open the door","title":"Can Open Doors"},"can_open_iron_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door","title":"Can Open Iron Doors"},"can_pass_doors":{"type":"boolean","default":true,"description":"Whether a path can be created through a door","title":"Can Pass Doors"},"can_path_from_air":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can start pathing when in the air","title":"Can Path From Air"},"can_path_over_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the lava","title":"Can Path Over Lava"},"can_path_over_water":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the water","title":"Can Path Over Water"},"can_sink":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it will be pulled down by gravity while in water","title":"Can Sink"},"can_swim":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path","title":"Can Swim"},"can_walk":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can walk on the ground outside water","title":"Can Walk"},"can_walk_in_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel in lava like walking on ground","title":"Can Walk In Lava"},"is_amphibious":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can walk on the ground underwater","title":"Is Amphibious"}},"examples":[{},{"avoid_damage_blocks":true,"can_pass_doors":true,"can_jump":true},{"avoid_damage_blocks":false,"avoid_portals":false,"avoid_sun":false,"avoid_water":false,"blocks_to_avoid":[],"can_breach":false,"can_break_doors":false,"can_jump":true,"can_open_doors":false,"can_open_iron_doors":false,"can_pass_doors":true,"can_path_from_air":false,"can_path_over_lava":false,"can_path_over_water":false,"can_sink":true,"can_swim":false,"can_walk":true,"can_walk_in_lava":false,"is_amphibious":false}]},"CAE":{"title":"Navigation.hover","description":"Allows this entity to generate paths in the air like the vanilla Bees do. Keeps them from falling out of the skies and doing predictive movement.","type":"object","additionalProperties":false,"properties":{"avoid_damage_blocks":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid blocks that cause damage when finding a path","title":"Avoid Damage Blocks"},"avoid_portals":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid portals (like nether portals) when finding a path","title":"Avoid Portals"},"avoid_sun":{"type":"boolean","default":false,"description":"Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths","title":"Avoid Sun"},"avoid_water":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid water when creating a path","title":"Avoid Water"},"blocks_to_avoid":{"type":"array","description":"Tells the pathfinder which blocks to avoid when creating a path","title":"Blocks To Avoid","items":{"title":"Block","description":"Tells the pathfinder which blocks to avoid when creating a path","$ref":"#/definitions/CAA"}},"can_breach":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can jump out of water (like a dolphin)","title":"Can Breach"},"can_break_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door and break it","title":"Can Break Doors"},"can_jump":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can jump up blocks","title":"Can Jump"},"can_open_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door assuming the AI will open the door","title":"Can Open Doors"},"can_open_iron_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door","title":"Can Open Iron Doors"},"can_pass_doors":{"type":"boolean","default":true,"description":"Whether a path can be created through a door","title":"Can Pass Doors"},"can_path_from_air":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can start pathing when in the air","title":"Can Path From Air"},"can_path_over_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the lava","title":"Can Path Over Lava"},"can_path_over_water":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the water","title":"Can Path Over Water"},"can_sink":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it will be pulled down by gravity while in water","title":"Can Sink"},"can_swim":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path","title":"Can Swim"},"can_walk":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can walk on the ground outside water","title":"Can Walk"},"can_walk_in_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel in lava like walking on ground","title":"Can Walk In Lava"},"is_amphibious":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can walk on the ground underwater","title":"Is Amphibious"}},"examples":[{},{"avoid_damage_blocks":true,"can_pass_doors":true,"can_jump":true},{"avoid_damage_blocks":false,"avoid_portals":false,"avoid_sun":false,"avoid_water":false,"blocks_to_avoid":[],"can_breach":false,"can_break_doors":false,"can_jump":true,"can_open_doors":false,"can_open_iron_doors":false,"can_pass_doors":true,"can_path_from_air":false,"can_path_over_lava":false,"can_path_over_water":false,"can_sink":true,"can_swim":false,"can_walk":true,"can_walk_in_lava":false,"is_amphibious":false}]},"CAF":{"title":"Navigation.swim","description":"Allows this entity to generate paths that include water.","type":"object","additionalProperties":false,"properties":{"avoid_damage_blocks":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid blocks that cause damage when finding a path","title":"Avoid Damage Blocks"},"avoid_portals":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid portals (like nether portals) when finding a path","title":"Avoid Portals"},"avoid_sun":{"type":"boolean","default":false,"description":"Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths","title":"Avoid Sun"},"avoid_water":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid water when creating a path","title":"Avoid Water"},"blocks_to_avoid":{"type":"array","description":"Tells the pathfinder which blocks to avoid when creating a path","title":"Blocks To Avoid","items":{"title":"Block","description":"Tells the pathfinder which blocks to avoid when creating a path","$ref":"#/definitions/CAA"}},"can_breach":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can jump out of water (like a dolphin)","title":"Can Breach"},"can_break_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door and break it","title":"Can Break Doors"},"can_jump":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can jump up blocks","title":"Can Jump"},"can_open_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door assuming the AI will open the door","title":"Can Open Doors"},"can_open_iron_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door","title":"Can Open Iron Doors"},"can_pass_doors":{"type":"boolean","default":true,"description":"Whether a path can be created through a door","title":"Can Pass Doors"},"can_path_from_air":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can start pathing when in the air","title":"Can Path From Air"},"can_path_over_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the lava","title":"Can Path Over Lava"},"can_path_over_water":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the water","title":"Can Path Over Water"},"can_sink":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it will be pulled down by gravity while in water","title":"Can Sink"},"can_swim":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path","title":"Can Swim"},"can_walk":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can walk on the ground outside water","title":"Can Walk"},"can_walk_in_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel in lava like walking on ground","title":"Can Walk In Lava"},"is_amphibious":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can walk on the ground underwater","title":"Is Amphibious"}},"examples":[{},{"avoid_damage_blocks":true,"can_pass_doors":true,"can_jump":true},{"avoid_damage_blocks":false,"avoid_portals":false,"avoid_sun":false,"avoid_water":false,"blocks_to_avoid":[],"can_breach":false,"can_break_doors":false,"can_jump":true,"can_open_doors":false,"can_open_iron_doors":false,"can_pass_doors":true,"can_path_from_air":false,"can_path_over_lava":false,"can_path_over_water":false,"can_sink":true,"can_swim":false,"can_walk":true,"can_walk_in_lava":false,"is_amphibious":false}]},"CAG":{"title":"Navigation.walk","description":"Allows this entity to generate paths by walking around and jumping up and down a block like regular mobs.","type":"object","additionalProperties":false,"properties":{"avoid_damage_blocks":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid blocks that cause damage when finding a path","title":"Avoid Damage Blocks"},"avoid_portals":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid portals (like nether portals) when finding a path","title":"Avoid Portals"},"avoid_sun":{"type":"boolean","default":false,"description":"Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths","title":"Avoid Sun"},"avoid_water":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid water when creating a path","title":"Avoid Water"},"blocks_to_avoid":{"type":"array","description":"Tells the pathfinder which blocks to avoid when creating a path","title":"Blocks To Avoid","items":{"title":"Block","description":"Tells the pathfinder which blocks to avoid when creating a path","$ref":"#/definitions/CAA"}},"can_breach":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can jump out of water (like a dolphin)","title":"Can Breach"},"can_break_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door and break it","title":"Can Break Doors"},"can_jump":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can jump up blocks","title":"Can Jump"},"can_open_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door assuming the AI will open the door","title":"Can Open Doors"},"can_open_iron_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door","title":"Can Open Iron Doors"},"can_pass_doors":{"type":"boolean","default":true,"description":"Whether a path can be created through a door","title":"Can Pass Doors"},"can_path_from_air":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can start pathing when in the air","title":"Can Path From Air"},"can_path_over_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the lava","title":"Can Path Over Lava"},"can_path_over_water":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the water","title":"Can Path Over Water"},"can_sink":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it will be pulled down by gravity while in water","title":"Can Sink"},"can_swim":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path","title":"Can Swim"},"can_walk":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can walk on the ground outside water","title":"Can Walk"},"can_walk_in_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel in lava like walking on ground","title":"Can Walk In Lava"},"is_amphibious":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can walk on the ground underwater","title":"Is Amphibious"}},"examples":[{},{"avoid_damage_blocks":true,"can_pass_doors":true,"can_jump":true},{"avoid_damage_blocks":false,"avoid_portals":false,"avoid_sun":false,"avoid_water":false,"blocks_to_avoid":[],"can_breach":false,"can_break_doors":false,"can_jump":true,"can_open_doors":false,"can_open_iron_doors":false,"can_pass_doors":true,"can_path_from_air":false,"can_path_over_lava":false,"can_path_over_water":false,"can_sink":true,"can_swim":false,"can_walk":true,"can_walk_in_lava":false,"is_amphibious":false}]},"CAH_rangeXYZ":{"type":"array","items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]},"CAH":{"type":"object","title":"Npc","description":"A component that applies a mob effect to entities that get within range.","additionalProperties":false,"properties":{"npc_data":{"type":"object","title":"Npc Data","description":"The data belonging to this npc","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"portrait_offsets":{"type":"object","title":"Portrait Offsets","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"translate":{"$ref":"#/definitions/CAH_rangeXYZ","title":"Translate","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"scale":{"$ref":"#/definitions/CAH_rangeXYZ","title":"Scale","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"picker_offsets":{"type":"object","title":"Picker Offsets","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"translate":{"$ref":"#/definitions/CAH_rangeXYZ","title":"Translate","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"scale":{"$ref":"#/definitions/CAH_rangeXYZ","title":"Scale","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"skin_list":{"type":"array","title":"Skin List","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"object","title":"Skin","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"variant":{"title":"Variant","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}}}}}},"examples":[{"npc_data":{}}]},"CAI":{"description":"Adds a trigger to call on this entity's death. minecraft:on_death can only be used by the `ender_dragon` entity.","title":"On Death","$ref":"#/definitions/JA"},"CAJ":{"description":"Adds a trigger that will run when a nearby entity of the same type as this entity becomes Angry.","title":"On Friendly Anger","$ref":"#/definitions/JA"},"CBA":{"description":"Adds a trigger to call when this entity is attacked by the player.","title":"On Hurt By Player","$ref":"#/definitions/JA"},"CBB":{"description":"Adds a trigger to call when this entity takes damage.","title":"On Hurt","$ref":"#/definitions/JA"},"CBC":{"description":"Adds a trigger to call when this entity is set on fire.","title":"On Ignite","$ref":"#/definitions/JA"},"CBD":{"description":"Only usable by the Ender Dragon. Adds a trigger to call when this entity lands.","title":"On Start Landing","$ref":"#/definitions/JA"},"CBE":{"description":"Only usable by the Ender Dragon. Adds a trigger to call when this entity starts flying.","title":"On Start Takeoff","$ref":"#/definitions/JA"},"CBF":{"description":"Adds a trigger to call when this entity finds a target.","title":"On Target Acquired","$ref":"#/definitions/JA"},"CBG":{"description":"Adds a trigger to call when this entity loses the target it currently has.","title":"On Target Escape","$ref":"#/definitions/JA"},"CBH":{"description":"Adds a trigger to call when this pet's owner awakes after sleeping with the pet.","title":"On Wake With Owner","$ref":"#/definitions/JA"},"CBI":{"type":"object","title":"Out Of Control","additionalProperties":false,"description":"defines the entity's `out of control` state.","required":[],"properties":{}},"CBJ":{"description":"Defines the entity's `peek` behavior, defining the events that should be called during it","type":"object","title":"Peek","additionalProperties":false,"required":[],"properties":{"on_close":{"$ref":"#/definitions/I","description":"Event to call when the entity is done peeking","title":"On Close"},"on_open":{"$ref":"#/definitions/I","description":"Event to call when the entity starts peeking","title":"On Open"},"on_target_open":{"$ref":"#/definitions/I","description":"Event to call when the entity's target entity starts peeking","title":"On Target Open"}}},"CCA":{"description":"Defines whether an entity should be persistent in the game world.","type":"object","title":"Persistent","additionalProperties":false,"required":[],"properties":{}},"CCB":{"additionalProperties":false,"type":"object","title":"Physics","description":"Defines a dynamic type jump control that will change jump properties based on the speed modifier of the mob.","required":[],"properties":{"has_collision":{"type":"boolean","default":true,"description":"Whether or not the object collides with things.","title":"Has Collision"},"has_gravity":{"type":"boolean","default":true,"description":"Whether or not the entity is affected by gravity.","title":"Has Gravity"}},"examples":[{},{"has_collision":true,"has_gravity":true}]},"CCC":{"additionalProperties":false,"type":"object","title":"Player.exhaustion","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":[],"properties":{"value":{"type":"number","default":true,"title":"Value","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"max":{"type":"number","default":true,"title":"Maximum","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"value":true,"max":true}]},"CCD":{"additionalProperties":false,"type":"object","title":"Player.experience","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":[],"properties":{"value":{"type":"number","default":true,"title":"Value","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"max":{"type":"number","default":true,"title":"Maximum","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"value":true,"max":true}]},"CCE":{"additionalProperties":false,"type":"object","title":"Player.level","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":[],"properties":{"value":{"type":"number","default":true,"title":"Value","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"max":{"type":"number","default":true,"title":"Maximum","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"value":true,"max":true}]},"CCF":{"additionalProperties":false,"type":"object","title":"Player.saturation","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":[],"properties":{"value":{"type":"number","default":true,"title":"Value","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"value":true}]},"CCG":{"type":"object","title":"Preferred Path","description":"Specifies costing information for mobs that prefer to walk on preferred paths.","additionalProperties":false,"required":["preferred_path_blocks"],"properties":{"default_block_cost":{"type":"number","default":0,"description":"Cost for non-preferred blocks","title":"Default Block Cost"},"jump_cost":{"type":"integer","default":0,"description":"Added cost for jumping up a node","title":"Jump Cost"},"max_fall_blocks":{"type":"integer","default":3,"description":"Distance mob can fall without taking damage","title":"Maximum Fall Blocks"},"preferred_path_blocks":{"type":"array","title":"Preferred Path Blocks","description":"A list of blocks with their associated cost","items":{"additionalProperties":false,"type":"object","description":"Blocks cost","properties":{"cost":{"type":"number"},"blocks":{"type":"array","items":{"$ref":"#/definitions/BAC"}}}}}},"examples":[{"default_block_cost":0,"jump_cost":0,"max_fall_blocks":3,"preferred_path_blocks":[]}]},"CCI":{"type":"array","title":"Vector Of 3 Items","description":"An vector of 3 number","examples":[[0.0,0.0,0.0]],"items":[{"type":"number","description":"The X component","title":"X","default":0},{"type":"number","description":"The Y component","title":"Y","default":0},{"type":"number","description":"The Z component","title":"Z","default":0}],"defaultSnippets":[{"label":"New Array 3","body":["^$1","^$2","^$3"]}]},"CCH":{"type":"object","title":"Interact","description":"Allows the entity to be a thrown entity.","additionalProperties":false,"properties":{"anchor":{"type":"integer","description":"Allows you to choose an anchor point for where the projectile is fired from. 0 = Original point, 1 = EyeHeight, and 2 = Middle or body height.","title":"Anchor","default":0},"angle_offset":{"type":"number","default":0,"description":"Alters the angle at which a projectile is vertically shot. Many splash potions in the game use this to offset their angles by -20 degrees.","title":"Angle Offset"},"catch_fire":{"type":"boolean","default":false,"description":"If true, the entity hit will be set on fire.","title":"Catch Fire"},"crit_particle_on_hurt":{"type":"boolean","default":false,"description":"If true, when a projectile deals damage, whether or not to spawn in the critical damage particles.","title":"Crit Particle On Hurt"},"destroy_on_hurt":{"type":"boolean","default":false,"description":"When this projectile deals damage, whether or not to immediately destroy this projectile.","title":"Destroy On Hurt"},"filter":{"type":"string","default":"","description":"Entity Definitions defined here can't be hurt by the projectile.","title":"Filter"},"fire_affected_by_griefing":{"type":"boolean","default":false,"description":"If true, whether the projectile causes fire is affected by the mob griefing game rule.","title":"Fire Affected By Griefing"},"gravity":{"type":"number","default":0.05,"description":"The gravity applied to this entity when thrown. When this actor is not on the ground, subtracts this amount from the actors change in vertical position every tick. The higher the value, the faster the entity falls.","title":"Gravity"},"hit_ground_sound":{"type":"string","default":"","description":"The sound that plays when the projectile hits the ground.","title":"Hit Ground Sound"},"hit_sound":{"type":"string","default":"","description":"The sound that plays when the projectile hits something.","title":"Hit Sound"},"homing":{"type":"boolean","default":false,"description":"If true, the projectile homes in to the nearest entity.","title":"Homing"},"inertia":{"type":"number","default":0.99,"description":"The fraction of the projectile's speed maintained every frame while traveling in air.","title":"Inertia"},"is_dangerous":{"type":"boolean","default":false,"description":"If true, the projectile will be treated as dangerous to the players.","title":"Is Dangerous"},"knockback":{"type":"boolean","default":true,"description":"If true, the projectile will knock back the entity it hits.","title":"Knockback"},"lightning":{"type":"boolean","default":false,"description":"If true, the entity hit will be struck by lightning.","title":"Lightning"},"liquid_inertia":{"type":"number","default":0.6,"description":"The fraction of the projectile's speed maintained every frame while traveling in water.","title":"Liquid Inertia"},"multiple_targets":{"type":"boolean","default":true,"description":"If true, the projectile can hit multiple entities per flight.","title":"Multiple Targets"},"mob_effect":{"title":"Mob Effect","$comment":"Deprecated","description":"SEE on_hit/mob_effect"},"offset":{"type":"array","default":[0,0.0,0],"description":"The offset from the entity's anchor where the projectile will spawn.","title":"Offset","$ref":"#/definitions/CCI"},"on_fire_time":{"type":"number","default":5,"description":"Time in seconds that the entity hit will be on fire for.","title":"On Fire Time"},"on_hit":{"additionalProperties":false,"type":"object","description":"Defines the behaviors that may execute on a projectile's hit, including impact damage, impact effect, and stuck in ground. See more on these parameters below.","title":"On Hit","properties":{"catch_fire":{"title":"Catch Fire","type":"boolean","default":false,"description":"Determines if the struck object is set on fire."},"definition_event":{"title":"Definition Event","type":"object","description":"The event that is triggered on a hit. See the table below for all definition event parameters.","additionalProperties":false,"properties":{"affect_projectile":{"title":"Affect Projectile","type":"boolean","default":false,"description":"The projectile that will be affected by this event."},"affect_shooter":{"title":"Affect Shooter","type":"boolean","default":false,"description":"The shooter that will be affected by this event."},"affect_splash_area":{"title":"Affect Splash Area","type":"boolean","default":false,"description":"All entities in the splash area will be affected by this event."},"affect_target":{"title":"Affect Target","type":"boolean","default":false,"description":"The target will be affected by this event."},"event_trigger":{"title":"Event Trigger","description":"The event triggered. Also has an option filters parameter to limit affected targets.","$ref":"#/definitions/I"},"splash_area":{"title":"Splash Area","type":"number","default":0.0,"description":"The splash area that will be affected."}}},"douse_fire":{"title":"Douse Fire","type":"boolean","default":false,"description":"If the target is on fire, then douse hte fire."},"freeze_on_hit":{"title":"Freeze On Hit","type":"object","description":"An area of entities that is frozen to block on hits. Has shape of either sphere or cube, snap_to_block boolean ,and size decimal properties.","additionalProperties":false,"properties":{"shape":{"enum":["sphere","cube"],"default":"sphere","description":"The shape of the area that is frozen.","title":"Shape"},"snap_to_block":{"type":"boolean","default":false,"description":"If true, the area will snap to the nearest block.","title":"Snap To Block"},"size":{"type":"number","default":0.0,"description":"The size of the area that is frozen.","title":"Size"}}},"grant_xp":{"title":"Grant XP","type":"object","description":"Grants XP on hit. Has minXP for minimum XP granted, maxXp for maximum, or simply flat xp properties.","additionalProperties":false,"properties":{"minXP":{"title":"Min XP","type":"number","default":0,"description":"The minimum XP granted."},"maxXP":{"title":"Max XP","type":"number","default":0,"description":"The maximum XP granted."}}},"hurt_owner":{"title":"Hurt Owner","type":"object","description":"Determines if the owner of the entity is hurt on hit. Contains decimal owner_damage, knockback boolean, and ignite boolean.","additionalProperties":false,"properties":{"owner_damage":{"title":"Owner Damage","type":"number","default":0,"description":"The amount of damage the owner will take."},"knockback":{"title":"Knockback","type":"boolean","default":false,"description":"If true, the owner will be knocked back."},"ignite":{"title":"Ignite","type":"boolean","default":false,"description":"If true, the owner will be set on fire."}}},"ignite":{"title":"Ignite","type":"boolean","default":false,"description":"Determines if a fire may be started on a flammable target."},"impact_damage":{"title":"Impact Damage","type":"object","description":"Defines the damage that an entity may receive on being hit by this projectile. See the table below for all impact_damage parameters.","additionalProperties":false,"properties":{"catch_fire":{"title":"Catch Fire","type":"boolean","default":false,"description":"Determines if the struck object is set on fire."},"channeling":{"title":"Channeling","type":"boolean","default":true,"description":"Whether lightning can be channeled through hte weapon."},"damage":{"title":"Damage","type":"number","default":1,"description":"The damage dealt on impact."},"destroy_on_hit":{"title":"Destroy On Hit","type":"boolean","default":false,"description":"Projectile is removed on hit."},"destroy_on_hit_requires_damage":{"title":"Destroy On Hit Requires Damage","type":"boolean","default":true,"description":"If true, then the hit must cause damage to destroy the projectile."},"filter":{"title":"Filter","type":"string","default":"not set","description":"The identifier of an entity that can be hit."},"knockback":{"title":"Knockback","type":"boolean","default":true,"description":"If true, the projectile will knock back the entity it hits."},"max_critical_damage":{"title":"Max Critical Damage","type":"integer","description":"Maximum critical damage."},"min_critical_damage":{"title":"Min Critical Damage","type":"integer","default":0,"description":"Minimum critical damage."},"power_multiplier":{"title":"Power Multiplier","type":"number","default":2.0,"description":"How much the base damage is multiplied."},"semi_random_diff_damage":{"title":"Semi Random Diff Damage","type":"boolean","default":false,"description":"If true, damage will be randomized based on damage and speed"},"set_last_hurt_requires_damage":{"title":"Set Last Hurt Requires Damage","type":"boolean","default":false,"description":"If true, then the hit must cause damage to update the last hurt property."}}},"mob_effect":{"title":"Mob Effect","type":"object","description":"The target receives a mob effect. See the table below for all mob_effect parameters.","additionalProperties":false,"properties":{"ambient":{"title":"Ambient","type":"boolean","default":false,"description":"If true, a mob will spawn that is not hostile, like the bat entity in Minecraft."},"amplifier":{"title":"Amplifier","type":"integer","default":1,"description":"The multiplier of the amplification of this effect."},"duration":{"title":"Duration","type":"integer","default":1,"description":"The effect's duration."},"durationeasy":{"title":"Duration Easy","type":"integer","default":0,"description":"The effect's duration on easy mode."},"durationhard":{"title":"Duration Hard","type":"integer","default":800,"description":"The effect's duration on hard mode."},"durationnormal":{"title":"Duration Normal","type":"integer","default":200,"description":"The effect's duration on normal mode."},"effect":{"title":"Effect","type":"string","default":"not set","description":"The identifier of the mob entity to affect."},"visible":{"title":"Visible","type":"boolean","default":false,"description":"Does the entity's look change."}}},"on_fire_time":{"title":"On Fire Time","type":"number","default":0.0,"description":"The amount of time a target will remain on fire."},"particle_on_hit":{"title":"Particle On Hit","type":"object","description":"The particles that spawn on hit. See the table below for all particle_on_hit parameters.","additionalProperties":false,"properties":{"num_particles":{"title":"Num Particles","type":"number","default":6,"description":"The number of particles to spawn."},"on_entity_hit":{"title":"On Entity Hit","type":"boolean","default":false,"description":"If true, spawns particles on an entity hit."},"on_other_hit":{"title":"On Other Hit","type":"boolean","default":false,"description":"If true, spawns particles on any other hit."},"particle_type":{"title":"Particle Type","type":"string","default":"not set","description":"The id of the particle to spawn on hit."}}},"potion_effect":{"title":"Potion Effect","type":"integer","default":-1,"description":"Defines the effect the arrow will apply to the entity it hits."},"remove_on_hit":{"title":"Remove On Hit","type":"object","description":"Removes the projectile.","additionalProperties":true,"properties":{}},"spawn_aoe_cloud":{"title":"Spawn AOE Cloud","type":"object","default":false,"description":"Potion spawns an area of effect cloud. See the table below for all spawn_aoe_cloud parameters.","additionalProperties":false,"properties":{"affect_owner":{"title":"Affect Owner","type":"boolean","default":true,"description":"Determines if the projectile shooter is affected."},"color":{"title":"Color","type":"array","description":"Particle color defined by three rgb values.","$ref":"#/definitions/CCI"},"duration":{"title":"Duration","type":"integer","default":0,"description":"How long the particle emits."},"particle":{"title":"Particle","type":"integer","default":0,"description":"The particle emitter."},"potion":{"title":"Potion","type":"integer","default":-1,"description":"The id of the potion."},"radius":{"title":"Radius","type":"number","default":0,"description":"Defines the affected area."},"radius_on_use":{"title":"Radius On Use","type":"number","default":-1,"description":"Defines the affected area when potion is used."},"reapplication_delay":{"title":"Reapplication Delay","type":"integer","default":0,"description":"Delay before the potion can affect the area again."}}},"spawn_chance":{"title":"Spawn Chance","type":"object","description":"Contains information on the chance of spawning an entity on hit. See parameters below.","additionalProperties":false,"properties":{"first_spawn_count":{"title":"First Spawn Count","type":"integer","default":0,"description":"The amount of new entities spawned."},"first_spawn_percent_chance":{"title":"First Spawn Percent Chance","type":"number","default":0,"description":"The chance that a spawn occurs when a projectile hits the entity."},"second_spawn_chance":{"title":"Second Spawn Chance","type":"number","default":32,"description":"The chance that a second spawn occurs when a projectile hits the entity."},"second_spawn_count":{"title":"Second Spawn Count","type":"integer","default":0,"description":"The amount of new entities spawned in teh second spawn."},"spawn_baby":{"title":"Spawn Baby","type":"boolean","default":false,"description":"Determines if a baby spawns."},"spawn_definition":{"title":"Spawn Definition","type":"string","default":"not set","description":"The entity that will spawn."}}},"stick_in_ground":{"title":"Stick In Ground","type":"object","description":"Decides if the object sticks in ground and contains shake_time integer parameter to determine how long it will shake."},"teleport_owner":{"title":"Teleport Owner","type":"boolean","default":false,"description":"Determines if the owner is transported on hit."},"thrown_potion_effect":{"title":"Thrown Potion Effect","type":"object","description":"Creates a splash area for effects caused by a thrown potion."}}},"particle":{"type":"string","default":"iconcrack","description":"Particle to use upon collision.","title":"Particle"},"potion_effect":{"type":"integer","default":-1,"description":"Defines the effect the arrow will apply to the entity it hits","title":"Potion Effect"},"power":{"type":"number","default":1.3,"description":"Determines the velocity of the projectile.","title":"Power"},"reflect_on_hurt":{"type":"boolean","default":false,"description":"If true, this entity will be reflected back when hit.","title":"Reflect On Hurt"},"semi_random_diff_damage":{"type":"boolean","default":false,"description":"If true, damage will be randomized based on damage and speed","title":"Semi Random Diff Damage"},"shoot_sound":{"type":"string","default":"","description":"The sound that plays when the projectile is shot.","title":"Shoot Sound"},"shoot_target":{"type":"boolean","default":true,"description":"If true, the projectile will be shot towards the target of the entity firing it.","title":"Shoot Target"},"should_bounce":{"type":"boolean","default":false,"description":"If true, the projectile will bounce upon hit.","title":"Should Bounce"},"splash_potion":{"type":"boolean","default":false,"description":"If true, the projectile will be treated like a splash potion.","title":"Splash Potion"},"splash_range":{"type":"number","default":4,"description":"Radius in blocks of the 'splash' effect.","title":"Splash Range"},"stop_on_hurt":{"title":"Stop On Hurt","type":"boolean","description":"Determines if the projectile stops when the target is hurt."},"uncertainty_base":{"type":"number","default":0,"description":"The base accuracy. Accuracy is determined by the formula uncertaintyBase - difficultyLevel * uncertaintyMultiplier.","title":"Uncertainty Base"},"uncertainty_multiplier":{"type":"number","default":0,"description":"Determines how much difficulty affects accuracy. Accuracy is determined by the formula uncertaintyBase - difficultyLevel * uncertaintyMultiplier.","title":"Uncertainty Multiplier"}},"examples":[{},{"anchor":0,"angle_offset":0,"catch_fire":false,"crit_particle_on_hurt":false,"destroy_on_hurt":false,"filter":"","fire_affected_by_griefing":false,"gravity":0.05,"hit_sound":"","homing":false,"inertia":0.99,"is_dangerous":false,"knockback":true,"lightning":false,"liquid_inertia":0.6,"multiple_targets":true,"offset":[],"on_fire_time":5,"on_hit":{},"particle":"iconcrack","potion_effect":-1,"power":1.3,"reflect_on_hurt":false,"semi_random_diff_damage":false,"shoot_sound":"","shoot_target":true,"should_bounce":false,"splash_potion":false,"splash_range":4,"uncertainty_base":0,"uncertainty_multiplier":0}]},"CCJ":{"type":"object","title":"Push Through","additionalProperties":false,"description":"Sets the distance through which the entity can push through.","required":[],"properties":{"value":{"type":"number","default":0.0,"description":"The value of the entity's push-through, in blocks","title":"Value"}},"examples":[{"value":0.0}]},"CDA":{"additionalProperties":false,"type":"object","title":"Pushable","description":"Defines what can push an entity between other entities and pistons.","required":[],"properties":{"is_pushable":{"type":"boolean","default":true,"description":"Whether the entity can be pushed by other entities.","title":"Is Pushable"},"is_pushable_by_piston":{"type":"boolean","default":true,"description":"Whether the entity can be pushed by pistons safely.","title":"Is Pushable By Piston"}},"examples":[{"is_pushable":true,"is_pushable_by_piston":true}]},"CDB":{"type":"object","title":"Raid Trigger","additionalProperties":false,"description":"Attempts to trigger a raid at the entity's location.","required":[],"properties":{"triggered_event":{"$ref":"#/definitions/I","description":"Event to run we attempt to trigger a raid on the village.","title":"Triggered Event"}}},"CDC":{"type":"object","title":"Rail Movement","description":"Defines the entity's movement on the rails. An entity with this component is only allowed to move on the rail.","additionalProperties":false,"required":[],"properties":{"max_speed":{"type":"number","default":0.4,"description":"Maximum speed that this entity will move at when on the rail","title":"Maximum Speed"}},"examples":[{"max_speed":0.4}]},"CDD":{"description":"Defines the behavior of the entity when the rail gets activated or deactivated.","type":"object","title":"Rail Sensor","additionalProperties":false,"required":[],"properties":{"check_block_types":{"type":"boolean","default":false,"description":"If true, on tick this entity will trigger its on_deactivate behavior","title":"Check Block Types"},"eject_on_activate":{"type":"boolean","default":true,"description":"If true, this entity will eject all of its riders when it passes over an activated rail","title":"Eject On Activate"},"eject_on_deactivate":{"type":"boolean","default":false,"description":"If true, this entity will eject all of its riders when it passes over a deactivated rail","title":"Eject On Deactivate"},"on_activate":{"$ref":"#/definitions/I","description":"Event to call when the rail is activated","title":"On Activate"},"on_deactivate":{"$ref":"#/definitions/I","description":"Event to call when the rail is deactivated","title":"On Deactivate"},"tick_command_block_on_activate":{"type":"boolean","default":true,"description":"If true, command blocks will start ticking when passing over an activated rail","title":"Tick Command Block On Activate"},"tick_command_block_on_deactivate":{"type":"boolean","default":false,"description":"If false, command blocks will stop ticking when passing over a deactivated rail","title":"Tick Command Block On Deactivate"}},"examples":[{"check_block_types":false,"eject_on_activate":true,"eject_on_deactivate":false,"tick_command_block_on_activate":true,"tick_command_block_on_deactivate":false}]},"CDE":{"description":"Defines the ravager's response to their melee attack being blocked.","type":"object","title":"Ravager Blocked","additionalProperties":false,"required":[],"properties":{"knockback_strength":{"type":"number","default":3.0,"description":"The strength with which blocking entities should be knocked back","title":"Knockback Strength"},"reaction_choices":{"type":"array","description":"A list of weighted responses to the melee attack being blocked","title":"Reaction Choices","items":{"additionalProperties":false,"type":"object","properties":{"weight":{"type":"integer","title":"Weight","description":"The chance of this reaction being picked","$comment":"UNDOCUMENTED"},"value":{"title":"Value","description":"An event that runs when this reaction is picked","$comment":"UNDOCUMENTED","$ref":"#/definitions/I"}}}}},"examples":[{"knockback_strength":3,"reaction_choices":[]}]},"CDF_seats_spec":{"additionalProperties":false,"type":"object","properties":{"lock_rider_rotation":{"type":"number","default":181,"description":"Angle in degrees that a rider is allowed to rotate while riding this entity. Omit this property for no limit"},"max_rider_count":{"type":"integer","default":0,"description":"Defines the maximum number of riders that can be riding this entity for this seat to be valid"},"min_rider_count":{"type":"integer","default":0,"description":"Defines the minimum number of riders that need to be riding this entity before this seat can be used"},"position":{"$ref":"#/definitions/CCI","default":[0.0,0.0,0.0],"description":"Position of this seat relative to this entity's position"},"rotate_rider_by":{"$ref":"#/definitions/BEJ","description":"Offset to rotate riders by"}}},"CDF":{"description":"Determines whether this entity can be ridden. Allows specifying the different seat positions and quantity.","type":"object","title":"Rideable","additionalProperties":false,"properties":{"controlling_seat":{"type":"integer","default":0,"description":"The seat that designates the driver of the entity","title":"Controlling Seat"},"crouching_skip_interact":{"type":"boolean","default":true,"description":"If true, this entity can't be interacted with if the entity interacting with it is crouching","title":"Crouching Skip Interact"},"family_types":{"type":"array","items":{"type":"string"},"description":"List of entities that can ride this entity","title":"Family Types"},"interact_text":{"type":"string","default":"","description":"The text to display when the player can interact with the entity when playing with Touch-screen controls","title":"Interact Text"},"pull_in_entities":{"type":"boolean","default":false,"description":"If true, this entity will pull in entities that are in the correct family_types into any available seats","title":"Pull In Entities"},"rider_can_interact":{"type":"boolean","default":false,"description":"If true, this entity will be picked when looked at by the rider","title":"Rider Can Interact"},"seat_count":{"type":"integer","default":1,"description":"The number of entities that can ride this entity at the same time","title":"Seat Count"},"seats":{"description":"The list of positions and number of riders for each position for entities riding this entity","title":"Seats","oneOf":[{"type":"object","$ref":"#/definitions/CDF_seats_spec"},{"type":"array","items":{"$ref":"#/definitions/CDF_seats_spec"}}]}},"examples":[{"controlling_seat":0,"crouching_skip_interact":true,"family_types":[],"interact_text":"","pull_in_entities":false,"rider_can_interact":false,"seat_count":1}]},"CDG":{"type":"object","title":"Scale By Age","additionalProperties":false,"description":"Defines the entity's size interpolation based on the entity's age.","required":[],"properties":{"end_scale":{"type":"number","default":1,"description":"Ending scale of the entity when it's fully grown","title":"End Scale"},"start_scale":{"type":"number","default":1,"description":"Initial scale of the newborn entity","title":"Start Scale"}},"examples":[{"end_scale":1,"start_scale":1}]},"CDH":{"type":"object","title":"Scale","additionalProperties":false,"description":"Sets the entity's visual size.","required":[],"properties":{"value":{"type":"number","default":0.0,"description":"The value of the scale. 1.0 means the entity will appear at the scale they are defined in their model. Higher numbers make the entity bigger","title":"Value"}},"examples":[{"value":0.0}]},"CDI":{"description":"fires off scheduled mob events at time of day events.","type":"object","title":"Scheduler","additionalProperties":false,"properties":{"min_delay_secs":{"title":"Minimum Delay Secs","type":"number","default":0,"description":"The minimum the scheduler will be delayed.","minimum":0},"max_delay_secs":{"title":"Maximum Delay Secs","type":"number","default":0,"description":"The maximum the scheduler will be delayed.","minimum":0},"scheduled_events":{"title":"Scheduled Events","type":"array","description":"The list of triggers that fire when the conditions match the given filter criteria. If any filter criteria overlap the first defined event will be picked.","items":{"title":"Scheduled Events","additionalProperties":false,"type":"object","description":"A filter and event pair. The event runs when the filter criteria succeeds","properties":{"filters":{"$ref":"#/definitions/BB"},"event":{"$ref":"#/definitions/I"}}}}},"examples":[{"min_delay_secs":0,"max_delay_secs":0,"scheduled_events":[]}]},"CDJ":{"description":"Defines a list of items the mob wants to share or pick up. Each item must have the following parameters:","type":"object","title":"Shareables","additionalProperties":false,"properties":{"all_items":{"type":"boolean","default":false,"description":"A bucket for all other items in the game. Note this category is always least priority items.","title":"All Items"},"all_items_max_amount":{"type":"integer","default":-1,"description":"Maximum number of this item the mob will hold.","title":"All Items Maximum Amount"},"all_items_surplus_amount":{"type":"integer","default":-1,"description":"Number of this item considered extra that the entity wants to share.","title":"All Items Surplus Amount"},"all_items_want_amount":{"type":"integer","default":-1,"description":"Number of this item this entity wants to share.","title":"All Items Want Amount"},"items":{"type":"array","description":"List of items that the entity wants to share","items":{"type":"object","title":"Item","description":"An Item that the entity wants to share","additionalProperties":false,"properties":{"admire":{"type":"boolean","description":"Mob will admire the item after picking up by looking at it. For this to happen the mob needs to have an Admire component and an Admire goal.","title":"Admire"},"barter":{"type":"boolean","description":"Mob will barter for the item after picking it up. For this to work the mob needs to have a Barter component and a Barter goal.","title":"Barter"},"consume_item":{"type":"boolean","description":"Determines whether the mob will consume the item or not.","title":"Consume Item"},"craft_into":{"type":"string","description":"Defines the item this entity wants to craft with the item defined above. Should be an item name.","title":"Craft Into"},"item":{"type":"string","description":"The name of the item","$ref":"#/definitions/H"},"item_aux":{"type":"integer","description":"Aux value for the item.","title":"Item Aux"},"max_amount":{"type":"integer","description":"Maximum number of this item the mob will hold.","title":"Maximum Amount"},"pickup_limit":{"type":"integer","description":"Maximum number of this item the mob will pick up during a single goal tick.","title":"Pickup Limit"},"priority":{"type":"integer","description":"Prioritizes which items the entity prefers. 0 is the highest priority.","title":"Priority"},"stored_in_inventory":{"type":"boolean","description":"Determines whether the mob will try to put the item in its inventory if it has the inventory component and if it can't be equipped.","title":"Stored In Inventory"},"surplus_amount":{"type":"integer","description":"Number of this item considered extra that the entity wants to share.","title":"Surplus Amount"},"want_amount":{"type":"integer","description":"Number of this item this entity wants to have.","title":"Want Amount"},"pickup_only":{"title":"Pickup Only","type":"boolean","description":"Determines whether the mob can only pickup the item and not drop it.","default":false}}}}},"examples":[{"all_items":false,"all_items_max_amount":-1,"all_items_surplus_amount":-1,"all_items_want_amount":-1,"items":[]}]},"CEA":{"description":"Defines the entity's ranged attack behavior.","type":"object","title":"Shooter","additionalProperties":false,"properties":{"aux_val":{"type":"integer","title":"Aux Val","default":-1,"description":"ID of the Potion effect to be applied on hit"},"def":{"title":"Def","type":"string","examples":["minecraft:arrow","minecraft:small_fireball","minecraft:thrown_trident"],"description":"Actor definition to use as projectile for the ranged attack. The actor definition must have the projectile component to be able to be shot as a projectile"},"type":{"title":"Type","type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","examples":["dragonfireball"]}},"examples":[{"def":"minecraft:small_fireball"}]},"CEB":{"description":"Defines the entity's `sit` state.","type":"object","title":"Sittable","additionalProperties":false,"required":[],"properties":{"sit_event":{"$ref":"#/definitions/I","description":"Event to run when the entity enters the `sit` state","title":"Sit Event"},"stand_event":{"$ref":"#/definitions/I","description":"Event to run when the entity exits the `sit` state","title":"Stand Event"}}},"CEC":{"type":"object","title":"Skin Id","additionalProperties":false,"description":"Skin ID value. Can be used to differentiate skins, such as base skins for villagers.","required":[],"properties":{"value":{"type":"integer","default":0,"description":"The ID of the skin. By convention, 0 is the ID of the base skin","title":"Value"}},"examples":[{"value":0}]},"CED":{"type":"object","title":"Sound Volume","additionalProperties":false,"description":"Sets the entity's base volume for sound effects.","required":[],"properties":{"value":{"type":"number","default":1.0,"description":"The value of the volume the entity uses for sound effects","title":"Value"}},"examples":[{"value":1.0}]},"CEE_entity_spawn":{"additionalProperties":false,"type":"object","title":"Entity Spawn","properties":{"filters":{"description":"If present, the specified entity will only spawn if the filter evaluates to true","$ref":"#/definitions/BB"},"max_wait_time":{"type":"integer","default":600,"description":"Maximum amount of time to randomly wait in seconds before another entity is spawned.","title":"Maximum Wait Time"},"min_wait_time":{"type":"integer","default":300,"description":"Minimum amount of time to randomly wait in seconds before another entity is spawned.","title":"Minimum Wait Time"},"num_to_spawn":{"type":"integer","default":1,"description":"The number of entities of this type to spawn each time that this triggers.","title":"Num To Spawn"},"should_leash":{"type":"boolean","default":false,"description":"If true, this the spawned entity will be leashed to the parent.","title":"Should Leash"},"single_use":{"type":"boolean","default":false,"description":"If true, this component will only ever spawn the specified entity once.","title":"Single Use"},"spawn_entity":{"type":"string","default":"","description":"Identifier of the entity to spawn, leave empty to spawn the item defined above instead.","title":"Spawn Entity"},"spawn_event":{"type":"string","default":"minecraft:entity_born","description":"Event to call when the entity is spawned.","title":"Spawn Event"},"spawn_item":{"type":"string","default":"egg","description":"Item identifier of the item to spawn.","title":"Spawn Item"},"spawn_method":{"type":"string","default":"born","description":"Method to use to spawn the entity.","title":"Spawn Method"},"spawn_sound":{"type":"string","default":"plop","description":"Identifier of the sound effect to play when the entity is spawned.","title":"Spawn Sound"}}},"CEE":{"type":"object","description":"Adds a timer after which this entity will spawn another entity or item (similar to vanilla's chicken's egg-laying behavior).","title":"Spawn Entity","additionalProperties":false,"properties":{"entities":{"title":"Entities","description":"The entities to spawn","oneOf":[{"type":"object","$ref":"#/definitions/CEE_entity_spawn"},{"type":"array","items":{"type":"object","$ref":"#/definitions/CEE_entity_spawn"}}]}}},"CEF":{"type":"object","title":"Spell Effects","additionalProperties":false,"description":"Defines what mob effects to add and remove to the entity when adding this component.","required":[],"properties":{"add_effects":{"type":"array","description":"List of effects to add to this entity after adding this component","items":{"oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"properties":{"amplifier":{"type":"integer","title":"Amplifier","description":"The level of the effect, same as used in the /effect command (0 for level I, 1 for level II, etc). Defaults to 0.","default":0,"minimum":0},"ambient":{"title":"Ambient","description":"Boolean value that should cause the particles emitted by the entity to be partially transparent. This does not work properly, resulting in this property having no effect. Defaults to false.","default":false,"type":"boolean"},"duration":{"title":"Duration","description":"The amount of time in seconds the effect should last. This allows for fractional numbers. For example, instant effects should be set to 0.05 seconds (one tick).","type":"number","minimum":0},"display_on_screen_animation":{"type":"boolean","title":"Display On Screen Animation","description":"Boolean value. When set to true, applying this effect displays an animated graphic on-screen similar to the totem of undying effect. Obviously, this only works for players. Defaults to false."},"effect":{"type":"string","title":"Effect","description":"The string identifier of the status effect to add. These are the same as used in the /effect command."},"visible":{"type":"boolean","title":"Visible","description":"Boolean value. When set to true, the effect will be visible to the player. Defaults to true."}}}]},"title":"Add Effects"},"remove_effects":{"title":"Remove Effects","description":"List of identifiers of effects to be removed from this entity after adding this component","oneOf":[{"type":"array","items":{"type":["string"],"title":"Spell Effect ID","description":"identifier of the effect to be removed from this entity after adding this component"}},{"type":"string"}]}},"examples":[{"add_effects":[]}]},"CEG":{"description":"Defines the entity's strength to carry items.","type":"object","title":"Strength","additionalProperties":false,"properties":{"max":{"type":"integer","default":5,"description":"The maximum strength of this entity","title":"Maximum"},"value":{"type":"integer","default":1,"description":"The initial value of the strength","title":"Value"}},"examples":[{"max":5,"value":1}]},"CEH":{"type":"object","title":"Suspect Tracking","additionalProperties":false,"required":[],"properties":{},"description":"Allows this entity to remember suspicious locations"},"CEI":{"type":"object","title":"Tameable","description":"Defines the rules for a mob to be tamed by the player.","required":[],"additionalProperties":false,"properties":{"probability":{"type":"number","default":1,"description":"The chance of taming the entity with each item use between 0.0 and 1.0, where 1.0 is 100%","minimum":0,"maximum":1,"title":"Probability"},"tame_event":{"title":"Tame Event","$ref":"#/definitions/I","description":"Event to run when this entity becomes tamed"},"tame_items":{"title":"Tame Items","description":"The list of items that can be used to tame this entity","oneOf":[{"type":"array","items":{"$ref":"#/definitions/H"}},{"$ref":"#/definitions/H"}]}},"examples":[{"probability":1}]},"CEJ_feed_items":{"type":"object","description":"The list of items that can be used to increase the entity's temper and speed up the taming process","properties":{"item":{"$ref":"#/definitions/H","description":"Name of the item this entity likes and can be used to increase this entity's temper","title":"Item"},"temper_mod":{"type":"number","default":0,"description":"The amount of temper this entity gains when fed this item","title":"Temper Mod"}}},"CEJ_auto_reject_items":{"type":"object","description":"The list of items that this entity dislikes and will cause it to get angry if used while untamed.","properties":{"item":{"$ref":"#/definitions/H","description":"Name of the item this entity dislikes and will cause it to get angry if used while untamed"}}},"CEJ":{"description":"Allows the Entity to be tamed by mounting it.","type":"object","title":"Tamemount","additionalProperties":false,"properties":{"attempt_temper_mod":{"type":"integer","default":5,"description":"The amount the entity's temper will increase when mounted.","title":"Attempt Temper Mod"},"auto_reject_items":{"title":"Auto Reject Items","description":"The list of items that, if carried while interacting with the entity, will anger it.","oneOf":[{"type":"object","$ref":"#/definitions/CEJ_auto_reject_items"},{"type":"array","items":{"$ref":"#/definitions/CEJ_auto_reject_items"}}]},"feed_text":{"type":"string","description":"The text that shows in the feeding interact button","title":"Feed Text"},"feed_items":{"description":"The list of items that can be used to increase the entity's temper and speed up the taming process","title":"Feed Items","oneOf":[{"type":"object","$ref":"#/definitions/CEJ_feed_items"},{"type":"array","items":{"$ref":"#/definitions/CEJ_feed_items"}}]},"max_temper":{"type":"integer","default":100,"description":"The maximum value for the entity's random starting temper","title":"Maximum Temper"},"min_temper":{"type":"integer","default":0,"description":"The minimum value for the entity's random starting temper","title":"Minimum Temper"},"ride_text":{"type":"string","description":"The text that shows in the riding interact button","title":"Ride Text"},"tame_event":{"$ref":"#/definitions/I","description":"Event that triggers when the entity becomes tamed","title":"Tame Event"}},"examples":[{"attempt_temper_mod":5,"feed_text":"example","max_temper":100,"min_temper":0,"ride_text":"example"}]},"CFA":{"description":"Defines the entity's range within which it can see or sense other entities to target them.","type":"object","title":"Target Nearby Sensor","additionalProperties":false,"required":[],"properties":{"must_see":{"type":"boolean","default":false,"description":"Whether the other entity needs to be visible to trigger `inside` events","title":"Must See"},"inside_range":{"type":"number","default":1,"description":"Maximum distance in blocks that another entity will be considered in the `inside` range","title":"Inside Range"},"on_inside_range":{"$ref":"#/definitions/I","description":"Event to call when an entity gets in the inside range. Can specify `event` for the name of the event and `target` for the target of the event","title":"On Inside Range"},"on_outside_range":{"$ref":"#/definitions/I","description":"Event to call when an entity gets in the outside range. Can specify `event` for the name of the event and `target` for the target of the event","title":"On Outside Range"},"on_vision_lost_inside_range":{"$ref":"#/definitions/I","description":"Event to call when an entity exits visual range. Can specify `event` for the name of the event and `target` for the target of the event","title":"On Vision Lost Inside Range"},"outside_range":{"type":"number","default":5,"description":"Maximum distance in blocks that another entity will be considered in the `outside` range","title":"Outside Range"}},"examples":[{"must_see":false,"inside_range":1,"outside_range":5}]},"CFB":{"description":"Defines an entity's teleporting behavior.","type":"object","title":"Teleport","additionalProperties":false,"required":[],"properties":{"dark_teleport_chance":{"type":"number","default":0.01,"description":"Modifies the chance that the entity will teleport if the entity is in darkness","title":"Dark Teleport Chance"},"light_teleport_chance":{"type":"number","default":0.01,"description":"Modifies the chance that the entity will teleport if the entity is in daylight","title":"Light Teleport Chance"},"max_random_teleport_time":{"type":"number","default":20,"description":"Maximum amount of time in seconds between random teleports","title":"Maximum Random Teleport Time"},"min_random_teleport_time":{"type":"number","default":0,"description":"Minimum amount of time in seconds between random teleports","title":"Minimum Random Teleport Time"},"random_teleport_cube":{"title":"Random Teleport Cube","description":"Entity will teleport to a random position within the area defined by this cube","type":"array","default":[32.0,16.0,32.0],"items":[{"type":"number","title":"A"},{"type":"number","title":"B"},{"type":"number","title":"C"}]},"random_teleports":{"type":"boolean","default":true,"description":"If true, the entity will teleport randomly","title":"Random Teleports"},"target_distance":{"type":"number","default":16,"description":"Maximum distance the entity will teleport when chasing a target","title":"Target Distance"},"target_teleport_chance":{"type":"number","default":1,"description":"The chance that the entity will teleport between 0.0 and 1.0. 1.0 means 100%","title":"Target Teleport Chance"}},"examples":[{"dark_teleport_chance":0.01,"light_teleport_chance":0.01,"max_random_teleport_time":20,"min_random_teleport_time":0,"random_teleport_cube":[],"random_teleports":true,"target_distance":16,"target_teleport_chance":1}]},"CFC":{"description":"Defines if the entity ticks the world and the radius around it to tick.","type":"object","title":"Tick World","additionalProperties":false,"required":[],"properties":{"distance_to_players":{"type":"number","default":128,"description":"The distance at which the closest player has to be before this entity despawns. This option will be ignored if never_despawn is true. Min: 128 blocks.","minimum":128,"title":"Distance To Players"},"never_despawn":{"type":"boolean","default":true,"description":"If true, this entity will not despawn even if players are far away. If false, distance_to_players will be used to determine when to despawn.","title":"Never Despawn"},"radius":{"type":"integer","default":2,"description":"The area around the entity to tick. Default: 2. Allowed range: 2-6.","minimum":2,"maximum":6,"title":"Radius"}},"examples":[{"distance_to_players":128,"never_despawn":true,"radius":2}]},"CFD":{"type":"object","title":"Timer","description":"Adds a timer after which an event will fire.","required":[],"additionalProperties":false,"properties":{"looping":{"type":"boolean","default":true,"description":"If true, the timer will restart every time after it fires","title":"Looping"},"randomInterval":{"type":"boolean","default":true,"description":"If true, the amount of time on the timer will be random between the Minimum and Maximum values specified in time","title":"Random Interval"},"time":{"description":"Amount of time in seconds for the timer. Can be specified as a number or a pair of numbers (Minimum and max). Incompatible with random_time_choices.","title":"Time","examples":[1,[1.0,5.0]],"oneOf":[{"type":"array","default":[0.0,0.0],"items":[{"type":"number","title":"Minimum"},{"type":"number","title":"Maximum"}]},{"type":"number","default":0}]},"time_down_event":{"description":"Event to fire when the time on the timer runs out","title":"Time Down Event","$ref":"#/definitions/I"},"random_time_choices":{"type":"array","default":[],"description":"This is a list of objects, representing one value in seconds that can be picked before firing the event and an optional weight. Incompatible with time.","title":"Random Time Choices","items":{"title":"Random Time Choices","description":"representing one value in seconds that can be picked before firing the event and an optional weight. Incompatible with time.","type":"object","additionalProperties":false,"properties":{"weight":{"type":"integer","description":"The weight on how likely this section is to trigger","$comment":"UNDOCUMENTED","title":"Weight"},"value":{"type":"integer","description":"The value in seconds that would be used if this section was picked","$comment":"UNDOCUMENTED","title":"Value"}}}}},"examples":[{"time":1,"looping":true,"time_down_event":{"event":"example:foo","target":"self"}}]},"CFE":{"description":"Resupplies an entity's trade.","type":"object","title":"Trade Resupply","additionalProperties":false,"properties":{}},"CFF":{"description":"Defines this entity's ability to trade with players.","type":"object","title":"Trade Table","additionalProperties":false,"required":[],"properties":{"convert_trades_economy":{"type":"boolean","default":false,"description":"Determines when the mob transforms, if the trades should be converted when the new mob has a economy_trade_table. When the trades are converted, the mob will generate a new trade list with their new trade table, but then it will try to convert any of the same trades over to have the same enchantments and user data. For example, if the original has a Emerald to Enchanted Iron Sword (Sharpness 1), and the new trade also has an Emerald for Enchanted Iron Sword, then the enchantment will be Sharpness 1.","title":"Convert Trades Economy"},"display_name":{"type":"string","description":"Name to be displayed while trading with this entity.","title":"Display Name"},"new_screen":{"type":"boolean","default":false,"description":"Used to determine if trading with entity opens the new trade screen.","title":"New Screen"},"persist_trades":{"type":"boolean","default":false,"description":"Determines if the trades should persist when the mob transforms. This makes it so that the next time the mob is transformed to something with a trade_table or economy_trade_table, then it keeps their trades.","title":"Persist Trades"},"table":{"type":"string","description":"File path relative to the resource pack root for this entity's trades.","title":"Table"}},"examples":[{"convert_trades_economy":false,"display_name":"example","new_screen":false,"persist_trades":false,"table":"example"}]},"CFG":{"description":"Defines the entity's trail to carry items.","type":"object","title":"Trail","additionalProperties":false,"properties":{"block_type":{"type":"string","default":"air","description":"The type of block you wish to be spawned by the entity as it move about the world. Solid blocks may not be spawned at an offset of ().","title":"Block Type"},"spawn_filter":{"$ref":"#/definitions/BB","description":"One or more conditions that must be met in order to cause the chosen block type to spawn.","title":"Spawn Filter"},"spawn_offset":{"type":"array","default":[0,0,0],"description":"The distance from the entities current position to spawn the block. Capped at up to 16 blocks away. The X value is left/right(-/+), the Z value is backward/forward(-/+), the Y value is below/above(-/+).","title":"Spawn Offset","items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]}},"examples":[{"block_type":"air","spawn_offset":[0,0,0]}]},"CFH":{"description":"Defines this entity's ability to trade with players.","type":"object","title":"Transformation","additionalProperties":false,"properties":{"add":{"type":"object","description":"List of components to add to the entity after the transformation","title":"Add","additionalProperties":false,"properties":{"component_groups":{"type":"array","description":"Names of component groups to add","items":{"type":"string"}}}},"begin_transform_sound":{"type":"string","description":"Sound to play when the transformation starts","title":"Begin Transform Sound"},"delay":{"description":"Defines the properties of the delay for the transformation","title":"Delay","oneOf":[{"type":"number"},{"type":"object","properties":{"block_assist_chance":{"type":"number","default":0,"description":"Chance that the entity will look for nearby blocks that can speed up the transformation. Value must be between 0.0 and 1.0"},"block_chance":{"type":"number","default":0,"description":"Chance that, once a block is found, will help speed up the transformation"},"block_max":{"type":"integer","default":0,"description":"Maximum number of blocks the entity will look for to aid in the transformation. If not defined or set to 0, it will be set to the block radius"},"block_radius":{"type":"integer","default":0,"description":"Distance in Blocks that the entity will search for blocks that can help the transformation"},"block_types":{"type":"array","description":"List of blocks that can help the transformation of this entity","items":{"$ref":"#/definitions/JI"}},"value":{"type":"number","default":0,"description":"Time in seconds before the entity transforms"}}}]},"drop_equipment":{"type":"boolean","default":false,"description":"Cause the entity to drop all equipment upon transformation","title":"Drop Equipment"},"drop_inventory":{"type":"boolean","default":false,"description":"Cause the entity to drop all items in inventory upon transformation","title":"Drop Inventory"},"into":{"type":"string","default":"","description":"Entity Definition that this entity will transform into","title":"Into"},"keep_level":{"type":"boolean","default":false,"description":"If this entity has trades and has leveled up, it should maintain that level after transformation.","title":"Keep Level"},"keep_owner":{"type":"boolean","default":false,"description":"If this entity is owned by another entity, it should remain owned after transformation.","title":"Keep Owner"},"preserve_equipment":{"type":"boolean","default":false,"description":"Cause the entity to keep equipment after going through transformation","title":"Preserve Equipment"},"transformation_sound":{"type":"string","default":"","description":"Sound to play when the entity is done transforming","title":"Transformation Sound"}},"examples":[{"add":{},"begin_transform_sound":"example","drop_equipment":false,"drop_inventory":false,"into":"","keep_level":false,"keep_owner":false,"preserve_equipment":false,"transformation_sound":""}]},"CFI":{"type":"object","title":"Trust","description":"Allows this entity to trust multiple players.","required":[],"additionalProperties":false,"properties":{}},"CFJ":{"type":"object","title":"Trusting","description":"Defines the rules for a mob to trust players.","required":[],"additionalProperties":false,"properties":{"probability":{"type":"number","default":1,"description":"The chance of the entity trusting with each item use between 0.0 and 1.0, where 1.0 is 100%","title":"Probability"},"trust_event":{"$ref":"#/definitions/I","description":"Event to run when this entity becomes trusting","title":"Trust Event"},"trust_items":{"title":"Trust Items","type":"array","description":"The list of items that can be used to get the entity to trust players","items":{"$ref":"#/definitions/H","title":"Trust Item"}}},"examples":[{"probability":1,"trust_event":"self:trust"},{"probability":1,"trust_items":[],"trust_event":"self:trust"}]},"CGA":{"type":"object","title":"Type Family","additionalProperties":false,"description":"Defines the families this entity belongs to.","required":["family"],"examples":[{"family":[]},{"family":["monster"]},{"family":["mob"]},{"family":["animal"]},{"family":["npc"]}],"properties":{"family":{"type":"array","items":{"type":"string","description":"Family name","title":"Family","examples":["monster","mob","animal","npc"]},"description":"List of family names","title":"Family"}}},"CGB":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","title":"Underwater Movement","additionalProperties":false,"required":[],"properties":{"value":{"type":"number","title":"Value","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"value":0.0}]},"CGC":{"additionalProperties":false,"type":"object","title":"Variant","description":"Used to differentiate the component group of a variant of an entity from others (e.g. ocelot, villager) Parameters","required":["value"],"properties":{"value":{"type":"integer","default":0,"description":"The ID of the variant. By convention, 0 is the ID of the base entity","title":"Value"}},"examples":[{"value":0},{"value":1},{"value":2},{"value":3},{"value":4},{"value":5},{"value":6},{"value":7},{"value":8},{"value":9}]},"CGD":{"type":"object","title":"Vibration Damper","additionalProperties":false,"required":[],"properties":{},"description":"Vibrations emitted by this entity will be ignored."},"CGE":{"type":"object","title":"Vibration Listener","additionalProperties":false,"required":[],"properties":{},"description":"This entity will respond to vibrations"},"CGF":{"additionalProperties":false,"type":"object","title":"Walk Animation Speed","description":"Sets the speed multiplier for this entity's walk animation speed.","required":[],"properties":{"value":{"type":"number","default":1,"description":"The higher the number, the faster the animation for walking plays. A value of 1.0 means normal speed, while 2.0 means twice as fast","title":"Value"}},"examples":[{"value":1}]},"CGG":{"description":"Sets that this entity wants to become a jockey.","type":"object","title":"Wants Jockey","additionalProperties":false,"properties":{}},"CGH":{"description":"Defines the speed with which an entity can move through water.","type":"object","title":"Water Movement","additionalProperties":false,"required":[],"properties":{"drag_factor":{"type":"number","default":0.8,"description":"Drag factor to determine movement speed when in water.","title":"Drag Factor"}},"examples":[{"drag_factor":0.8}]},"CGJ":{"additionalProperties":false,"type":"integer","title":"Priority","minimum":0,"description":"How important this behavior is. Lower priority behaviors will be executed first."},"CGI":{"type":"object","title":"Admire Item","description":"Enables the mob to admire items that have been configured as admirable. Must be used in combination with the admire_item component.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"admire_item_sound":{"title":"Admire Item Sound","type":"string","description":"The sound event to play when admiring the item"},"on_admire_item_start":{"title":"On Admire Item Start","$ref":"#/definitions/I","description":"The event to run when admiring the item"},"on_admire_item_stop":{"title":"On Admire Item Stop","$ref":"#/definitions/I","description":"The event to run when no longer admiring the item"},"sound_interval":{"title":"Sound Interval","default":0,"description":"The range of time in seconds to randomly wait before playing the sound again.","oneOf":[{"type":"array","items":[{"type":"number","title":"Maximum"},{"type":"number","title":"Maximum"}]},{"type":"number"},{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number"},"range_max":{"type":"number"}}}]}},"examples":[{"admire_item_sound":""}]},"CHA":{"type":"object","title":"Avoid Block","description":"Allows this entity to avoid certain blocks.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"tick_interval":{"type":"integer","title":"Tick Interval","default":1,"description":"Should start tick interval."},"search_range":{"type":"integer","title":"Search Range","description":"Maximum distance to look for a block in xz."},"search_height":{"type":"integer","title":"Search Height","description":"Maximum distance to look for a block in y."},"sprint_speed_modifier":{"type":"number","title":"Sprint Speed Modifier","description":"Modifier for sprint speed. 1.0 means keep the regular speed, while higher numbers make the sprint speed faster."},"target_selection_method":{"type":"string","title":"Target Selection Method","description":"Block search method.","enum":["nearest"]},"target_blocks":{"type":"array","title":"Target Blocks","description":"List of block types this mob avoids.","items":{"title":"Block ID","$ref":"#/definitions/JI"}},"avoid_block_sound":{"type":"string","title":"Avoid Block Sound","description":"The sound event to play when the mob is avoiding a block."},"walk_speed_modifier":{"type":"number","title":"Walk Speed Modifier","default":1.0,"description":"Modifier for walking speed. 1.0 means keep the regular speed, while higher numbers make the walking speed faster."},"on_escape":{"type":"array","title":"Walk Speed Modifier","description":"Escape trigger.","items":{"$ref":"#/definitions/I"}},"sound_interval":{"default":0,"description":"The range of time in seconds to randomly wait before playing the sound again.","title":"Sound Interval","oneOf":[{"type":"array","items":[{"type":"number","title":"Maximum"},{"type":"number","title":"Maximum"}]},{"type":"number"},{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number"},"range_max":{"type":"number"}}}]}},"examples":[{"tick_interval":0,"search_range":0,"search_height":0,"sprint_speed_modifier":0.0,"target_selection_method":"example","target_blocks":[],"avoid_block_sound":"example","walk_speed_modifier":0.0,"on_escape":[]}]},"CHC_entity_definition":{"description":"The entity type","title":"Entity Type","type":"object","properties":{"filters":{"type":"object","$ref":"#/definitions/BB"},"max_dist":{"type":"number","description":"Maximum distance this mob can be away to be a valid choice","default":16,"title":"Maximum Dist"},"walk_speed_multiplier":{"type":"number","description":"Multiplier for the walking speed. A value of 1.0 means the speed is unchanged","default":16,"title":"Walk Speed Multiplier"},"sprint_speed_multiplier":{"type":"number","description":"Multiplier for the running speed. A value of 1.0 means the speed is unchanged","default":16,"title":"Sprint Speed Multiplier"},"must_see":{"type":"boolean","description":"If true, the mob has to be visible to be a valid choice","default":false,"title":"Must See"},"must_see_forget_duration":{"type":"number","description":"Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more","default":3,"title":"Must See Forget Duration"}}},"CHC":{"title":"Entity Types","oneOf":[{"type":"array","items":{"$ref":"#/definitions/CHC_entity_definition"}},{"$ref":"#/definitions/CHC_entity_definition"}]},"CHB":{"additionalProperties":false,"type":"object","title":"Avoid Mob Type","description":"Allows the entity to run away from other entities that meet the criteria specified.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"avoid_mob_sound":{"title":"Avoid Mob Sound","type":"string","default":"","description":"The sound event to play when the mob is avoiding another mob."},"avoid_target_xz":{"title":"Avoid Target XZ","type":"integer","default":16,"description":"The next target position the entity chooses to avoid another entity will be chosen within this XZ Distance."},"avoid_target_y":{"title":"Avoid Target Y","type":"integer","default":7,"description":"The next target position the entity chooses to avoid another entity will be chosen within this Y Distance."},"ignore_visibilty":{"title":"Ignore Visibilty","type":"boolean","default":false,"description":"Whether or not to ignore direct line of sight while this entity is running away from other specified entities."},"max_dist":{"title":"Max Dist","type":"number","default":3.0,"description":"Maximum distance to look for an avoid target for the entity."},"max_flee":{"title":"Max Flee","type":"number","default":10.0,"description":"How many blocks away from its avoid target the entity must be for it to stop fleeing from the avoid target."},"probability_per_strength":{"title":"Probability Per Strength","type":"number","default":1.0,"description":"Percent chance this entity will stop avoiding another entity based on that entity's strength, where 1.0 = 100%."},"remove_target":{"title":"Remove Target","type":"boolean","default":false,"description":"Determine if we should remove target when fleeing or not."},"sprint_distance":{"title":"Sprint Distance","type":"number","default":7.0,"description":"How many blocks within range of its avoid target the entity must be for it to begin sprinting away from the avoid target."},"sprint_speed_multiplier":{"title":"Sprint Speed Multiplier","type":"number","default":1.0,"description":"Multiplier for sprint speed. 1.0 means keep the regular speed, while higher numbers make the sprint speed faster."},"walk_speed_multiplier":{"title":"Walk Speed Multiplier","type":"number","default":1.0,"description":"Multiplier for walking speed. 1.0 means keep the regular speed, while higher numbers make the walking speed faster."},"ignore_visibility":{"type":"boolean","default":false,"description":"If true, visbility between this entity and the mob type will not be checked.","title":"Ignore Visibility"},"entity_types":{"$ref":"#/definitions/CHC","title":"Entity Types","description":"The list of conditions another entity must meet to be a valid target to avoid."},"on_escape_event":{"$ref":"#/definitions/I","title":"On Escape Event","description":"Event that is triggered when escaping from a mob."},"sound_interval":{"title":"Sound Interval","default":[3.0,8.0],"description":"The range of time in seconds to randomly wait before playing the sound again.","oneOf":[{"type":"array","items":[{"type":"number","title":"Maximum"},{"type":"number","title":"Maximum"}]},{"type":"number"},{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number"},"range_max":{"type":"number"}}}]}},"examples":[{"max_dist":0,"max_flee":0.5,"walk_speed_multiplier":1.0,"sprint_speed_multiplier":1.0,"probability_per_strength":1.0,"ignore_visibility":false,"avoid_mob_sound":"example","remove_target":true}]},"CHD":{"type":"object","title":"Barter","description":"Enables the mob to barter for items that have been configured as barter currency. Must be used in combination with the barter component","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"CHE":{"type":"object","title":"Beg","additionalProperties":false,"description":"Allows this mob to look at and follow the player that holds food they like.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"items":{"type":"array","description":"List of items that this mob likes","items":{"type":"string","description":"List of items that this mob likes","title":"Properties","$ref":"#/definitions/H"},"title":"Properties"},"look_distance":{"type":"number","default":8,"description":"Distance in blocks the mob will beg from","title":"Look Distance"},"look_time":{"description":"The range of time in seconds this mob will stare at the player holding a food they like, begging for it","$ref":"#/definitions/JD","default":[2,4],"title":"Look Time"}},"examples":[{"items":[],"look_distance":8}]},"CHG":{"additionalProperties":false,"default":1.0,"description":"Movement speed multiplier of the mob when using this AI Goal.","type":"number","title":"Speed Multiplier"},"CHF":{"type":"object","title":"Break Door","description":"Allows this mob to break doors.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}},"additionalProperties":false},"CHH":{"additionalProperties":false,"type":"object","title":"Breed","description":"Allows this mob to breed with other mobs.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"CHI":{"additionalProperties":false,"type":"object","title":"Celebrate Survive","description":"Allows this entity to celebrate surviving a raid by shooting fireworks.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"fireworks_interval":{"title":"Fireworks Interval","$ref":"#/definitions/JD","description":"Minimum and maximum time between firework (positive, in seconds)."},"duration":{"title":"Duration","description":"The duration in seconds that the celebration lasts for.","type":"number"},"on_celebration_end_event":{"title":"On Celebration End Event","description":"The event to trigger when the goal's duration expires.","$ref":"#/definitions/I"}}},"CHJ":{"type":"object","title":"Celebrate","description":"Allows this entity to celebrate surviving a raid by making celebration sounds and jumping.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"celebration_sound":{"type":"string","default":"","description":"The sound event to trigger during the celebration.","title":"Celebration Sound"},"duration":{"type":"number","default":30,"description":"The duration in seconds that the celebration lasts for.","title":"Duration"},"jump_interval":{"default":[1,3.5],"description":"Minimum and maximum time between jumping (positive, in seconds).","title":"Jump Interval","oneOf":[{"type":"array","items":[{"type":"number","title":"Maximum"},{"type":"number","title":"Maximum"}]},{"type":"number"},{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number"},"range_max":{"type":"number"}}}]},"on_celebration_end_event":{"$ref":"#/definitions/JA","description":"The event to trigger when the goal's duration expires.","title":"On Celebration End Event"},"sound_interval":{"default":0,"description":"Minimum and maximum time between sound events (positive, in seconds).","title":"Sound Interval","$ref":"#/definitions/JD"}},"examples":[{"celebration_sound":"","duration":1}]},"CIA":{"additionalProperties":false,"type":"object","title":"Charge Attack","description":"Allows this entity to damage a target by using a running attack.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"max_distance":{"title":"Max Distance","type":"number","default":3,"description":"A charge attack cannot start if the entity is farther than this distance to the target."},"min_distance":{"title":"Min Distance","type":"number","default":2,"description":"A charge attack cannot start if the entity is closer than this distance to the target."},"success_rate":{"title":"Success Rate","type":"number","default":0.1428,"description":"Percent chance this entity will start a charge attack, if not already attacking (1.0 = 100%)"}}},"CIB":{"type":"object","title":"Charge Held Item","description":"Allows an entity to charge and use their held item.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"items":{"type":"array","title":"Items","description":"The list of items that can be used to charge the held item. This list is required and must have at least one item in it.","items":{"type":"string","description":"Items names to be used.","title":"Item ID"}}},"examples":[{"items":[]}]},"CIC":{"type":"object","title":"Circle Around Anchor","additionalProperties":false,"description":"Causes an entity to circle around an anchor point placed near a point or target.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"radius_range":{"$ref":"#/definitions/JD","default":[5.0,15.0],"description":"Horizontal distance from the anchor point this entity must stay within upon a successful radius adjustment.","title":"Radius Range"},"radius_change_chance":{"type":"integer","default":250,"description":"A random value to determine when to increase the size of the radius up to the maximum. This has a 1/value chance every tick to do so.","title":"Radius Change Chance"},"height_above_target_range":{"$ref":"#/definitions/JD","default":[0.0,0.0],"description":"The number of blocks above the target that the next anchor point can be set. This value is used only when the entity is tracking a target.","title":"Height Above Target Range"},"height_offset_range":{"$ref":"#/definitions/JD","default":[0.0,0.0],"description":"The range of height in blocks offset the mob can have from it's anchor point.","title":"Height Offset Range"},"height_change_chance":{"type":"integer","default":350,"description":"A random value to determine when to change the height of the mob from the anchor point. This has a 1/value chance every tick to do so.","title":"Height Change Chance"},"goal_radius":{"type":"number","default":0.5,"description":"Maximum distance from the anchor-point in which this entity considers itself to have reached the anchor point. This is to prevent the entity from bouncing back and forth trying to reach a specific spot.","title":"Goal Radius"},"radius_change":{"type":"number","title":"Radius Change","description":"The number of blocks to increase the current movement radius by, upon successful `radius_adjustment_chance`. If the current radius increases over the range maximum, the current radius will be set back to the range minimum and the entity will change between clockwise and counter-clockwise movement."},"radius_adjustment_chance":{"type":"number","title":"Radius Adjustment Chance","description":"Percent chance to determine how often to increase the size of the current movement radius around the anchor point. 1 = 100%. `radius_change_chance` is deprecated and has been replaced with `radius_adjustment_chance`."},"height_adjustment_chance":{"type":"number","title":"Height Adjustment Chance","description":"Percent chance to determine how often to increase or decrease the current height around the anchor point. 1 = 100%. `height_change_chance` is deprecated and has been replaced with `height_adjustment_chance`."},"angle_change":{"type":"number","title":"Angle Change","description":"Number of degrees to change this entity's facing by, when the entity selects its next anchor point."}},"examples":[{"speed_multiplier":1.0,"radius_change_chance":250,"height_change_chance":350,"goal_radius":0.5,"radius_change":0.0,"radius_adjustment_chance":0.0,"height_adjustment_chance":0.0,"angle_change":0.0}]},"CID":{"additionalProperties":false,"type":"object","title":"Controlled By Player","description":"Allows the entity to be controlled by the player using an item in the item_controllable property (required). Also requires the minecraft:movement property, and the minecraft:rideable property. On every tick, the entity will attempt to rotate towards where the player is facing with the control item whilst simultaneously moving forward.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"fractional_rotation":{"title":"Fractional Rotation","type":"number","default":0.5,"description":"The entity will attempt to rotate to face where the player is facing each tick. The entity will target this percentage of their difference in their current facing angles each tick (from 0.0 to 1.0 where 1.0 = 100%). This is limited by FractionalRotationLimit. A value of 0.0 will result in the entity no longer turning to where the player is facing."},"fractional_rotation_limit":{"title":"Fractional Rotation Limit","type":"number","default":5.0,"description":"Limits the total degrees the entity can rotate to face where the player is facing on each tick."},"mount_speed_multiplier":{"title":"Mount Speed Multiplier","type":"number","default":1.0,"description":"Speed multiplier of mount when controlled by player."}},"examples":[{"mount_speed_multiplier":1}]},"CIG":{"type":"array","title":"Vector Of 2 Items","description":"An vector of 2 integers","examples":[[0,0]],"items":[{"type":"integer","description":"The X component","title":"X","default":0},{"type":"integer","description":"The Y component","title":"Y","default":0}],"defaultSnippets":[{"label":"New Array 2","body":["^$1","^$2"]}]},"CIF":{"oneOf":[{"type":"array","$ref":"#/definitions/CIG"},{"title":"Value","type":"integer"}],"examples":[0,[0,10]],"defaultSnippets":[{"label":"New Array 2","body":["^$1","^$2"]}]},"CIE":{"type":"object","title":"Eat Block","description":"[EXPERIMENTAL BEHAVIOR] Allows the entity to croak at a random time interval with configurable conditions.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"duration":{"title":"Duration","description":"Random range in seconds after which the croaking stops. Can also be a constant.","$ref":"#/definitions/CIF"},"filters":{"title":"Filters","$ref":"#/definitions/BB","description":"Conditions for the behavior to start and keep running. The interval between runs only starts after passing the filters."},"interval":{"title":"Interval","description":"Random range in seconds between runs of this behavior. Can also be a constant.","$ref":"#/definitions/CIF"}}},"CIH":{"type":"object","title":"Defend Trusted Target","description":"Allows the mob to target another mob that hurts an entity it trusts.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"aggro_sound":{"title":"Aggro Sound","type":"string","default":"","description":"Sound to occasionally play while defending."},"attack_interval":{"title":"Attack Interval","type":"integer","default":0,"description":"Time in seconds between attacks"},"must_see":{"title":"Must See","type":"boolean","default":false,"description":"If true, only entities in this mob's viewing range can be selected as targets"},"must_see_forget_duration":{"title":"Must See Forget Duration","type":"number","default":3,"description":"Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more"},"on_defend_start":{"title":"On Defend Start","$ref":"#/definitions/I","description":"The event to run when this mob starts to defend the entity it trusts."},"within_radius":{"title":"Within Radius","type":"number","default":0,"description":"Distance in blocks that the target can be within to launch an attack"},"entity_types":{"title":"Entity Types","type":"object","description":"List of entity types that this mob considers valid targets","additionalProperties":false},"sound_chance":{"title":"Sound Chance","type":"number","default":0.05,"description":"Probability that a sound will play.","minimum":0,"maximum":1}},"examples":[{"aggro_sound":"","attack_interval":0,"must_see":false,"must_see_forget_duration":3,"within_radius":0,"entity_types":{},"sound_chance":0.05}]},"CII":{"additionalProperties":false,"type":"object","title":"Defend Village Target","description":"Allows the entity to stay in a village and defend the village from aggressors. If a player is in bad standing with the village this goal will cause the entity to attack the player regardless of filter conditions.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"title":"Entity Types","$ref":"#/definitions/CHC","description":"List of entity types this mob considers a threat to the village","$comment":"UNDOCUMENTED"},"must_reach":{"title":"Must Reach","description":"The entity must be able to reach attacker.","type":"boolean"},"attack_chance":{"title":"Attack Chance","description":"The percentage chance that the entity has to attack aggressors of its village, where 1.0 = 100%.","type":"number","default":0.05}},"examples":[{"must_reach":true,"attack_chance":0.0}]},"CIJ":{"additionalProperties":false,"type":"object","title":"Delayed Attack","description":"Allows the mob to drink potions based on specified environment conditions.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"attack_duration":{"title":"Attack Duration","type":"number","default":0.75,"description":"The entity's attack animation will play out over this duration (in seconds). Also controls attack cooldown."},"attack_once":{"title":"Attack Once","type":"boolean","default":false,"description":"Allows the entity to use this attack behavior, only once EVER."},"attack_types":{"title":"Attack Types","type":"string","default":"N/A","description":"Defines the entity types this entity will attack."},"cooldown_time":{"title":"Cooldown Time","type":"number","default":1,"description":"Cooldown time (in seconds) between attacks."},"hit_delay_pct":{"title":"Hit Delay Pct","type":"number","default":0.5,"description":"The percentage into the attack animation to apply the damage of the attack (1.0 = 100%)."},"inner_boundary_time_increase":{"title":"Inner Boundary Time Increase","type":"number","default":0.25,"description":"Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_inner_boundary\"."},"max_dist":{"title":"Max Dist","type":"number","description":"Unused. No effect on \"minecraft:behavior.melee_attack\"."},"max_path_time":{"title":"Max Path Time","type":"number","default":0.55,"description":"Maximum base time (in seconds) to recalculate new attack path to target (before increases applied)."},"melee_fov":{"title":"Melee Fov","type":"number","default":90,"description":"Field of view (in degrees) when using the sensing component to detect an attack target."},"min_path_time":{"title":"Min Path Time","type":"number","default":0.2,"description":"Minimum base time (in seconds) to recalculate new attack path to target (before increases applied)."},"on_attack":{"title":"On Attack","description":"Defines the event to trigger when this entity successfully attacks.","$ref":"#/definitions/JA"},"outer_boundary_time_increase":{"title":"Outer Boundary Time Increase","type":"number","default":0.5,"description":"Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_outer_boundary\"."},"path_fail_time_increase":{"title":"Path Fail Time Increase","type":"number","default":0.75,"description":"Time (in seconds) to add to attack path recalculation when this entity cannot move along the current path."},"path_inner_boundary":{"title":"Path Inner Boundary","type":"number","default":16,"description":"Distance at which to increase attack path recalculation by \"inner_boundary_tick_increase\"."},"path_outer_boundary":{"title":"Path Outer Boundary","type":"number","default":32,"description":"Distance at which to increase attack path recalculation by \"outer_boundary_tick_increase\"."},"random_stop_interval":{"title":"Random Stop Interval","type":"integer","default":0,"description":"This entity will have a 1 in N chance to stop it's current attack, where N = \"random_stop_interval\"."},"reach_multiplier":{"title":"Reach Multiplier","type":"number","default":2,"description":"Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage."},"require_complete_path":{"title":"Require Complete Path","type":"boolean","default":false,"description":"Toggles (on/off) the need to have a full path from the entity to the target when using this melee attack behavior."},"set_persistent":{"title":"Set Persistent","type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player"},"target_dist":{"title":"Target Dist","type":"number","description":"Unused. No effect on \"minecraft:behavior.melee_attack\"."},"track_target":{"title":"Track Target","type":"boolean","default":false,"description":"Allows the entity to track the attack target, even if the entity has no sensing."},"x_max_rotation":{"title":"X Max Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."},"y_max_head_rotation":{"title":"Y Max Head Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."}},"examples":[{"attack_duration":1,"attack_once":false,"attack_types":"","hit_delay_pct":1,"random_stop_interval":0,"reach_multiplier":2,"require_complete_path":true,"sound_event":"example","track_target":false}]},"CJA":{"additionalProperties":false,"type":"object","title":"Dig","description":"[EXPERIMENTAL BEHAVIOR] Activates the `DIGGING` actor flag during the specified duration. Currently only Warden can use the Dig goal","properties":{"priority":{"$ref":"#/definitions/CGJ"},"allow_dig_when_named":{"title":"Allow Dig When Named","type":"boolean","default":false,"description":"If true, this behavior can run when this entity is named. Otherwise not."},"digs_in_daylight":{"title":"Digs In Daylight","type":"boolean","default":false,"description":"Indicates that the actor should start digging when it sees daylight"},"duration":{"title":"Duration","type":"number","default":0.0,"description":"Goal duration in seconds"},"idle_time":{"title":"Idle Time","type":"number","description":"The minimum idle time in seconds between the last detected disturbance to the start of digging."},"suspicion_is_disturbance":{"title":"Suspicion Is Disturbance","type":"boolean","default":false,"description":"If true, finding new suspicious locations count as disturbances that may delay the start of this goal."},"vibration_is_disturbance":{"title":"Vibration Is Disturbance","type":"boolean","default":false,"description":"If true, vibrations count as disturbances that may delay the start of this goal."}}},"CJB":{"additionalProperties":false,"type":"object","title":"Door Interact","description":"Allows the mob to drink potions based on specified environment conditions.","properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"CJC":{"additionalProperties":false,"type":"object","title":"Dragonchargeplayer","description":"Allows this entity to attack a player by charging at them. The player is chosen by the \"minecraft:behavior.dragonscanning\". Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"active_speed":{"title":"Active Speed","type":"number","default":1,"description":"The speed this entity moves when this behavior has started or while it's active."},"continue_charge_threshold_time":{"title":"Continue Charge Threshold Time","type":"number","default":0.5,"description":"If the dragon is outside the \"target_zone\" for longer than \"continue_charge_threshold_time\" seconds, the charge is canceled."},"flight_speed":{"title":"Flight Speed","type":"number","default":0.6,"description":"The speed this entity moves while this behavior is not active."},"target_zone":{"title":"Target Zone","$ref":"#/definitions/JD","default":[10,150],"description":"Minimum and maximum distance, from the target, this entity can use this behavior."},"turn_speed":{"title":"Turn Speed","type":"number","default":0.7,"description":"The speed at which this entity turns while using this behavior."}}},"CJD":{"additionalProperties":false,"type":"object","title":"Dragondeath","description":"Allows the dragon to go out with glory. This controls the Ender Dragon's death animation and can't be used by other mobs.","properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"CJE":{"additionalProperties":false,"type":"object","title":"Dragonflaming","description":"Allows the dragon to use its flame breath attack. Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"cooldown_time":{"title":"Cooldown Time","type":"number","default":10,"description":"Time (in seconds), after roar, to breath flame."},"flame_time":{"title":"Flame Time","type":"number","default":0.5,"description":"Time (in seconds), after roar, to breath flame."},"ground_flame_count":{"title":"Ground Flame Count","type":"integer","default":4,"description":"Number of ground flame-breath attacks to use before flight-takeoff."},"roar_time":{"title":"Roar Time","type":"number","default":2,"description":"Time (in seconds) to roar, before breathing flame."}}},"CJF":{"additionalProperties":false,"type":"object","title":"Dragonholdingpattern","description":"Allows the Dragon to fly around in a circle around the center podium. Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"CJG":{"additionalProperties":false,"type":"object","title":"Dragonlanding","description":"Allows the Dragon to stop flying and transition into perching mode. Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"CJH":{"additionalProperties":false,"type":"object","title":"Dragonscanning","description":"Allows the dragon to look around for a player to attack while in perch mode. Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"CJI":{"additionalProperties":false,"type":"object","title":"Dragonstrafeplayer","description":"Allows this entity to fly around looking for a player to shoot fireballs at. Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"active_speed":{"title":"Active Speed","type":"number","default":1,"description":"The speed this entity moves when this behavior has started or while it's active."},"fireball_range":{"title":"Fireball Range","type":"number","default":64,"description":"Maximum distance of this entity's fireball attack while strafing."},"flight_speed":{"title":"Flight Speed","type":"number","default":0.6,"description":"The speed this entity moves while this behavior is not active."},"switch_direction_probability":{"title":"Switch Direction Probability","type":"number","default":0.125,"description":"Percent chance to to switch this entity's strafe direction between clockwise and counterclockwise. Switch direction chance occurs each time a new target is chosen (1.0 = 100%)."},"target_in_range_and_in_view_time":{"title":"Target In Range And In View Time","type":"number","default":0.25,"description":"Time (in seconds) the target must be in fireball range, and in view [ie, no solid terrain in-between the target and this entity], before a fireball can be shot."},"target_zone":{"title":"Target Zone","$ref":"#/definitions/JD","default":[10,150],"description":"Minimum and maximum distance, from the target, this entity can use this behavior."},"turn_speed":{"title":"Turn Speed","type":"number","default":0.7,"description":"The speed at which this entity turns while using this behavior."},"view_angle":{"title":"View Angle","type":"number","default":10,"description":"The target must be within \"view_angle\" degrees of the dragon's current rotation before a fireball can be shot."}}},"CJJ":{"additionalProperties":false,"type":"object","title":"Dragontakeoff","description":"Allows the dragon to leave perch mode and go back to flying around. Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DAA":{"type":"object","title":"Drink Milk","description":"Allows the mob to drink milk based on specified environment conditions.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"cooldown_seconds":{"title":"Cooldown Seconds","type":"number","default":5.0,"description":"Time (in seconds) that the goal is on cooldown before it can be used again."},"filters":{"title":"Filters","$ref":"#/definitions/BB","description":"Conditions that need to be met for the behavior to start."}},"examples":[{"cooldown_seconds":5.0}]},"DAB":{"type":"object","title":"Beg","description":"Allows the mob to drink potions based on specified environment conditions.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"speed_modifier":{"default":0.0,"description":"Movement speed modifier of the mob when using this AI Goal","title":"Speed Modifier"},"potions":{"type":"array","description":"A list of potions that this entity can drink.","title":"Potions","items":{"required":["id","chance","filters"],"additionalProperties":false,"type":"object","description":"A potions that this entity can drink.","title":"Potions","properties":{"id":{"type":"integer","default":-1,"description":"The registry ID of the potion to use","title":"Id"},"chance":{"type":"number","default":1.0,"minimum":0,"maximum":1,"description":"The percent chance (from 0.0 to 1.0) of this potion being selected when searching for a potion to use.","title":"Chance"},"filters":{"description":"The filters to use when determining if this potion can be selected.","$ref":"#/definitions/BB"}}}}},"examples":[{"potions":[]}]},"DAC":{"additionalProperties":false,"description":"Allows the entity to move toward a target, and drop an item near the target. This goal requires a \"minecraft:navigation\" to execute.","title":"Drop Item For","type":"object","properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"entity_types":{"description":"The list of conditions another entity must meet to be a valid target to drop an item for.","title":"Entity Types","$ref":"#/definitions/CHC"},"cooldown":{"title":"Cooldown","type":"number","default":0.2,"description":"Total time that the goal is on cooldown before it can be used again."},"drop_item_chance":{"title":"Drop Item Chance","type":"number","default":1.0,"description":"The percent chance the entity will drop an item when using this goal."},"goal_radius":{"title":"Goal Radius","type":"number","default":0.5,"description":"Distance in blocks within the entity considers it has reached it's target position."},"loot_table":{"title":"Loot Table","type":"string","description":"The loot table that contains the possible loot the entity can drop with this goal.","examples":["loot_tables/"]},"max_head_look_at_height":{"title":"Max Head Look At Height","type":"number","default":10.0,"description":"The maximum height the entities head will look at when dropping the item. The entity will always be looking at its target."},"minimum_teleport_distance":{"title":"Minimum Teleport Distance","type":"number","default":2.0,"description":"If the target position is farther away than this distance on any tick, the entity will teleport to the target position."},"offering_distance":{"title":"Offering Distance","type":"number","default":1.0,"description":"The preferred distance the entity tries to be from the target it is dropping an item for."},"on_drop_attempt":{"title":"On Drop Attempt","$ref":"#/definitions/JA","description":"The event to trigger when the entity attempts to drop an item."},"search_count":{"title":"Search Count","type":"integer","default":0,"description":"The number of blocks each tick that the entity will check within its search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick."},"search_height":{"title":"Search Height","type":"integer","default":1,"description":"The Height in blocks the entity will search within to find a valid target position."},"search_range":{"title":"Search Range","type":"integer","default":0,"description":"The distance in blocks the entity will search within to find a valid target position."},"seconds_before_pickup":{"title":"Seconds Before Pickup","type":"number","default":0.0,"description":"The numbers of seconds that will pass before the dropped entity can be picked up from the ground."},"target_range":{"title":"Target Range","$ref":"#/definitions/CCI","default":[1,1,1],"description":"The range in blocks within which the entity searches to find a target to drop an item for."},"teleport_offset":{"title":"Teleport Offset","$ref":"#/definitions/CCI","default":[0,1,0],"description":"When the entity teleports, offset the teleport position by this many blocks in the X, Y, and Z coordinate."},"time_of_day_range":{"title":"Time Of Day Range","$ref":"#/definitions/JD","default":[0,1],"description":"The valid times of day that this goal can be used. For reference: noon is 0.0, sunset is 0.25, midnight is 0.5, and sunrise is 0.75, and back to noon for 1.0."}},"examples":[{"cooldown":0.0,"drop_item_chance":0.0,"goal_radius":0.5,"loot_table":"example","max_dist":0,"minimum_teleport_distance":0.0,"max_head_look_at_height":0.0,"offering_distance":0.0,"seconds_before_pickup":0.0,"search_count":1,"search_height":1,"search_range":0,"target_range":[],"teleport_offset":[],"time_of_day_range":[]}]},"DAD":{"type":"object","title":"Eat Block","description":"Allows the entity to consume a block, replace the eaten block with another block, and trigger an event as a result.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"on_eat":{"title":"On Eat","$ref":"#/definitions/JA","description":"The event to trigger when the block eating animation has completed."},"success_chance":{"title":"Succes Chance","$ref":"#/definitions/BEJ","default":0.02,"description":"A molang expression defining the success chance the entity has to consume a block."},"time_until_eat":{"title":"Time Until Eat","type":"number","default":1.8,"description":"The amount of time (in seconds) it takes for the block to be eaten upon a successful eat attempt."},"eat_and_replace_block_pairs":{"title":"Eat And Replace Block Pairs","type":"array","description":"A collection of pairs of blocks; the first (\"eat_block\")is the block the entity should eat, the second (\"replace_block\") is the block that should replace the eaten block.","items":{"type":"object","title":"Eat And Replace Block Pair","description":"The block to eat and the block to replace it with.","$comment":"UNDOCUMENTED","properties":{"eat_block":{"type":"string","title":"Block","description":"The block to eat.","$comment":"UNDOCUMENTED","$ref":"#/definitions/JI"},"replace_block":{"type":"string","title":"Replace Block","description":"The block to replace the eaten block with.","$comment":"UNDOCUMENTED","$ref":"#/definitions/JI"}}}}},"examples":[{"time_until_eat":0.0,"eat_and_replace_block_pairs":[{"eat_block":"minecraft:grass","replace_block":"minecraft:dirt"}]}]},"DAE":{"type":"object","title":"Eat Carried Item","description":"If the mob is carrying a food item, the mob will eat it and the effects will be applied to the mob.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"delay_before_eating":{"type":"number","description":"Time in seconds the mob should wait before eating the item.","title":"Delay Before Eating"}},"examples":[{"delay_before_eating":0.0}]},"DAF":{"type":"object","title":"Eat Mob","description":"[EXPERIMENTAL BEHAVIOR] Allows the entity to eat a specified Mob.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"eat_animation_time":{"title":"Eat Animation Time","type":"number","default":1000000,"description":"Sets the time in seconds the eat animation should play for."},"eat_mob_sound":{"title":"Eat Mob Sound","type":"string","default":"","description":"Sets the sound that should play when eating a mob."},"loot_table":{"title":"Loot Table","type":"string","default":"","description":"The loot table for loot to be dropped when eating a mob."},"pull_in_force":{"title":"Pull In Force","type":"number","default":1000000,"description":"Sets the force which the mob-to-be-eaten is pulled towards the eating mob."},"reach_mob_distance":{"title":"Reach Mob Distance","type":"number","default":1000000,"description":"Sets the desired distance to be reached before eating the mob."},"run_speed":{"title":"Run Speed","type":"number","default":1000000,"description":"Sets the entity's speed when running toward the target."}}},"DAG":{"type":"object","title":"Enderman Leave Block","additionalProperties":false,"description":"Allows the enderman to drop a block they are carrying. Can only be used by Endermen.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DAH":{"type":"object","title":"Enderman Take Block","description":"Allows the enderman to take a block and carry it around. Can only be used by Endermen.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DAI":{"type":"object","title":"Equip Item","description":"The entity puts on the desired equipment.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DAJ":{"type":"object","title":"Explore Outskirts","description":"Allows the entity to first travel to a random point on the outskirts of the village, and then explore random points within a small distance. This goal requires \"minecraft:dweller\" and \"minecraft:navigation\" to execute.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"dist_from_boundary":{"title":"Dist From Boundary","default":[5,0,5],"description":"The distance from the boundary the villager must be within in to explore the outskirts.","$ref":"#/definitions/CCI"},"explore_dist":{"title":"Explore Dist","type":"number","default":5.0,"description":"Total distance in blocks the the entity will explore beyond the village bounds when choosing its travel point."},"max_travel_time":{"title":"Max Travel Time","type":"number","default":60.0,"description":"This is the maximum amount of time an entity will attempt to reach it's travel point on the outskirts of the village before the goal exits."},"max_wait_time":{"title":"Max Wait Time","type":"number","default":0.0,"description":"The wait time in seconds between choosing new explore points will be chosen on a random interval between this value and the minimum wait time. This value is also the total amount of time the entity will explore random points before the goal stops."},"min_dist_from_target":{"title":"Min Dist From Target","type":"number","default":2.2,"description":"The entity must be within this distance for it to consider it has successfully reached its target."},"min_perimeter":{"title":"Min Perimeter","type":"number","default":1.0,"description":"The minimum perimeter of the village required to run this goal."},"min_wait_time":{"title":"Min Wait Time","type":"number","default":3.0,"description":"The wait time in seconds between choosing new explore points will be chosen on a random interval between this value and the maximum wait time."},"next_xz":{"title":"Next XZ","type":"integer","default":5,"description":"A new explore point will randomly be chosen within this XZ distance of the current target position when navigation has finished and the wait timer has elapsed."},"next_y":{"title":"Next Y","type":"integer","default":3,"description":"A new explore point will randomly be chosen within this Y distance of the current target position when navigation has finished and the wait timer has elapsed."},"timer_ratio":{"title":"Timer Ratio","type":"number","default":2.0,"description":"Each new explore point will be chosen on a random interval between the minimum and the maximum wait time, divided by this value. This does not apply to the first explore point chosen when the goal runs."}},"examples":[{"explore_dist":5,"wait_time":0,"next_xz":0,"next_y":0,"min_wait_time":0.0,"max_wait_time":0.0,"max_travel_time":0.0,"min_perimeter":0.0,"min_dist_from_target":0.0,"timer_ratio":0.0,"dist_from_boundary":[]}]},"DBA":{"type":"object","title":"Fertilize Farm Block","description":"Allows the mob to search within an area for a growable crop block. If found, the mob will use any available fertilizer in their inventory on the crop. This goal will not execute if the mob does not have a fertilizer item in its inventory.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"title":"Goal Radius","type":"number","default":1.5,"description":"Distance in blocks within the mob considers it has reached it's target position."},"max_fertilizer_usage":{"title":"Maximum Fertilizer Usage","type":"integer","default":1,"description":"The maximum number of times the mob will use fertilzer on the target block."},"search_cooldown_max_seconds":{"title":"Search Cooldown Maximum Seconds","type":"number","default":8.0,"description":"The maximum amount of time in seconds that the goal can take before searching again. The time is chosen between 0 and this number."},"search_count":{"title":"Search Count","type":"integer","default":9,"description":"The number of randomly selected blocks each tick that the mob will check within its search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick."},"search_height":{"title":"Search Height","type":"integer","default":1,"description":"The Height in blocks the mob will search within to find a valid target position."},"search_range":{"title":"Search Range","type":"integer","default":1,"description":"The distance in blocks the mob will search within to find a valid target position."}},"examples":[{"cooldown_time":0}]},"DBB":{"type":"object","title":"Find Cover","description":"Allows the mob to seek shade.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"cooldown_time":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again","title":"Cooldown Time"}},"examples":[{"cooldown_time":0}]},"DBC":{"additionalProperties":false,"description":"Allows the mob to look around for another mob to ride atop it.","title":"Find Mount","type":"object","properties":{"priority":{"$ref":"#/definitions/CGJ"},"avoid_water":{"title":"Avoid Water","type":"boolean","default":false,"description":"If true, the mob will not go into water blocks when going towards a mount"},"mount_distance":{"type":"number","title":"Mount Distance","default":-1,"description":"This is the distance the mob needs to be, in blocks, from the desired mount to mount it. If the value is below 0, the mob will use its default attack distance"},"start_delay":{"title":"Start Delay","type":"integer","default":0,"description":"Time the mob will wait before starting to move towards the mount"},"target_needed":{"title":"Target Needed","type":"boolean","default":false,"description":"If true, the mob will only look for a mount if it has a target"},"within_radius":{"title":"Within Radius","type":"number","default":0,"description":"Distance in blocks within which the mob will look for a mount"},"max_failed_attempts":{"title":"Maximum Failed Attempts","type":"integer","description":"The number of failed attempts to make before this goal is no longer used.","$comment":"UNDOCUMENTED"}},"examples":[{"avoid_water":false,"mount_distance":-1,"start_delay":0,"target_needed":false,"within_radius":0,"max_failed_attempts":0}]},"DBD":{"type":"object","title":"Find Underwater Treasure","description":"Allows the mob to move towards the nearest underwater ruin or shipwreck.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"search_range":{"type":"integer","default":0,"description":"The range that the mob will search for a treasure chest within a ruin or shipwreck to move towards.","title":"Search Range"},"stop_distance":{"type":"number","default":2.0,"description":"The distance the mob will move before stopping.","title":"Stop Distance"}},"examples":[{"search_range":0,"stop_distance":2.0}]},"DBE":{"type":"object","title":"Flee Sun","description":"Allows the mob to run away from direct sunlight and seek shade.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"DBF":{"type":"object","title":"Float Wander","description":"Allows the mob to float around like the Ghast.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"xz_dist":{"type":"integer","default":10,"description":"Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1","title":"Xz Dist"},"y_dist":{"type":"integer","default":7,"description":"Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1","title":"Y Dist"},"y_offset":{"type":"number","default":0.0,"description":"Height in blocks to add to the selected target position","title":"Y Offset"},"must_reach":{"type":"boolean","default":false,"description":"If true, the point has to be reachable to be a valid target","title":"Must Reach"},"random_reselect":{"type":"boolean","default":false,"description":"If true, the mob will randomly pick a new point while moving to the previously selected one","title":"Random Reselect"},"float_duration":{"$ref":"#/definitions/JD","default":[0.0,0.0],"description":"Range of time in seconds the mob will float around before landing and choosing to do something else","title":"Float Duration"}},"examples":[{"xz_dist":10,"y_dist":7,"y_offset":0.0,"must_reach":false,"random_reselect":false}]},"DBG":{"type":"object","title":"Float","description":"Allows the mob to stay afloat while swimming.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DBH":{"type":"object","title":"Follow Caravan","description":"Allows the mob to follow mobs that are in a caravan.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entity types that this mob can follow in a caravan","title":"Entity Types"},"entity_count":{"type":"integer","description":"Number of entities that can be in the caravan","default":1,"title":"Entity Count"}},"examples":[{"entity_count":1}]},"DBI":{"type":"object","title":"Follow Mob","description":"Allows the mob to follow other mobs.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks it will look for a mob to follow","title":"Search Range"},"stop_distance":{"type":"number","default":2,"description":"The distance in blocks this mob stops from the mob it is following","title":"Stop Distance"}},"examples":[{"search_range":0,"stop_distance":2}]},"DBJ":{"type":"object","title":"Follow Owner","description":"Allows the mob to follow the player that owns them.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"can_teleport":{"title":"Can Teleport","type":"boolean","default":true,"description":"Specify if the mob can teleport to the player if it is too far away"},"ignore_vibration":{"title":"Ignore Vibration","type":"boolean","default":true,"description":"Specify if the mob will follow the owner if it has heard a vibration lately"},"max_distance":{"title":"Max Distance","type":"number","default":60.0,"description":"The maximum distance in blocks this mob can be from its owner to start following, only used when canTeleport is false"},"start_distance":{"title":"Start Distance","type":"number","default":10.0,"description":"The distance in blocks that the owner can be away from this mob before it starts following it"},"stop_distance":{"title":"Stop Distance","type":"number","default":2.0,"description":"The distance in blocks this mob will stop from its owner while following it"}},"examples":[{"start_distance":10,"stop_distance":2}]},"DCA":{"type":"object","title":"Float","description":"Allows the mob to follow their parent around.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"DCB":{"type":"object","title":"Follow Target Captain","description":"Allows mob to move towards its current target captain.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"follow_distance":{"type":"number","default":0,"description":"Defines the distance in blocks the mob will stay from its target while following.","title":"Follow Distance"},"within_radius":{"type":"number","default":0,"description":"Defines the maximum distance in blocks a mob can get from its target captain before giving up trying to follow it.","title":"Within Radius"}},"examples":[{"follow_distance":0,"within_radius":0}]},"DCC":{"type":"object","title":"Barter","description":"[EXPERIMENTAL BEHAVIOR] The entity will attempt to toss the items from its inventory to a nearby recently played noteblock.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"listen_time":{"title":"listen time","type":"integer","default":0.0,"description":"Sets the time an entity should continue delivering items to a noteblock after hearing it."},"on_item_throw":{"title":"on item throw","description":"Event(s) to run when this mob throws items.","oneOf":[{"$ref":"#/definitions/JA"},{"type":"array","items":{"$ref":"#/definitions/JA"}}]},"reach_block_distance":{"title":"reach block distance","type":"number","default":3000000,"description":"Sets the desired distance to be reached before throwing the items towards the block."},"run_speed":{"title":"run speed","type":"number","default":1000000,"description":"Sets the entity's speed when running toward the block."},"throw_force":{"title":"throw force","type":"number","default":0.2,"description":"Sets the throw force."},"throw_sound":{"title":"throw sound","type":"string","default":"","description":"Sound to play when this mob throws an item."},"vertical_throw_mul":{"title":"vertical throw mul","type":"number","default":1500000,"description":"Sets the vertical throw multiplier that is applied on top of the throw force in the vertical direction."}}},"DCD":{"type":"object","title":"Barter","description":"[EXPERIMENTAL BEHAVIOR] The entity will attempt to toss the items from its inventory to its owner.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"on_item_throw":{"title":"on item throw","$ref":"#/definitions/JA","description":"Event(s) to run when this mob throws items.","oneOf":[{"$ref":"#/definitions/JA"},{"type":"array","items":{"$ref":"#/definitions/JA"}}]},"reach_mob_distance":{"title":"reach mob distance","type":"number","default":3000000,"description":"Sets the desired distance to be reached before giving items to owner."},"run_speed":{"title":"run speed","type":"number","default":1000000,"description":"Sets the entity's speed when running toward the owner."},"throw_force":{"title":"throw force","type":"number","default":0.2,"description":"Sets the throw force."},"throw_sound":{"title":"throw sound","type":"string","default":"item_thrown","description":"Sound to play when this mob throws an item."},"vertical_throw_mul":{"title":"vertical throw mul","type":"number","default":1500000,"description":"Sets the vertical throw multiplier that is applied on top of the throw force in the vertical direction."}}},"DCE":{"additionalProperties":false,"description":"Allows the mob to move back to the position they were spawned.","title":"Go Home","type":"object","properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"interval":{"type":"integer","default":120,"description":"A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal","title":"Interval"},"on_home":{"description":"Event(s) to run when this mob gets home.","title":"On Home","oneOf":[{"$ref":"#/definitions/JA"},{"type":"array","items":{"$ref":"#/definitions/JA"}}]},"on_failed":{"title":"On Failed","description":"Event(s) to run when this goal fails.","oneOf":[{"$ref":"#/definitions/I"},{"type":"array","items":{"$ref":"#/definitions/I"}}]},"calculate_new_path_radius":{"title":"Calculate New Path Radius","type":"number","default":2.0,"description":"Distance in blocks that the mob is considered close enough to the end of the current path. A new path will then be calculated to continue toward home."}},"examples":[{"goal_radius":0.5,"interval":120}]},"DCF":{"type":"object","title":"Guardian Attack","description":"Allows this entity to use a laser beam attack. Can only be used by Guardians and Elder Guardians.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"elder_extra_magic_damage":{"title":"Elder Extra Magic Damage","type":"integer","default":2,"description":"Amount of additional damage dealt from an elder guardian's magic attack."},"hard_mode_extra_magic_damage":{"title":"Hard Mode Extra Magic Damage","type":"integer","default":2,"description":"In hard difficulty, amount of additional damage dealt from a guardian's magic attack."},"magic_damage":{"title":"Magic Damage","type":"integer","default":1,"description":"Amount of damage dealt from a guardian's magic attack. Magic attack damage is added to the guardian's base attack damage."},"min_distance":{"title":"Min Distance","type":"number","default":3,"description":"Guardian attack behavior stops if the target is closer than this distance (doesn't apply to elders)."},"sound_delay_time":{"title":"Sound Delay Time","type":"number","default":0.5,"description":"Time (in seconds) to wait after starting an attack before playing the guardian attack sound."},"x_max_rotation":{"title":"X Max Rotation","type":"number","default":90,"description":"Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."},"y_max_head_rotation":{"title":"Y Max Head Rotation","type":"number","default":90,"description":"Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."}}},"DCG":{"type":"object","title":"Harvest Farm Block","description":"Allows the entity to search within an area for farmland with air above it. If found, the entity will replace the air block by planting a seed item from its inventory on the farmland block. This goal requires \"minecraft:inventory\" and \"minecraft:navigation\" to execute. This goal will not execute if the entity does not have an item in its inventory.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"max_seconds_before_search":{"title":"Maximum Seconds Before Search","type":"number","default":1.0,"description":"The maximum amount of time in seconds that the goal can take before searching for the first harvest block. The time is chosen between 0 and this number."},"search_cooldown_max_seconds":{"title":"Search Cooldown Maximum Seconds","type":"number","default":8.0,"description":"The maximum amount of time in seconds that the goal can take before searching again, after failing to find a a harvest block already. The time is chosen between 0 and this number."},"search_count":{"title":"Search Count","type":"integer","default":0,"description":"The number of randomly selected blocks each tick that the entity will check within its search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick."},"search_height":{"title":"Search Height","type":"integer","default":1,"description":"The height in blocks the entity will search within to find a valid target position."},"search_range":{"title":"Search Range","type":"integer","default":16,"description":"The distance in blocks the entity will search within to find a valid target position."},"seconds_until_new_task":{"title":"Seconds Until New Task","type":"number","default":0.5,"description":"The amount of time in seconds that the goal will cooldown after a successful reap/sow, before it can start again."}},"examples":[{"max_seconds_before_search":0.0,"search_cooldown_max_seconds":0.0,"seconds_until_new_task":0.0}]},"DCH":{"type":"object","title":"Hide","additionalProperties":false,"description":"Allows a mob with the hide component to attempt to move to - and hide at - an owned or nearby POI.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"duration":{"type":"number","default":1,"description":"Amount of time in seconds that the mob reacts.","title":"Duration"},"poi_type":{"type":"string","default":"","description":"Defines what POI type to hide at.","title":"Point Of Interest Type","examples":["bed"]},"timeout_cooldown":{"type":"number","default":8,"description":"The cooldown time in seconds before the goal can be reused after a internal failure or timeout condition.","title":"Timeout Cooldown"}},"examples":[{"duration":1,"poi_type":"","timeout_cooldown":8}]},"DCI":{"type":"object","title":"Hold Ground","description":"The mob freezes and looks at the mob they are targeting.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"broadcast":{"type":"boolean","default":false,"description":"Whether to broadcast out the mob's target to other mobs of the same type.","title":"Broadcast"},"broadcast_range":{"type":"number","default":0.0,"description":"Range in blocks for how far to broadcast.","title":"Broadcast Range"},"min_radius":{"type":"number","default":10.0,"description":"Minimum distance the target must be for the mob to run this goal.","title":"Minimum Radius"},"within_radius_event":{"$ref":"#/definitions/I","description":"Event to run when target is within the radius. This event is broadcasted if broadcast is true.","title":"Within Radius Event"}},"examples":[{"broadcast":false,"broadcast_range":0.0,"min_radius":10.0}]},"DCJ":{"type":"object","title":"Guardian Attack","additionalProperties":false,"description":"Allows the mob to target another mob that hurts them.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entity types that this mob can target if they hurt their owner","title":"Entity Types"},"alert_same_type":{"type":"boolean","default":false,"description":"If true, nearby mobs of the same type will be alerted about the damage","title":"Alert Same Type"},"hurt_owner":{"type":"boolean","default":false,"description":"If true, the mob will hurt its owner and other mobs with the same owner as itself","title":"Hurt Owner"}},"examples":[{"alert_same_type":false,"hurt_owner":false}]},"DDA":{"type":"object","title":"Inspect Bookshelf","additionalProperties":false,"description":"Allows the mob to inspect bookshelves.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"search_count":{"type":"integer","default":10,"description":"The number of blocks each tick that the mob will check within it's search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick","title":"Search Count"},"search_height":{"type":"integer","default":1,"description":"The height that the mob will search for bookshelves","title":"Search Height"},"search_range":{"type":"integer","default":0,"description":"Distance in blocks the mob will look for books to inspect","title":"Search Range"}},"examples":[{"goal_radius":0.5,"search_count":10,"search_height":1,"search_range":0}]},"DDC":{"type":"array","title":"Vector Of 2 Items","description":"An vector of 2 number","examples":[[0,0]],"items":[{"type":"number","description":"The X component","title":"X","default":0},{"type":"number","description":"The Y component","title":"Y","default":0}],"defaultSnippets":[{"label":"New Array 2","body":["^$1","^$2"]}]},"DDB":{"type":"object","title":"Melee Attack","description":"Allows an entity to jump to another random block.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"cooldown_range":{"title":"Cooldown Range","$ref":"#/definitions/DDC","default":[10,20],"description":"Minimum and maximum cooldown time-range (positive, in seconds) between each attempted jump."},"forbidden_blocks":{"title":"Forbidden Blocks","type":"array","description":"Blocks that the mob can't jump to.","items":{"$ref":"#/definitions/JI"}},"max_velocity":{"title":"Max Velocity","type":"number","default":1.5,"description":"The maximum velocity with which the mob can jump."},"minimum_distance":{"title":"Minimum Distance","type":"integer","default":2,"description":"The minimum distance (in blocks) from the mob to a block, in order to consider jumping to it."},"minimum_path_length":{"title":"Minimum Path Length","type":"integer","default":5,"description":"The minimum length (in blocks) of the mobs path to a block, in order to consider jumping to it."},"preferred_blocks":{"title":"Preferred Blocks","type":"array","description":"Blocks that the mob prefers jumping to.","items":{"$ref":"#/definitions/JI"}},"preferred_blocks_chance":{"title":"Preferred Blocks Chance","type":"number","default":1.0,"description":"Chance (between 0.0 and 1.0) that the mob will jump to a preferred block, if in range. Only matters if preferred blocks are defined."},"scale_factor":{"title":"Scale Factor","type":"number","default":0.7,"description":"The scalefactor of the bounding box of the mob while it is jumping."},"search_height":{"title":"Search Height","type":"integer","default":10,"description":"The height (in blocks, in range [2, 15]) of the search box, centered around the mob."},"search_width":{"title":"Search Width","type":"integer","default":8,"description":"The width (in blocks, in range [2, 15]) of the search box, centered around the mob."}},"examples":[{"search_width":8,"search_height":10,"minimum_path_length":5,"minimum_distance":5,"scale_factor":0.7,"cooldown_range":[]}]},"DDD":{"description":"Allows the mob to perform a damaging knockback that affects all nearby entities.","type":"object","title":"Knockback Roar","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"attack_time":{"title":"Attack Time","type":"number","default":0.5,"description":"The delay after which the knockback occurs (in seconds)."},"cooldown_time":{"title":"Cooldown Time","type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again"},"damage_filters":{"$ref":"#/definitions/BB","description":"The list of conditions another entity must meet to be a valid target to apply damage to.","title":"Damage Filters"},"duration":{"type":"number","default":1,"description":"The duration of the roar (in seconds).","title":"Duration"},"knockback_damage":{"type":"integer","default":6,"description":"The damage dealt by the knockback roar.","title":"Knockback Damage"},"knockback_strength":{"type":"integer","default":4,"description":"The strength of the knockback.","title":"Knockback Strength"},"knockback_filters":{"$ref":"#/definitions/BB","description":"The list of conditions another entity must meet to be a valid target to apply knockback to.","title":"Knockback Filters"},"knockback_horizontal_strength":{"type":"integer","default":4,"description":"The strength of the horizontal knockback.","title":"Knockback Horizontal Strength"},"knockback_range":{"type":"integer","default":4,"description":"The radius (in blocks) of the knockback effect.","title":"Knockback Range"},"knockback_vertical_strength":{"type":"integer","default":4,"description":"The strength of the vertical knockback.","title":"Knockback Vertical Strength"},"knockback_height_cap":{"title":"Knockback Height Cap","type":"number","default":0.4,"description":"The maximum height for vertical knockback."},"track_target":{"type":"boolean","default":false,"description":"If true, this mob will chase after the target as long as it's a valid target","title":"Track Target"},"on_roar_end":{"$ref":"#/definitions/I","description":"Event that is triggered when the roar ends.","title":"On Roar End"}},"examples":[{"attack_time":0.5,"cooldown_time":0,"duration":1,"knockback_damage":6,"knockback_horizontal_strength":4,"knockback_range":4,"knockback_vertical_strength":4,"track_target":false,"knockback_strength":4}]},"DDE":{"description":"Allows mobs to lay down at times.","type":"object","title":"Lay Down","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"interval":{"type":"integer","default":120,"description":"A random value to determine at what intervals something can occur. This has a 1/interval chance to choose this goal","title":"Interval"},"random_stop_interval":{"type":"integer","default":120,"description":"A random value in which the goal can use to pull out of the behavior. This is a 1/interval chance to play the sound","title":"Random Stop Interval"}},"examples":[{"interval":120,"random_stop_interval":120}]},"DDF":{"description":"Allows the mob to lay an egg block on a sand block if the mob is pregnant.","type":"object","title":"Lay Egg","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"allow_laying_from_below":{"title":"Allow Laying From Below","type":"boolean","default":false,"description":"[EXPERIMENTAL] Allows the mob to lay its eggs from below the target if it can't get there. This is useful if the target block is water with air above, since mobs may not be able to get to the air block above water."},"egg_type":{"title":"Egg Type","type":"string","default":"minecraft:turtle_egg","description":"[EXPERIMENTAL] Block type for the egg to lay. If this is a turtle egg, the number of eggs in the block is randomly set."},"goal_radius":{"title":"Goal Radius","type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the \"wiggle room\" to stop the AI from bouncing back and forth trying to reach a specific spot"},"lay_egg_sound":{"title":"Lay Egg Sound","type":"string","default":"lay_egg","description":"[EXPERIMENTAL] Sound event name for laying egg. Defaulted to lay_egg which is used for Turtles."},"lay_seconds":{"title":"Lay Seconds","type":"number","default":10.0,"description":"[EXPERIMENTAL] Duration of the laying egg process in seconds."},"on_lay":{"title":"On Lay","$ref":"#/definitions/JA","description":"Event to run when this mob lays the egg."},"search_height":{"title":"Search Height","type":"integer","default":1,"description":"Height in blocks the mob will look for a target block to move towards"},"search_range":{"title":"Search Range","type":"integer","default":0,"description":"The distance in blocks it will look for a target block to move towards"},"target_blocks":{"title":"Target Blocks","type":"array","default":["minecraft:sand"],"description":"[EXPERIMENTAL] Blocks that the mob can lay its eggs on top of."},"target_materials_above_block":{"title":"Target Materials Above Block","type":"array","default":["air"],"description":"[EXPERIMENTAL] Types of materials that can exist above the target block. Valid types are Air, Water, and Lava."},"use_default_animation":{"title":"Use Default Animation","type":"boolean","default":true,"description":"[EXPERIMENTAL] Specifies if the default lay-egg animation should be played when the egg is placed or not."}},"examples":[{"goal_radius":0.5,"search_height":1,"search_range":0}]},"DDG":{"description":"Allows monsters to jump at and attack their target. Can only be used by hostile mobs.","type":"object","title":"Leap At Target","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"must_be_on_ground":{"type":"boolean","default":true,"description":"If true, the mob will only jump at its target if its on the ground. Setting it to false will allow it to jump even if its already in the air","title":"Must Be On Ground"},"set_persistent":{"type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player","title":"Set Persistent"},"yd":{"type":"number","default":0.0,"description":"The height in blocks the mob jumps when leaping at its target","title":"Yd"},"target_dist":{"type":"number","default":0.3,"description":"Distance in blocks the mob jumps when leaping at its target.","title":"Target Dist"}},"examples":[{"must_be_on_ground":true,"set_persistent":false,"yd":0,"target_dist":0}]},"DDH":{"description":"Allows the mob to look at nearby entities.","type":"object","title":"Look At Entity","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"look_distance":{"type":"number","default":8.0,"description":"The distance in blocks from which the entity will look at","title":"Look Distance"},"probability":{"type":"number","default":0.02,"description":"The probability of looking at the target. A value of 1.00 is 100%","title":"Probability"},"look_time":{"$ref":"#/definitions/JD","default":[2,4],"description":"Time range to look at the entity","title":"Look Time"},"angle_of_view_vertical":{"type":"integer","default":360,"description":"The angle in degrees that the mob can see in the X-axis (left-right)","title":"Angle Of View Vertical"},"angle_of_view_horizontal":{"type":"integer","default":360,"description":"The angle in degrees that the mob can see in the Y-axis (up-down)","title":"Angle Of View Horizontal"},"filters":{"description":"Filter to determine the conditions for this mob to look at the entity","$ref":"#/definitions/BB"}},"examples":[{"look_distance":8.0,"probability":0.02,"angle_of_view_vertical":360,"angle_of_view_horizontal":360}]},"DDI":{"type":"object","title":"Look At Player","description":"Allows the mob to look at the player when the player is nearby.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"angle_of_view_vertical":{"title":"Angle Of View Vertical","type":"integer","default":360,"description":"The angle in degrees that the mob can see in the X-axis (left-right)"},"angle_of_view_horizontal":{"title":"Angle Of View Horizontal","type":"integer","default":360,"description":"The angle in degrees that the mob can see in the Y-axis (up-down)"},"look_distance":{"title":"Look Distance","type":"number","default":8.0,"description":"The distance in blocks from which the entity will look at"},"probability":{"title":"Probability","type":"number","default":0.02,"minimum":0,"description":"The probability of looking at the target. A value of 1.00 is 100%"},"look_time":{"title":"Look Time","type":"array","default":[2,4],"description":"Time range to look at the entity","items":[{"type":"number","title":"Minimum","description":"The minimum amount of time to look"},{"type":"number","title":"Maximum","description":"The maximum amount of time to look"}]},"target_distance":{"title":"Target Distance","type":"number","default":6.0,"description":"The distance in blocks from which the entity will choose a target"}},"examples":[{"angle_of_view_vertical":360,"angle_of_view_horizontal":360,"look_distance":8.0,"probability":0.02,"look_time":[],"target_distance":6.0}]},"DDJ":{"type":"object","title":"Look At Target","description":"Allows the mob to look at the entity they are targetting.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"look_distance":{"type":"number","default":8.0,"description":"The distance in blocks from which the entity will look at","title":"Look Distance"},"probability":{"type":"number","default":0.02,"description":"The probability of looking at the target. A value of 1.00 is 100%","title":"Probability"},"look_time":{"$ref":"#/definitions/JD","default":[2,4],"description":"Time range to look at the entity","title":"Look Time"},"angle_of_view_vertical":{"type":"integer","default":360,"description":"The angle in degrees that the mob can see in the X-axis (left-right)","title":"Angle Of View Vertical"},"angle_of_view_horizontal":{"type":"integer","default":360,"description":"The angle in degrees that the mob can see in the Y-axis (up-down)","title":"Angle Of View Horizontal"}},"examples":[{"look_distance":8.0,"probability":0.02,"angle_of_view_vertical":360,"angle_of_view_horizontal":360}]},"DEA":{"type":"object","title":"Look At Trading Player","additionalProperties":false,"description":"Allows the mob to look at the player they are trading with.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"look_distance":{"type":"number","default":8.0,"description":"The distance in blocks from which the entity will look at","title":"Look Distance"},"probability":{"type":"number","default":0.02,"description":"The probability of looking at the target. A value of 1.00 is 100%","title":"Probability"},"look_time":{"$ref":"#/definitions/JD","default":[2,4],"description":"Time range to look at the entity","title":"Look Time"},"angle_of_view_vertical":{"type":"integer","default":360,"description":"The angle in degrees that the mob can see in the X-axis (left-right)","title":"Angle Of View Vertical"},"angle_of_view_horizontal":{"type":"integer","default":360,"description":"The angle in degrees that the mob can see in the Y-axis (up-down)","title":"Angle Of View Horizontal"}},"examples":[{"look_distance":8.0,"probability":0.02,"angle_of_view_vertical":360,"angle_of_view_horizontal":360}]},"DEB":{"description":"Allows the villager to look for a mate to spawn other villagers with. Can only be used by Villagers.","type":"object","title":"Make Love","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DEC":{"type":"object","title":"Melee Attack","description":"Allows the mob to use close combat melee attacks.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"attack_once":{"title":"Attack Once","type":"boolean","default":false,"description":"Allows the entity to use this attack behavior, only once EVER."},"attack_types":{"title":"Attack Types","type":"string","default":"N/A","description":"Defines the entity types this entity will attack."},"cooldown_time":{"title":"Cooldown Time","type":"number","default":1,"description":"Cooldown time (in seconds) between attacks."},"inner_boundary_time_increase":{"title":"Inner Boundary Time Increase","type":"number","default":0.25,"description":"Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_inner_boundary\"."},"max_dist":{"title":"Max Dist","type":"number","description":"Unused. No effect on \"minecraft:behavior.melee_attack\"."},"max_path_time":{"title":"Max Path Time","type":"number","default":0.55,"description":"Maximum base time (in seconds) to recalculate new attack path to target (before increases applied)."},"melee_fov":{"title":"Melee Fov","type":"number","default":90,"description":"Field of view (in degrees) when using the sensing component to detect an attack target."},"min_path_time":{"title":"Min Path Time","type":"number","default":0.2,"description":"Minimum base time (in seconds) to recalculate new attack path to target (before increases applied)."},"on_attack":{"title":"On Attack","$ref":"#/definitions/JA","description":"Defines the event to trigger when this entity successfully attacks."},"on_kill":{"title":"On Kill","$ref":"#/definitions/JA","description":"Defines the event to trigger when this entity successfully kills."},"outer_boundary_time_increase":{"title":"Outer Boundary Time Increase","type":"number","default":0.5,"description":"Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_outer_boundary\"."},"path_fail_time_increase":{"title":"Path Fail Time Increase","type":"number","default":0.75,"description":"Time (in seconds) to add to attack path recalculation when this entity cannot move along the current path."},"path_inner_boundary":{"title":"Path Inner Boundary","type":"number","default":16,"description":"Distance at which to increase attack path recalculation by \"inner_boundary_tick_increase\"."},"path_outer_boundary":{"title":"Path Outer Boundary","type":"number","default":32,"description":"Distance at which to increase attack path recalculation by \"outer_boundary_tick_increase\"."},"random_stop_interval":{"title":"Random Stop Interval","type":"integer","default":0,"description":"This entity will have a 1 in N chance to stop it's current attack, where N = \"random_stop_interval\"."},"reach_multiplier":{"title":"Reach Multiplier","type":"number","default":2,"description":"Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage."},"require_complete_path":{"title":"Require Complete Path","type":"boolean","default":false,"description":"Toggles (on/off) the need to have a full path from the entity to the target when using this melee attack behavior."},"set_persistent":{"title":"Set Persistent","type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player"},"target_dist":{"title":"Target Dist","type":"number","description":"Unused. No effect on \"minecraft:behavior.melee_attack\"."},"track_target":{"title":"Track Target","type":"boolean","default":false,"description":"Allows the entity to track the attack target, even if the entity has no sensing."},"x_max_rotation":{"title":"X Max Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."},"y_max_head_rotation":{"title":"Y Max Head Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."}},"examples":[{"melee_fov":90.0,"track_target":false,"attack_types":"example","random_stop_interval":0,"reach_multiplier":2.0,"attack_once":false,"require_complete_path":false,"cooldown_time":0.0}]},"DED":{"description":"Allows an entity to go to the village bell and mingle with other entities.","type":"object","title":"Mingle","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"cooldown_time":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again","title":"Cooldown Time"},"duration":{"type":"number","default":1,"description":"Amount of time in seconds that the entity will chat with another entity","title":"Duration"},"mingle_distance":{"type":"number","default":2.0,"description":"The distance from its partner that this entity will mingle. If the entity type is not the same as the entity, this value needs to be identical on both entities.","title":"Mingle Distance"},"mingle_partner_type":{"description":"The entity type that this entity is allowed to mingle with","title":"Mingle Partner Type","oneOf":[{"type":"array","items":{"description":"The entity type that this entity is allowed to mingle with","type":"string"}},{"type":"string"}]}},"examples":[{"cooldown_time":0,"duration":1,"mingle_distance":2.0}]},"DEE":{"type":"object","title":"Mount Pathing","description":"Allows the mob to move around on its own while mounted seeking a target to attack.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"target_dist":{"type":"number","default":0.0,"description":"The distance at which this mob wants to be away from its target","title":"Target Dist"},"track_target":{"type":"boolean","default":false,"description":"If true, this mob will chase after the target as long as it's a valid target","title":"Track Target"}},"examples":[{"target_dist":0.0,"track_target":false}]},"DEF":{"description":"Can only be used by Villagers. Allows them to seek shelter indoors.","type":"object","title":"Move Indoors","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"timeout_cooldown":{"type":"number","default":8,"description":"The cooldown time in seconds before the goal can be reused after pathfinding fails","title":"Timeout Cooldown"}},"examples":[{"timeout_cooldown":8}]},"DEG":{"additionalProperties":false,"type":"object","title":"Move Outdoors","$comment":"UNDOCUMENTED","description":"Forces the entity to move `outside`, whatever that means","properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"title":"Goal Radius","type":"number","default":0.5,"description":"The radius away from the target block to count as reaching the goal."},"search_count":{"title":"Search Count","type":"integer","default":0.0,"description":"The amount of times to try finding a random outdoors position before failing."},"search_height":{"title":"Search Height","type":"integer","default":0.0,"description":"The y range to search for an outdoors position for."},"search_range":{"title":"Search Range","type":"integer","default":0.0,"description":"The x and z range to search for an outdoors position for."},"timeout_cooldown":{"title":"Timeout Cooldown","type":"number","default":8000000,"description":"The cooldown time in seconds before the goal can be reused after pathfinding fails"}}},"DEH":{"type":"object","title":"Move Through Village","description":"Can only be used by Villagers. Allows the villagers to create paths around the village.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"only_at_night":{"type":"boolean","default":false,"description":"If true, the mob will only move through the village during night time","title":"Only At Night"}},"examples":[{"only_at_night":false}]},"DEI":{"type":"object","title":"Move To Block","additionalProperties":false,"description":"Allows mob to move towards a block.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"goal_radius":{"title":"Goal Radius","type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the \"wiggle room\" to stop the AI from bouncing back and forth trying to reach a specific spot"},"on_stay_completed":{"title":"On Stay Completed","description":"Event to run on completing a stay of stay_duration at the block.","oneOf":[{"type":"array","items":{"$ref":"#/definitions/JA"}},{"$ref":"#/definitions/JA"}]},"on_reach":{"title":"On Reach","description":"Event to run on block reached.","oneOf":[{"type":"array","items":{"$ref":"#/definitions/JA"}},{"$ref":"#/definitions/JA"}]},"start_chance":{"title":"Start Chance","type":"number","default":1.0,"description":"Chance to start the behavior (applied after each random tick_interval)."},"search_range":{"title":"Search Range","type":"integer","default":0,"description":"The distance in blocks that the mob will look for the block."},"search_height":{"title":"Search Height","type":"integer","default":1,"description":"The height in blocks that the mob will look for the block."},"stay_duration":{"title":"Stay Duration","type":"number","default":0.0,"description":"Number of ticks needed to complete a stay at the block."},"target_selection_method":{"title":"Target Selection Method","type":"string","default":"nearest","description":"Kind of block to find fitting the specification. Valid values are \"random\" and \"nearest\".","enum":["random","nearest"]},"target_offset":{"title":"Target Offset","type":"array","default":[0,0,0],"description":"Offset to add to the selected target position.","items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]},"target_blocks":{"type":"array","title":"Target Blocks","description":"Block types to move to.","items":{"$ref":"#/definitions/JI","type":"string"}},"target_block_filters":{"title":"Target Block Filters","description":"Filters to apply on the target blocks. Target blocks are only valid if the filters are true.","$comment":"UNDOCUMENTED","$ref":"#/definitions/BB"},"tick_interval":{"title":"Tick Interval","type":"integer","default":20,"description":"Average interval in ticks to try to run this behavior."}},"examples":[{"start_chance":1,"search_range":32,"goal_radius":3,"stay_duration":2,"target_blocks":["minecraft:chest"]}]},"DEJ":{"description":"Allows the mob to move back onto land when in water.","type":"object","title":"Move To Land","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"search_count":{"type":"integer","default":10,"description":"The number of blocks each tick that the mob will check within it's search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick","title":"Search Count"},"search_height":{"type":"integer","default":1,"description":"Height in blocks the mob will look for land to move towards","title":"Search Height"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks it will look for land to move towards","title":"Search Range"}},"examples":[{"goal_radius":0.5,"search_count":10,"search_height":1,"search_range":0}]},"DFA":{"type":"object","title":"Move To Lava","description":"Allows the mob to move back into lava when on land.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"search_count":{"type":"integer","default":10,"description":"The number of blocks each tick that the mob will check within it's search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick","title":"Search Count"},"search_height":{"type":"integer","default":1,"description":"Height in blocks the mob will look for lava to move towards","title":"Search Height"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks it will look for lava to move towards","title":"Search Range"}},"examples":[{"goal_radius":0.5,"search_count":10,"search_height":1,"search_range":0}]},"DFB":{"type":"object","title":"Move To Liquid","description":"Allows the mob to move back into lava when on land.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"search_count":{"type":"integer","default":10,"description":"The number of blocks each tick that the mob will check within it's search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick","title":"Search Count"},"search_height":{"type":"integer","default":1,"description":"Height in blocks the mob will look for lava to move towards","title":"Search Height"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks it will look for lava to move towards","title":"Search Range"},"material_type":{"title":"Material Type","description":"UNDOCUMENTAED, examples are : Lava","type":"string"}},"examples":[{"goal_radius":0.5,"search_count":10,"search_height":1,"search_range":0,"material_type":"example"}]},"DFC":{"type":"object","title":"Move To Poi","additionalProperties":false,"description":"Allows the mob to move to a POI if able to","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"poi_type":{"type":"string","description":"Tells the goal what POI type it should be looking for","title":"Point Of Interest Type"}},"examples":[{"poi_type":"example"}]},"DFD":{"type":"object","title":"Move To Random Block","description":"Allows mob to move towards a random block.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"block_distance":{"type":"number","default":16,"description":"Defines the distance from the mob, in blocks, that the block to move to will be chosen.","title":"Block Distance"},"within_radius":{"type":"number","default":0,"description":"Defines the distance in blocks the mob has to be from the block for the movement to be finished.","title":"Within Radius"}},"examples":[{"block_distance":16,"within_radius":0}]},"DFE":{"type":"object","title":"Move To Village","additionalProperties":false,"description":"Allows the mob to move into a random location within a village.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"cooldown_time":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again","title":"Cooldown Time"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks to search for villages. If <= 0, find the closest village regardless of distance.","title":"Search Range"}},"examples":[{"cooldown_time":0,"goal_radius":0.5,"search_range":0}]},"DFF":{"type":"object","title":"Move To Water","additionalProperties":false,"description":"Allows the mob to move back into water when on land.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks it will look for water to move towards","title":"Search Range"},"search_height":{"type":"integer","default":1,"description":"Height in blocks the mob will look for water to move towards","title":"Search Height"},"search_count":{"type":"integer","default":10,"description":"The number of blocks each tick that the mob will check within it's search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick","title":"Search Count"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"}},"examples":[{"search_range":0,"search_height":1,"search_count":10,"goal_radius":0.5}]},"DFG":{"type":"object","title":"Move Towards Dwelling Restriction","additionalProperties":false,"description":"Allows mobs with the dweller component to move toward their Village area that the mob should be restricted to.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"DFH":{"type":"object","title":"Move Towards Home Restriction","description":"Allows mobs with the home component to move toward their pre-defined area that the mob should be restricted to.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"DFI":{"type":"object","title":"Move Towards Restriction","additionalProperties":false,"description":"Allows Guardians, Iron Golems and Villagers to move within their pre-defined area that the mob should be restricted to. Other mobs don't have a restriction defined.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"control_flags":{"type":"array","items":{"type":"string","enum":["move","look"],"description":"UNDOCUMENTED: control flags","title":"Control Flags"},"description":"UNDOCUMENTED: control flags","title":"Control Flags"}},"examples":[{"control_flags":[]}]},"DFJ":{"type":"object","title":"Guardian Attack","additionalProperties":false,"description":"Allows mob to move towards its current target.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"within_radius":{"type":"number","default":0.0,"description":"Defines the radius in blocks that the mob tries to be from the target. A value of 0 means it tries to occupy the same block as the target","title":"Within Radius"}},"examples":[{"within_radius":0.0}]},"DGA":{"type":"object","title":"Nap","description":"Allows the mob to move back into lava when on land.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"cooldown_max":{"title":"Cooldown Max","type":"number","default":0,"description":"Maximum time in seconds the mob has to wait before using the goal again"},"cooldown_min":{"title":"Cooldown Min","type":"number","default":0,"description":"Minimum time in seconds the mob has to wait before using the goal again"},"mob_detect_dist":{"title":"Mob Detect Dist","type":"number","default":6,"description":"The block distance in x and z that will be checked for mobs that this mob detects"},"mob_detect_height":{"title":"Mob Detect Height","type":"number","default":6,"description":"The block distance in y that will be checked for mobs that this mob detects"},"can_nap_filters":{"title":"Can Nap Filters","$ref":"#/definitions/BB","description":"The filters that need to be met for the nap to take place","$comment":"UNDOCUMENTED"},"wake_mob_exceptions":{"title":"Wake Mob Exceptions","$ref":"#/definitions/BB","description":"Filters that can trigger the entity to wake up from it nap","$comment":"UNDOCUMENTED"}},"examples":[{"cooldown_max":0,"cooldown_min":0,"mob_detect_dist":6,"mob_detect_height":6}]},"DGB_entity_type":{"type":"object","description":"A entity type","properties":{"filters":{"$ref":"#/definitions/BB","description":"Conditions that make this target a valid type.","title":"Filters"},"max_dist":{"type":"number","default":16,"description":"To be a valid target choice, the target type cannot be farther away from this entity than `max_dist`.","title":"Maximum Dist"},"must_see":{"type":"boolean","default":false,"description":"Determines if target-validity requires this entity to be in range only, or both in range and in sight.","title":"Must See"},"must_see_forget_duration":{"type":"boolean","default":3,"description":"Time (in seconds) the target must not be seen by this entity to become invalid. Used only if `must_see` is true.","title":"Must See Forget Duration"}}},"DGB":{"type":"object","title":"Nearest Attackable Target","description":"Allows the mob to check for and pursue the nearest valid target.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"description":"Filters which types of targets are valid for this entity.","title":"Entity Types","oneOf":[{"$ref":"#/definitions/DGB_entity_type"},{"type":"array","items":{"$ref":"#/definitions/DGB_entity_type"}}]},"attack_interval":{"type":"integer","default":0,"description":"Time range (in seconds) between searching for an attack target, range is in (0, `attack_interval`]. Only used if `attack_interval` is greater than 0, otherwise `scan_interval` is used.","title":"Attack Interval"},"attack_interval_min":{"type":"number","default":0,"description":"Alias for `attack_interval`; provides the same functionality as `attack_interval`.","title":"Attack Interval Min"},"attack_owner":{"type":"boolean","default":false,"description":"If true, this entity can attack its owner.","title":"Attack Owner"},"must_reach":{"type":"boolean","default":false,"description":"If true, this entity requires a path to the target.","title":"Must Reach"},"must_see":{"type":"boolean","default":false,"description":"Determines if target-validity requires this entity to be in range only, or both in range and in sight.","title":"Must See"},"must_see_forget_duration":{"type":"number","default":3,"description":"Time (in seconds) the target must not be seen by this entity to become invalid. Used only if `must_see` is true.","title":"Must See Forget Duration"},"persist_time":{"type":"number","default":0,"description":"Time (in seconds) this entity can continue attacking the target after the target is no longer valid.","title":"Persist Time"},"reselect_targets":{"type":"boolean","default":false,"description":"Allows the attacking entity to update the nearest target, otherwise a target is only reselected after each `scan_interval` or `attack_interval`.","title":"Reselect Targets"},"scan_interval":{"type":"integer","default":10,"description":"If `attack_interval` is 0 or isn't declared, then between attacks: scanning for a new target occurs every amount of ticks equal to `scan_interval`, minimum value is 1. Values under 10 can affect performance.","title":"Scan Interval"},"set_persistent":{"type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player","title":"Set Persistent"},"target_invisible_multiplier":{"type":"number","default":0.7,"description":"Multiplied with the target's armor coverage percentage to modify `max_dist` when detecting an invisible target.","title":"Target Invisible Multiplier"},"target_search_height":{"type":"number","default":-1,"description":"Maximum vertical target-search distance, if it's greater than the target type's `max_dist`. A negative value defaults to `entity_types` greatest `max_dist`.","title":"Target Search Height"},"target_sneak_visibility_multiplier":{"type":"number","default":0.8,"description":"Multiplied with the target type's `max_dist` when trying to detect a sneaking target.","title":"Target Sneak Visibility Multiplier"},"within_radius":{"type":"number","default":0,"description":"Maximum distance this entity can be from the target when following it, otherwise the target becomes invalid. This value is only used if the entity doesn't declare `minecraft:follow_range`.","title":"Within Radius"}},"examples":[{"attack_interval":0,"attack_interval_min":0,"attack_owner":false,"must_reach":false,"must_see":false,"must_see_forget_duration":3,"persist_time":0,"reselect_targets":false,"scan_interval":10,"set_persistent":false,"target_invisible_multiplier":0.7,"target_search_height":-1,"target_sneak_visibility_multiplier":0.8,"within_radius":0}]},"DGC":{"type":"object","title":"Nearest Prioritized Attackable Target","description":"Allows the mob to check for and pursue the nearest valid target.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"description":"List of entity types that this mob considers valid targets","title":"Entity Types","$ref":"#/definitions/CHC"},"attack_interval":{"type":"integer","default":0,"description":"Time in seconds before selecting a target","title":"Attack Interval"},"must_reach":{"type":"boolean","default":false,"description":"If true, only entities that this mob can path to can be selected as targets","title":"Must Reach"},"must_see":{"type":"boolean","default":false,"description":"If true, only entities in this mob's viewing range can be selected as targets","title":"Must See"},"must_see_forget_duration":{"type":"number","default":3,"description":"Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more","title":"Must See Forget Duration"},"persist_time":{"type":"number","default":0.0,"description":"Time in seconds for a valid target to stay targeted when it becomes and invalid target.","title":"Persist Time"},"reselect_targets":{"type":"boolean","default":false,"description":"If true, the target will change to the current closest entity whenever a different entity is closer","title":"Reselect Targets"},"scan_interval":{"type":"integer","default":10,"description":"How many ticks to wait between scanning for a target.","title":"Scan Interval"},"set_persistent":{"type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player","title":"Set Persistent"},"target_search_height":{"type":"number","default":-1.0,"description":"Height in blocks to search for a target mob. -1.0f means the height does not matter.","title":"Target Search Height"},"within_radius":{"type":"number","default":0,"description":"Distance in blocks that the target can be within to launch an attack","title":"Within Radius"}},"examples":[{"attack_interval":0,"must_reach":false,"must_see":false,"must_see_forget_duration":3,"persist_time":0.0,"reselect_targets":false,"scan_interval":10,"set_persistent":false,"target_search_height":-1.0,"within_radius":0}]},"DGD":{"additionalProperties":false,"description":"Allows an entity to sit in place, similar to the ocelot entity animation pose.","type":"object","title":"Ocelot Sit On Block","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"DGE":{"type":"object","title":"Ocelotattack","additionalProperties":false,"description":"Can only be used by the Ocelot. Allows it to perform the sneak and pounce attack.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"cooldown_time":{"title":"Cooldown Time","type":"number","default":1,"description":"Time (in seconds) between attacks."},"max_distance":{"title":"Max Distance","type":"number","default":15,"description":"Max distance from the target, this entity will use this attack behavior."},"max_sneak_range":{"title":"Max Sneak Range","type":"number","default":15,"description":"Max distance from the target, this entity starts sneaking."},"max_sprint_range":{"title":"Max Sprint Range","type":"number","default":4,"description":"Max distance from the target, this entity starts sprinting (sprinting takes priority over sneaking)."},"reach_multiplier":{"title":"Reach Multiplier","type":"number","default":2,"description":"Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage."},"sneak_speed_multiplier":{"title":"Sneak Speed Multiplier","type":"number","default":0.6,"description":"Modifies the attacking entity's movement speed while sneaking."},"sprint_speed_multiplier":{"title":"Sprint Speed Multiplier","type":"number","default":1.33,"description":"Modifies the attacking entity's movement speed while sprinting."},"walk_speed_multiplier":{"title":"Walk Speed Multiplier","type":"number","default":0.8,"description":"Modifies the attacking entity's movement speed when not sneaking or sprinting, but still within attack range."},"x_max_rotation":{"title":"X Max Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."},"y_max_head_rotation":{"title":"Y Max Head Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."}},"examples":[{"walk_speed_multiplier":1.0,"sprint_speed_multiplier":1.0,"sneak_speed_multiplier":1.0,"cooldown_time":0.0,"x_max_rotation":0.0,"y_max_head_rotation":0.0,"max_distance":0.0,"max_sneak_range":0.0,"max_sprint_range":0.0,"reach_multiplier":0.0}]},"DGF":{"type":"object","title":"Offer Flower","additionalProperties":false,"description":"Allows the mob to offer the player a flower like the Iron Golem does.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DGG":{"type":"object","title":"Guardian Attack","additionalProperties":false,"description":"Allows the mob to open doors. Requires the mob to be able to path through doors, otherwise the mob won't even want to try opening them.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"close_door_after":{"type":"boolean","default":true,"description":"If true, the mob will close the door after opening it and going through it","title":"Close Door After"}},"examples":[{"close_door_after":true}]},"DGH":{"type":"object","title":"Owner Hurt By Target","additionalProperties":false,"description":"Allows the mob to target another mob that hurts their owner.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entity types that this mob can target if they hurt their owner","title":"Entity Types"}}},"DGI":{"type":"object","title":"Owner Hurt Target","additionalProperties":false,"description":"Allows the mob to target a mob that is hurt by their owner.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entity types that this entity can target if the potential target is hurt by this mob's owner","title":"Entity TYpes"}}},"DGJ":{"description":"Allows the mob to enter the panic state, which makes it run around and away from the damage source that made it enter this state.","type":"object","title":"Panic","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"damage_sources":{"title":"Damage Sources","type":"array","items":{"$ref":"#/definitions/CB"},"default":[["all"]],"description":"The list of Entity Damage Sources that will cause this mob to panic"},"force":{"title":"Force","type":"boolean","default":false,"description":"If true, this mob will not stop panicking until it can't move anymore or the goal is removed from it"},"ignore_mob_damage":{"title":"Ignore Mob Damage","type":"boolean","default":false,"description":"If true, the mob will not panic in response to damage from other mobs. This overrides the damage types in `damage_sources`"},"prefer_water":{"title":"Prefer Water","type":"boolean","default":false,"description":"If true, the mob will prefer water over land"},"panic_sound":{"title":"Panic Sound","type":"string","description":"The sound event to play when this mob is in panic"},"sound_interval":{"title":"Sound Interval","type":"object","description":"The range of time in seconds to randomly wait before playing the sound again","properties":{"range_min":{"type":"number","description":"The minimum time in seconds before the `panic_sound` plays","title":"Range Minimum"},"range_max":{"type":"number","description":"The maximum time in seconds before the `panic_sound` plays","title":"Range Maximum"}},"additionalProperties":false}},"examples":[{"damage_sources":[],"force":false,"ignore_mob_damage":false,"prefer_water":false,"panic_sound":"example","sound_interval":{}}]},"DHA":{"description":"Allows the mob to peek out. This is what the shulker uses to look out of its shell.","type":"object","title":"Peek","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DHB":{"description":"Allows the mob to be tempted by food they like.","type":"object","title":"Tempt","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"title":"Goal Radius","type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the \"wiggle room\" to stop the AI from bouncing back and forth trying to reach a specific spot"},"search_height":{"title":"Search Height","type":"integer","default":1,"description":"Height in blocks from the owner the pet can be to sleep with owner."},"search_radius":{"title":"Search Radius","type":"integer","default":10,"description":"The radius that the mob will search for an owner to curl up with."},"search_range":{"title":"Search Range","type":"integer","default":10,"description":"The range that the mob will search for an owner to curl up with."}},"examples":[{"goal_radius":0.5,"search_height":1,"search_range":0,"search_radius":0}]},"DHC":{"description":"Allows the mob to pick up items on the ground.","additionalProperties":false,"type":"object","title":"Pickup Items","properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"can_pickup_any_item":{"type":"boolean","default":false,"description":"If true, the mob can pickup any item.","title":"Can Pickup Any Item"},"can_pickup_to_hand_or_equipment":{"type":"boolean","default":true,"description":"If true, the mob can pickup items to its hand or armor slots.","title":"Can Pickup To Hand Or Equipment"},"cooldown_after_being_attacked":{"type":"number","default":20.0,"description":"Amount of time an offended entity needs before being willing to pick up items.","title":"Cooldown After Being Attacked"},"excluded_items":{"title":"Excluded Items","description":"List of items this mob will not pick up.","type":"array","items":{"title":"Excluded Item","$ref":"#/definitions/H"}},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot.","title":"Goal Radius"},"max_dist":{"type":"number","default":0.0,"description":"Maximum distance this mob will look for items to pick up.","title":"Maximum Dist"},"search_height":{"title":"Search Height","type":"number","default":0,"description":"Height in blocks the mob will look for items to pick up","$comment":"UNDOCUMENTED"},"pickup_based_on_chance":{"type":"boolean","default":false,"description":"If true, depending on the difficulty, there is a random chance that the mob may not be able to pickup items.","title":"Pickup Based On Chance"},"pickup_same_items_as_in_hand":{"type":"boolean","default":false,"description":"If true, the mob will pickup the same item as the item in its hand","title":"Pickup Same Items As In Hand","$comment":"UNDOCUMENTED"},"track_target":{"type":"boolean","default":false,"description":"If true, this mob will chase after the target as long as it's a valid target.","title":"Track Target"}},"examples":[{"can_pickup_any_item":false,"can_pickup_to_hand_or_equipment":true,"cooldown_after_being_attacked":true,"excluded_items":[],"goal_radius":0.5,"max_dist":0,"pickup_based_on_chance":false,"track_target":false}]},"DHD":{"description":"Allows the mob to play dead when attacked by other entities. When playing dead, other entities will not target this mob.","type":"object","title":"Play Dead","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"apply_regeneration":{"title":"Apply Regeneration","type":"boolean","default":true,"description":"Whether the mob will receive the regeneration effect while playing dead."},"duration":{"title":"Duration","type":"number","default":1.0,"description":"The amount of time the mob will remain playing dead (in seconds)."},"filters":{"title":"Filters","description":"The list of other triggers that are required for the mob to activate play dead","$ref":"#/definitions/BB"},"force_below_health":{"title":"Force Below Health","type":"integer","default":0,"description":"The amount of health at which damage will cause the mob to play dead."},"random_start_chance":{"title":"Random Start Chance","type":"number","default":1.0,"description":"The likelihood of this goal starting upon taking damage."},"random_damage_range":{"title":"Random Damage Range","description":"The range of damage that may cause the goal to start depending on randomness. Damage taken below the min will never cause the goal to start. Damage taken above the max will always cause the goal to start.","type":"array","items":[{"title":"Minimum","description":"Minimum","type":"integer","minimum":0},{"title":"Maximum","description":"Maximum","type":"integer","minimum":0}]},"damage_sources":{"title":"Damage Sources","description":"The list of Entity Damage Sources that will cause this mob to play dead.","default":["all"],"oneOf":[{"type":"string","$ref":"#/definitions/CB"},{"type":"array","items":{"title":"Damage Source","$ref":"#/definitions/CB"}}]}},"examples":[{"duration":0.0,"force_below_health":0.0,"random_start_chance":0.0,"random_damage_range":[],"apply_regeneration":true}]},"DHE":{"description":"Allows the mob to play with other baby villagers. This can only be used by Villagers.","type":"object","title":"Play","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"DHF":{"description":"Allows the mob to be ridden by the player after being tamed.","type":"object","title":"Player Ride Tamed","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DHG":{"description":"Allows the mob to eat/raid crops out of farms until they are full.","additionalProperties":false,"type":"object","title":"Raid Garden","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"blocks":{"title":"Blocks","type":"array","description":"Blocks that the mob is looking for to eat","items":{"type":"string","title":"Block Id","description":"A block identifier","$ref":"#/definitions/JI"}},"eat_delay":{"title":"Eat Delay","type":"integer","default":2,"description":"Time in seconds between each time it eats"},"full_delay":{"title":"Full Delay","type":"integer","default":100,"description":"Amount of time in seconds before this mob wants to eat again"},"initial_eat_delay":{"title":"Initial Eat Delay","type":"integer","default":0,"description":"Time in seconds before starting to eat/raid once it arrives at it"},"goal_radius":{"type":"number","title":"Goal Radius","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot"},"max_to_eat":{"title":"Maximum To Eat","type":"integer","default":6,"description":"Maximum number of things this entity wants to eat"},"search_range":{"title":"Search Range","type":"integer","default":0,"description":"Distance in blocks the mob will look for crops to eat"},"search_height":{"title":"Search Height","type":"integer","default":0,"description":"Height in blocks the mob will look for crops to eat"}},"examples":[{"blocks":[],"eat_delay":2,"full_delay":100,"initial_eat_delay":0,"goal_radius":0.5,"max_to_eat":6,"search_range":0,"search_height":0}]},"DHH":{"description":"Allows the mob to search for a random target and, if a direct path exists between the mob and the target, it will perform a charge. If the attack hits, the target will be knocked back based on the mob's speed.","type":"object","title":"Ram Attack","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"baby_knockback_modifier":{"title":"Baby Knockback Modifier","type":"number","default":0.333333,"description":"The modifier to knockback that babies have."},"cooldown_range":{"title":"Cooldown Range","$ref":"#/definitions/JD","default":[10,20],"description":"Minimum and maximum cooldown time-range (positive, in seconds) between each attempted ram attack."},"knockback_force":{"title":"Knockback Force","type":"number","default":5.0,"description":"The force of the knockback of the ram attack."},"knockback_height":{"title":"Knockback Height","type":"number","default":0.1,"description":"The height of the knockback of the ram attack."},"min_ram_distance":{"title":"Min Ram Distance","type":"number","default":0.0,"description":"The minimum distance at which the mob can start a ram attack."},"on_start":{"title":"On Start","$ref":"#/definitions/JA","description":"The event to trigger when attacking"},"pre_ram_sound":{"title":"Pre Ram Sound","type":"string","default":"","description":"The sound to play when an entity is about to perform a ram attack."},"ram_distance":{"title":"Ram Distance","type":"number","default":0.0,"description":"The distance at which the mob start to run with ram speed."},"ram_impact_sound":{"title":"Ram Impact Sound","type":"string","default":"","description":"The sound to play when an entity is impacting on a ram attack."},"ram_speed":{"title":"Ram Speed","type":"number","default":2.0,"description":"Sets the entity's speed when charging toward the target."},"run_speed":{"title":"Run Speed","type":"number","default":1.0,"description":"Sets the entity's speed when running toward the target."},"trigger":{"description":"The event to trigger when attacking.","title":"Trigger","$ref":"#/definitions/JA"}},"examples":[{"baby_knockback_modifier":4,"cooldown_range":[],"knockback_force":5,"knockback_height":0.1,"min_ram_distance":4,"pre_ram_sound":"example","ram_distance":7,"ram_impact_sound":"example","ram_speed":2,"run_speed":1}]},"DHI":{"description":"Allows the mob to randomly break surface of the water.","type":"object","title":"Player Ride Tamed","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"cooldown_time":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again","title":"Cooldown Time"},"interval":{"type":"integer","default":120,"description":"A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal","title":"Interval"},"xz_dist":{"type":"integer","default":10,"description":"Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1","title":"XZ Distance"},"y_dist":{"type":"integer","default":7,"description":"Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1","title":"Y Distance"}},"examples":[{"cooldown_time":0,"interval":120,"xz_dist":10,"y_dist":7}]},"DHJ":{"description":"Allows a mob to randomly fly around","type":"object","title":"Random Fly","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"avoid_damage_blocks":{"type":"boolean","description":"If true, the mob will avoid blocks that cause damage","$comment":"UNDOCUMENTED","title":"Avoid Damage Blocks"},"can_land_on_trees":{"type":"boolean","default":true,"description":"If true, the mob can stop flying and land on a tree instead of the ground","title":"Can Land On Trees"},"xz_dist":{"type":"integer","default":10,"description":"Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1","title":"Xz Dist"},"y_dist":{"type":"integer","default":7,"description":"Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1","title":"Y Dist"},"y_offset":{"type":"integer","description":"Height in blocks to add to the selected target position","$comment":"UNDOCUMENTED","title":"Y Offset"}},"examples":[{"avoid_damage_blocks":true,"can_land_on_trees":true,"xz_dist":10,"y_dist":7,"y_offset":0}]},"DIA":{"description":"Allows the mob to hover around randomly, close to the surface","type":"object","title":"Random Hover","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"hover_height":{"title":"Hover Height","type":"array","description":"The height above the surface which the mob will try to maintain","items":[{"type":"number"},{"type":"number"}]},"interval":{"type":"integer","default":120,"description":"A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal","title":"Interval"},"xz_dist":{"type":"integer","default":10,"description":"Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1","title":"Xz Dist"},"y_dist":{"type":"integer","default":7,"description":"Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1","title":"Y Dist"},"y_offset":{"type":"number","default":0,"description":"Height in blocks to add to the selected target position","title":"Y Offset"}},"examples":[{"hover_height":[],"interval":120,"xz_dist":10,"y_dist":7,"y_offset":0}]},"DIB":{"description":"Allows the mob to randomly sit and look around for a duration. Note: Must have a sitting animation set up to use this.","type":"object","title":"Random Look Around And Sit","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"max_look_count":{"type":"integer","default":2,"description":"The Maximum amount of unique looks a mob will have while looking around.","title":"Maximum Look Count"},"max_look_time":{"type":"integer","default":40,"description":"The Maximum amount of time (in ticks) a mob will stay looking at a direction while looking around.","title":"Maximum Look Time"},"min_look_count":{"type":"integer","default":1,"description":"The Minimum amount of unique looks a mob will have while looking around.","title":"Minimum Look Count"},"min_look_time":{"type":"integer","default":20,"description":"The Minimum amount of time (in ticks) a mob will stay looking at a direction while looking around.","title":"Minimum Look Time"},"probability":{"type":"number","default":0.02,"description":"The probability of randomly looking around/sitting.","title":"Probability"}},"examples":[{"max_look_count":2,"max_look_time":40,"min_look_count":1,"min_look_time":20,"probability":0.02}]},"DIC":{"additionalProperties":false,"description":"Allows the mob to randomly look around.","type":"object","title":"Random Look Around","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"look_time":{"title":"Look Time","description":"The range of time in seconds the mob will stay looking in a random direction before looking elsewhere","oneOf":[{"type":"number"},{"type":"array","items":[{"type":"number","title":"Minimum","description":"Minimum"},{"type":"number","title":"Maximum","description":"Maximum"}]}]},"look_distance":{"title":"Look Distance","description":"The distance in blocks from which the mob will look at","type":"number","default":8.0},"probability":{"title":"Probability","type":"number","default":0.02,"description":"The probability of looking at the target. A value of 1.00 is 100%."},"angle_of_view_vertical":{"title":"Angle Of View Vertical","type":"integer","default":360,"description":"The angle in degrees that the mob can see in the X-axis (left-right)"},"angle_of_view_horizontal":{"title":"Angle Of View Horizontal","type":"integer","default":360,"description":"The angle in degrees that the mob can see in the Y-axis (up-down)"}},"examples":[{"look_distance":0.0}]},"DID":{"type":"object","title":"Random Sitting","description":"Allows the mob to randomly sit for a duration.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"cooldown":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again","title":"Cooldown"},"cooldown_time":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again","title":"Cooldown Time"},"min_sit_time":{"type":"number","default":10,"description":"The minimum amount of time in seconds before the mob can stand back up","title":"Minimum Sit Time"},"start_chance":{"type":"number","default":0.1,"description":"This is the chance that the mob will start this goal, from 0 to 1","title":"Start Chance"},"stop_chance":{"type":"number","default":0.3,"description":"This is the chance that the mob will stop this goal, from 0 to 1","title":"Stop Chance"}},"examples":[{"cooldown":0,"cooldown_time":0,"min_sit_time":10,"start_chance":0.1,"stop_chance":0.3}]},"DIE":{"description":"Allows a mob to randomly stroll around.","type":"object","title":"Random Stroll","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"interval":{"type":"integer","default":120,"description":"A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal","title":"Interval"},"xz_dist":{"type":"integer","default":10,"description":"Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1","title":"XZ Distance"},"y_dist":{"type":"integer","default":7,"description":"Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1","title":"Y Distance"}},"additionalProperties":false,"examples":[{"interval":120,"xz_dist":10,"y_dist":7}]},"DIF":{"type":"object","title":"Random Swim","description":"Allows an entity to randomly move through water","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"avoid_surface":{"type":"boolean","default":true,"description":"If true, the mob will avoid surface water blocks by swimming below them","title":"Avoid Surface"},"interval":{"type":"integer","default":120,"description":"A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal","title":"Interval"},"xz_dist":{"type":"integer","default":10,"description":"Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1","title":"XZ Distance"},"y_dist":{"type":"integer","default":7,"description":"Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1","title":"Y Distance"}},"additionalProperties":false,"examples":[{"avoid_surface":true,"interval":120,"xz_dist":10,"y_dist":7}]},"DIG":{"description":"Allows the mob to use ranged attacks like shooting arrows.","type":"object","title":"Ranged Attack","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"attack_interval":{"title":"Attack Interval","type":"number","default":0,"description":"Alternative to \"attack_interval_min\" & \"attack_interval_max\". Consistent reload-time (in seconds), when not using a charged shot. Does not scale with target-distance."},"attack_interval_max":{"title":"Attack Interval Max","type":"number","default":0,"description":"Maximum bound for reload-time range (in seconds), when not using a charged shot. Reload-time range scales with target-distance."},"attack_interval_min":{"title":"Attack Interval Min","type":"number","default":0,"description":"Minimum bound for reload-time range (in seconds), when not using a charged shot. Reload-time range scales with target-distance."},"attack_radius":{"title":"Attack Radius","type":"number","default":0,"description":"Minimum distance to target before this entity will attempt to shoot."},"attack_radius_min":{"title":"Attack Radius Min","type":"number","default":0,"description":"Minimum distance the target can be for this mob to fire. If the target is closer, this mob will move first before firing"},"burst_interval":{"title":"Burst Interval","type":"number","default":0,"description":"Time (in seconds) between each individual shot when firing a burst of shots from a charged up attack."},"burst_shots":{"title":"Burst Shots","type":"integer","default":1,"description":"Number of shots fired every time the attacking entity uses a charged up attack."},"charge_charged_trigger":{"title":"Charge Charged Trigger","type":"number","default":0,"description":"Time (in seconds, then add \"charge_shoot_trigger\"), before a charged up attack is done charging. Charge-time decays while target is not in sight."},"charge_shoot_trigger":{"title":"Charge Shoot Trigger","type":"number","default":0,"description":"Amount of time (in seconds, then doubled) a charged shot must be charging before reloading burst shots. Charge-time decays while target is not in sight."},"ranged_fov":{"title":"Ranged Fov","type":"number","default":90,"description":"Field of view (in degrees) when using sensing to detect a target for attack."},"set_persistent":{"title":"Set Persistent","type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player"},"swing":{"title":"Swing","type":"boolean","default":false,"description":"If a swing animation (using variable.attack_time) exists, this causes the actor to swing their arm(s) upon firing the ranged attack."},"target_in_sight_time":{"title":"Target In Sight Time","type":"number","default":1,"description":"Minimum amount of time (in seconds) the attacking entity needs to see the target before moving toward it."},"x_max_rotation":{"title":"X Max Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."},"y_max_head_rotation":{"title":"Y Max Head Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."}},"examples":[{"attack_interval":0,"attack_interval_max":0,"attack_interval_min":0,"attack_radius":0,"burst_interval":0,"burst_shots":1,"charge_charged_trigger":0,"charge_shoot_trigger":0,"ranged_fov":90,"target_in_sight_time":0.0,"attack_radius_min":0.0}]},"DIH":{"description":"Allows the villager to stop so another villager can breed with it. Can only be used by a Villager.","type":"object","title":"Receive Love","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DII":{"description":"Allows the mob to stay indoors during night time.","type":"object","title":"Restrict Open Door","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DIJ":{"description":"Allows the mob to automatically start avoiding the sun when its a clear day out.","type":"object","title":"Restrict Sun","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DJA":{"description":"Allows the mob to stay at a certain level when in liquid.","type":"object","title":"Rise To Liquid Level","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"liquid_y_offset":{"type":"number","title":"Liquid Y Offset","description":"Vertical offset from the liquid"},"rise_delta":{"type":"number","title":"Rise Delta","description":"Displacement for how much the entity will move up in the vertical axis"},"sink_delta":{"type":"number","title":"Sink Delta","description":"Displacement for how much the entity will move down in the vertical axis"}},"examples":[{"liquid_y_offset":0.0,"rise_delta":0.0,"sink_delta":0.0}]},"DJB":{"additionalProperties":false,"type":"object","title":"Dig","description":"[EXPERIMENTAL BEHAVIOR] Plays the provided sound and activates the `ROARING` actor flag during the specified duration","properties":{"priority":{"$ref":"#/definitions/CGJ"},"duration":{"title":"Duration","type":"number","default":0.0,"description":"Goal duration in seconds"}}},"DJC":{"description":"This allows the mob to roll forward.","type":"object","title":"Roll","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"probability":{"type":"number","minimum":0,"description":"The probability that the mob will use the goal.","title":"Probability"}},"examples":[{"probability":0.0}]},"DJD":{"description":"Allows the mob to run around aimlessly.","type":"object","title":"Restrict Open Door","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"DJE":{"description":"Allows the a mob to become scared when the weather outside is thundering.","type":"object","title":"Scared","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"sound_interval":{"type":"integer","default":0,"description":"The interval in which a sound will play when active in a 1/delay chance to kick off","title":"Sound Interval"}},"examples":[{"sound_interval":0}]},"DJF_sequence":{"type":"array","description":"List of events to send","items":{"type":"object","additionalProperties":false,"properties":{"base_delay":{"type":"number","default":0,"description":"Amount of time in seconds before starting this step"},"event":{"type":"string","default":"","description":"The event to send to the entity"},"sound_event":{"type":"string","default":"","description":"The sound event to play when this step happens"}}}},"DJF":{"description":"Allows the mob to send an event to another mob.","type":"object","title":"Send Event","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"cast_duration":{"type":"number","description":"Time in seconds for the entire event sending process","title":"Cast Duration"},"look_at_target":{"title":"Look At Target","type":"boolean","default":true,"description":"If true, the mob will face the entity it sends an event to"},"event_choices":{"type":"array","title":"Event Choices","description":"List of spells for the mob to use","$comment":"UNDOCUMENTED","items":{"type":"object","additionalProperties":false,"title":"Event Choice","description":"A spell that the mob can cast","$comment":"UNDOCUMENTED","properties":{"min_activation_range":{"type":"number","title":"Minimum Activation Range","description":"The minimum distance in blocks the target must be for this spell to be cast","$comment":"UNDOCUMENTED","minimum":0},"max_activation_range":{"type":"number","title":"Maxmimum Activation Range","description":"The maxmimum distance in blocks the target must be for this spell to be cast","$comment":"UNDOCUMENTED","minimum":0},"cooldown_time":{"type":"number","title":"Cooldown Time","description":"Time in seconds before the mob can use this spell again","$comment":"UNDOCUMENTED"},"cast_duration":{"type":"number","title":"Cast Duration","description":"Time in seconds the spell casting will take","$comment":"UNDOCUMENTED"},"filters":{"$ref":"#/definitions/BB"},"particle_color":{"type":"string","format":"color-hex","title":"Particle Color","description":"The color of the particles for this spell","$comment":"UNDOCUMENTED"},"weight":{"type":"integer","title":"Weight","description":"The weight of this spell. Controls how likely this spell will be picked","$comment":"UNDOCUMENTED"},"start_sound_event":{"type":"string","title":"Start Sound Event","description":"The sound event to play when using this spell","$comment":"UNDOCUMENTED"},"sequence":{"$ref":"#/definitions/DJF_sequence"}}}},"sequence":{"$ref":"#/definitions/DJF_sequence","description":"List of steps for the spell","$comment":"UNDOCUMENTED","title":"Sequence"}},"examples":[{"cast_duration":0.0,"event_choices":[]}]},"DJG":{"description":"Allows the mob to send an event to another mob.","type":"object","title":"Share Items","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entities this mob will share items with","title":"Entity Types"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"max_dist":{"type":"number","default":0,"description":"Maximum distance in blocks this mob will look for entities to share items with","title":"Maximum Distance"}},"examples":[{"goal_radius":0.5,"max_dist":0}]},"DJH":{"description":"Allows the mob to go into stone blocks like Silverfish do. Currently it can only be used by Silverfish.","type":"object","title":"Silverfish Merge With Stone","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DJI":{"description":"Allows the mob to alert mobs in nearby blocks to come out. Currently it can only be used by Silverfish.","type":"object","title":"Silverfish Wake Up Friends","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DJJ":{"description":"Allows Equine mobs to be Horse Traps and be triggered like them, spawning a lightning bolt and a bunch of horses when a player is nearby. Can only be used by Horses, Mules, Donkeys and Skeleton Horses.","type":"object","title":"Skeleton Horse Trap","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"duration":{"type":"number","default":1,"description":"Amount of time in seconds the trap exists. After this amount of time is elapsed, the trap is removed from the world if it hasn't been activated","title":"Duration"},"within_radius":{"type":"number","default":0,"description":"Distance in blocks that the player has to be within to trigger the horse trap","title":"Within Radius"}},"examples":[{"duration":1,"within_radius":0}]},"EAA":{"additionalProperties":false,"description":"Allows mobs that own a bed to in a village to move to and sleep in it.","type":"object","title":"Sleep","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"can_sleep_while_riding":{"title":"Can Sleep While Riding","type":"boolean","default":false,"description":"If true, the mob will be able to use the sleep goal if riding something"},"cooldown_time":{"title":"Cooldown Time","type":"number","default":0.0,"description":"Time in seconds the mob has to wait before using the goal again"},"sleep_collider_height":{"title":"Sleep Collider Height","type":"number","default":1.0,"description":"The height of the mob's collider while sleeping"},"sleep_collider_width":{"title":"Sleep Collider Width","type":"number","default":1.0,"description":"The width of the mob's collider while sleeping"},"sleep_y_offset":{"title":"Sleep Y Offset","type":"number","default":1.0,"description":"The y offset of the mob's collider while sleeping"},"timeout_cooldown":{"title":"Timeout Cooldown","type":"number","default":8.0,"description":"The cooldown time in seconds before the goal can be reused after a internal failure or timeout condition"}},"examples":[{"cooldown_time":0,"goal_radius":0,"sleep_collider_height":1,"sleep_collider_width":1,"sleep_y_offset":1,"timeout_cooldown":8}]},"EAB":{"additionalProperties":false,"description":"Can only be used by Slimes and Magma Cubes. Allows the mob to use a melee attack like the slime's.","type":"object","title":"Slime Attack","properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"set_persistent":{"title":"Set Persistent","type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player"},"x_max_rotation":{"title":"X Max Rotation","type":"number","default":10,"description":"Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."},"y_max_rotation":{"title":"Y Max Rotation","type":"number","default":10,"description":"Maximum rotation (in degrees), on the Y-axis, this entity can rotate while trying to look at the target."}},"examples":[{"set_persistent":false}]},"EAC":{"additionalProperties":false,"description":"Allow slimes to float in water / lava. Can only be used by Slime and Magma Cubes.","type":"object","title":"Slime Float","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"jump_chance_percentage":{"type":"number","title":"Jump Chance Percentage","default":0.8,"description":"Percent chance a slime or magma cube has to jump while in water / lava."}},"examples":[{"jump_chance_percentage":0.0}]},"EAD":{"additionalProperties":false,"description":"Can only be used by Slimes and Magma Cubes. Allows the mob to continuously jump around like a slime.","type":"object","title":"Slime Keep On Jumping","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"EAE":{"additionalProperties":false,"description":"Can only be used by Slimes and Magma Cubes. Allows the mob to move in random directions like a slime.","type":"object","title":"Slime Random Direction","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"add_random_time_range":{"title":"Add Random Time Range","type":"integer","default":3,"description":"Additional time (in whole seconds), chosen randomly in the range of [0, \"add_random_time_range\"], to add to \"min_change_direction_time\"."},"min_change_direction_time":{"title":"Min Change Direction Time","type":"number","default":2,"description":"Constant minimum time (in seconds) to wait before choosing a new direction."},"turn_range":{"title":"Turn Range","type":"integer","default":360,"description":"Maximum rotation angle range (in degrees) when randomly choosing a new direction."}},"examples":[{"add_random_time_range":0.0,"turn_range":0.0,"min_change_direction_time":0.0}]},"EAF":{"additionalProperties":false,"description":"Allows the mob to take a load off and snack on food that it found nearby.","type":"object","title":"Snacking","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"items":{"title":"Items","description":"Items that we are interested in snacking on","oneOf":[{"type":"array","items":{"$ref":"#/definitions/H","title":"Item"}},{"$ref":"#/definitions/H"}]},"snacking_cooldown":{"type":"number","default":7.5,"description":"The cooldown time in seconds before the mob is able to snack again","title":"Snacking Cooldown"},"snacking_cooldown_min":{"type":"number","default":0.5,"description":"The minimum time in seconds before the mob is able to snack again","title":"Snacking Cooldown Minimum"},"snacking_stop_chance":{"type":"number","description":"This is the chance that the mob will stop snacking, from 0 to 1","title":"Snacking Stop Chance"}},"examples":[{"snacking_cooldown":7.5,"snacking_cooldown_min":0.5,"snacking_stop_chance":0.0}]},"EAG":{"additionalProperties":false,"description":"Allows the mob to stop and sneeze possibly startling nearby mobs and dropping an item.","type":"object","title":"Sneeze","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"cooldown_time":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again","title":"Cooldown Time"},"drop_item_chance":{"type":"number","default":1,"description":"The probability that the mob will drop an item when it sneezes.","title":"Drop Item Chance"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entity types this mob will startle (cause to jump) when it sneezes.","title":"Entity Types"},"loot_table":{"type":"string","default":"loot_tables/empty.json","description":"Loot table to select dropped items from.","title":"Loot Table","pattern":"^loot_tables/.*.json$"},"prepare_sound":{"type":"string","default":"","description":"Sound to play when the sneeze is about to happen.","title":"Prepare Sound"},"prepare_time":{"type":"number","default":1,"description":"The time in seconds that the mob takes to prepare to sneeze (while the prepare_sound is playing).","title":"Prepare Time"},"probability":{"type":"number","default":0.02,"minimum":0,"maximum":1,"description":"The probability of sneezing. A value of 1.00 is 100%","title":"Probability"},"sound":{"type":"string","default":"","description":"Sound to play when the sneeze occurs.","title":"Sound"},"within_radius":{"type":"number","default":0,"description":"Distance in blocks that mobs will be startled.","title":"Within Radius"}},"examples":[{"cooldown_time":0,"drop_item_chance":1,"loot_table":"loot_tables/empty.json","prepare_sound":"","prepare_time":1,"probability":0.02,"sound":"","within_radius":0}]},"EAH":{"additionalProperties":false,"type":"object","title":"Dig","description":"[EXPERIMENTAL BEHAVIOR] Plays the provided sounds and activates the `SONIC BOOM` actor flag during the specified duration","properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"attack_cooldown":{"title":"Attack Cooldown","type":"number","default":5.0,"description":"Cooldown in seconds required after using this attack until the entity can use sonic boom again."},"attack_damage":{"title":"Attack Damage","type":"number","default":30.0,"description":"Attack damage of the sonic boom."},"attack_range_horizontal":{"title":"Attack Range Horizontal","type":"number","default":15.0,"description":"Horizontal range (in blocks) at which the sonic boom can damage the target."},"attack_range_vertical":{"title":"Attack Range Vertical","type":"number","default":20.0,"description":"Vertical range (in blocks) at which the sonic boom can damage the target."},"attack_sound":{"title":"Attack Sound","type":"string","default":"","description":"Sound event for the attack."},"charge_sound":{"title":"Charge Sound","type":"string","default":"","description":"Sound event for the charge up."},"duration":{"title":"Duration","type":"number","default":3.0,"description":"Goal duration in seconds"},"duration_until_attack_sound":{"title":"Duration Until Attack Sound","type":"number","default":1.7,"description":"Duration in seconds until the attack sound is played."},"knockback_height_cap":{"title":"Knockback Height Cap","type":"number","default":0.0,"description":"Height cap of the attack knockback's vertical delta."},"knockback_horizontal_strength":{"title":"Knockback Horizontal Strength","type":"number","default":0.0,"description":"Horizontal strength of the attack's knockback applied to the attack target."},"knockback_vertical_strength":{"title":"Knockback Vertical Strength","type":"number","default":0.0,"description":"Vertical strength of the attack's knockback applied to the attack target."}}},"EAI":{"description":"Allows an entity to dive underwater.","type":"object","title":"Squid Dive","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"EAJ":{"description":"Allows the squid to swim away. Can only be used by the Squid.","type":"object","title":"Squid Flee","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"EBA":{"description":"Allows the squid to swim in place idly. Can only be used by the Squid.","type":"object","title":"Squid Idle","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"EBB":{"description":"Allows the squid to move away from ground blocks and back to water. Can only be used by the Squid.","type":"object","title":"Squid Move Away From Ground","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"EBC":{"description":"Allows the squid to stick to the ground when outside water. Can only be used by the Squid.","type":"object","title":"Squid Out Of Water","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"EBD":{"description":"Allows an entity to stalk a specific target. Once within range of the target, the entity will then leap at the target and deal damage based upon its attack attribute.","type":"object","title":"Stalk And Pounce On Target","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"interest_time":{"type":"number","default":2,"description":"The amount of time the mob will be interested before pouncing. This happens when the mob is within range of pouncing","title":"Interest Time"},"leap_distance":{"type":"number","default":0.8,"description":"The distance in blocks the mob jumps in the direction of its target","title":"Leap Distance"},"leap_height":{"type":"number","default":0.9,"description":"The height in blocks the mob jumps when leaping at its target","title":"Leap Height"},"max_stalk_dist":{"type":"number","default":10,"description":"The maximum distance away a target can be before the mob gives up on stalking","title":"Maximum Stalk Dist"},"pounce_max_dist":{"type":"number","default":5,"description":"The maximum distance away from the target in blocks to begin pouncing at the target","title":"Pounce Maximum Dist"},"set_persistent":{"type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player","title":"Set Persistent"},"stalk_speed":{"type":"number","default":1.2,"description":"The movement speed in which you stalk your target","title":"Stalk Speed"},"strike_dist":{"type":"number","default":2,"description":"The Maximum distance away from the target when landing from the pounce that will still result in damaging the target","title":"Strike Dist"},"stuck_time":{"type":"number","default":2,"description":"The amount of time the mob will be stuck if they fail and land on a block they can be stuck on","title":"Stuck Time"},"leap_dist":{"type":"number","description":"The distance in blocks the mob jumps in the direction of their target","$comment":"UNDOCUMENTED","title":"Leap Dist"},"stuck_blocks":{"$ref":"#/definitions/BB","description":"Filters to apply on the block the mob lands on to determine if it is valid for getting stuck","$comment":"UNDOCUMENTED","title":"Stuck Block"}},"examples":[{"interest_time":2,"leap_distance":0.8,"leap_height":0.9,"max_stalk_dist":10,"pounce_max_dist":5,"set_persistent":false,"stalk_speed":1.2,"strike_dist":2,"stuck_time":2,"leap_dist":0.0}]},"EBE":{"type":"object","title":"Barter","description":"[EXPERIMENTAL BEHAVIOR] The entity will attempt to toss the items from its inventory to a nearby recently played noteblock.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"listen_time":{"title":"listen time","type":"integer","default":0.0,"description":"Sets the time an entity should stay near a noteblock after hearing it."},"speed":{"title":"speed","type":"number","default":1000000,"description":"Sets the entity's speed when moving toward the block."},"start_distance":{"title":"start distance","type":"number","default":10000000,"description":"Sets the distance the entity needs to be away from the block to attempt to start the goal."},"stop_distance":{"title":"stop distance","type":"number","default":2000000,"description":"Sets the distance from the block the entity will attempt to reach."}}},"EBF":{"description":"Allows the mob to stay put while it is in a sitting state instead of doing something else.","type":"object","title":"Stay While Sitting","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"EBG":{"description":"Allows the mob to use the polar bear's melee attack.","type":"object","title":"Stomp Attack","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"attack_once":{"title":"Attack Once","type":"boolean","default":false,"description":"Allows the entity to use this attack behavior, only once EVER."},"attack_types":{"title":"Attack Types","type":"string","default":"N/A","description":"Defines the entity types this entity will attack."},"cooldown_time":{"title":"Cooldown Time","type":"number","default":1,"description":"Cooldown time (in seconds) between attacks."},"inner_boundary_time_increase":{"title":"Inner Boundary Time Increase","type":"number","default":0.25,"description":"Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_inner_boundary\"."},"max_dist":{"title":"Max Dist","type":"number","description":"Unused. No effect on \"minecraft:behavior.melee_attack\"."},"max_path_time":{"title":"Max Path Time","type":"number","default":0.55,"description":"Maximum base time (in seconds) to recalculate new attack path to target (before increases applied)."},"melee_fov":{"title":"Melee Fov","type":"number","default":90,"description":"Field of view (in degrees) when using the sensing component to detect an attack target."},"min_path_time":{"title":"Min Path Time","type":"number","default":0.2,"description":"Minimum base time (in seconds) to recalculate new attack path to target (before increases applied)."},"no_damage_range_multiplier":{"title":"No Damage Range Multiplier","type":"number","default":2,"description":"Multiplied with the final AoE damage range to determine a no damage range. The stomp attack will go on cooldown if target is in this no damage range."},"on_attack":{"title":"On Attack","$ref":"#/definitions/JA","description":"Defines the event to trigger when this entity successfully attacks."},"outer_boundary_time_increase":{"title":"Outer Boundary Time Increase","type":"number","default":0.5,"description":"Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_outer_boundary\"."},"path_fail_time_increase":{"title":"Path Fail Time Increase","type":"number","default":0.75,"description":"Time (in seconds) to add to attack path recalculation when this entity cannot move along the current path."},"path_inner_boundary":{"title":"Path Inner Boundary","type":"number","default":16,"description":"Distance at which to increase attack path recalculation by \"inner_boundary_tick_increase\"."},"path_outer_boundary":{"title":"Path Outer Boundary","type":"number","default":32,"description":"Distance at which to increase attack path recalculation by \"outer_boundary_tick_increase\"."},"random_stop_interval":{"title":"Random Stop Interval","type":"integer","default":0,"description":"This entity will have a 1 in N chance to stop it's current attack, where N = \"random_stop_interval\"."},"reach_multiplier":{"title":"Reach Multiplier","type":"number","default":2,"description":"Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage."},"require_complete_path":{"title":"Require Complete Path","type":"boolean","default":false,"description":"Toggles (on/off) the need to have a full path from the entity to the target when using this melee attack behavior."},"set_persistent":{"title":"Set Persistent","type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player"},"stomp_range_multiplier":{"title":"Stomp Range Multiplier","type":"number","default":2,"description":"Multiplied with the base size of the entity to determine stomp AoE damage range."},"target_dist":{"title":"Target Dist","type":"number","description":"Unused. No effect on \"minecraft:behavior.melee_attack\"."},"track_target":{"title":"Track Target","type":"boolean","default":false,"description":"Allows the entity to track the attack target, even if the entity has no sensing."},"x_max_rotation":{"title":"X Max Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."},"y_max_head_rotation":{"title":"Y Max Head Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."}},"examples":[{"attack_once":false,"attack_types":"","probability":0.02,"random_stop_interval":0,"reach_multiplier":2,"require_complete_path":false,"sound":"example","track_target":false,"stomp_range_multiplier":0.0,"no_damage_range_multiplier":0.0}]},"EBH":{"description":"Allows this mob to stomp turtle eggs","type":"object","title":"Stomp Turtle Egg","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"interval":{"type":"integer","default":120,"description":"A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal","title":"Interval"},"search_count":{"type":"integer","default":10,"description":"The number of blocks each tick that the mob will check within it's search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick","title":"Search Count"},"search_height":{"type":"integer","default":1,"description":"Height in blocks the mob will look for turtle eggs to move towards","title":"Search Height"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks it will look for turtle eggs to move towards","title":"Search Range"}},"examples":[{"goal_radius":0.5,"interval":120,"search_count":10,"search_height":1,"search_range":0}]},"EBI":{"description":"Allows the mob to stay at a certain level when in liquid.","type":"object","title":"Stroll Towards Village","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"cooldown_time":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again","title":"Cooldown Time"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks to search for points inside villages. If <= 0, find the closest village regardless of distance.","title":"Search Range"},"speed_multiplier":{"type":"number","default":1,"description":"Movement speed multiplier of the mob when using this AI Goal","title":"Speed Multiplier"},"start_chance":{"type":"number","default":0.1,"description":"This is the chance that the mob will start this goal, from 0 to 1","title":"Start Chance"}},"examples":[{"cooldown_time":0,"goal_radius":0.5,"search_range":0,"speed_multiplier":1,"start_chance":0.1}]},"EBJ":{"description":"Allows the mob to attack the player by summoning other entities.","title":"Stay While Sitting","type":"object","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"summon_choices":{"type":"array","description":"List of spells for the mob to use to summon entities","title":"Summon Choices","items":{"type":"object","additionalProperties":false,"properties":{"cast_duration":{"type":"number","description":"Time in seconds the spell casting will take","title":"Cast Duration"},"cooldown_time":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the spell again","title":"Cooldown Time"},"do_casting":{"type":"boolean","default":true,"description":"If true, the mob will do the casting animations and render spell particles","title":"Do Casting"},"filters":{"$ref":"#/definitions/BB"},"max_activation_range":{"type":"number","default":-1,"description":"Upper bound of the activation distance in blocks for this spell","title":"Maximum Activation Range"},"min_activation_range":{"type":"number","default":1,"description":"Lower bound of the activation distance in blocks for this spell","title":"Minimum Activation Range"},"particle_color":{"description":"The color of the particles for this spell","title":"Particle Color","oneOf":[{"type":"integer","default":0},{"type":"string","format":"color-hex"}]},"sequence":{"type":"array","description":"List of steps for the spell","title":"Sequence","items":{"type":"object","additionalProperties":false,"title":"Sequence","properties":{"delay":{"type":"number","default":0,"description":"Amount of time in seconds to wait before this step starts","title":"Delay"},"delay_per_summon":{"type":"number","default":0,"title":"Delay Per Summon","description":"Amount of time in seconds before each entity is summoned in this step"},"entity_lifespan":{"type":"number","title":"Entity Lifespan","default":-1,"description":"Amount of time in seconds that the spawned entity will be alive for. A value of -1.0 means it will remain alive for as long as it can"},"base_delay":{"type":"number","default":0,"description":"Amount of time in seconds to wait before this step starts","title":"Base Delay"},"entity_type":{"type":"string","description":"The entity type of the entities we will spawn in this step","title":"Entity Type"},"num_entities_spawned":{"type":"integer","default":1,"description":"Number of entities that will be spawned in this step","title":"Number Entities Spawned"},"shape":{"type":"string","default":"line","description":"The base shape of this step. Valid values are circle and line","title":"Shape"},"size":{"type":"number","default":1,"description":"The base size of the entity","title":"Size"},"sound_event":{"type":"string","description":"The sound event to play for this step","title":"Sound Event"},"summon_cap":{"type":"integer","default":0,"description":"Maximum number of summoned entities at any given time","title":"Summon Cap"},"summon_cap_radius":{"type":"number","default":0,"description":"Maximum radius where the summon entities can spawn","title":"Summon Cap Radius"},"target":{"type":"string","default":"self","description":"The target of the spell. This is where the spell will start (line will start here, circle will be centered here)","title":"Target"}}}},"start_sound_event":{"type":"string","description":"The sound event to play when using this spell","title":"Start Sound Event"},"weight":{"type":"number","title":"Weight","default":0,"description":"The weight of this spell. Controls how likely the mob is to choose this spell when casting one"}}}}},"examples":[{"summon_choices":[]}]},"ECA":{"description":"Allows the creeper to swell up when a player is nearby. It can only be used by Creepers.","title":"Stay While Sitting","type":"object","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"start_distance":{"type":"number","default":10,"description":"This mob starts swelling when a target is at least this many blocks away","title":"Start Distance"},"stop_distance":{"type":"number","default":2,"description":"This mob stops swelling when a target has moved away at least this many blocks","title":"Stop Distance"}},"examples":[{"start_distance":10,"stop_distance":2}]},"ECB":{"description":"Allows the entity go idle, if swimming. Entity must be in water.","type":"object","title":"Swim Idle","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"idle_time":{"type":"number","title":"Idle Time","default":5,"description":"Amount of time (in seconds) to stay idle."},"success_rate":{"type":"number","title":"Succes Rate","default":0.1,"description":"Percent chance this entity will go idle, 1.0 = 100%."}},"examples":[{"idle_time":0.0,"success_rate":0.0}]},"ECC":{"description":"Has the fish swim around when they can't pathfind","type":"object","title":"Swim Idle","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"interval":{"title":"Interval","type":"number","default":0.00833,"description":"Percent chance to start wandering, when not path-finding. 1 = 100%"},"look_ahead":{"title":"Look Ahead","type":"number","default":5,"description":"Distance to look ahead for obstacle avoidance, while wandering."},"wander_time":{"title":"Wander Time","type":"number","default":5,"description":"Amount of time (in seconds) to wander after wandering behavior was successfully started."}},"examples":[{"interval":0.0,"look_ahead":0.0,"wander_time":0.0}]},"ECD":{"type":"object","title":"Swim With Entity","description":"Allows the entity follow another entity. Both entities must be swimming and in water.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"success_rate":{"title":"Success Rate","type":"number","default":0.1,"description":"Percent chance to start following another entity, if not already doing so. 1.0 = 100%"},"chance_to_stop":{"title":"Chance To Stop","type":"number","default":0.0333,"description":"Percent chance to stop following the current entity, if they're riding another entity or they're not swimming. 1.0 = 100%"},"state_check_interval":{"title":"State Check Interval","type":"number","default":0.5,"description":"Time (in seconds) between checks to determine if this entity should catch up to the entity being followed or match the direction of the entity being followed."},"catch_up_threshold":{"title":"Catch Up Threshold","type":"number","default":12,"description":"Distance, from the entity being followed, at which this entity will speed up to reach that entity."},"match_direction_threshold":{"title":"Match Direction Threshold","type":"number","default":2,"description":"Distance, from the entity being followed, at which this entity will try to match that entity's direction"},"catch_up_multiplier":{"title":"Catch Up Multiplier","type":"number","default":2.5,"description":"The multiplier this entity's speed is modified by when matching another entity's direction."},"search_range":{"title":"Search Range","type":"number","default":20,"description":"Radius around this entity to search for another entity to follow."},"stop_distance":{"title":"Stop Distance","type":"number","default":5,"description":"Distance, from the entity being followed, at which this entity will stop following that entity."},"entity_types":{"$ref":"#/definitions/CHC","title":"Entity Types","description":"Filters which determine what entites are valid to follow"}},"examples":[{"success_rate":0.1,"chance_to_stop":0.0333,"state_check_interval":0.5,"catch_up_threshold":12,"match_direction_threshold":2,"catch_up_multiplier":2.5,"search_range":20,"stop_distance":5}]},"ECE":{"description":"Allows the mob to move to attack a target. The goal ends if it has a horizontal collision or gets hit. Built to be used with flying mobs.","type":"object","title":"Swoop Attack","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"damage_reach":{"title":"Damage Reach","type":"number","default":0.2,"description":"Added to the base size of the entity, to determine the target's maximum allowable distance, when trying to deal attack damage."},"delay_range":{"$ref":"#/definitions/JD","default":[[10.0,20.0]],"description":"Minimum and maximum cooldown time-range (in seconds) between each attempted swoop attack.","title":"Delay Range"}},"examples":[{"damage_reach":0.2,"delay_range":[10.0,20.0]}]},"ECF":{"description":"Can only be used by Villagers. Allows the mob to accept flowers from Iron Golems.","type":"object","title":"Take Flower","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"ECG":{"description":"Allows an entity to select a valid target entity that pushed it.","type":"object","title":"Target When Pushed","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"title":"Entity Types","$ref":"#/definitions/CHC","description":"The list of conditions the other entity must meet to be a valid target"},"percent_chance":{"title":"Percent Chance","type":"number","default":5.0,"description":"Probability that the entity will target the entity that pushed it."}},"examples":[{"percent_chance":5.0,"entity_types":[]}]},"ECH":{"description":"Allows an entity to be tempted by a set item.","type":"object","title":"Tempt","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"can_get_scared":{"type":"boolean","default":false,"description":"If true, the mob can stop being tempted if the player moves too fast while close to this mob.","title":"Can Get Scared"},"can_tempt_while_ridden":{"type":"boolean","default":false,"title":"Can Tempt While Ridden","description":"If true, the mob can be tempted even if it has a passenger (i.e. if being ridden)."},"can_tempt_vertically":{"type":"boolean","default":false,"title":"Can Tempt Vertically","description":"If true, vertical distance to the player will be considered when tempting."},"items":{"type":"array","title":"Items","description":"List of items this mob is tempted by","items":{"$ref":"#/definitions/H"}},"sound_interval":{"description":"Range of random ticks to wait between tempt sounds.","title":"Sound Interval","oneOf":[{"type":"number","minimum":0},{"items":[{"type":"integer","minimum":0,"title":"Minimum"},{"type":"integer","minimum":0,"title":"Maximum"}]}]},"tempt_sound":{"type":"string","description":"Sound to play while the mob is being tempted.","title":"Tempt Sound"},"within_radius":{"type":"number","default":0,"description":"Distance in blocks this mob can get tempted by a player holding an item they like","title":"Within Radius"}},"examples":[{"can_get_scared":false,"can_tempt_while_ridden":true,"can_tempt_vertically":true,"items":[],"within_radius":0}]},"ECI":{"description":"Allows the mob to look at a player that is holding a tradable item.","type":"object","title":"Trade Interest","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"carried_item_switch_time":{"type":"number","default":2,"description":"The Maximum time in seconds that the trader will hold an item before attempting to switch for a different item that takes the same trade","title":"Carried Item Switch Time"},"cooldown":{"type":"number","default":2,"description":"The time in seconds before the trader can use this goal again","title":"Cooldown"},"interest_time":{"type":"number","default":45,"description":"The Maximum time in seconds that the trader will be interested with showing it's trade items","title":"Interest_time"},"remove_item_time":{"type":"number","default":1,"description":"The Maximum time in seconds that the trader will wait when you no longer have items to trade","title":"Remove Item Time"},"within_radius":{"type":"number","default":0,"description":"Distance in blocks this mob can be interested by a player holding an item they like","title":"Within Radius"}},"examples":[{"carried_item_switch_time":2,"cooldown":2,"interest_time":45,"remove_item_time":1,"within_radius":0}]},"ECJ":{"description":"Allows the player to trade with this mob.","type":"object","title":"Trade With Player","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"EDA":{"description":"Allows the mob to target the same entity its owner is targeting.","additionalProperties":false,"type":"object","title":"Vex Copy Owner Target","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entities this mob can copy the owner from.","title":"Entity Types"}}},"EDB":{"description":"Allows the mob to target the same entity its owner is targeting.","additionalProperties":false,"type":"object","title":"Vex Random Move","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entities this mob can copy the owner from.","title":"Entity Types"}}},"EDC":{"description":"Allows the wither to launch random attacks. Can only be used by the Wither Boss.","additionalProperties":false,"type":"object","title":"Wither Random Attack Pos Goal","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"EDD":{"description":"Allows the wither to launch random attacks. Can only be used by the Wither Boss.","additionalProperties":false,"type":"object","title":"Wither Target Highest Damage","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entity types the wither takes into account to find who dealt the most damage to it","title":"Entity Types"}}},"EDE":{"type":"object","title":"Work","description":"Allows the NPC to use the POI","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"active_time":{"title":"Active Time","type":"integer","default":0,"description":"The amount of ticks the NPC will stay in their the work location"},"can_work_in_rain":{"title":"Can Work In Rain","type":"boolean","default":false,"description":"If true, this entity can work when their jobsite POI is being rained on."},"goal_cooldown":{"title":"Goal Cooldown","type":"integer","default":0,"description":"The amount of ticks the goal will be on cooldown before it can be used again"},"on_arrival":{"title":"On Arrival","$ref":"#/definitions/JA","description":"Event to run when the mob reaches their jobsite."},"sound_delay_max":{"title":"Sound Delay Max","type":"integer","default":0,"description":"The max interval in which a sound will play."},"sound_delay_min":{"title":"Sound Delay Min","type":"integer","default":0,"description":"The min interval in which a sound will play."},"work_in_rain_tolerance":{"title":"Work In Rain Tolerance","type":"integer","default":-1,"description":"If \"can_work_in_rain\" is false, this is the maximum number of ticks left in the goal where rain will not interrupt the goal"}},"examples":[{"active_time":0,"can_work_in_rain":false,"goal_cooldown":0,"sound_delay_max":0,"sound_delay_min":0,"work_in_rain_tolerance":-1}]},"EDF":{"description":"Allows the NPC to use the composter POI to convert excess seeds into bone meal.","type":"object","title":"Work Composter","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"active_time":{"title":"Active Time","type":"integer","default":0,"description":"The amount of ticks the NPC will stay in their the work location"},"block_interaction_max":{"title":"Block Interaction Max","type":"integer","default":1,"description":"The maximum number of times the mob will interact with the composter."},"can_empty_composter":{"title":"Can Empty Composter","type":"boolean","default":true,"description":"Determines whether the mob can empty a full composter."},"can_fill_composter":{"title":"Can Fill Composter","type":"boolean","default":true,"description":"Determines whether the mob can add items to a composter given that it is not full."},"can_work_in_rain":{"title":"Can Work In Rain","type":"boolean","default":false,"description":"If true, this entity can work when their jobsite POI is being rained on."},"goal_cooldown":{"title":"Goal Cooldown","type":"integer","default":0,"description":"The amount of ticks the goal will be on cooldown before it can be used again"},"items_per_use_max":{"title":"Items Per Use Max","type":"integer","default":20,"description":"The maximum number of items which can be added to the composter per block interaction."},"min_item_count":{"title":"Min Item Count","type":"integer","default":10,"description":"Limits the amount of each compostable item the mob can use. Any amount held over this number will be composted if possible"},"on_arrival":{"title":"On Arrival","$ref":"#/definitions/JA","description":"Event to run when the mob reaches their jobsite."},"sound_delay_max":{"title":"Sound Delay Max","type":"integer","description":"Unused."},"sound_delay_min":{"title":"Sound Delay Min","type":"integer","description":"Unused."},"use_block_max":{"title":"Use Block Max","type":"integer","default":200,"description":"The maximum interval in which the mob will interact with the composter."},"use_block_min":{"title":"Use Block Min","type":"integer","default":100,"description":"The minimum interval in which the mob will interact with the composter."},"work_in_rain_tolerance":{"title":"Work In Rain Tolerance","type":"integer","default":-1,"description":"If \"can_work_in_rain\" is false, this is the maximum number of ticks left in the goal where rain will not interrupt the goal"}},"examples":[{}]},"D":{"additionalProperties":false,"type":"object","title":"Components","description":"A collection of components","required":[],"properties":{"minecraft:addrider":{"$ref":"#/definitions/E"},"minecraft:admire_item":{"$ref":"#/definitions/F"},"minecraft:ageable":{"$ref":"#/definitions/G"},"minecraft:ambient_sound_interval":{"$ref":"#/definitions/J"},"minecraft:anger_level":{"$ref":"#/definitions/BA"},"minecraft:angry":{"$ref":"#/definitions/IF"},"minecraft:annotation.break_door":{"$ref":"#/definitions/IG"},"minecraft:annotation.open_door":{"$ref":"#/definitions/IH"},"minecraft:area_attack":{"$ref":"#/definitions/II"},"minecraft:attack_cooldown":{"$ref":"#/definitions/IJ"},"minecraft:attack_damage":{"$ref":"#/definitions/JB"},"minecraft:attack":{"$ref":"#/definitions/JC"},"minecraft:balloonable":{"$ref":"#/definitions/JE"},"minecraft:barter":{"$ref":"#/definitions/JF"},"minecraft:block_climber":{"$ref":"#/definitions/JG"},"minecraft:block_sensor":{"$ref":"#/definitions/JH"},"minecraft:boostable":{"$ref":"#/definitions/JJ"},"minecraft:boss":{"$ref":"#/definitions/BAA"},"minecraft:break_blocks":{"$ref":"#/definitions/BAB"},"minecraft:breathable":{"$ref":"#/definitions/BAD"},"minecraft:breedable":{"$ref":"#/definitions/BAE"},"minecraft:bribeable":{"$ref":"#/definitions/BAF"},"minecraft:buoyant":{"$ref":"#/definitions/BAG"},"minecraft:burns_in_daylight":{"$ref":"#/definitions/BAH"},"minecraft:can_climb":{"$ref":"#/definitions/BAI"},"minecraft:can_fly":{"$ref":"#/definitions/BAJ"},"minecraft:can_power_jump":{"$ref":"#/definitions/BBA"},"minecraft:celebrate_hunt":{"$ref":"#/definitions/BBB"},"minecraft:collision_box":{"$ref":"#/definitions/BBC"},"minecraft:color":{"$ref":"#/definitions/BBD"},"minecraft:color2":{"$ref":"#/definitions/BBE"},"minecraft:combat_regeneration":{"$ref":"#/definitions/BBF"},"minecraft:conditional_bandwidth_optimization":{"$ref":"#/definitions/BBG"},"minecraft:custom_hit_test":{"$ref":"#/definitions/BBH"},"minecraft:damage_over_time":{"$ref":"#/definitions/BBI"},"minecraft:damage_sensor":{"$ref":"#/definitions/BBJ"},"minecraft:default_look_angle":{"$ref":"#/definitions/BCA"},"minecraft:despawn":{"$ref":"#/definitions/BCB"},"minecraft:drying_out_timer":{"$ref":"#/definitions/BCC"},"minecraft:dweller":{"$ref":"#/definitions/BCD"},"minecraft:economy_trade_table":{"$ref":"#/definitions/BCE"},"minecraft:entity_sensor":{"$ref":"#/definitions/BCF"},"minecraft:environment_sensor":{"$ref":"#/definitions/BCG"},"minecraft:equip_item":{"$ref":"#/definitions/BCH"},"minecraft:equipment":{"$ref":"#/definitions/BCI"},"minecraft:equippable":{"$ref":"#/definitions/BDA"},"minecraft:exhaustion_values":{"$ref":"#/definitions/BDB"},"minecraft:experience_reward":{"$ref":"#/definitions/BDC"},"minecraft:explode":{"$ref":"#/definitions/BDD"},"minecraft:fall_damage":{"$ref":"#/definitions/BDE"},"minecraft:fire_immune":{"$ref":"#/definitions/BDF"},"minecraft:floats_in_liquid":{"$ref":"#/definitions/BDG"},"minecraft:flocking":{"$ref":"#/definitions/BDH"},"minecraft:flying_speed":{"$ref":"#/definitions/BDI"},"minecraft:follow_range":{"$ref":"#/definitions/BDJ"},"minecraft:friction_modifier":{"$ref":"#/definitions/BEA"},"minecraft:genetics":{"$ref":"#/definitions/BEB"},"minecraft:giveable":{"$ref":"#/definitions/BEC"},"minecraft:ground_offset":{"$ref":"#/definitions/BED"},"minecraft:group_size":{"$ref":"#/definitions/BEE"},"minecraft:grows_crop":{"$ref":"#/definitions/BEF"},"minecraft:healable":{"$ref":"#/definitions/BEG"},"minecraft:health":{"$ref":"#/definitions/BEH"},"minecraft:heartbeat":{"$ref":"#/definitions/BEI"},"minecraft:hide":{"$ref":"#/definitions/BFA"},"minecraft:home":{"$ref":"#/definitions/BFB"},"minecraft:horse.jump_strength":{"$ref":"#/definitions/BFC"},"minecraft:hurt_on_condition":{"$ref":"#/definitions/BFD"},"minecraft:hurt_when_wet":{"$ref":"#/definitions/BFE"},"minecraft:input_ground_controlled":{"$ref":"#/definitions/BFF"},"minecraft:inside_block_notifier":{"$ref":"#/definitions/BFG"},"minecraft:insomnia":{"$ref":"#/definitions/BFI"},"minecraft:instant_despawn":{"$ref":"#/definitions/BFJ"},"minecraft:interact":{"$ref":"#/definitions/BGA"},"minecraft:inventory":{"$ref":"#/definitions/BGB"},"minecraft:is_baby":{"$ref":"#/definitions/BGC"},"minecraft:is_charged":{"$ref":"#/definitions/BGD"},"minecraft:is_chested":{"$ref":"#/definitions/BGE"},"minecraft:is_dyeable":{"$ref":"#/definitions/BGF"},"minecraft:is_hidden_when_invisible":{"$ref":"#/definitions/BGG"},"minecraft:is_ignited":{"$ref":"#/definitions/BGH"},"minecraft:is_illager_captain":{"$ref":"#/definitions/BGI"},"minecraft:is_saddled":{"$ref":"#/definitions/BGJ"},"minecraft:is_shaking":{"$ref":"#/definitions/BHA"},"minecraft:is_sheared":{"$ref":"#/definitions/BHB"},"minecraft:is_stackable":{"$ref":"#/definitions/BHC"},"minecraft:is_stunned":{"$ref":"#/definitions/BHD"},"minecraft:is_tamed":{"$ref":"#/definitions/BHE"},"minecraft:item_controllable":{"$ref":"#/definitions/BHF"},"minecraft:item_hopper":{"$ref":"#/definitions/BHG"},"minecraft:jump.dynamic":{"$ref":"#/definitions/BHH"},"minecraft:jump.static":{"$ref":"#/definitions/BHI"},"minecraft:knockback_resistance":{"$ref":"#/definitions/BHJ"},"minecraft:lava_movement":{"$ref":"#/definitions/BIA"},"minecraft:leashable":{"$ref":"#/definitions/BIB"},"minecraft:lookat":{"$ref":"#/definitions/BIC"},"minecraft:loot":{"$ref":"#/definitions/BID"},"minecraft:managed_wandering_trader":{"$ref":"#/definitions/BIE"},"minecraft:mark_variant":{"$ref":"#/definitions/BIF"},"minecraft:mob_effect":{"$ref":"#/definitions/BIG"},"minecraft:movement_sound_distance_offset":{"$ref":"#/definitions/BIH"},"minecraft:movement.amphibious":{"$ref":"#/definitions/BII"},"minecraft:movement.basic":{"$ref":"#/definitions/BIJ"},"minecraft:movement.fly":{"$ref":"#/definitions/BJA"},"minecraft:movement.generic":{"$ref":"#/definitions/BJB"},"minecraft:movement.glide":{"$ref":"#/definitions/BJC"},"minecraft:movement.hover":{"$ref":"#/definitions/BJD"},"minecraft:movement.jump":{"$ref":"#/definitions/BJE"},"minecraft:movement.skip":{"$ref":"#/definitions/BJF"},"minecraft:movement.sway":{"$ref":"#/definitions/BJG"},"minecraft:movement":{"$ref":"#/definitions/BJH"},"minecraft:nameable":{"$ref":"#/definitions/BJI"},"minecraft:navigation.climb":{"$ref":"#/definitions/BJJ"},"minecraft:navigation.float":{"$ref":"#/definitions/CAB"},"minecraft:navigation.fly":{"$ref":"#/definitions/CAC"},"minecraft:navigation.generic":{"$ref":"#/definitions/CAD"},"minecraft:navigation.hover":{"$ref":"#/definitions/CAE"},"minecraft:navigation.swim":{"$ref":"#/definitions/CAF"},"minecraft:navigation.walk":{"$ref":"#/definitions/CAG"},"minecraft:npc":{"$ref":"#/definitions/CAH"},"minecraft:on_death":{"$ref":"#/definitions/CAI"},"minecraft:on_friendly_anger":{"$ref":"#/definitions/CAJ"},"minecraft:on_hurt_by_player":{"$ref":"#/definitions/CBA"},"minecraft:on_hurt":{"$ref":"#/definitions/CBB"},"minecraft:on_ignite":{"$ref":"#/definitions/CBC"},"minecraft:on_start_landing":{"$ref":"#/definitions/CBD"},"minecraft:on_start_takeoff":{"$ref":"#/definitions/CBE"},"minecraft:on_target_acquired":{"$ref":"#/definitions/CBF"},"minecraft:on_target_escape":{"$ref":"#/definitions/CBG"},"minecraft:on_wake_with_owner":{"$ref":"#/definitions/CBH"},"minecraft:out_of_control":{"$ref":"#/definitions/CBI"},"minecraft:peek":{"$ref":"#/definitions/CBJ"},"minecraft:persistent":{"$ref":"#/definitions/CCA"},"minecraft:physics":{"$ref":"#/definitions/CCB"},"minecraft:player.exhaustion":{"$ref":"#/definitions/CCC"},"minecraft:player.experience":{"$ref":"#/definitions/CCD"},"minecraft:player.level":{"$ref":"#/definitions/CCE"},"minecraft:player.saturation":{"$ref":"#/definitions/CCF"},"minecraft:preferred_path":{"$ref":"#/definitions/CCG"},"minecraft:projectile":{"$ref":"#/definitions/CCH"},"minecraft:push_through":{"$ref":"#/definitions/CCJ"},"minecraft:pushable":{"$ref":"#/definitions/CDA"},"minecraft:raid_trigger":{"$ref":"#/definitions/CDB"},"minecraft:rail_movement":{"$ref":"#/definitions/CDC"},"minecraft:rail_sensor":{"$ref":"#/definitions/CDD"},"minecraft:ravager_blocked":{"$ref":"#/definitions/CDE"},"minecraft:rideable":{"$ref":"#/definitions/CDF"},"minecraft:scale_by_age":{"$ref":"#/definitions/CDG"},"minecraft:scale":{"$ref":"#/definitions/CDH"},"minecraft:scheduler":{"$ref":"#/definitions/CDI"},"minecraft:shareables":{"$ref":"#/definitions/CDJ"},"minecraft:shooter":{"$ref":"#/definitions/CEA"},"minecraft:sittable":{"$ref":"#/definitions/CEB"},"minecraft:skin_id":{"$ref":"#/definitions/CEC"},"minecraft:sound_volume":{"$ref":"#/definitions/CED"},"minecraft:spawn_entity":{"$ref":"#/definitions/CEE"},"minecraft:spell_effects":{"$ref":"#/definitions/CEF"},"minecraft:strength":{"$ref":"#/definitions/CEG"},"minecraft:suspect_tracking":{"$ref":"#/definitions/CEH"},"minecraft:tameable":{"$ref":"#/definitions/CEI"},"minecraft:tamemount":{"$ref":"#/definitions/CEJ"},"minecraft:target_nearby_sensor":{"$ref":"#/definitions/CFA"},"minecraft:teleport":{"$ref":"#/definitions/CFB"},"minecraft:tick_world":{"$ref":"#/definitions/CFC"},"minecraft:timer":{"$ref":"#/definitions/CFD"},"minecraft:trade_resupply":{"$ref":"#/definitions/CFE"},"minecraft:trade_table":{"$ref":"#/definitions/CFF"},"minecraft:trail":{"$ref":"#/definitions/CFG"},"minecraft:transformation":{"$ref":"#/definitions/CFH"},"minecraft:trust":{"$ref":"#/definitions/CFI"},"minecraft:trusting":{"$ref":"#/definitions/CFJ"},"minecraft:type_family":{"$ref":"#/definitions/CGA"},"minecraft:underwater_movement":{"$ref":"#/definitions/CGB"},"minecraft:variant":{"$ref":"#/definitions/CGC"},"minecraft:vibration_damper":{"$ref":"#/definitions/CGD"},"minecraft:vibration_listener":{"$ref":"#/definitions/CGE"},"minecraft:walk_animation_speed":{"$ref":"#/definitions/CGF"},"minecraft:wants_jockey":{"$ref":"#/definitions/CGG"},"minecraft:water_movement":{"$ref":"#/definitions/CGH"},"minecraft:behavior.admire_item":{"$ref":"#/definitions/CGI"},"minecraft:behavior.avoid_block":{"$ref":"#/definitions/CHA"},"minecraft:behavior.avoid_mob_type":{"$ref":"#/definitions/CHB"},"minecraft:behavior.barter":{"$ref":"#/definitions/CHD"},"minecraft:behavior.beg":{"$ref":"#/definitions/CHE"},"minecraft:behavior.break_door":{"$ref":"#/definitions/CHF"},"minecraft:behavior.breed":{"$ref":"#/definitions/CHH"},"minecraft:behavior.celebrate_survive":{"$ref":"#/definitions/CHI"},"minecraft:behavior.celebrate":{"$ref":"#/definitions/CHJ"},"minecraft:behavior.charge_attack":{"$ref":"#/definitions/CIA"},"minecraft:behavior.charge_held_item":{"$ref":"#/definitions/CIB"},"minecraft:behavior.circle_around_anchor":{"$ref":"#/definitions/CIC"},"minecraft:behavior.controlled_by_player":{"$ref":"#/definitions/CID"},"minecraft:behavior.croak":{"$ref":"#/definitions/CIE"},"minecraft:behavior.defend_trusted_target":{"$ref":"#/definitions/CIH"},"minecraft:behavior.defend_village_target":{"$ref":"#/definitions/CII"},"minecraft:behavior.delayed_attack":{"$ref":"#/definitions/CIJ"},"minecraft:behavior.dig":{"$ref":"#/definitions/CJA"},"minecraft:behavior.door_interact":{"$ref":"#/definitions/CJB"},"minecraft:behavior.dragonchargeplayer":{"$ref":"#/definitions/CJC"},"minecraft:behavior.dragondeath":{"$ref":"#/definitions/CJD"},"minecraft:behavior.dragonflaming":{"$ref":"#/definitions/CJE"},"minecraft:behavior.dragonholdingpattern":{"$ref":"#/definitions/CJF"},"minecraft:behavior.dragonlanding":{"$ref":"#/definitions/CJG"},"minecraft:behavior.dragonscanning":{"$ref":"#/definitions/CJH"},"minecraft:behavior.dragonstrafeplayer":{"$ref":"#/definitions/CJI"},"minecraft:behavior.dragontakeoff":{"$ref":"#/definitions/CJJ"},"minecraft:behavior.drink_milk":{"$ref":"#/definitions/DAA"},"minecraft:behavior.drink_potion":{"$ref":"#/definitions/DAB"},"minecraft:behavior.drop_item_for":{"$ref":"#/definitions/DAC"},"minecraft:behavior.eat_block":{"$ref":"#/definitions/DAD"},"minecraft:behavior.eat_carried_item":{"$ref":"#/definitions/DAE"},"minecraft:behavior.eat_mob":{"$ref":"#/definitions/DAF"},"minecraft:behavior.emerge":{"$ref":"#/definitions/DAF"},"minecraft:behavior.enderman_leave_block":{"$ref":"#/definitions/DAG"},"minecraft:behavior.enderman_take_block":{"$ref":"#/definitions/DAH"},"minecraft:behavior.equip_item":{"$ref":"#/definitions/DAI"},"minecraft:behavior.explore_outskirts":{"$ref":"#/definitions/DAJ"},"minecraft:behavior.fertilize_farm_block":{"$ref":"#/definitions/DBA"},"minecraft:behavior.find_cover":{"$ref":"#/definitions/DBB"},"minecraft:behavior.find_mount":{"$ref":"#/definitions/DBC"},"minecraft:behavior.find_underwater_treasure":{"$ref":"#/definitions/DBD"},"minecraft:behavior.flee_sun":{"$ref":"#/definitions/DBE"},"minecraft:behavior.float_wander":{"$ref":"#/definitions/DBF"},"minecraft:behavior.float":{"$ref":"#/definitions/DBG"},"minecraft:behavior.follow_caravan":{"$ref":"#/definitions/DBH"},"minecraft:behavior.follow_mob":{"$ref":"#/definitions/DBI"},"minecraft:behavior.follow_owner":{"$ref":"#/definitions/DBJ"},"minecraft:behavior.follow_parent":{"$ref":"#/definitions/DCA"},"minecraft:behavior.follow_target_captain":{"$ref":"#/definitions/DCB"},"minecraft:behavior.go_and_give_items_to_noteblock":{"$ref":"#/definitions/DCC"},"minecraft:behavior.go_and_give_items_to_owner":{"$ref":"#/definitions/DCD"},"minecraft:behavior.go_home":{"$ref":"#/definitions/DCE"},"minecraft:behavior.guardian_attack":{"$ref":"#/definitions/DCF"},"minecraft:behavior.harvest_farm_block":{"$ref":"#/definitions/DCG"},"minecraft:behavior.hide":{"$ref":"#/definitions/DCH"},"minecraft:behavior.hold_ground":{"$ref":"#/definitions/DCI"},"minecraft:behavior.hurt_by_target":{"$ref":"#/definitions/DCJ"},"minecraft:behavior.inspect_bookshelf":{"$ref":"#/definitions/DDA"},"minecraft:behavior.jump_to_block":{"$ref":"#/definitions/DDB"},"minecraft:behavior.knockback_roar":{"$ref":"#/definitions/DDD"},"minecraft:behavior.lay_down":{"$ref":"#/definitions/DDE"},"minecraft:behavior.lay_egg":{"$ref":"#/definitions/DDF"},"minecraft:behavior.leap_at_target":{"$ref":"#/definitions/DDG"},"minecraft:behavior.look_at_entity":{"$ref":"#/definitions/DDH"},"minecraft:behavior.look_at_player":{"$ref":"#/definitions/DDI"},"minecraft:behavior.look_at_target":{"$ref":"#/definitions/DDJ"},"minecraft:behavior.look_at_trading_player":{"$ref":"#/definitions/DEA"},"minecraft:behavior.make_love":{"$ref":"#/definitions/DEB"},"minecraft:behavior.melee_attack":{"$ref":"#/definitions/DEC"},"minecraft:behavior.mingle":{"$ref":"#/definitions/DED"},"minecraft:behavior.mount_pathing":{"$ref":"#/definitions/DEE"},"minecraft:behavior.move_indoors":{"$ref":"#/definitions/DEF"},"minecraft:behavior.move_outdoors":{"$ref":"#/definitions/DEG"},"minecraft:behavior.move_through_village":{"$ref":"#/definitions/DEH"},"minecraft:behavior.move_to_block":{"$ref":"#/definitions/DEI"},"minecraft:behavior.move_to_land":{"$ref":"#/definitions/DEJ"},"minecraft:behavior.move_to_lava":{"$ref":"#/definitions/DFA"},"minecraft:behavior.move_to_liquid":{"$ref":"#/definitions/DFB"},"minecraft:behavior.move_to_poi":{"$ref":"#/definitions/DFC"},"minecraft:behavior.move_to_random_block":{"$ref":"#/definitions/DFD"},"minecraft:behavior.move_to_village":{"$ref":"#/definitions/DFE"},"minecraft:behavior.move_to_water":{"$ref":"#/definitions/DFF"},"minecraft:behavior.move_towards_dwelling_restriction":{"$ref":"#/definitions/DFG"},"minecraft:behavior.move_towards_home_restriction":{"$ref":"#/definitions/DFH"},"minecraft:behavior.move_towards_restriction":{"$ref":"#/definitions/DFI"},"minecraft:behavior.move_towards_target":{"$ref":"#/definitions/DFJ"},"minecraft:behavior.nap":{"$ref":"#/definitions/DGA"},"minecraft:behavior.nearest_attackable_target":{"$ref":"#/definitions/DGB"},"minecraft:behavior.nearest_prioritized_attackable_target":{"$ref":"#/definitions/DGC"},"minecraft:behavior.ocelot_sit_on_block":{"$ref":"#/definitions/DGD"},"minecraft:behavior.ocelotattack":{"$ref":"#/definitions/DGE"},"minecraft:behavior.offer_flower":{"$ref":"#/definitions/DGF"},"minecraft:behavior.open_door":{"$ref":"#/definitions/DGG"},"minecraft:behavior.owner_hurt_by_target":{"$ref":"#/definitions/DGH"},"minecraft:behavior.owner_hurt_target":{"$ref":"#/definitions/DGI"},"minecraft:behavior.panic":{"$ref":"#/definitions/DGJ"},"minecraft:behavior.peek":{"$ref":"#/definitions/DHA"},"minecraft:behavior.pet_sleep_with_owner":{"$ref":"#/definitions/DHB"},"minecraft:behavior.pickup_items":{"$ref":"#/definitions/DHC"},"minecraft:behavior.play_dead":{"$ref":"#/definitions/DHD"},"minecraft:behavior.play":{"$ref":"#/definitions/DHE"},"minecraft:behavior.player_ride_tamed":{"$ref":"#/definitions/DHF"},"minecraft:behavior.raid_garden":{"$ref":"#/definitions/DHG"},"minecraft:behavior.ram_attack":{"$ref":"#/definitions/DHH"},"minecraft:behavior.random_breach":{"$ref":"#/definitions/DHI"},"minecraft:behavior.random_fly":{"$ref":"#/definitions/DHJ"},"minecraft:behavior.random_hover":{"$ref":"#/definitions/DIA"},"minecraft:behavior.random_look_around_and_sit":{"$ref":"#/definitions/DIB"},"minecraft:behavior.random_look_around":{"$ref":"#/definitions/DIC"},"minecraft:behavior.random_sitting":{"$ref":"#/definitions/DID"},"minecraft:behavior.random_stroll":{"$ref":"#/definitions/DIE"},"minecraft:behavior.random_swim":{"$ref":"#/definitions/DIF"},"minecraft:behavior.ranged_attack":{"$ref":"#/definitions/DIG"},"minecraft:behavior.receive_love":{"$ref":"#/definitions/DIH"},"minecraft:behavior.restrict_open_door":{"$ref":"#/definitions/DII"},"minecraft:behavior.restrict_sun":{"$ref":"#/definitions/DIJ"},"minecraft:behavior.rise_to_liquid_level":{"$ref":"#/definitions/DJA"},"minecraft:behavior.roar":{"$ref":"#/definitions/DJB"},"minecraft:behavior.roll":{"$ref":"#/definitions/DJC"},"minecraft:behavior.run_around_like_crazy":{"$ref":"#/definitions/DJD"},"minecraft:behavior.scared":{"$ref":"#/definitions/DJE"},"minecraft:behavior.send_event":{"$ref":"#/definitions/DJF"},"minecraft:behavior.share_items":{"$ref":"#/definitions/DJG"},"minecraft:behavior.silverfish_merge_with_stone":{"$ref":"#/definitions/DJH"},"minecraft:behavior.silverfish_wake_up_friends":{"$ref":"#/definitions/DJI"},"minecraft:behavior.skeleton_horse_trap":{"$ref":"#/definitions/DJJ"},"minecraft:behavior.sleep":{"$ref":"#/definitions/EAA"},"minecraft:behavior.slime_attack":{"$ref":"#/definitions/EAB"},"minecraft:behavior.slime_float":{"$ref":"#/definitions/EAC"},"minecraft:behavior.slime_keep_on_jumping":{"$ref":"#/definitions/EAD"},"minecraft:behavior.slime_random_direction":{"$ref":"#/definitions/EAE"},"minecraft:behavior.snacking":{"$ref":"#/definitions/EAF"},"minecraft:behavior.sneeze":{"$ref":"#/definitions/EAG"},"minecraft:behavior.sonic_boom":{"$ref":"#/definitions/EAH"},"minecraft:behavior.squid_dive":{"$ref":"#/definitions/EAI"},"minecraft:behavior.squid_flee":{"$ref":"#/definitions/EAJ"},"minecraft:behavior.squid_idle":{"$ref":"#/definitions/EBA"},"minecraft:behavior.squid_move_away_from_ground":{"$ref":"#/definitions/EBB"},"minecraft:behavior.squid_out_of_water":{"$ref":"#/definitions/EBC"},"minecraft:behavior.stalk_and_pounce_on_target":{"$ref":"#/definitions/EBD"},"minecraft:behavior.stay_near_noteblock":{"$ref":"#/definitions/EBE"},"minecraft:behavior.stay_while_sitting":{"$ref":"#/definitions/EBF"},"minecraft:behavior.stomp_attack":{"$ref":"#/definitions/EBG"},"minecraft:behavior.stomp_turtle_egg":{"$ref":"#/definitions/EBH"},"minecraft:behavior.stroll_towards_village":{"$ref":"#/definitions/EBI"},"minecraft:behavior.summon_entity":{"$ref":"#/definitions/EBJ"},"minecraft:behavior.swell":{"$ref":"#/definitions/ECA"},"minecraft:behavior.swim_idle":{"$ref":"#/definitions/ECB"},"minecraft:behavior.swim_wander":{"$ref":"#/definitions/ECC"},"minecraft:behavior.swim_with_entity":{"$ref":"#/definitions/ECD"},"minecraft:behavior.swoop_attack":{"$ref":"#/definitions/ECE"},"minecraft:behavior.take_flower":{"$ref":"#/definitions/ECF"},"minecraft:behavior.target_when_pushed":{"$ref":"#/definitions/ECG"},"minecraft:behavior.tempt":{"$ref":"#/definitions/ECH"},"minecraft:behavior.trade_interest":{"$ref":"#/definitions/ECI"},"minecraft:behavior.trade_with_player":{"$ref":"#/definitions/ECJ"},"minecraft:behavior.vex_copy_owner_target":{"$ref":"#/definitions/EDA"},"minecraft:behavior.vex_random_move":{"$ref":"#/definitions/EDB"},"minecraft:behavior.wither_random_attack_pos_goal":{"$ref":"#/definitions/EDC"},"minecraft:behavior.wither_target_highest_damage":{"$ref":"#/definitions/EDD"},"minecraft:behavior.work":{"$ref":"#/definitions/EDE"},"minecraft:behavior.work_composter":{"$ref":"#/definitions/EDF"}}},"EDG_addremove":{"additionalProperties":false,"title":"Add Or Remove","description":"The components groups to add or remove","type":"object","examples":[{"component_groups":["self:variant1"]}],"properties":{"component_groups":{"title":"Component Groups","description":"The components groups to add or remove","type":"array","items":{"type":"string","description":"A reference to a component group","title":"Component Groups"}}}},"EDG_event_base":{"additionalProperties":false,"type":"object","examples":[{},{"add":{"component_groups":[]}},{"remove":{"component_groups":[]}}],"defaultSnippets":[{"label":"New Add Event","body":{"add":{"component_groups":["$1"]}}},{"label":"New Remove Event","body":{"remove":{"component_groups":["$1"]}}},{"label":"New Random Event","body":{"randomize":[{"add":{"component_groups":["$1"]},"weight":1},{"add":{"component_groups":["$2"]},"weight":1}]}},{"label":"New Sequence Events","body":{"sequence":[{"add":{"component_groups":["$1"]}},{"add":{"component_groups":["$2"]}}]}}],"properties":{"filters":{"$ref":"#/definitions/BB"},"trigger":{"description":"Triggers additional events","$comment":"UNDOCUMENTED","title":"Trigger","$ref":"#/definitions/JA"},"add":{"$ref":"#/definitions/EDG_addremove","description":"What gets added when the event gets triggered","title":"Add"},"remove":{"$ref":"#/definitions/EDG_addremove","description":"What gets removed when the event gets triggered","title":"Remove"},"randomize":{"type":"array","description":"Randomly selects one of the following items based upon their weight and the total weights","title":"Randomize","items":{"description":"Randomly selects one of the following items based upon their weight and the total weights","title":"Randomize","examples":[{"add":{"component_groups":["foo:example"]},"weight":1}],"properties":{"add":{"$ref":"#/definitions/EDG_addremove","description":"What gets added when the event gets triggered","title":"Add"},"remove":{"$ref":"#/definitions/EDG_addremove","description":"What gets removed when the event gets triggered","title":"Remove"},"trigger":{"description":"Triggers additional events","$comment":"UNDOCUMENTED","title":"Trigger","$ref":"#/definitions/JA"},"weight":{"type":"number","default":1,"minimum":1,"description":"The weight on how likely this section is to trigger","$comment":"UNDOCUMENTED","title":"Weight"}}}},"sequence":{"type":"array","description":"A series of filters and components to be added","title":"Sequences","items":{"description":"Filters and components to be added","title":"Sequence","type":"object","properties":{"add":{"$ref":"#/definitions/EDG_addremove","description":"What gets added when the event gets triggered","title":"Add"},"remove":{"$ref":"#/definitions/EDG_addremove","description":"What gets removed when the event gets triggered","title":"Remove"},"trigger":{"description":"Triggers additional events","$comment":"UNDOCUMENTED","title":"Trigger","$ref":"#/definitions/JA"},"filters":{"$ref":"#/definitions/BB"}}}}}},"EDG":{"type":"object","title":"Events","description":"Events for entities","additionalProperties":{"$ref":"#/definitions/EDG_event_base"},"properties":{"minecraft:entity_transformed":{"description":"Event called on an entity that transforms into another entity.","$ref":"#/definitions/EDG_event_base","title":"Entity Transformed"},"minecraft:entity_born":{"description":"Event called on an entity that is spawned through two entities breeding.","$ref":"#/definitions/EDG_event_base","title":"Entity Born"},"minecraft:entity_spawned":{"description":"Event called on an entity that is placed in the level.","$ref":"#/definitions/EDG_event_base","title":"Entity Spawned"},"minecraft:on_prime":{"description":"Event called on an entity whose fuse is lit and is ready to explode.","$ref":"#/definitions/EDG_event_base","title":"On Prime"}}},"B":{"title":"Entity","required":["description"],"dependencies":{"component_groups":["events"]},"additionalProperties":false,"type":"object","properties":{"description":{"required":["identifier"],"title":"Description","description":"The description of the this entity","properties":{"animations":{"title":"Animations","description":"Sets the mapping of internal animation / animation controllers references to actual animations. This is a JSON Object of name/animation pairs","type":"object","additionalProperties":{"title":"Animation / Controller","description":"The name of the animation controller / animation","type":"string","examples":["animation.","controller."]}},"identifier":{"$ref":"#/definitions/C","description":"Sets the identifier for this entity's description.","title":"Identifier"},"is_spawnable":{"type":"boolean","title":"Is Spawnable","description":"Sets whether or not this entity has a spawn egg in the creative ui.","default":false},"is_summonable":{"type":"boolean","title":"Is Summonable Property","description":"Sets whether or not we can summon this entity using commands such as /summon.","default":true},"is_experimental":{"type":"boolean","title":"Is Experimental","description":"Sets whether or not this entity is experimental. Experimental entities are only enabled when the experimental toggle is enabled.","default":false},"runtime_identifier":{"type":"string","title":"Runtime Identifier","description":"Sets the name for the Vanilla Minecraft identifier this entity will use to build itself from.","examples":["minecraft."]},"scripts":{"type":"object","title":"Scripts","description":"Sets the mapping of internal animation controller references to actual animation controller. This is a JSON Array of name/animation-controller pairs","properties":{"animate":{"type":"array","title":"Animate","description":"Tells minecraft to run which animation / animation controllers and under what conditions","items":{"oneOf":[{"type":"string","title":"Animation","description":"The name of an animation controller referenced in animations"},{"type":"object","title":"Conditional Animation","description":"A conditional statement to run the animation under a specified condition","$comment":"UNDOCUMENTED","additionalProperties":{"type":"string","title":"Animation"}}]}}}}}},"component_groups":{"title":"Component Groups","description":"Each group when add / remove the default components","uniqueItems":true,"type":"object","propertyNames":{"examples":["self:"]},"additionalProperties":{"$ref":"#/definitions/D","uniqueItems":true,"description":"The components that are added as the foundation of the entity","title":"Component"}},"components":{"$ref":"#/definitions/D","uniqueItems":true,"description":"The components that are added as the foundation of the entity","title":"Component"},"events":{"$ref":"#/definitions/EDG","uniqueItems":true,"description":"The events that the entity can run, these add or remove components_groups","title":"Events"}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.entities","examples":[{"format_version":"1.19.0","minecraft:entity":{"description":{"identifier":"namespace:entity","is_spawnable":true,"is_summonable":true},"component_groups":{},"components":{},"events":{}}}],"type":"object","title":"Entity Behavior","description":"The minecraft entity behavior specification.","required":["format_version","minecraft:entity"],"additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:entity":{"$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 entity identifier.","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Entity Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"E":{"additionalProperties":false,"type":"object","title":"Add Rider","description":"Adds a rider to the entity. Requires `minecraft:rideable.`","required":["entity_type"],"properties":{"entity_type":{"type":"string","description":"The entity type that will be riding this entity.","title":"Entity Type"},"spawn_event":{"type":"string","description":"The spawn event that will be used when the riding entity is created.","title":"Spawn Event"}},"examples":[{"entity_type":"minecraft:rabbit"},{"entity_type":"minecraft:rabbit","spawn_event":"self:example"}]},"F":{"type":"object","title":"Admire Item","description":"Causes the mob to ignore attackable targets for a given duration.","additionalProperties":false,"properties":{"cooldown_after_being_attacked":{"type":"integer","default":0,"description":"Duration, in seconds, for which mob won't admire items if it was hurt.","title":"Cooldown After Being Attacked"},"duration":{"type":"integer","default":10,"description":"Duration, in seconds, that the mob is pacified.","title":"Duration"}},"examples":[{"cooldown_after_being_attacked":0,"duration":10}]},"H":{"description":"A minecraft item identifier.","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"I":{"title":"Event","description":"Minecraft behavior event.","examples":["example:foo",{"event":"example:foo","target":"self"}],"defaultSnippets":[{"label":"New Event","body":"^\"$1\""}],"oneOf":[{"type":"string","pattern":"^[a-zA-Z0-9_\\-:]+$","description":"The event to fire."},{"type":"object","properties":{"event":{"type":"string","pattern":"^[a-zA-Z0-9_\\-:]+$","description":"The event to fire.","title":"Event"},"target":{"type":"string","description":"The target of the event.","title":"Target","enum":["baby","block","damager","other","parent","player","self","target"]}}}]},"G":{"type":"object","title":"Ageable","description":"Adds a timer for the entity to grow up. It can be accelerated by giving the entity the items it likes as defined by feedItems.","additionalProperties":false,"properties":{"drop_items":{"description":"List of items that the entity drops when it grows up.","oneOf":[{"type":"array","items":{"$ref":"#/definitions/H"}},{"type":"string","$ref":"#/definitions/H"}],"title":"Drop Items"},"duration":{"type":"number","default":1200,"description":"Amount of time before the entity grows up, -1 for always a baby.","title":"Duration"},"feed_items":{"description":"List of items that can be fed to the entity. Includes `item` for the item name and `growth` to define how much time it grows up by","oneOf":[{"type":"array","items":{"$ref":"#/definitions/H"}},{"type":"array","items":{"type":"object","properties":{"growth":{"type":"number"},"item":{"$ref":"#/definitions/H"}}}},{"type":"string","$ref":"#/definitions/H"}],"title":"Feed Items"},"grow_up":{"$ref":"#/definitions/I","description":"Event to run when this entity grows up.","title":"Grow Up"},"transform_to_item":{"type":"string","title":"Transform To Item","description":"The feed item used will transform to this item upon successful interaction. Format: itemName:auxValue"}},"examples":[{"duration":1200,"transform_to_item":"example"}]},"J":{"additionalProperties":false,"type":"object","title":"Ambient Sound Interval","description":"Sets the entity's delay between playing its ambient sound.","properties":{"event_name":{"type":"string","default":"ambient","description":"Level sound event to be played as the ambient sound.","title":"Event Name"},"event_names":{"type":"array","description":"List of dynamic level sound events, with conditions for choosing between them. Evaluated in order, first one wins. If none evaluate to true, 'event_name' will take precedence.","items":{"type":"object","properties":{"condition":{"type":"string","description":"The condition that must be satisfied to select the given ambient sound.","title":"Condition"},"event_name":{"type":"string","description":"Level sound event to be played as the ambient sound.","title":"Event Name"}}}},"range":{"title":"Range","type":"number","default":16.0,"description":"Maximum time in seconds to randomly add to the ambient sound delay time."},"value":{"title":"Value","type":"number","default":8.0,"description":"Minimum time in seconds before the entity plays its ambient sound again."}},"examples":[{"event_name":"ambient","range":16,"value":8}]},"BB_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/BB_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/BB_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/BB_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/BB_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/BB_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/BB_groups_spec"}},"allOf":[{"if":{"properties":{"test":{"const":"clock_time"}}},"then":{"$ref":"#/definitions/BC"}},{"if":{"properties":{"test":{"const":"distance_to_nearest_player"}}},"then":{"$ref":"#/definitions/BF"}},{"if":{"properties":{"test":{"const":"has_ability"}}},"then":{"$ref":"#/definitions/BG"}},{"if":{"properties":{"test":{"const":"has_biome_tag"}}},"then":{"$ref":"#/definitions/BH"}},{"if":{"properties":{"test":{"const":"has_component"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"test":{"const":"has_container_open"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"test":{"const":"has_damage"}}},"then":{"$ref":"#/definitions/CA"}},{"if":{"properties":{"test":{"const":"has_equipment"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"test":{"const":"has_mob_effect"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"test":{"const":"has_nametag"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"test":{"const":"has_ranged_weapon"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"test":{"const":"has_silk_touch"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"test":{"const":"has_tag"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"test":{"const":"has_target"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"test":{"const":"has_trade_supply"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"test":{"const":"hourly_clock_time"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"test":{"const":"in_block"}}},"then":{"$ref":"#/definitions/DB"}},{"if":{"properties":{"test":{"const":"in_caravan"}}},"then":{"$ref":"#/definitions/DC"}},{"if":{"properties":{"test":{"const":"in_clouds"}}},"then":{"$ref":"#/definitions/DD"}},{"if":{"properties":{"test":{"const":"in_contact_with_water"}}},"then":{"$ref":"#/definitions/DE"}},{"if":{"properties":{"test":{"const":"in_lava"}}},"then":{"$ref":"#/definitions/DF"}},{"if":{"properties":{"test":{"const":"in_nether"}}},"then":{"$ref":"#/definitions/DG"}},{"if":{"properties":{"test":{"const":"in_water_or_rain"}}},"then":{"$ref":"#/definitions/DH"}},{"if":{"properties":{"test":{"const":"in_water"}}},"then":{"$ref":"#/definitions/DI"}},{"if":{"properties":{"test":{"const":"inactivity_timer"}}},"then":{"$ref":"#/definitions/DJ"}},{"if":{"properties":{"test":{"const":"is_altitude"}}},"then":{"$ref":"#/definitions/EA"}},{"if":{"properties":{"test":{"const":"is_avoiding_mobs"}}},"then":{"$ref":"#/definitions/EB"}},{"if":{"properties":{"test":{"const":"is_biome"}}},"then":{"$ref":"#/definitions/EC"}},{"if":{"properties":{"test":{"const":"is_block"}}},"then":{"$ref":"#/definitions/ED"}},{"if":{"properties":{"test":{"const":"is_brightness"}}},"then":{"$ref":"#/definitions/EE"}},{"if":{"properties":{"test":{"const":"is_climbing"}}},"then":{"$ref":"#/definitions/EF"}},{"if":{"properties":{"test":{"const":"is_color"}}},"then":{"$ref":"#/definitions/EG"}},{"if":{"properties":{"test":{"const":"is_daytime"}}},"then":{"$ref":"#/definitions/EH"}},{"if":{"properties":{"test":{"const":"is_difficulty"}}},"then":{"$ref":"#/definitions/EI"}},{"if":{"properties":{"test":{"const":"is_family"}}},"then":{"$ref":"#/definitions/EJ"}},{"if":{"properties":{"test":{"const":"is_game_rule"}}},"then":{"$ref":"#/definitions/FA"}},{"if":{"properties":{"test":{"const":"is_humid"}}},"then":{"$ref":"#/definitions/FB"}},{"if":{"properties":{"test":{"const":"is_immobile"}}},"then":{"$ref":"#/definitions/FC"}},{"if":{"properties":{"test":{"const":"is_in_village"}}},"then":{"$ref":"#/definitions/FD"}},{"if":{"properties":{"test":{"const":"is_leashed_to"}}},"then":{"$ref":"#/definitions/FE"}},{"if":{"properties":{"test":{"const":"is_leashed"}}},"then":{"$ref":"#/definitions/FF"}},{"if":{"properties":{"test":{"const":"is_mark_variant"}}},"then":{"$ref":"#/definitions/FG"}},{"if":{"properties":{"test":{"const":"is_missing_health"}}},"then":{"$ref":"#/definitions/FH"}},{"if":{"properties":{"test":{"const":"is_moving"}}},"then":{"$ref":"#/definitions/FI"}},{"if":{"properties":{"test":{"const":"is_owner"}}},"then":{"$ref":"#/definitions/FJ"}},{"if":{"properties":{"test":{"const":"is_persistent"}}},"then":{"$ref":"#/definitions/GA"}},{"if":{"properties":{"test":{"const":"is_riding"}}},"then":{"$ref":"#/definitions/GB"}},{"if":{"properties":{"test":{"const":"is_skin_id"}}},"then":{"$ref":"#/definitions/GC"}},{"if":{"properties":{"test":{"const":"is_sleeping"}}},"then":{"$ref":"#/definitions/GD"}},{"if":{"properties":{"test":{"const":"is_sneaking"}}},"then":{"$ref":"#/definitions/GE"}},{"if":{"properties":{"test":{"const":"is_snow_covered"}}},"then":{"$ref":"#/definitions/GF"}},{"if":{"properties":{"test":{"const":"is_target"}}},"then":{"$ref":"#/definitions/GG"}},{"if":{"properties":{"test":{"const":"is_temperature_type"}}},"then":{"$ref":"#/definitions/GH"}},{"if":{"properties":{"test":{"const":"is_temperature_value"}}},"then":{"$ref":"#/definitions/GI"}},{"if":{"properties":{"test":{"const":"is_underground"}}},"then":{"$ref":"#/definitions/GJ"}},{"if":{"properties":{"test":{"const":"is_underwater"}}},"then":{"$ref":"#/definitions/HA"}},{"if":{"properties":{"test":{"const":"is_variant"}}},"then":{"$ref":"#/definitions/HB"}},{"if":{"properties":{"test":{"const":"is_visible"}}},"then":{"$ref":"#/definitions/HC"}},{"if":{"properties":{"test":{"const":"is_waterlogged"}}},"then":{"$ref":"#/definitions/HD"}},{"if":{"properties":{"test":{"const":"light_level"}}},"then":{"$ref":"#/definitions/HE"}},{"if":{"properties":{"test":{"const":"moon_intensity"}}},"then":{"$ref":"#/definitions/HF"}},{"if":{"properties":{"test":{"const":"moon_phase"}}},"then":{"$ref":"#/definitions/HG"}},{"if":{"properties":{"test":{"const":"on_ground"}}},"then":{"$ref":"#/definitions/HH"}},{"if":{"properties":{"test":{"const":"on_ladder"}}},"then":{"$ref":"#/definitions/HI"}},{"if":{"properties":{"test":{"const":"random_chance"}}},"then":{"$ref":"#/definitions/HJ"}},{"if":{"properties":{"test":{"const":"rider_count"}}},"then":{"$ref":"#/definitions/IA"}},{"if":{"properties":{"test":{"const":"surface_mob"}}},"then":{"$ref":"#/definitions/IB"}},{"if":{"properties":{"test":{"const":"trusts"}}},"then":{"$ref":"#/definitions/IC"}},{"if":{"properties":{"test":{"const":"weather_at_position"}}},"then":{"$ref":"#/definitions/ID"}},{"if":{"properties":{"test":{"const":"weather"}}},"then":{"$ref":"#/definitions/IE"}},{"not":{"properties":{"test":{"const":"is_weather"}},"$comment":"DEPRECATED"}}]}]},"BB_groups_spec":{"oneOf":[{"type":"array","items":{"$ref":"#/definitions/BB_groups_spec"}},{"type":"object","$ref":"#/definitions/BB_filters_spec"}]},"BD":{"title":"Operator","type":"string","description":"The comparison to apply with `value`.","default":"equals","enum":["!=","<","<=","<>","=","==",">",">=","equals","not"]},"BE":{"title":"Subject","type":"string","description":"The subject of this filter test.","default":"self","enum":["block","other","parent","player","self","target","damager"]},"BC":{"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/BD","description":"(Optional) The comparison to apply with `value`.","default":"equals","title":"Operator"},"subject":{"$ref":"#/definitions/BE","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]}}},"BF":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"number","description":"(Required) A floating point value.","title":"Value"}}},"BG":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"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"}]},"BH":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"(Required) The tag to look for.","type":"string","title":"Value"}},"examples":[{"test":"has_biome_tag","value":"monster"}]},"BI":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"string","description":"(Required) The component name to look for.","title":"Value"}},"examples":[{"test":"has_component","value":"minecraft:explode"}]},"BJ":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"(Optional) true or false.","title":"Value","type":"boolean","default":true}},"examples":[{"test":"has_container_open","value":true}]},"CB":{"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"]},"CA":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"string","description":"The Damage type to test.","$ref":"#/definitions/CB","title":"Value"}}},"CC":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"The item name to look for.","type":"string","$ref":"#/definitions/H","title":"Value"}},"examples":[{"test":"has_equipment","value":"example"}]},"CD":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"string","description":"The specified mob effect.","title":"Value"}},"examples":[{"test":"has_mob_effect","value":"bad_omen"}]},"CE":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"","type":"boolean","title":"Value"}},"examples":[{"test":"has_nametag","value":false},{"test":"has_nametag","value":true}]},"CF":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_ranged_weapon","value":true}]},"CG":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_silk_touch","subject":"other","value":true}]},"CH":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"string","description":"The tag as a string.","pattern":"[a-zA-Z0-9_]+","title":"Value"}},"examples":[{"test":"has_tag","value":"example"}]},"CI":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_target","value":true}]},"CJ":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"has_trade_supply","value":true}]},"DA":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"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}]},"DB":{"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/BD","description":"(Optional) The comparison to apply with `value`.","default":"equals","title":"Operator"},"subject":{"$ref":"#/definitions/BE","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"}]},"DC":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_caravan","value":true}]},"DD":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_clouds","value":true}]},"DE":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"(Optional) true or false.","type":"boolean","default":true}},"examples":[{"test":"in_contact_with_water","value":true}]},"DF":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_lava","value":true}]},"DG":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"in_nether","value":true}]},"DH":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_water_or_rain","value":true}]},"DI":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_water","value":true}]},"DJ":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"The Family name to look for.","type":"integer","title":"Value"}},"examples":[{"test":"inactivity_timer","value":0}]},"EA":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"integer","description":"The altitude value to compare with.","minimum":0,"title":"Value"}},"examples":[{"test":"example","value":0}]},"EB":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"example","value":true}]},"EC":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"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"}]},"ED":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"The Family name to look for.","type":"string","title":"Value"}},"examples":[{"test":"is_block","subject":"block","value":"minecraft:sweet_berry_bush"}]},"EE":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"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}]},"EF":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_climbing","value":true}]},"EG":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"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"}]},"EH":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_daytime","value":true}]},"EI":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"The game's difficulty level to test.","type":"string","enum":["easy","hard","normal","peaceful"],"title":"Value"}},"examples":[{"test":"is_difficulty","value":"easy"}]},"EJ":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"The Family name to look for.","type":"string","title":"Value"}},"examples":[{"test":"is_family","value":"monster"}]},"FA":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"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}]},"FB":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_humid","value":true}]},"FC":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_immobile","value":true}]},"FD":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_in_village","value":true}]},"FE":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_leashed_to","value":true}]},"FF":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_leashed","value":true}]},"FG":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"integer","description":"The altitude value to compare with.","title":"Value"}},"examples":[{"test":"is_mark_variant","value":0}]},"FH":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_missing_health","value":true}]},"FI":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_moving","value":true}]},"FJ":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_owner","value":true}]},"GA":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_persistent","value":true}]},"GB":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_riding","value":true}]},"GC":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"integer","description":"The altitude value to compare with.","title":"Value"}},"examples":[{"test":"is_skin_id","value":0}]},"GD":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_sleeping","value":true}]},"GE":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_sneaking","value":true}]},"GF":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_snow_covered","value":true}]},"GG":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_target","value":true}]},"GH":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"The Biome temperature catagory to test.","type":"string","enum":["cold","mild","ocean","warm"],"title":"Value"}},"examples":[{"test":"is_temperature_type","value":"cold"}]},"GI":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"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}]},"GJ":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_underground","value":true}]},"HA":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_underwater","value":true}]},"HB":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"integer","description":"The altitude value to compare with.","title":"Value"}},"examples":[{"test":"is_variant","value":0}]},"HC":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_visible","value":true}]},"HD":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"true or false.","type":"boolean","title":"Value"}},"examples":[{"test":"light_level","value":0}]},"HE":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"An integer value.","type":"integer","title":"Value","minimum":0,"maximum":16}},"examples":[{"test":"light_level","value":0}]},"HF":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"A floating point value.","type":"number","minimum":0,"maximum":1,"title":"Value"}},"examples":[{"test":"moon_intensity","value":0.0}]},"HG":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"type":"integer","description":"An integer value.","minimum":0,"maximum":7,"title":"Value"}},"examples":[{"test":"moon_phase","value":0}]},"HH":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"on_ground","value":true}]},"HI":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"on_ladder","value":true}]},"HJ":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"An integer value.","type":"integer","title":"Value"}},"examples":[{"test":"random_chance","value":0}]},"IA":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"An integer value.","type":"integer","title":"Value"}},"examples":[{"test":"rider_count","value":0}]},"IB":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"surface_mob","value":true}]},"IC":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"trusts","value":true}]},"ID":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"The Family name to look for.","type":"string","title":"Value","examples":["thunderstorm"]}},"examples":[{"test":"weather_at_position","value":"thunderstorm"}]},"IE":{"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/BD"},"subject":{"$ref":"#/definitions/BE"},"value":{"description":"The Family name to look for.","type":"string","title":"Value","examples":["clear","thunderstorm"]}},"examples":[{"test":"weather","value":"clear"}]},"BB":{"title":"Filters","$ref":"#/definitions/BB_groups_spec","examples":[{"test":"is_family","subject":"other","value":"example"},{"test":"has_tag","value":"example"},[]]},"BA":{"type":"object","title":"Angry","description":"Allows this entity to track anger towards a set of nuisances.","additionalProperties":false,"required":[],"properties":{"anger_decrement_interval":{"title":"Anger Decrement Interval","type":"number","default":1.0,"description":"Anger level will decay over time. Defines how often anger towards all nuisances will be decreased by one"},"angry_boost":{"title":"Angry Boost","type":"integer","minimum":0,"default":20,"description":"Anger boost applied to angry threshold when mob gets angry."},"angry_threshold":{"title":"Angry Threshold","type":"integer","minimum":0,"default":80,"description":"Threshold that define when the mob is considered angry at a nuisance."},"default_annoyingness":{"title":"Default Annoyingness","type":"string","default":"0","description":"The default amount of annoyingness for any given nuisance. Specifies how much to raise anger level on each provocation"},"max_anger":{"title":"Maximum Anger","type":"integer","default":100,"minimum":0,"description":"The maximum anger level that can be reached. Applies to any nuisance"},"nuisance_filter":{"title":"Nuisance Filter","$ref":"#/definitions/BB","description":"Filter that is applied to determine if a mob can be a nuisance."},"on_increase_sounds":{"title":"On Increase Sounds","$ref":"#/definitions/BB"},"remove_targets_below_angry_threshold":{"title":"Remove Targets Below Angry Threshold","type":"boolean","default":true,"description":"Defines if the mob should remove target if it falls below 'angry' threshold."}},"examples":[]},"IF":{"type":"object","title":"Angry","description":"Defines the entity's 'angry' state using a timer.","additionalProperties":false,"required":[],"properties":{"broadcast_anger":{"title":"Broadcast Anger","type":"boolean","default":false,"description":"If true, other entities of the same entity definition within the broadcastRange will also become angry."},"broadcast_filters":{"title":"Broadcast Filters","$ref":"#/definitions/BB","description":"Conditions that make this entry in the list valid."},"filters":{"$ref":"#/definitions/BB","description":"Filter out mob types that it should not attack while angry (other Piglins)."},"broadcast_range":{"title":"Broadcast Range","type":"integer","default":20,"description":"Distance in blocks within which other entities of the same entity definition will become angry."},"broadcast_targets":{"title":"Broadcast Targets","type":"array","description":"A list of entity families to broadcast anger to.","items":{"type":"string","description":"An entity family.","pattern":"^.+$","title":"Broadcast Targets"}},"calm_event":{"title":"Calm Event","$ref":"#/definitions/I","description":"Event to run after the number of seconds specified in duration expires (when the entity stops being \"angry\")"},"angry_sound":{"title":"Angry Sound","type":"string","default":"","description":"The sound event to play when the mob is angry."},"broadcast_anger_on_attack":{"title":"Broadcast Anger On Attack","type":"boolean","default":false,"description":"If true, other entities of the same entity definition within the broadcastRange will also become angry whenever this mob attacks."},"broadcast_anger_on_being_attacked":{"type":"boolean","default":false,"description":"If true, other entities of the same entity definition within the broadcastRange will also become angry whenever this mob is attacked.","title":"Broadcast Anger On Being Attacked"},"duration":{"title":"Duration","type":"integer","default":25,"description":"The amount of time in seconds that the entity will be angry."},"duration_delta":{"title":"Duration Delta","type":"integer","default":0,"description":"Variance in seconds added to the duration [-delta, delta]."},"sound_interval":{"description":"The range of time in seconds to randomly wait before playing the sound again.","title":"Sound Interval","oneOf":[{"type":"array","default":[0,0],"items":[{"type":"integer","minimum":0,"description":"The minimum interval.","$comment":"UNDOCUMENTED","title":"Minimum"},{"type":"integer","minimum":0,"description":"The maximum interval.","$comment":"UNDOCUMENTED","title":"Maximum"}]},{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number","description":"The minimum interval.","$comment":"UNDOCUMENTED","title":"Range Minimum"},"range_max":{"type":"number","description":"The maximum interval.","$comment":"UNDOCUMENTED","title":"Range Maximum"}}}]}},"examples":[{"broadcast_anger":false,"broadcast_range":20,"broadcast_targets":[],"angry_sound":"","broadcast_anger_on_attack":false,"broadcast_anger_on_being_attacked":false,"duration":25,"duration_delta":0}]},"IG":{"additionalProperties":false,"description":"Allows the actor to break doors assuming that that flags set up for the component to use in navigation.","type":"object","title":"Annotation.break Door","required":[],"$comment":"Caution No longe rin use","properties":{"break_time":{"type":"number","default":12,"description":"The time in seconds required to break through doors.","title":"Break Time"},"min_difficulty":{"type":"string","default":"hard","description":"The minimum difficulty that the world must be on for this entity to break doors.","title":"Minimum Difficulty"}},"examples":[{"break_time":12,"min_difficulty":"hard"}]},"IH":{"additionalProperties":false,"description":"Allows the actor to open doors assuming that that flags set up for the component to use in navigation.","type":"object","title":"Annotation.open Door","required":[],"properties":{}},"II":{"type":"object","title":"Area Attack","description":"A component that does damage to entities that get within range.","additionalProperties":false,"properties":{"damage_per_tick":{"type":"integer","default":2,"description":"How much damage per tick is applied to entities that enter the damage range.","title":"Damage Per Tick"},"damage_range":{"type":"number","default":0.2,"description":"How close a hostile entity must be to have the damage applied.","title":"Damage Range"},"entity_filter":{"$ref":"#/definitions/BB","description":"Filter to see which entities can be affected by the attack.","title":"Entity Filter"},"cause":{"type":"string","description":"what causes the attack to occur.","title":"Cause","$ref":"#/definitions/CB"}},"examples":[{"damage_per_tick":2,"damage_range":0.2,"cause":"example"}]},"JA":{"title":"Trigger","description":"Trigger to fire.","examples":["event:example",{"filters":[],"target":"self","event":"to:foo"}],"defaultSnippets":[{"label":"New Trigger","body":"^\"$1\""},{"label":"New Trigger - Filtered","body":{"event":"$1","target":"self","filters":[{"test":"$2","value":"$3"}]}}],"oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"properties":{"event":{"type":"string","description":"The event to run when the conditions for this trigger are met.","title":"Event"},"filters":{"$ref":"#/definitions/BB","description":"The list of conditions for this trigger to execute."},"target":{"$ref":"#/definitions/BE","description":"The target of the event.","title":"Target"}}}]},"IJ":{"type":"object","title":"Attack Cooldown","description":"Adds a cooldown to a mob. The intention of this cooldown is to be used to prevent the mob from attempting to aquire new attack targets.","additionalProperties":false,"properties":{"attack_cooldown_complete_event":{"$ref":"#/definitions/JA","description":"Event to be runned when the cooldown is complete.","title":"Attack Cooldown Complete Event"},"attack_cooldown_time":{"default":[0.0,1.0],"description":"Amount of time in seconds for the cooldown. Can be specified as a number or a pair of numbers (Minimum and max).","title":"Attack Cooldown Time","oneOf":[{"type":"array","items":[{"type":"number","title":"Maximum"},{"type":"number","title":"Maximum"}]},{"type":"number"}]}}},"JB":{"type":"object","title":"Attack Damage","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"number","description":"UNDOCUMENTED: value.","title":"Value"}},"description":"UNDOCUMENTED.","examples":[{"value":0.0}]},"JD":{"title":"Range [A, B]","description":"A described range.","examples":[[0.0,1.0]],"oneOf":[{"type":"number"},{"type":"array","items":[{"type":"number","title":"A","description":"The first value of the range."},{"type":"number","title":"B","description":"The second value of the range."}]},{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number","title":"Range Min","description":"The minimum value of the range."},"range_max":{"type":"number","title":"Range Max","description":"The maximum value of the range."}}}]},"JC":{"type":"object","additionalProperties":false,"title":"Attack","description":"Defines an entity's melee attack and any additional effects on it.","required":["damage"],"properties":{"damage":{"title":"Damage","$ref":"#/definitions/JD","description":"Range of the random amount of damage the melee attack deals. A negative value can heal the entity instead of hurting it."},"effect_name":{"type":"string","description":"Identifier of the status ailment to apply to an entity attacked by this entity's melee attack.","examples":["wither","hunger"],"title":"Effect Name"},"effect_duration":{"type":"number","default":1,"description":"Duration in seconds of the status ailment applied to the damaged entity.","title":"Effect Duration"}},"examples":[{"damage":1},{"damage":1,"effect_name":"example","effect_duration":1}]},"JE":{"additionalProperties":false,"type":"object","title":"Balloonable","required":[],"properties":{"mass":{"type":"number","description":"UNDOCUMENTED: mass.","title":"Mass"}},"description":"UNDOCUMENTED.","examples":[{"mass":0.0}]},"JF":{"type":"object","title":"Barter","description":"Enables the component to drop an item as a barter exchange.","additionalProperties":false,"properties":{"barter_table":{"type":"string","description":"Loot table that's used to drop a random item.","title":"Barter Table"},"cooldown_after_being_attacked":{"type":"integer","default":0,"description":"Duration, in seconds, for which mob won't barter items if it was hurt.","title":"Cooldown After Being Attacked"}},"examples":[{"barter_table":"example","cooldown_after_being_attacked":0}]},"JG":{"title":"Block Climber","type":"object","additionalProperties":false,"description":"Allows the player to detect and manuever on the scaffolding block.","properties":{}},"JI":{"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"}]},"JH":{"type":"object","title":"Block Sensor","description":"Fires off a specified event when a block in the block list is broken within the sensor range.","additionalProperties":false,"properties":{"sensor_radius":{"title":"Sensor Radius","type":"integer","description":"The maximum radial distance in which a specified block can be detected. The biggest radius is 32.0.","minimum":0,"maximum":32},"on_break":{"title":"On Break","type":"array","description":"Blocks that will trigger the component when broken and what event will trigger.","items":{"title":"On Block Broken","type":"object","description":"Event to run when a block breaks.","additionalProperties":false,"properties":{"block_list":{"title":"Block List","type":"array","description":"List of blocks that will trigger the sensor.","items":{"$ref":"#/definitions/JI","title":"Block ID"}},"on_block_broken":{"title":"On Block Broken","type":"string","description":"Event to run when a block breaks."}}}},"sources":{"title":"Sources","description":"List of sources that break the block to listen for. If none are specified, all block breaks will be detected.","type":"array","items":{"$ref":"#/definitions/BB"},"examples":[{"test":"has_silk_touch","subject":"other","value":false}]}},"examples":[{"sensor_radius":0,"on_break":[]}]},"JJ":{"type":"object","title":"Boostable","additionalProperties":false,"description":"Defines the conditions and behavior of a rideable entity's boost.","properties":{"duration":{"type":"number","default":3,"description":"Time in seconds for the boost.","title":"Duration"},"speed_multiplier":{"type":"number","default":1,"description":"Factor by which the entity's normal speed increases. E.g. 2.0 means go twice as fast.","title":"Speed Multiplier"},"boost_items":{"type":"array","description":"List of items that can be used to boost while riding this entity.","title":"Boost Items","items":{"type":"object","additionalProperties":false,"description":"List of items that can be used to boost while riding this entity.","properties":{"damage":{"type":"integer","default":1,"description":"This is the damage that the item will take each time it is used.","title":"Damage"},"item":{"type":"string","default":"","description":"Name of the item that can be used to boost.","title":"Item"},"replace_item":{"type":"string","default":"","description":"The item used to boost will become this item once it is used up.","title":"Replace Item"}}}}},"examples":[{"duration":3,"speed_multiplier":1,"boost_items":[]}]},"BAA":{"type":"object","title":"Boss","additionalProperties":false,"description":"The current state of the boss for updating the boss HUD.","required":[],"properties":{"hud_range":{"type":"integer","default":55,"description":"The Maximum distance from the boss at which the boss's health bar is present on the players screen.","title":"Hud Range"},"name":{"type":"string","default":"","description":"The name that will be displayed above the boss's health bar.","title":"Name"},"should_darken_sky":{"type":"boolean","default":false,"description":"Whether the sky should darken in the presence of the boss.","title":"Should Darken Sky"}},"examples":[{"hud_range":55,"name":"","should_darken_sky":false}]},"BAC":{"type":"string","title":"Block Name","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"BAB":{"type":"object","title":"Break Blocks","additionalProperties":false,"description":"Specifies the blocks that this entity can break as it moves around.","required":[],"properties":{"breakable_blocks":{"type":"array","title":"Breakable Blocks","description":"A list of the blocks that can be broken as this entity moves around.","items":{"$ref":"#/definitions/BAC"}}},"examples":[{"breakable_blocks":[]}]},"BAD":{"type":"object","title":"Breathable","additionalProperties":false,"description":"Defines what blocks this entity can breathe in and gives them the ability to suffocate.","required":[],"properties":{"total_supply":{"type":"integer","default":15,"description":"Time in seconds the entity can hold its breath.","title":"Total Supply"},"suffocate_time":{"type":"integer","default":-20,"description":"Time in seconds between suffocation damage.","title":"Suffocate Time"},"inhale_time":{"type":"number","default":0,"description":"Time in seconds to recover breath to maximum.","title":"Inhale Time"},"breathes_air":{"type":"boolean","default":true,"description":"If true, this entity can breathe in air.","title":"Breathes Air"},"breathes_water":{"type":"boolean","default":false,"description":"If true, this entity can breathe in water.","title":"Breathes Water"},"breathes_lava":{"type":"boolean","default":false,"description":"If true, this entity can breathe in lava.","title":"Breathes Lava"},"breathes_solids":{"type":"boolean","default":false,"description":"If true, this entity can breathe in solid blocks.","title":"Breathes Solids"},"generates_bubbles":{"type":"boolean","default":true,"description":"If true, this entity will have visible bubbles while in water.","title":"Generates Bubbles"},"breathe_blocks":{"type":"array","description":"List of blocks this entity can breathe in, in addition to the above.","items":{"$ref":"#/definitions/JI"},"title":"Breathe Blocks"},"non_breathe_blocks":{"type":"array","description":"List of blocks this entity can't breathe in, in addition to the above.","items":{"$ref":"#/definitions/JI"},"title":"Non Breathes Blocks"}},"examples":[{"total_supply":15,"suffocate_time":-20,"inhale_time":0,"breathes_air":true,"breathes_water":false,"breathes_lava":false,"breathes_solids":false,"generates_bubbles":true,"breathe_blocks":[],"non_breathe_blocks":[]}]},"BAE_breeds_with_spec":{"type":"object","description":"An entity definitions that this entity can breed with.","additionalItems":false,"properties":{"baby_type":{"type":"string","description":"The entity definition of this entity's babies.","title":"Baby Type"},"breed_event":{"$ref":"#/definitions/I","description":"Event to run when this entity breeds.","title":"Breed Event"},"mate_type":{"type":"string","description":"The entity definition of this entity's mate.","title":"Mate Type"}}},"BAE_enviroment_requirements":{"type":"object","description":"A nearby block requirements to get the entity into the `love` state.","properties":{"blocks":{"description":"The block types required nearby for the entity to breed.","title":"Blocks","oneOf":[{"type":"array","items":{"description":"A block type required nearby for the entity to breed.","type":"string","$ref":"#/definitions/BAC","title":"Blocks"}},{"description":"A block type required nearby for the entity to breed.","type":"string","$ref":"#/definitions/BAC","title":"Blocks"}]},"count":{"type":"number","description":"The number of the required block types nearby for the entity to breed.","title":"Count"},"radius":{"type":"number","description":"How many blocks radius from the mob's center to search in for the required blocks. Bounded between 0 and 16.","minimum":0,"title":"Radius"}},"title":"Environment Requirements"},"BAE":{"type":"object","title":"Breedable","additionalProperties":false,"description":"Defines the way an entity can get into the `love` state.","properties":{"allow_sitting":{"description":"If true, entities can breed while sitting.","type":"boolean","default":false,"title":"Allow Sitting"},"blend_attributes":{"description":"If true, the entities will blend their attributes in the offspring after they breed. For example, horses blend their health, movement, and jump_strength in their offspring.","type":"boolean","default":true,"title":"Blend Attributes"},"breed_cooldown":{"description":"Time in seconds before the Entity can breed again.","type":"number","default":60.0,"title":"Breed Cooldown"},"breed_items":{"description":"The list of items that can be used to get the entity into the `love` state.","title":"Breed Items","oneOf":[{"type":"array","items":{"type":"string","description":"An item that can be used to get the entity into the `love` state.","$ref":"#/definitions/H","title":"Breed Item"}},{"type":"string","$ref":"#/definitions/H"}]},"breeds_with":{"description":"The list of entity definitions that this entity can breed with.","title":"Breeds With","oneOf":[{"type":"object","$ref":"#/definitions/BAE_breeds_with_spec"},{"uniqueItems":true,"type":"array","items":{"type":"object","$ref":"#/definitions/BAE_breeds_with_spec"}}]},"deny_parents_variant":{"type":"object","description":"Determines how likely the baby of parents with the same variant will deny that variant and take a random variant within the given range instead.","additionalProperties":false,"properties":{"chance":{"type":"number","default":0,"description":"The percentage chance of denying the parents` variant.","title":"Chance"},"max_variant":{"type":"integer","default":0,"description":"The inclusive maximum of the variant range.","title":"Maximum Variant"},"min_variant":{"type":"integer","default":0,"description":"The inclusive minimum of the variant range.","title":"Minimum Variant"}},"title":"Deny Parents Variant"},"environment_requirements":{"description":"The list of nearby block requirements to get the entity into the `love` state.","oneOf":[{"type":"object","$ref":"#/definitions/BAE_enviroment_requirements"},{"type":"array","items":{"$ref":"#/definitions/BAE_enviroment_requirements"}}],"title":"Environment Requirements"},"extra_baby_chance":{"type":"number","default":0.0,"description":"Chance that up to 16 babies will spawn between 0.0 and 1.0, where 1.0 is 100%.","minimum":0.0,"maximum":1.0,"title":"Extra Baby Chance"},"love_filters":{"$ref":"#/definitions/BB","description":"The filters to run when attempting to fall in love.","title":"Love Filters"},"mutation_factor":{"type":"object","description":"Determines how likely the babies are to NOT inherit one of their parent's variances. Values are between 0.0 and 1.0, with a higher number meaning more likely to mutate.","additionalProperties":false,"properties":{"color":{"type":"number","default":0,"minimum":0.0,"maximum":1.0,"description":"The percentage chance of a mutation on the entity's color.","title":"Color"},"extra_variant":{"type":"number","default":0,"minimum":0.0,"maximum":1.0,"description":"The percentage chance of a mutation on the entity's extra variant type.","title":"Extra Variant"},"variant":{"type":"number","default":0,"minimum":0.0,"maximum":1.0,"description":"The percentage chance of a mutation on the entity's variant type.","title":"Variant"}},"title":"Mutation Factor"},"causes_pregnancy":{"type":"boolean","default":false,"description":"If true, the entity will become pregnant instead of spawning a baby.","title":"Causes Pregnancy"},"inherit_tamed":{"type":"boolean","default":true,"description":"If true, the babies will be automatically tamed if its parents are.","title":"Inherit Tamed"},"require_full_health":{"type":"boolean","default":false,"description":"If true, the entity needs to be at full health before it can breed.","title":"Require Full Health"},"require_tame":{"type":"boolean","default":true,"description":"If true, the entities need to be tamed first before they can breed.","title":"Require Tame"},"transform_to_item":{"type":"string","title":"Transform To Item","description":"The feed item used will transform to this item upon successful interaction. Format: itemName:auxValue"}},"examples":[{"allow_sitting":false,"blend_attributes":true,"breed_cooldown":60.0,"deny_parents_variant":{},"extra_baby_chance":0.0,"mutation_factor":{},"causes_pregnancy":false,"inherit_tamed":true,"require_full_health":false,"require_tame":true,"transform_to_item":"example"}]},"BAF":{"type":"object","title":"Bribeable","additionalProperties":false,"description":"Specifies if/how a mob burns in daylight.","required":[],"properties":{"bribe_cooldown":{"type":"number","default":2,"description":"Time in seconds before the Entity can be bribed again.","title":"Bribe Cooldown"},"bribe_items":{"type":"array","description":"The list of items that can be used to bribe the entity.","items":{"description":"An item that can be used to bribe the entity.","$ref":"#/definitions/H","title":"Bribe Items"},"title":"Bribe Items"}},"examples":[{"bribe_cooldown":2,"bribe_items":[]}]},"BAG":{"type":"object","title":"Buoyant","description":"Enables an entity to float on the specified liquid blocks.","additionalProperties":false,"properties":{"base_buoyancy":{"type":"number","default":0,"description":"Base buoyancy used to calculate how much will a mob float.","title":"Base Buoyancy"},"apply_gravity":{"type":"boolean","default":true,"description":"Applies gravity each tick. Causes more of a wave simulation, but will cause more gravity to be applied outside liquids.","title":"Apply Gravity"},"buoyancy":{"type":"number","default":1,"description":"Base buoyancy used to calculate how much will a mob float.","title":"Base Buoyancy"},"big_wave_probability":{"type":"number","default":0.03,"description":"Probability for a big wave hitting the entity. Only used if `simulate_waves` is true.","title":"Big Wave Probability"},"big_wave_speed":{"type":"number","default":10,"description":"Multiplier for the speed to make a big wave. Triggered depending on `big_wave_probability`.","title":"Big Wave Speed"},"drag_down_on_buoyancy_removed":{"type":"number","default":0,"description":"How much an actor will be dragged down when the Buoyancy Component is removed.","title":"Drag Down On Buoyancy Removed"},"liquid_blocks":{"type":"array","description":"List of blocks this entity can float on. Must be a liquid block.","title":"Liquid Blocks","items":{"type":"string","title":"Block ID"}},"simulate_waves":{"type":"boolean","default":true,"description":"Should the movement simulate waves going through.","title":"Simulate Waves"}},"examples":[{"base_buoyancy":0,"apply_gravity":true,"buoyancy":1,"big_wave_probability":0.03,"big_wave_speed":10,"drag_down_on_buoyancy_removed":0,"liquid_blocks":[],"simulate_waves":true}]},"BAH":{"title":"Burns In Daylight","additionalProperties":false,"description":"Specifies if/how a mob burns in daylight.","required":[],"properties":{},"oneOf":[{"type":"boolean"},{"type":"object"}]},"BAI":{"type":"object","title":"Can Climb","additionalProperties":false,"description":"Allows this entity to climb up ladders.","required":[],"properties":{}},"BAJ":{"type":"object","title":"Can Fly","additionalProperties":false,"description":"Marks the entity as being able to fly, the pathfinder won't be restricted to paths where a solid block is required underneath it.","required":[],"properties":{"value":{"type":"boolean","default":true,"description":"Marks the entity as being able to fly, the pathfinder won't be restricted to paths where a solid block is required underneath it.","title":"Value"}},"examples":[{"value":true}]},"BBA":{"type":"object","title":"Can Power Jump","additionalProperties":false,"description":"Allows the entity to power jump like the horse does in vanilla.","required":[],"properties":{}},"BBB":{"type":"object","title":"Celebrate Hunt","description":"Specifies hunt celebration behavior.","additionalProperties":false,"properties":{"broadcast":{"type":"boolean","default":true,"description":"If true, celebration will be broadcasted to other entities in the radius.","title":"Broadcast"},"celebration_targets":{"$ref":"#/definitions/BB","description":"The list of conditions that target of hunt must satisfy to initiate celebration.","title":"Celeberation Targets"},"celebrate_sound":{"type":"string","default":"","description":"The sound event to play when the mob is celebrating.","title":"Celebrate Sound"},"duration":{"type":"integer","default":4,"description":"Duration, in seconds, of celebration.","title":"Duration"},"radius":{"type":"number","default":16,"description":"If broadcast is enabled, specifies the radius in which it will notify other entities for celebration.","title":"Radius"},"sound_interval":{"default":0,"description":"The range of time in seconds to randomly wait before playing the sound again.","title":"Sound Interval","oneOf":[{"type":"array","items":[{"type":"number","title":"Maximum"},{"type":"number","title":"Maximum"}]},{"type":"number"},{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number","title":"Minimum","description":"Minimum."},"range_max":{"type":"number","title":"Maximum","description":"Maximum."}}}]}},"examples":[{"broadcast":true,"celebrate_sound":"","duration":4,"radius":16}]},"BBC":{"type":"object","title":"Collision Box","additionalProperties":false,"description":"Sets the width and height of the Entity's collision box.","required":[],"properties":{"height":{"type":"number","default":1,"description":"Height of the collision box in blocks. A negative value will be assumed to be 0","title":"Height"},"width":{"type":"number","default":1,"description":"Width and Depth of the collision box in blocks. A negative value will be assumed to be 0","title":"Width"}},"examples":[{"height":1,"width":1}]},"BBD":{"type":"object","title":"Color","additionalProperties":false,"description":"Defines the entity's color. Only works on vanilla entities that have predefined color values (sheep, llama, shulker).","required":[],"properties":{"value":{"type":"integer","default":0,"description":"The Palette Color value of the entity.","title":"Value"}},"examples":[{"value":0}]},"BBE":{"type":"object","title":"Color.0","additionalProperties":false,"description":"Defines the entity's second texture color. Only works on vanilla entities that have a second predefined color values (tropical fish).","required":[],"properties":{"value":{"type":"integer","default":0,"description":"The second Palette Color value of the entity.","title":"Value"}},"examples":[{"value":0}]},"BBF":{"type":"object","title":"Combat Regeneration","description":"Gives Regeneration I and removes Mining Fatigue from the mob that kills the Actor`s attack target.","additionalProperties":false,"properties":{"apply_to_family":{"type":"boolean","default":false,"description":"Determines if the mob will grant mobs of the same type combat buffs if they kill the target.","title":"Apply To Family"},"apply_to_self":{"type":"boolean","default":false,"description":"Determines if the mob will grant itself the combat buffs if it kills the target.","title":"Apply To Self"},"regeneration_duration":{"type":"integer","default":5,"description":"The duration in seconds of Regeneration I added to the mob.","title":"Regeneration Duration"}},"examples":[{"apply_to_family":false,"apply_to_self":false,"regeneration_duration":5}]},"BBG":{"additionalProperties":false,"type":"object","title":"Conditional Bandwidth Optimization","description":"Defines the Conditional Spatial Update Bandwidth Optimizations of this entity.","properties":{"conditional_values":{"title":"Conditional Values","description":"The object containing the conditional bandwidth optimization values.","type":"array","items":{"title":"Conditional Value","description":"The object containing the conditional bandwidth optimization values.","additionalProperties":false,"type":"object","properties":{"max_dropped_ticks":{"title":"Maximum Dropped Ticks","description":"In relation to the optimization value, determines the maximum ticks spatial update packets can be not sent.","type":"integer"},"max_optimized_distance":{"title":"Maximum Optimized Distance","description":"The maximum distance considered during bandwidth optimizations. Any value below the Maximum is interpolated to find optimization, and any value greater than or equal to this Maximum results in Maximum optimization.","type":"number"},"use_motion_prediction_hints":{"title":"Use Motion Prediction Hints","description":"When set to true, smaller motion packets will be sent during drop packet intervals, resulting in the same amount of packets being sent as without optimizations but with much less data being sent. This should be used when actors are travelling very quickly or teleporting to prevent visual oddities.","type":"boolean"},"conditional_values":{"title":"Conditional Values","description":"Conditions that must be met for these optimization values to be used.","type":"array","items":{"$ref":"#/definitions/BB"}}}}},"default_values":{"title":"Default Values","description":"The object containing the default bandwidth optimization values.","type":"object","additionalProperties":false,"properties":{"max_dropped_ticks":{"title":"Maximum Dropped Ticks","description":"In relation to the optimization value, determines the maximum ticks spatial update packets can be not sent.","type":"integer"},"max_optimized_distance":{"title":"Maximum Optimized Distance","description":"The maximum distance considered during bandwidth optimizations. Any value below the Maximum is interpolated to find optimization, and any value greater than or equal to this Maximum results in Maximum optimization.","type":"number"},"use_motion_prediction_hints":{"title":"Use Motion Prediction Hints","description":"When set to true, smaller motion packets will be sent during drop packet intervals, resulting in the same amount of packets being sent as without optimizations but with much less data being sent. This should be used when actors are travelling very quickly or teleporting to prevent visual oddities.","type":"boolean"}}}},"examples":[{"conditional_values":[],"default_values":{}}]},"BBH":{"type":"object","title":"Custom Hit Test","description":"List of hitboxes for melee and ranged hits against the entity.","additionalProperties":false,"properties":{"hitboxes":{"type":"array","title":"Hitboxes","description":"Defines a hitbox size and pivot to test against.","items":{"type":"object","title":"Hitbox","description":"Defines a hitbox size and pivot to test against.","additionalProperties":false,"properties":{"width":{"type":"number","title":"Width","description":"Height of the hitbox in blocks. A negative value will be assumed to be 0."},"height":{"type":"number","title":"Height","description":"Width and Depth of the hitbox in blocks. A negative value will be assumed to be 0."},"pivot":{"type":"array","title":"Pivot","description":"The offset from the entity's anchor where the hitbox will spawn.","items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]}}}}},"examples":[{"hitboxes":[{"width":1,"height":1,"pivot":[0,1,0]}]}]},"BBI":{"type":"object","title":"Damage Over Time","additionalProperties":false,"description":"Applies defined amount of damage to the entity at specified intervals.","required":[],"properties":{"damage_per_hurt":{"type":"integer","default":1,"description":"Amount of damage caused each hurt.","title":"Damage Per Hurt"},"time_between_hurt":{"type":"number","default":0,"description":"Time in seconds between damage.","title":"Time Between Hurt"}},"examples":[{"damage_per_hurt":1,"time_between_hurt":0}]},"BBJ_triggers":{"title":"Triggers","description":"List of triggers with the events to call when taking specific kinds of damage.","type":"object","additionalProperties":false,"properties":{"cause":{"type":"string","default":"none","description":"Type of damage that triggers the events.","title":"Cause","$ref":"#/definitions/CB"},"damage_modifier":{"title":"Damage Modifier","type":"number","default":0.0,"description":"A modifier that adds to/removes from the base damage from the damage cause. It does not reduce damage to less than 0."},"damage_multiplier":{"type":"number","default":1,"description":"A multiplier that modifies the base damage from the damage cause. If deals_damage is true the multiplier can only reduce the damage the entity will take to a minimum of 1.","title":"Damage Multiplier"},"deals_damage":{"type":"boolean","default":true,"description":"If true, the damage dealt to the entity will take away health from it, set to false to make the entity ignore that damage.","title":"Deals Damage"},"on_damage":{"type":"object","description":"Specifies filters for entity definitions and events.","title":"On Damage","$ref":"#/definitions/JA"},"on_damage_sound_event":{"type":"string","description":"Defines what sound to play, if any, when the on_damage filters are met.","title":"On Damage Sound Event"}}},"BBJ":{"title":"Damage Sensor","description":"Defines what events to call when this entity is damaged by specific entities or items.","type":"object","additionalProperties":false,"examples":[{"triggers":[{"cause":"all","deals_damage":false}]},{"triggers":[{"on_damage":{"filters":{"test":"has_damage","subject":"self","value":"fatal"}},"deals_damage":false}]}],"properties":{"triggers":{"title":"Triggers","description":"The list of triggers that fire when the environment conditions match the given filter criteria.","examples":[[{"cause":"all","deals_damage":false}]],"oneOf":[{"type":"array","items":{"$ref":"#/definitions/BBJ_triggers"}},{"type":"object","$ref":"#/definitions/BBJ_triggers"}]}}},"BCA":{"type":"object","title":"Default Look Angle","additionalProperties":false,"description":"Sets this entity's default head rotation angle.","required":[],"properties":{"value":{"type":"number","default":0.0,"description":"Angle in degrees.","title":"Value"}},"examples":[{"value":0.0}]},"BCB":{"type":"object","title":"Despawn","description":"Despawns the Actor when the despawn rules or optional filters evaluate to true.","additionalProperties":false,"properties":{"despawn_from_chance":{"type":"boolean","default":true,"description":"Determines if `min_range_random_chance` is used in the standard despawn rules.","title":"Despawn From Chance"},"despawn_from_distance":{"type":"object","additionalProperties":false,"description":"Defines the minimum and maximum distance for despawn to occur.","title":"Despawn From Distance","properties":{"max_distance":{"type":"integer","default":128,"description":"Maximum distance for standard despawn rules to instantly despawn the mob.","title":"Maximum Distance"},"min_distance":{"type":"integer","default":32,"description":"Minimum distance for standard despawn rules to try to despawn the mob.","title":"Minimum Distance"}}},"despawn_from_inactivity":{"type":"boolean","default":true,"description":"Determines if the `min_range_inactivity_timer` is used in the standard despawn rules.","title":"Despawn From Inactivity"},"despawn_from_simulation_edge":{"type":"boolean","default":true,"description":"Determines if the mob is instantly despawned at the edge of simulation distance in the standard despawn rules.","title":"Despawn From Simulation Edge"},"filters":{"$ref":"#/definitions/BB","description":"The list of conditions that must be satisfied before the Actor is despawned. If a filter is defined then standard despawn rules are ignored."},"min_range_inactivity_timer":{"type":"integer","default":30,"description":"The amount of time in seconds that the mob must be inactive.","title":"Minimum Range Inactivity Timer"},"min_range_random_chance":{"type":"integer","default":800,"description":"A random chance between 1 and the given value.","title":"Minimum Range Random Chance"},"remove_child_entities":{"type":"boolean","default":false,"description":"If true, all entities linked to this entity in a child relationship (eg. leashed) will also be despawned.","title":"Remove Child Entities"}},"examples":[{"despawn_from_chance":true,"despawn_from_distance":{},"despawn_from_inactivity":true,"despawn_from_simulation_edge":true,"min_range_inactivity_timer":30,"min_range_random_chance":800,"remove_child_entities":false}]},"BCC":{"type":"object","title":"Drying Out Timer","description":"Adds a timer for drying out that will count down and fire `dried_out_event` or will stop as soon as the entity will get under rain or water and fire `stopped_drying_out_event`.","additionalProperties":false,"properties":{"dried_out_event":{"$ref":"#/definitions/I","description":"Event to fire when the drying out time runs out.","title":"Dried Out Event"},"recover_after_dried_out_event":{"$ref":"#/definitions/I","description":"Event to fire when entity was already dried out but received increase in water supply.","title":"Recover After Dried Out Event"},"stopped_drying_out_event":{"$ref":"#/definitions/I","description":"Event to fire when entity stopped drying out, for example got into water or under rain.","title":"Stopped Drying Out Event"},"total_time":{"type":"number","default":0,"description":"Amount of time in seconds to dry out fully.","title":"Total Time"},"water_bottle_refill_time":{"type":"number","default":0,"description":"Optional amount of additional time in seconds given by using splash water bottle on entity.","title":"Water Bottle Refill Time"}},"examples":[{"total_time":0,"water_bottle_refill_time":0}]},"BCD":{"type":"object","title":"Dweller","description":"Allows a mob to join and migrate between villages and other dwellings.","additionalProperties":false,"properties":{"dwelling_type":{"type":"string","title":"Dwelling Type","description":"The type of dwelling the mob wishes to join. Current Types: village","enum":["village"]},"dweller_role":{"type":"string","title":"Dwelling Role","description":"The role of which the mob plays in the dwelling. Current Roles: inhabitant, defender, hostile, passive.","enum":["inhabitant","defender","hostile","passive"]},"update_interval_base":{"type":"number","title":"Update Interval Base","description":"How often the mob checks on their dwelling status in ticks. Positive values only.","minimum":0},"update_interval_variant":{"type":"number","title":"Update Interval Variant","description":"The variant value in ticks that will be added to the update_interval_base."},"can_find_poi":{"type":"boolean","title":"Can Find Poi","description":"Whether or not the mob can find and add POI's to the dwelling."},"first_founding_reward":{"type":"integer","title":"First Founding Reward","description":"How much reputation should the players be rewarded on first founding?."},"can_migrate":{"type":"boolean","title":"Can Migrate","description":"Can this mob migrate between dwellings? Or does it only have its initial dwelling?."},"dwelling_bounds_tolerance":{"title":"Dwelling Bounds Tolerance","type":"number","description":"A padding distance for checking if the mob is within the dwelling."},"preferred_profession":{"type":"string","title":"Preferred Profession","description":"Allows the user to define a starting profession for this particular Dweller, instead of letting them choose organically. (They still need to gain experience from trading before this takes effect.)"}},"examples":[{"dwelling_type":"village","dweller_role":"inhabitant","update_interval_base":0,"update_interval_variant":0,"preferred_profession":"example","can_find_poi":true,"can_migrate":true,"first_founding_reward":0}]},"BCE":{"type":"object","title":"Economy Trade Table","additionalProperties":false,"description":"Defines this entity's ability to trade with players.","required":[],"properties":{"convert_trades_economy":{"type":"boolean","default":false,"description":"Determines when the mob transforms, if the trades should be converted when the new mob has a economy_trade_table. When the trades are converted, the mob will generate a new trade list with their new trade table, but then it will try to convert any of the same trades over to have the same enchantments and user data. For example, if the original has a Emerald to Enchanted Iron Sword (Sharpness 1), and the new trade also has an Emerald for Enchanted Iron Sword, then the enchantment will be Sharpness 1.","title":"Convert Trades Economy"},"cured_discount":{"type":"array","default":[-5,-20],"description":"How much should the discount be modified by when the player has cured the Zombie Villager. Can be specified as a pair of numbers (low-tier trade discount and high-tier trade discount)","title":"Cured Discount","items":[{"type":"integer","title":"A","description":"Minimum."},{"type":"integer","title":"B","description":"Maximum."}]},"display_name":{"type":"string","default":"","description":"Name to be displayed while trading with this entity.","title":"Display Name"},"hero_demand_discount":{"type":"integer","default":-4,"description":"Used in legacy prices to determine how much should Demand be modified by when the player has the Hero of the Village mob effect.","title":"Hero Demand Discount"},"max_cured_discount":{"type":"array","default":[-25,-63],"description":"The Maximum the discount can be modified by when the player has cured the Zombie Villager. Can be specified as a pair of numbers (low-tier trade discount and high-tier trade discount)","title":"Maximum Cured Discount","items":[{"type":"integer","title":"A","description":"Minimum."},{"type":"integer","title":"B","description":"Maximum."}]},"max_nearby_cured_discount":{"type":"integer","default":-200,"description":"The Maximum the discount can be modified by when the player has cured a nearby Zombie Villager.","title":"Maximum Nearby Cured Discount"},"nearby_cured_discount":{"type":"integer","default":-25,"description":"How much should the discount be modified by when the player has cured a nearby Zombie Villager.","title":"Nearby Cured Discount"},"new_screen":{"type":"boolean","default":false,"description":"Used to determine if trading with entity opens the new trade screen.","title":"New Screen"},"persist_trades":{"type":"boolean","default":false,"description":"Determines if the trades should persist when the mob transforms. This makes it so that the next time the mob is transformed to something with a trade_table or economy_trade_table, then it keeps their trades.","title":"Persist Trades"},"show_trade_screen":{"type":"boolean","default":true,"description":"Show an in game trade screen when interacting with the mob.","title":"Show Trade Screen"},"table":{"type":"string","default":"","description":"File path relative to the resource pack root for this entity's trades.","title":"Table"},"use_legacy_price_formula":{"type":"boolean","default":false,"description":"Determines whether the legacy formula is used to determines the trade prices.","title":"Use Legacy Price Formula"}},"examples":[{"convert_trades_economy":false,"cured_discount":[],"display_name":"","hero_demand_discount":-4,"max_cured_discount":[],"max_nearby_cured_discount":-200,"nearby_cured_discount":-25,"new_screen":false,"persist_trades":false,"show_trade_screen":true,"table":"","use_legacy_price_formula":false}]},"BCF":{"type":"object","title":"Entity Sensor","description":"A component that fires an event when a set of conditions are met by other entities within the defined range.","additionalProperties":false,"properties":{"maximum_count":{"type":"integer","default":-1,"description":"The maximum number of entities that must pass the filter conditions for the event to send.","title":"Maximum Count"},"minimum_count":{"type":"integer","default":1,"description":"The minimum number of entities that must pass the filter conditions for the event to send.","title":"Minimum Count"},"relative_range":{"type":"boolean","default":true,"description":"If true the sensor range is additive on top of the entity's size.","title":"Relative Range"},"require_all":{"type":"boolean","default":false,"description":"If true requires all nearby entities to pass the filter conditions for the event to send.","title":"Require All"},"sensor_range":{"type":"number","default":10,"description":"The maximum distance another entity can be from this and have the filters checked against it.","title":"Sensor Range"},"event_filters":{"$ref":"#/definitions/BB"},"event":{"title":"Event","description":"event.","type":"string"}},"examples":[{"maximum_count":-1,"minimum_count":1,"relative_range":true,"require_all":false,"sensor_range":10,"event":"example"}]},"BCG_trigger":{"$ref":"#/definitions/JA"},"BCG":{"title":"Environment Sensor","description":"Creates a trigger based on environment conditions.","type":"object","additionalProperties":false,"examples":[{"triggers":[{"event":"self:example","target":"self","filters":{"test":"has_tag","value":"example"}}]}],"properties":{"triggers":{"description":"The list of triggers that fire when the environment conditions match the given filter criteria.","title":"Triggers","oneOf":[{"type":"array","items":{"$ref":"#/definitions/BCG_trigger"}},{"type":"object","$ref":"#/definitions/BCG_trigger"}]}}},"BCH":{"type":"object","title":"Equip Item","description":"The entity puts on the desired equipment.","additionalProperties":false,"properties":{}},"BCJ":{"description":"A minecraft loot_table identifier.","examples":["loot_tables/"],"pattern":"^loot_tables/.*\\.json$","title":"Loot Table Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"loot_tables/$1.json"}]},"BCI":{"type":"object","title":"Equipment","description":"Sets the equipment table to use for the entity.","additionalProperties":false,"properties":{"slot_drop_chance":{"type":"array","description":"A list of slots with the chance to drop an equipped item from that slot.","title":"Slot Drop Chance","items":{"additionalProperties":false,"title":"Slot Drop Chance","description":"A slots with the chance to drop an equipped item from that slot.","type":"object","properties":{"drop_chance":{"type":"number","title":"Drop Chance","description":"The chance that the item in this slot will drop.","$comment":"UNDOCUMENTED"},"slot":{"type":"string","title":"Slot","description":"The slot in which the item will drop from.","$comment":"UNDOCUMENTED","examples":["slot.weapon.mainhand"]}}}},"table":{"title":"Table","description":"The file path to the equipment table, relative to the behavior pack's root.","$ref":"#/definitions/BCJ"}},"examples":[{"slot_drop_chance":[]}]},"BDA":{"type":"object","title":"Equippable","additionalProperties":false,"description":"Defines an entity's behavior for having items equipped to it.","properties":{"slots":{"description":"List of slots and the item that can be equipped.","type":"array","title":"Slots","items":{"description":"A slot and the item that can be equipped.","title":"Slots","type":"object","properties":{"slot":{"type":"integer","default":0,"description":"The slot number of this slot.","title":"Slot"},"accepted_items":{"type":"array","description":"The list of items that can go in this slot.","title":"Accepted Items","items":{"type":"string","description":"A item name.","$ref":"#/definitions/H","title":"Accepted Items"}},"item":{"$ref":"#/definitions/H","description":"Identifier of the item that can be equipped for this slot.","title":"Item"},"interact_text":{"type":"string","description":"Text to be displayed when the entity can be equipped with this item when playing with Touch-screen controls.","title":"Interact Text"},"on_equip":{"$ref":"#/definitions/I","description":"Event to trigger when this entity is equipped with this item.","title":"On Equip"},"on_unequip":{"$ref":"#/definitions/I","description":"Event to trigger when this item is removed from this entity.","title":"On Unequip"}}}}},"examples":[{"slots":[]}]},"BDB":{"type":"object","title":"Exhaustion Values","additionalProperties":false,"description":"Defines an entity's behavior for having items equipped to it.","properties":{"attack":{"title":"Attack","type":"number","default":0.1,"description":"Amount of exhaustion applied when attacking."},"damage":{"title":"Damage","type":"number","default":0.1,"description":"Amount of exhaustion applied when taking damage."},"heal":{"title":"Heal","type":"number","default":6,"description":"Amount of exhaustion applied when healed through food regeneration."},"jump":{"title":"Jump","type":"number","default":0.05,"description":"Amount of exhaustion applied when jumping."},"mine":{"title":"Mine","type":"number","default":0.005,"description":"Amount of exhaustion applied when mining."},"sprint":{"title":"Sprint","type":"number","default":0.01,"description":"Amount of exhaustion applied when sprinting."},"sprint_jump":{"title":"Sprint Jump","type":"number","default":0.2,"description":"Amount of exhaustion applied when sprint jumping."},"swim":{"title":"Swim","type":"number","default":0.01,"description":"Amount of exhaustion applied when swimming."},"walk":{"title":"Walk","type":"number","default":0,"description":"Amount of exhaustion applied when walking."}},"examples":[{"heal":6,"jump":0.05,"sprint_jump":0.2,"mine":0.005,"attack":0.1,"damage":0.1,"walk":0.0,"sprint":0.01,"swim":0.01}]},"BDC":{"type":"object","title":"Experience Reward","description":"Defines the amount of experience rewarded when the entity dies or is successfully bred.","additionalProperties":false,"properties":{"on_bred":{"type":["string","number"],"default":0,"description":"A molang expression defining the amount of experience rewarded when this entity is successfully bred. An array of expressions adds each expression's result together for a final total.","title":"On Bred"},"on_death":{"type":["string","number"],"default":0,"description":"A molang expression defining the amount of experience rewarded when this entity dies. An array of expressions adds each expression's result together for a final total.","title":"On Death"}},"examples":[{"on_bred":0,"on_death":0}]},"BDD":{"type":"object","title":"Explode","additionalProperties":false,"description":"Defines how the entity explodes.","properties":{"breaks_blocks":{"type":"boolean","default":true,"description":"If true, the explosion will destroy blocks in the explosion radius.","title":"Breaks Blocks"},"causes_fire":{"type":"boolean","default":false,"description":"If true, blocks in the explosion radius will be set on fire.","title":"Causes Fire"},"destroy_affected_by_griefing":{"type":"boolean","default":false,"description":"If true, whether the explosion breaks blocks is affected by the mob griefing game rule.","title":"Destroy Affected By Griefing"},"fire_affected_by_griefing":{"type":"boolean","default":false,"description":"If true, whether the explosion causes fire is affected by the mob griefing game rule.","title":"Fire Affected By Griefing"},"fuse_length":{"default":[0.0,0.0],"description":"The range for the random amount of time the fuse will be lit before exploding, a negative value means the explosion will be immediate.","title":"Fuse Length","oneOf":[{"type":"array","items":[{"type":"number"},{"type":"number"}]},{"type":"number"}]},"fuse_lit":{"type":"boolean","default":false,"description":"If true, the fuse is already lit when this component is added to the entity.","title":"Fuse Lit"},"max_resistance":{"type":"number","description":"A blocks explosion resistance will be capped at this value when an explosion occurs.","title":"Maximum Resistance"},"power":{"type":"number","default":3,"description":"The radius of the explosion in blocks and the amount of damage the explosion deals.","title":"Power"}},"examples":[{"breaks_blocks":true,"causes_fire":false,"destroy_affected_by_griefing":false,"fire_affected_by_griefing":false,"fuse_lit":false,"max_resistance":0.0,"power":3}]},"BDE":{"type":"object","title":"Fall Damage","additionalProperties":false,"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","required":[],"properties":{"value":{"type":"number","default":1,"description":"UNDOCUMENTED: value.","title":"Value"}},"examples":[{"value":1}]},"BDF":{"title":"Fire Immune","additionalProperties":false,"description":"Sets that this entity doesn't take damage from fire.","type":"object","required":[],"properties":{}},"BDG":{"description":"Sets that this entity can float in liquid blocks.","type":"object","title":"Floats In Liquid","additionalProperties":false,"required":[],"properties":{}},"BDH":{"type":"object","title":"Flocking","description":"Allows entities to flock in groups in water or not.","additionalProperties":false,"properties":{"block_distance":{"type":"number","default":0,"description":"The amount of blocks away the entity will look at to push away from.","title":"Block Distance"},"block_weight":{"type":"number","default":0,"description":"The weight of the push back away from blocks.","title":"Block Weight"},"breach_influence":{"type":"number","default":0,"description":"The amount of push back given to a flocker that breaches out of the water.","title":"Breach Influence"},"cohesion_threshold":{"type":"number","default":1,"description":"The threshold in which to start applying cohesion.","title":"Cohesion Threshold"},"cohesion_weight":{"type":"number","default":1,"description":"The weight applied for the cohesion steering of the flock.","title":"Cohesion Weight"},"goal_weight":{"type":"number","default":0,"description":"The weight on which to apply on the goal output.","title":"Goal Weight"},"high_flock_limit":{"type":"integer","default":0,"description":"Determines the high bound amount of entities that can be allowed in the flock.","title":"High Flock Limit"},"in_water":{"type":"boolean","default":false,"description":"Tells the Flocking Component if the entity exists in water.","title":"In Water"},"influence_radius":{"type":"number","default":0,"description":"The area around the entity that allows others to be added to the flock.","title":"Influence Radius"},"innner_cohesion_threshold":{"type":"number","default":0,"description":"The distance in which the flocker will stop applying cohesion.","title":"Innner Cohesion Threshold"},"loner_chance":{"type":"number","default":0,"description":"The percentage chance between 0-1 that a fish will spawn and not want to join flocks. Invalid values will be capped at the end points.","title":"Loner Chance"},"low_flock_limit":{"type":"integer","default":0,"description":"Determines the low bound amount of entities that can be allowed in the flock.","title":"Low Flock Limit"},"match_variants":{"type":"boolean","default":false,"description":"Tells the flockers that they can only match similar entities that also match the variant, mark variants, and color data of the other potential flockers.","title":"Match Variants"},"max_height":{"type":"number","default":0,"description":"The Maximum height allowable in the air or water.","title":"Maximum Height"},"min_height":{"type":"number","default":0,"description":"The Minimum height allowable in the air or water.","title":"Minimum Height"},"separation_threshold":{"type":"number","default":2,"description":"The distance that is determined to be to close to another flocking and to start applying separation.","title":"Separation Threshold"},"separation_weight":{"type":"number","default":1,"description":"The weight applied to the separation of the flock.","title":"Separation Weight"},"use_center_of_mass":{"type":"boolean","default":false,"description":"Tells the flockers that they will follow flocks based on the center of mass.","title":"Use Center Of Mass"}},"examples":[{"block_distance":0,"block_weight":0,"breach_influence":0,"cohesion_threshold":1,"cohesion_weight":1,"goal_weight":0,"high_flock_limit":0,"in_water":false,"influence_radius":0,"innner_cohesion_threshold":0,"loner_chance":0,"low_flock_limit":0,"match_variants":false,"max_height":0,"min_height":0,"separation_threshold":2,"separation_weight":1,"use_center_of_mass":false}]},"BDI":{"type":"object","title":"Flying Speed","additionalProperties":false,"description":"Speed in Blocks that this entity flies at.","required":[],"properties":{"value":{"type":"number","default":0.02,"description":"Flying speed in blocks per tick.","title":"Value"}},"examples":[{"value":0.02}]},"BDJ":{"type":"object","title":"Follow Range","additionalProperties":false,"required":[],"properties":{"value":{"type":"integer","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Value"},"max":{"type":"integer","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","title":"Max"}},"description":"UNDOCUMENTED.","examples":[{"value":0,"max":0}]},"BEA":{"type":"object","title":"Friction Modifier","additionalProperties":false,"description":"Defines how much does friction affect this entity.","required":[],"properties":{"value":{"type":"number","default":1.0,"description":"The higher the number, the more the friction affects this entity. A value of 1.0 means regular friction, while 2.0 means twice as much","title":"Value"}},"examples":[{"value":1.0}]},"BEB_integer_range":{"title":"Range","examples":[-1,{"range_min":4,"range_max":7}],"oneOf":[{"type":"integer"},{"type":"object","properties":{"range_min":{"type":"integer","default":0,"description":"Lower bound of the vaues.","title":"Range Minimum"},"range_max":{"type":"integer","default":0,"description":"Upper bound of the vaues.","title":"Range Maximum"}}}]},"BEB":{"type":"object","title":"Genetics","additionalProperties":false,"description":"Defines the way a mob's genes and alleles are passed on to it's offspring, and how those traits manifest in the child. Compatible parent genes are crossed together, the alleles are handed down from the parents to the child, and any matching genetic variants fire off JSON events to modify the child and express the traits.","required":[],"properties":{"mutation_rate":{"type":"number","description":"Chance that an allele will be replaced with a random one instead of the parent's allele during birth.","title":"Mutation Rate","default":0.03125},"genes":{"title":"Genes","type":"array","description":"The list of genes that this entity has and will cross with a partner during breeding.","items":{"type":"object","description":"The list of genes that this entity has and will cross with a partner during breeding.","title":"Gene","properties":{"allele_range":{"title":"Allele Range","description":"The range of positive integer allele values for this gene. Spawned mobs will have a random number in this range assigned to them.","$ref":"#/definitions/BEB_integer_range"},"genetic_variants":{"title":"Genetic Variants","type":"array","description":"The list of genetic variants for this gene. These check for particular allele combinations and fire events when all of them are satisfied.","items":{"title":"Genetic Variants","description":"The genetic variant for this gene. These check for particular allele combinations and fire events when all of them are satisfied.","type":"object","properties":{"birth_event":{"$ref":"#/definitions/I","description":"Event to run when this mob is created and matches the above allele conditions.","title":"Brith Event"},"both_allele":{"title":"Both Allele","default":-1,"description":"If this value is non-negative, compare both the mob's main and hidden alleles with this value for a match with both. Can also be a range of integers.","$ref":"#/definitions/BEB_integer_range"},"either_allele":{"title":"Either Allele","type":"integer","default":-1,"description":"If this value is non-negative, compare both the mob's main and hidden alleles with this value for a match with either. Can also be a range of integers."},"hidden_allele":{"title":"Hidden Allele","type":"integer","default":-1,"description":"If this value is non-negative, compare the mob's hidden allele with this value for a match. Can also be a range of integers."},"main_allele":{"title":"Main Allele","default":-1,"description":"If this value is non-negative, compare the mob's main allele with this value for a match. Can also be a range of integers.","$ref":"#/definitions/BEB_integer_range"},"mutation_rate":{"title":"Mutation Rate","type":"number","default":-1,"description":"If this value is non-negative, overrides the chance for this gene that an allele will be replaced with a random one instead of the parent's allele during birth. Non-negative values greater than 1 will be the same as the value 1."}}}},"name":{"title":"Name","type":"string","description":"The name of the gene."}}}}},"examples":[{"mutation_rate":0.0,"genes":[]}]},"BEC":{"additionalProperties":false,"description":"Defines sets of items that can be used to trigger events when used on this entity. The item will also be taken and placed in the entity's inventory.","type":"object","title":"Giveable","properties":{"triggers":{"description":"Defines sets of items that can be used to trigger events when used on this entity. The item will also be taken and placed in the entity's inventory.","title":"Triggers","type":"object","additionalProperties":false,"properties":{"cooldown":{"type":"number","default":0.0,"description":"An optional cool down in seconds to prevent spamming interactions.","title":"Cooldown"},"items":{"type":"array","title":"Properties","description":"The list of items that can be given to the entity to place in their inventory.","items":{"description":"An items that can be given to the entity to place in their inventory.","$ref":"#/definitions/H","title":"Properties"}},"on_give":{"$ref":"#/definitions/I","description":"Event to fire when the correct item is given.","title":"On Give"}}}},"examples":[{"triggers":{}}]},"BED":{"type":"object","title":"Ground Offset","additionalProperties":false,"description":"Sets the offset from the ground that the entity is actually at.","required":[],"properties":{"value":{"type":"number","default":0.0,"description":"The value of the entity's offset from the terrain, in blocks.","title":"Value"}},"examples":[{"value":0.0}]},"BEE":{"type":"object","title":"Group Size","description":"Keeps track of entity group size in the given radius.","additionalProperties":false,"properties":{"filters":{"$ref":"#/definitions/BB","description":"The list of conditions that must be satisfied for other entities to be counted towards group size."},"radius":{"type":"number","default":16,"description":"Radius from center of entity.","title":"Radius"}},"examples":[{"radius":16}]},"BEF":{"type":"object","title":"Grows Crop","description":"Could increase crop growth when entity walks over crop.","additionalProperties":false,"properties":{"chance":{"type":"number","default":0,"description":"Value between 0-1. Chance of success per tick.","minimum":0,"maximum":1,"title":"Chance"},"charges":{"type":"integer","default":10,"description":"Number of charges.","title":"Charges"}},"examples":[{"chance":0,"charges":10}]},"BEG":{"description":"Defines the interactions with this entity for healing it.","type":"object","title":"Healable","additionalProperties":false,"required":[],"properties":{"filters":{"$ref":"#/definitions/BB"},"force_use":{"type":"boolean","default":false,"description":"Determines if item can be used regardless of entity being at full health.","title":"Force Use"},"items":{"description":"The array of items that can be used to heal this entity.","title":"Items","type":"array","items":{"type":"object","properties":{"filters":{"$ref":"#/definitions/BB","description":"The filter group that defines the conditions for using this item to heal the entity."},"heal_amount":{"type":"integer","default":1,"description":"The amount of health this entity gains when fed this item.","title":"Heal Amount"},"item":{"type":"string","description":"Item identifier that can be used to heal this entity.","title":"Item"}}}}},"examples":[{"force_use":false,"items":[]}]},"BEH":{"description":"Sets the amount of health this mob has.","$comment":"UNDOCUMENTED","type":"object","title":"Health","additionalProperties":false,"required":[],"properties":{"max":{"type":"integer","description":"The maximum health the entity can heal.","title":"Maximum"},"value":{"description":"Current health of the entity.","title":"Value","oneOf":[{"type":"integer","default":1},{"type":"object","additionalProperties":false,"required":["range_min","range_max"],"properties":{"range_min":{"title":"Range Minimum","description":"The minimum amount of health this mob could have.","$comment":"UNDOCUMENTED","type":"number"},"range_max":{"title":"Range Maximum","description":"The maximum amount of health this mob could have.","$comment":"UNDOCUMENTED","type":"number"}}}]}},"examples":[{"value":1,"max":0}]},"BEJ":{"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"}]},"BEI":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","title":"Health","additionalProperties":false,"required":[],"properties":{"interval":{"title":"Interval","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","$ref":"#/definitions/BEJ"}},"examples":[{}]},"BFA":{"type":"object","title":"Hide","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{}},"BFB":{"type":"object","title":"Home","description":"Saves a home pos for when the the entity is spawned.","additionalProperties":false,"properties":{"restriction_radius":{"title":"Restriction Radius","description":"The radius that the entity will be restricted to in relation to its home.","type":"integer","default":-1},"home_block_list":{"title":"Home Block List","description":"Optional block list that the home position will be associated with. If any of the blocks no longer exist at that position, the home restriction is removed. Example syntax: minecraft:sand. Not supported: minecraft:sand:1","type":"array","items":{"title":"Home Block","description":"Optional block that the home position will be associated with. If any of the blocks no longer exist at that position, the home restriction is removed. Example syntax: minecraft:sand. Not supported: minecraft:sand:1","type":"string","$ref":"#/definitions/H"}}},"examples":[{"restriction_radius":-1,"home_block_list":[]}]},"BFC":{"type":"object","title":"Horse.jump Strength","additionalProperties":false,"description":"Allows this mob to jump higher when being ridden by a player.","$comment":"UNDOCUMENTED","properties":{"value":{"description":"The multiplier to apply to the jumping height.","$comment":"UNDOCUMENTED","title":"Value","oneOf":[{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number"},"range_max":{"type":"number"}}},{"type":"number"}]}}},"BFD":{"type":"object","title":"Hurt On Condition","description":"Defines a set of conditions under which an entity should take damage.","additionalProperties":false,"properties":{"damage_conditions":{"type":"array","title":"Damage Conditions","description":"An array of conditions used to compare the event to.","items":{"type":"object","title":"Damage Condition","description":"A condition used to compare the event to.","additionalProperties":false,"properties":{"filters":{"$ref":"#/definitions/BB"},"cause":{"type":"string","title":"Cause","description":"Damage cause.","$ref":"#/definitions/CB"},"damage_per_tick":{"type":"integer","title":"Damage Per Tick","description":"Amount of damage done each tick that the conditions are met."}}}}},"examples":[{"damage_conditions":[]}]},"BFE":{"type":"object","title":"Hurt When Wet","additionalProperties":false,"required":[],"properties":{},"description":"Specifies if an actor is hurt when wet."},"BFF":{"description":"When configured as a rideable entity, the entity will be controlled using WASD controls.","type":"object","title":"Input Ground Controlled","additionalProperties":false,"required":[],"properties":{}},"BFH":{"title":"Block","type":"object","additionalProperties":false,"properties":{"name":{"title":"Name","description":"The block id, for example: `minecraft:air'.","type":"string"},"states":{"title":"States","description":"The block states.","type":"object","additionalProperties":{"title":"State","description":"A single state of a block.","oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}]}}}},"BFG":{"type":"object","title":"Inside Block Notifier","additionalProperties":false,"description":"Verifies whether the entity is inside any of the listed blocks.","required":[],"properties":{"block_list":{"title":"Block List","description":"List of blocks, with certain block states, that we are monitoring to see if the entity is inside.","type":"array","items":{"title":"Block","description":"A of block, with certain block states, that we are monitoring to see if the entity is inside.","type":"object","additionalProperties":false,"properties":{"block":{"$ref":"#/definitions/BFH"},"entered_block_event":{"title":"Entered Block Event","description":"Event to run when this mob enters a valid block.","$comment":"UNDOCUMENTED","$ref":"#/definitions/I"},"exited_block_event":{"title":"Exited Block Event","description":"Event to run when this mob leaves a valid block.","$comment":"UNDOCUMENTED","$ref":"#/definitions/I"}}}}},"examples":[{"block_list":[]}]},"BFI":{"description":"Adds a timer since last rested to see if phantoms should spawn.","type":"object","title":"Insomnia","additionalProperties":false,"required":[],"properties":{"days_until_insomnia":{"type":"number","default":3,"description":"Number of days the mob has to stay up until the insomnia effect begins.","title":"Days Until Insomnia"}},"examples":[{"days_until_insomnia":3}]},"BFJ":{"type":"object","title":"Instant Despawn","description":"Despawns the Actor immediately.","additionalProperties":false,"properties":{"remove_child_entities":{"type":"boolean","default":false,"description":"If true, all entities linked to this entity in a child relationship (eg. leashed) will also be despawned.","title":"Remove Child Entities"}},"examples":[{"remove_child_entities":false}]},"BGA_interaction_spec":{"type":"object","additionalProperties":false,"properties":{"add_items":{"title":"Add Items","type":"object","description":"Loot table with items to add to the player's inventory upon successful interaction.","additionalProperties":false,"properties":{"table":{"type":"string","$ref":"#/definitions/BCJ","description":"File path, relative to the Behavior Pack's path, to the loot table file.","title":"Table"}}},"cooldown":{"title":"Cooldown","type":"number","default":0,"description":"Time in seconds before this entity can be interacted with again."},"admire":{"title":"Admire","type":"boolean","default":false,"description":"Allows entity to admire the item. Requires \"minecraft:admire_item\" and \"minecraft:behavior.admire_item\" to work.","$comment":"UNDOCUMENTED"},"barter":{"title":"Barter","type":"boolean","default":false,"description":"Allows entity to barter with the item. Requires \"minecraft:barter\" to work.","$comment":"UNDOCUMENTED"},"cooldown_after_being_attacked":{"title":"Cooldown After Being Attacked","type":"number","default":0,"description":"Time in seconds before this entity can be interacted with after being attacked."},"health_amount":{"title":"Health Amount","type":"integer","default":0,"description":"The amount of health this entity will recover or hurt when interacting with this item. Negative values will harm the entity."},"hurt_item":{"title":"Hurt Item","type":"integer","default":0,"description":"The amount of damage the item will take when used to interact with this entity. A value of 0 means the item won't lose durability."},"interact_text":{"title":"Interact Text","type":"string","default":"","description":"Text to show when the player is able to interact in this way with this entity when playing with Touch-screen controls."},"on_interact":{"title":"On Interact","$ref":"#/definitions/JA","description":"Event to fire when the interaction occurs."},"particle_on_start":{"title":"Particle On Start","type":"object","description":"Particle effect that will be triggered at the start of the interaction.","properties":{"particle_offset_towards_interactor":{"type":"boolean","description":"Whether or not the particle will appear closer to who performed the interaction.","title":"Particle Offset Towards Interactor"},"particle_type":{"type":"string","description":"The type of particle that will be spawned.","title":"Particle Type"},"particle_y_offset":{"type":"number","description":"Will offset the particle this amount in the y direction.","title":"Particle Y Offset"}}},"play_sounds":{"title":"Play Sounds","type":"string","default":"","description":"List of sounds to play when the interaction occurs."},"spawn_entities":{"title":"Spawn Entities","type":"string","default":"","description":"List of entities to spawn when the interaction occurs."},"spawn_items":{"type":"object","description":"Loot table with items to drop on the ground upon successful interaction.","title":"Spawn Items","additionalProperties":false,"properties":{"table":{"type":"string","$ref":"#/definitions/BCJ","description":"File path, relative to the Behavior Pack's path, to the loot table file.","title":"Table"}}},"swing":{"title":"Swing","type":"boolean","default":false,"description":"If true, the player will do the \"swing\" animation when interacting with this entity."},"transform_to_item":{"title":"Transform To Item","type":"string","description":"The feed item used will transform to this item upon successful interaction. Format: itemName:auxValue"},"use_item":{"title":"Use Item","type":"boolean","default":false,"description":"If true, the interaction will use an item."},"vibration":{"title":"Vibration","type":"string","description":"Vibration to emit when the interaction occurs. Admitted values are entity_interact (used by default), shear, and none (no vibration emitted)."},"give_item":{"title":"Give Item","type":"boolean","$comment":"UNDOCUMENTED","description":"UNDOCUMENTED Item to give to the player upon successful interaction."},"take_item":{"title":"Take Item","type":"boolean","$comment":"UNDOCUMENTED","description":"UNDOCUMENTED Takes an item from the player."}}},"BGA":{"type":"object","title":"Interact","description":"Defines interactions with this entity.","additionalProperties":false,"examples":[{"interactions":[{}]}],"properties":{"interactions":{"description":"The interactions.","title":"Interactions","oneOf":[{"type":"object","$ref":"#/definitions/BGA_interaction_spec"},{"type":"array","items":{"$ref":"#/definitions/BGA_interaction_spec"}}]}}},"BGB":{"description":"Defines this entity's inventory properties.","type":"object","title":"Inventory","additionalProperties":false,"properties":{"additional_slots_per_strength":{"type":"integer","default":0,"description":"Number of slots that this entity can gain per extra strength.","title":"Additional Slots Per Strength"},"can_be_siphoned_from":{"type":"boolean","default":false,"description":"If true, the contents of this inventory can be removed by a hopper.","title":"Can Be Siphoned From"},"container_type":{"type":"string","default":"none","description":"Type of container this entity has. Can be horse, minecart_chest, chest_boat, minecart_hopper, inventory, container or hopper","title":"Container Type","enum":["horse","minecart_chest","chest_boat","minecart_hopper","inventory","container","hopper"]},"inventory_size":{"type":"integer","default":5,"description":"Number of slots the container has.","title":"Inventory Size"},"private":{"type":"boolean","default":false,"description":"If true, only the entity can access the inventory.","title":"Private"},"restrict_to_owner":{"type":"boolean","default":false,"description":"If true, the entity's inventory can only be accessed by its owner or itself.","title":"Restrict To Owner"}},"examples":[{"additional_slots_per_strength":0,"can_be_siphoned_from":false,"container_type":"none","inventory_size":5,"private":false,"restrict_to_owner":false}]},"BGC":{"description":"Sets that this entity is a baby.","type":"object","title":"Is Baby","additionalProperties":false,"required":[],"properties":{}},"BGD":{"description":"Sets that this entity is charged.","type":"object","title":"Is Charged","additionalProperties":false,"required":[],"properties":{}},"BGE":{"description":"Sets that this entity is currently carrying a chest.","type":"object","title":"Is Chested","additionalProperties":false,"required":[],"properties":{}},"BGF":{"description":"Allows dyes to be used on this entity to change its color.","type":"object","title":"Is Dyeable","additionalProperties":false,"required":[],"properties":{"interact_text":{"type":"string","description":"The text that will display when interacting with this entity with a dye when playing with Touch-screen controls.","title":"Interact Text"}},"examples":[{"interact_text":"example"}]},"BGG":{"type":"object","title":"Is Hidden When Invisible","additionalProperties":false,"description":"Sets that this entity can hide from hostile mobs while invisible."},"BGH":{"description":"Sets that this entity is currently on fire.","type":"object","title":"Is Ignited","additionalProperties":false,"required":[],"properties":{}},"BGI":{"description":"Sets that this entity is an illager captain.","type":"object","title":"Is Illager Captain","additionalProperties":false,"required":[],"properties":{}},"BGJ":{"description":"Sets that this entity is currently saddled.","type":"object","title":"Is Saddled","additionalProperties":false,"required":[],"properties":{}},"BHA":{"description":"Sets that this entity is currently shaking.","type":"object","title":"Is Shaking","additionalProperties":false,"required":[],"properties":{}},"BHB":{"description":"Sets that this entity is currently sheared.","type":"object","title":"Is Sheared","additionalProperties":false,"required":[],"properties":{}},"BHC":{"description":"Sets that this entity can be stacked.","type":"object","title":"Is Stackable","additionalProperties":false,"properties":{"value":{"title":"Value","description":"UNDOCUMENTED.","type":"boolean"}}},"BHD":{"description":"Sets that this entity is currently stunned.","type":"object","title":"Is Stunned","additionalProperties":false,"required":[],"properties":{}},"BHE":{"description":"Sets that this entity is currently tamed.","type":"object","title":"Is Tamed","additionalProperties":false,"required":[],"properties":{}},"BHF":{"description":"Efines what items can be used to control this entity while ridden.","type":"object","title":"Item Controllable","additionalProperties":false,"required":[],"properties":{"control_items":{"description":"List of items that can be used to control this entity.","oneOf":[{"type":"array","items":{"type":"string","description":"An item that can be used to control this entity.","title":"Item"}},{"type":"string"}],"title":"Control Items"}}},"BHG":{"type":"object","title":"Item Hopper","additionalProperties":false,"required":[],"properties":{},"description":"Determines that this entity is an item hopper."},"BHH":{"description":"Defines a dynamic type jump control that will change jump properties based on the speed modifier of the mob.","type":"object","title":"Jump.dynamic","additionalProperties":false,"required":[],"properties":{}},"BHI":{"description":"Gives the entity the ability to jump.","type":"object","title":"Jump.static","additionalProperties":false,"required":[],"properties":{"jump_power":{"type":"number","default":0.42,"description":"The initial vertical velocity for the jump.","title":"Jump Power"}},"examples":[{"jump_power":0.42}]},"BHJ":{"type":"object","title":"Knockback Resistance","additionalProperties":false,"description":"Sets the knockback resistance item component. Determines the amount of knockback resistance that the item has.","required":[],"properties":{"protection":{"title":"Protection","type":"number","description":"Amount of knockback resistance provided with the total maximum protection being 1.0","maximum":1}},"examples":[{"protection":0.5}]},"BIA":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","title":"Lava Movement","additionalProperties":false,"required":[],"properties":{"value":{"type":"number","title":"Value","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"examples":[{"value":0.0}]},"BIB":{"type":"object","title":"Leashable","description":"Defines interactions with this entity.","additionalProperties":false,"properties":{"can_be_stolen":{"type":"boolean","default":false,"description":"If true, players can leash this entity even if it is already leashed to another mob.","title":"Can Be Stolen"},"hard_distance":{"type":"number","default":6,"description":"Distance in blocks at which the leash stiffens, restricting movement.","title":"Hard Distance"},"max_distance":{"type":"number","default":10,"description":"Distance in blocks at which the leash breaks.","title":"Maximum Distance"},"on_leash":{"$ref":"#/definitions/I","description":"Event to call when this entity is leashed.","title":"On Leash"},"on_unleash":{"$ref":"#/definitions/I","description":"Event to call when this entity is unleashed.","title":"On Unleash"},"soft_distance":{"type":"number","default":4,"description":"Distance in blocks at which the `spring` effect starts acting to keep this entity close to the entity that leashed it.","title":"Soft Distance"}},"examples":[{"can_be_stolen":false,"hard_distance":6,"max_distance":10,"soft_distance":4}]},"BIC":{"description":"Defines the behavior when another entity looks at this entity.","type":"object","title":"Lookat","additionalProperties":false,"properties":{"allow_invulnerable":{"type":"boolean","default":false,"description":"If true, invulnerable entities (e.g. Players in creative mode) are considered valid targets.","title":"Allow Invulnerable"},"filters":{"$ref":"#/definitions/BB","description":"Defines the entities that can trigger this component.","title":"Filters"},"look_cooldown":{"$ref":"#/definitions/JD","default":[0.0,0.0],"description":"The range for the random amount of time during which the entity is `cooling down` and won't get angered or look for a target.","title":"Look Cooldown"},"look_event":{"description":"The event identifier to run when the entities specified in filters look at this entity.","title":"Look Event","$ref":"#/definitions/I"},"search_radius":{"type":"number","default":10,"description":"Maximum distance this entity will look for another entity looking at it.","title":"Search Radius"},"set_target":{"type":"boolean","default":true,"description":"If true, this entity will set the attack target as the entity that looked at it.","title":"Set Target"}},"examples":[{"allow_invulnerable":false,"search_radius":10,"set_target":true}]},"BID":{"type":"object","title":"Loot","description":"sets the loot table for what items this entity drops upon death.","additionalProperties":false,"required":["table"],"examples":[{"table":"loot_tables/empty.json"}],"properties":{"table":{"type":"string","pattern":"^loot_tables/.*.json$","description":"The path to the loot table, relative to the Behavior Pack's root.","title":"Table","default":"loot_tables/empty.json"}}},"BIE":{"type":"object","title":"Managed Wandering Trader","additionalProperties":false,"required":[],"properties":{},"description":"This component is used to implement part of the Wandering Trader behavior."},"BIF":{"type":"object","title":"Mark Variant","description":"Additional variant value. Can be used to further differentiate variants.","required":["value"],"properties":{"value":{"type":"integer","default":0,"description":"The ID of the variant. By convention, 0 is the ID of the base entity","title":"Value"}},"additionalProperties":false,"examples":[{"value":0},{"value":1},{"value":2},{"value":3},{"value":4},{"value":5},{"value":6},{"value":7},{"value":8},{"value":9}]},"BIG":{"type":"object","title":"Mob Effect","description":"A component that applies a mob effect to entities that get within range.","additionalProperties":false,"properties":{"cooldown_time":{"title":"Cooldown Time","type":"integer","default":0,"description":"Time in seconds to wait between each application of the effect."},"effect_range":{"title":"Effect Range","type":"number","default":0.2,"description":"How close a hostile entity must be to have the mob effect applied."},"effect_time":{"title":"Effect Time","type":"integer","default":10,"description":"How long the applied mob effect lasts in seconds."},"entity_filter":{"$ref":"#/definitions/BB","title":"Entity Filter","description":"Filter to use for conditions."},"mob_effect":{"title":"Mob Effect","type":"string","default":"","description":"The mob effect that is applied to entities that enter this entities effect range."}},"examples":[{"effect_range":0.2,"effect_time":10,"mob_effect":""}]},"BIH":{"type":"object","title":"Movement Sound Distance Offset","description":"Sets the offset used to determine the next step distance for playing a movement sound.","required":["value"],"properties":{"value":{"type":"number","default":1.0,"description":"The higher the number, the less often the movement sound will be played.","title":"Value"}},"additionalProperties":false,"examples":[{"value":1.0},{"value":0.5},{"value":1.5}]},"BII":{"type":"object","title":"Movement.amphibious","additionalProperties":false,"required":[],"properties":{"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"}},"description":"This move control allows the mob to swim in water and walk on land.","examples":[{"max_turn":30}]},"BIJ":{"type":"object","title":"Movement.basic","description":"defines the movement of an entity.","additionalProperties":false,"required":[],"properties":{"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"}},"examples":[{"max_turn":30}]},"BJA":{"type":"object","title":"Movement.fly","description":"This move control causes the mob to fly.","additionalProperties":false,"required":[],"properties":{"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"}},"examples":[{"max_turn":30}]},"BJB":{"description":"This move control allows a mob to fly, swim, climb, etc.","type":"object","title":"Movement.generic","additionalProperties":false,"required":[],"properties":{"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"}},"examples":[{"max_turn":30}]},"BJC":{"type":"object","title":"Movement.glide","description":"This is the move control for a flying mob that has a gliding movement.","additionalProperties":false,"required":[],"properties":{"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"},"start_speed":{"type":"number","title":"Start Speed","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"speed_when_turning":{"type":"number","title":"Speed When Turning","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"examples":[{"start_speed":1.0,"speed_when_turning":2.0}]},"BJD":{"title":"Movement.hover","description":"This move control causes the mob to hover.","type":"object","additionalProperties":false,"properties":{"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"}},"examples":[{"max_turn":30}]},"BJE":{"type":"object","title":"Movement.jump","description":"Move control that causes the mob to jump as it moves with a specified delay between jumps.","additionalProperties":false,"properties":{"jump_delay":{"type":"array","default":[0.0,0.0],"description":"Delay after landing when using the slime move control.","title":"Jump Delay","items":[{"type":"number","title":"Minimum"},{"type":"number","title":"Maximum"}]},"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"}},"examples":[{"jump_delay":[],"max_turn":30}]},"BJF":{"type":"object","title":"Movement.skip","additionalProperties":false,"required":[],"description":"This move control causes the mob to hop as it moves.","properties":{"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"}},"examples":[{"max_turn":30}]},"BJG":{"title":"Movement.sway","description":"This move control causes the mob to sway side to side giving the impression it is swimming.","type":"object","additionalProperties":false,"properties":{"max_turn":{"type":"number","default":30,"description":"The maximum number in degrees the mob can turn per tick.","title":"Maximum Turn"},"sway_amplitude":{"type":"number","description":"Strength of the sway movement.","title":"Sway Amplitude","default":0.05},"sway_frequency":{"type":"number","description":"Multiplier for the frequency of the sway movement.","title":"Sway Amplitude","default":0.5}},"examples":[{"max_turn":30,"sway_amplitude":0.0}]},"BJH":{"type":"object","title":"Movement","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"required":[],"properties":{"value":{"title":"Value","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","oneOf":[{"type":"array","items":[{"type":"number","title":"Maximum"},{"type":"number","title":"Maximum"}]},{"type":"number"},{"type":"object","additionalProperties":false,"title":"Range","properties":{"range_min":{"type":"number","title":"Range Minimum"},"range_max":{"type":"number","title":"Range Maximum"}}}]},"max":{"type":"number","title":"Maximum","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"examples":[{"max":0.0}]},"BJI_name_action":{"type":"object","additionalProperties":false,"description":"Describes the special names for this entity and the events to call when the entity acquires those names.","title":"Name Action","properties":{"name_filter":{"type":"string","default":"","description":"List of special names that will cause the events defined in `on_named` to fire.","title":"Name Filter"},"on_named":{"$ref":"#/definitions/I","description":"Event to be called when this entity acquires the name specified in `name_filter'.","title":"On Named"}}},"BJI":{"type":"object","title":"Nameable","additionalProperties":false,"description":"Allows this entity to be named (e.g. using a name tag).","properties":{"allow_name_tag_renaming":{"type":"boolean","default":true,"description":"If true, this entity can be renamed with name tags.","title":"Allow Name Tag Renaming"},"always_show":{"type":"boolean","default":false,"description":"If true, the name will always be shown.","title":"Always Show"},"default_trigger":{"$ref":"#/definitions/JA","description":"Trigger to run when the entity gets named.","title":"Default Trigger"},"name_actions":{"title":"Name Actions","description":"Describes the special names for this entity and the events to call when the entity acquires those names.","oneOf":[{"type":"array","items":{"$ref":"#/definitions/BJI_name_action"}},{"type":"object","$ref":"#/definitions/BJI_name_action"}]}},"examples":[{"allow_name_tag_renaming":true,"always_show":false}]},"CAA":{"description":"A minecraft block reference.","examples":["namespace:block",{"name":"namespace:block"}],"title":"Block Reference","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}],"oneOf":[{"type":"string","$ref":"#/definitions/JI"},{"title":"Block Reference","description":"","type":"object","additionalProperties":false,"properties":{"name":{"type":"string","$ref":"#/definitions/JI"},"states":{"title":"States","description":"","type":"object","propertyNames":{"pattern":"\\w*:?\\w+"},"example":[{"property":"value"}],"additionalProperties":{"type":["boolean","integer","string"],"title":"State Value","description":"The key of property is the name of the block state/property, the value must be the same as the block properties accepted values."}}}}]},"BJJ":{"title":"Navigation.climb","description":"Allows this entity to generate paths that include vertical walls like the vanilla Spiders do.","type":"object","additionalProperties":false,"properties":{"avoid_damage_blocks":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid blocks that cause damage when finding a path.","title":"Avoid Damage Blocks"},"avoid_portals":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid portals (like nether portals) when finding a path.","title":"Avoid Portals"},"avoid_sun":{"type":"boolean","default":false,"description":"Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths.","title":"Avoid Sun"},"avoid_water":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid water when creating a path.","title":"Avoid Water"},"blocks_to_avoid":{"type":"array","description":"Tells the pathfinder which blocks to avoid when creating a path.","title":"Blocks To Avoid","items":{"title":"Block","description":"Tells the pathfinder which blocks to avoid when creating a path.","$ref":"#/definitions/CAA"}},"can_breach":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can jump out of water (like a dolphin).","title":"Can Breach"},"can_break_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door and break it.","title":"Can Break Doors"},"can_jump":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can jump up blocks.","title":"Can Jump"},"can_open_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door assuming the AI will open the door.","title":"Can Open Doors"},"can_open_iron_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door.","title":"Can Open Iron Doors"},"can_pass_doors":{"type":"boolean","default":true,"description":"Whether a path can be created through a door.","title":"Can Pass Doors"},"can_path_from_air":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can start pathing when in the air.","title":"Can Path From Air"},"can_path_over_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the lava.","title":"Can Path Over Lava"},"can_path_over_water":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the water.","title":"Can Path Over Water"},"can_sink":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it will be pulled down by gravity while in water.","title":"Can Sink"},"can_swim":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path.","title":"Can Swim"},"can_walk":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can walk on the ground outside water.","title":"Can Walk"},"can_walk_in_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel in lava like walking on ground.","title":"Can Walk In Lava"},"is_amphibious":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can walk on the ground underwater.","title":"Is Amphibious"}},"examples":[{},{"avoid_damage_blocks":true,"can_pass_doors":true,"can_jump":true},{"avoid_damage_blocks":false,"avoid_portals":false,"avoid_sun":false,"avoid_water":false,"blocks_to_avoid":[],"can_breach":false,"can_break_doors":false,"can_jump":true,"can_open_doors":false,"can_open_iron_doors":false,"can_pass_doors":true,"can_path_from_air":false,"can_path_over_lava":false,"can_path_over_water":false,"can_sink":true,"can_swim":false,"can_walk":true,"can_walk_in_lava":false,"is_amphibious":false}]},"CAB":{"title":"Navigation.float","description":"Allows this entity to generate paths by flying around the air like the regular Ghast.","type":"object","additionalProperties":false,"properties":{"avoid_damage_blocks":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid blocks that cause damage when finding a path.","title":"Avoid Damage Blocks"},"avoid_portals":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid portals (like nether portals) when finding a path.","title":"Avoid Portals"},"avoid_sun":{"type":"boolean","default":false,"description":"Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths.","title":"Avoid Sun"},"avoid_water":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid water when creating a path.","title":"Avoid Water"},"blocks_to_avoid":{"type":"array","description":"Tells the pathfinder which blocks to avoid when creating a path.","title":"Blocks To Avoid","items":{"title":"Block","description":"Tells the pathfinder which blocks to avoid when creating a path.","$ref":"#/definitions/CAA"}},"can_breach":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can jump out of water (like a dolphin).","title":"Can Breach"},"can_break_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door and break it.","title":"Can Break Doors"},"can_jump":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can jump up blocks.","title":"Can Jump"},"can_open_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door assuming the AI will open the door.","title":"Can Open Doors"},"can_open_iron_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door.","title":"Can Open Iron Doors"},"can_pass_doors":{"type":"boolean","default":true,"description":"Whether a path can be created through a door.","title":"Can Pass Doors"},"can_path_from_air":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can start pathing when in the air.","title":"Can Path From Air"},"can_path_over_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the lava.","title":"Can Path Over Lava"},"can_path_over_water":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the water.","title":"Can Path Over Water"},"can_sink":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it will be pulled down by gravity while in water.","title":"Can Sink"},"can_swim":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path.","title":"Can Swim"},"can_walk":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can walk on the ground outside water.","title":"Can Walk"},"can_walk_in_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel in lava like walking on ground.","title":"Can Walk In Lava"},"is_amphibious":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can walk on the ground underwater.","title":"Is Amphibious"}},"examples":[{},{"avoid_damage_blocks":true,"can_pass_doors":true,"can_jump":true},{"avoid_damage_blocks":false,"avoid_portals":false,"avoid_sun":false,"avoid_water":false,"blocks_to_avoid":[],"can_breach":false,"can_break_doors":false,"can_jump":true,"can_open_doors":false,"can_open_iron_doors":false,"can_pass_doors":true,"can_path_from_air":false,"can_path_over_lava":false,"can_path_over_water":false,"can_sink":true,"can_swim":false,"can_walk":true,"can_walk_in_lava":false,"is_amphibious":false}]},"CAC":{"title":"Navigation.fly","description":"Allows this entity to generate paths in the air like the vanilla Bees do. Keeps them from falling out of the skies and doing predictive movement.","type":"object","additionalProperties":false,"properties":{"avoid_damage_blocks":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid blocks that cause damage when finding a path.","title":"Avoid Damage Blocks"},"avoid_portals":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid portals (like nether portals) when finding a path.","title":"Avoid Portals"},"avoid_sun":{"type":"boolean","default":false,"description":"Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths.","title":"Avoid Sun"},"avoid_water":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid water when creating a path.","title":"Avoid Water"},"blocks_to_avoid":{"type":"array","description":"Tells the pathfinder which blocks to avoid when creating a path.","title":"Blocks To Avoid","items":{"title":"Block","description":"Tells the pathfinder which blocks to avoid when creating a path.","$ref":"#/definitions/CAA"}},"can_breach":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can jump out of water (like a dolphin).","title":"Can Breach"},"can_break_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door and break it.","title":"Can Break Doors"},"can_jump":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can jump up blocks.","title":"Can Jump"},"can_open_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door assuming the AI will open the door.","title":"Can Open Doors"},"can_open_iron_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door.","title":"Can Open Iron Doors"},"can_pass_doors":{"type":"boolean","default":true,"description":"Whether a path can be created through a door.","title":"Can Pass Doors"},"can_path_from_air":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can start pathing when in the air.","title":"Can Path From Air"},"can_path_over_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the lava.","title":"Can Path Over Lava"},"can_path_over_water":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the water.","title":"Can Path Over Water"},"can_sink":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it will be pulled down by gravity while in water.","title":"Can Sink"},"can_swim":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path.","title":"Can Swim"},"can_walk":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can walk on the ground outside water.","title":"Can Walk"},"can_walk_in_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel in lava like walking on ground.","title":"Can Walk In Lava"},"is_amphibious":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can walk on the ground underwater.","title":"Is Amphibious"}},"examples":[{},{"avoid_damage_blocks":true,"can_pass_doors":true,"can_jump":true},{"avoid_damage_blocks":false,"avoid_portals":false,"avoid_sun":false,"avoid_water":false,"blocks_to_avoid":[],"can_breach":false,"can_break_doors":false,"can_jump":true,"can_open_doors":false,"can_open_iron_doors":false,"can_pass_doors":true,"can_path_from_air":false,"can_path_over_lava":false,"can_path_over_water":false,"can_sink":true,"can_swim":false,"can_walk":true,"can_walk_in_lava":false,"is_amphibious":false}]},"CAD":{"title":"Navigation.generic","description":"Allows this entity to generate paths by walking, swimming, flying and/or climbing around and jumping up and down a block.","type":"object","additionalProperties":false,"properties":{"avoid_damage_blocks":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid blocks that cause damage when finding a path.","title":"Avoid Damage Blocks"},"avoid_portals":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid portals (like nether portals) when finding a path.","title":"Avoid Portals"},"avoid_sun":{"type":"boolean","default":false,"description":"Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths.","title":"Avoid Sun"},"avoid_water":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid water when creating a path.","title":"Avoid Water"},"blocks_to_avoid":{"type":"array","description":"Tells the pathfinder which blocks to avoid when creating a path.","title":"Blocks To Avoid","items":{"title":"Block","description":"Tells the pathfinder which blocks to avoid when creating a path.","$ref":"#/definitions/CAA"}},"can_breach":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can jump out of water (like a dolphin).","title":"Can Breach"},"can_break_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door and break it.","title":"Can Break Doors"},"can_jump":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can jump up blocks.","title":"Can Jump"},"can_open_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door assuming the AI will open the door.","title":"Can Open Doors"},"can_open_iron_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door.","title":"Can Open Iron Doors"},"can_pass_doors":{"type":"boolean","default":true,"description":"Whether a path can be created through a door.","title":"Can Pass Doors"},"can_path_from_air":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can start pathing when in the air.","title":"Can Path From Air"},"can_path_over_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the lava.","title":"Can Path Over Lava"},"can_path_over_water":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the water.","title":"Can Path Over Water"},"can_sink":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it will be pulled down by gravity while in water.","title":"Can Sink"},"can_swim":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path.","title":"Can Swim"},"can_walk":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can walk on the ground outside water.","title":"Can Walk"},"can_walk_in_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel in lava like walking on ground.","title":"Can Walk In Lava"},"is_amphibious":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can walk on the ground underwater.","title":"Is Amphibious"}},"examples":[{},{"avoid_damage_blocks":true,"can_pass_doors":true,"can_jump":true},{"avoid_damage_blocks":false,"avoid_portals":false,"avoid_sun":false,"avoid_water":false,"blocks_to_avoid":[],"can_breach":false,"can_break_doors":false,"can_jump":true,"can_open_doors":false,"can_open_iron_doors":false,"can_pass_doors":true,"can_path_from_air":false,"can_path_over_lava":false,"can_path_over_water":false,"can_sink":true,"can_swim":false,"can_walk":true,"can_walk_in_lava":false,"is_amphibious":false}]},"CAE":{"title":"Navigation.hover","description":"Allows this entity to generate paths in the air like the vanilla Bees do. Keeps them from falling out of the skies and doing predictive movement.","type":"object","additionalProperties":false,"properties":{"avoid_damage_blocks":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid blocks that cause damage when finding a path.","title":"Avoid Damage Blocks"},"avoid_portals":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid portals (like nether portals) when finding a path.","title":"Avoid Portals"},"avoid_sun":{"type":"boolean","default":false,"description":"Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths.","title":"Avoid Sun"},"avoid_water":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid water when creating a path.","title":"Avoid Water"},"blocks_to_avoid":{"type":"array","description":"Tells the pathfinder which blocks to avoid when creating a path.","title":"Blocks To Avoid","items":{"title":"Block","description":"Tells the pathfinder which blocks to avoid when creating a path.","$ref":"#/definitions/CAA"}},"can_breach":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can jump out of water (like a dolphin).","title":"Can Breach"},"can_break_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door and break it.","title":"Can Break Doors"},"can_jump":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can jump up blocks.","title":"Can Jump"},"can_open_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door assuming the AI will open the door.","title":"Can Open Doors"},"can_open_iron_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door.","title":"Can Open Iron Doors"},"can_pass_doors":{"type":"boolean","default":true,"description":"Whether a path can be created through a door.","title":"Can Pass Doors"},"can_path_from_air":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can start pathing when in the air.","title":"Can Path From Air"},"can_path_over_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the lava.","title":"Can Path Over Lava"},"can_path_over_water":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the water.","title":"Can Path Over Water"},"can_sink":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it will be pulled down by gravity while in water.","title":"Can Sink"},"can_swim":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path.","title":"Can Swim"},"can_walk":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can walk on the ground outside water.","title":"Can Walk"},"can_walk_in_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel in lava like walking on ground.","title":"Can Walk In Lava"},"is_amphibious":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can walk on the ground underwater.","title":"Is Amphibious"}},"examples":[{},{"avoid_damage_blocks":true,"can_pass_doors":true,"can_jump":true},{"avoid_damage_blocks":false,"avoid_portals":false,"avoid_sun":false,"avoid_water":false,"blocks_to_avoid":[],"can_breach":false,"can_break_doors":false,"can_jump":true,"can_open_doors":false,"can_open_iron_doors":false,"can_pass_doors":true,"can_path_from_air":false,"can_path_over_lava":false,"can_path_over_water":false,"can_sink":true,"can_swim":false,"can_walk":true,"can_walk_in_lava":false,"is_amphibious":false}]},"CAF":{"title":"Navigation.swim","description":"Allows this entity to generate paths that include water.","type":"object","additionalProperties":false,"properties":{"avoid_damage_blocks":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid blocks that cause damage when finding a path.","title":"Avoid Damage Blocks"},"avoid_portals":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid portals (like nether portals) when finding a path.","title":"Avoid Portals"},"avoid_sun":{"type":"boolean","default":false,"description":"Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths.","title":"Avoid Sun"},"avoid_water":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid water when creating a path.","title":"Avoid Water"},"blocks_to_avoid":{"type":"array","description":"Tells the pathfinder which blocks to avoid when creating a path.","title":"Blocks To Avoid","items":{"title":"Block","description":"Tells the pathfinder which blocks to avoid when creating a path.","$ref":"#/definitions/CAA"}},"can_breach":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can jump out of water (like a dolphin).","title":"Can Breach"},"can_break_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door and break it.","title":"Can Break Doors"},"can_jump":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can jump up blocks.","title":"Can Jump"},"can_open_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door assuming the AI will open the door.","title":"Can Open Doors"},"can_open_iron_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door.","title":"Can Open Iron Doors"},"can_pass_doors":{"type":"boolean","default":true,"description":"Whether a path can be created through a door.","title":"Can Pass Doors"},"can_path_from_air":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can start pathing when in the air.","title":"Can Path From Air"},"can_path_over_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the lava.","title":"Can Path Over Lava"},"can_path_over_water":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the water.","title":"Can Path Over Water"},"can_sink":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it will be pulled down by gravity while in water.","title":"Can Sink"},"can_swim":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path.","title":"Can Swim"},"can_walk":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can walk on the ground outside water.","title":"Can Walk"},"can_walk_in_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel in lava like walking on ground.","title":"Can Walk In Lava"},"is_amphibious":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can walk on the ground underwater.","title":"Is Amphibious"}},"examples":[{},{"avoid_damage_blocks":true,"can_pass_doors":true,"can_jump":true},{"avoid_damage_blocks":false,"avoid_portals":false,"avoid_sun":false,"avoid_water":false,"blocks_to_avoid":[],"can_breach":false,"can_break_doors":false,"can_jump":true,"can_open_doors":false,"can_open_iron_doors":false,"can_pass_doors":true,"can_path_from_air":false,"can_path_over_lava":false,"can_path_over_water":false,"can_sink":true,"can_swim":false,"can_walk":true,"can_walk_in_lava":false,"is_amphibious":false}]},"CAG":{"title":"Navigation.walk","description":"Allows this entity to generate paths by walking around and jumping up and down a block like regular mobs.","type":"object","additionalProperties":false,"properties":{"avoid_damage_blocks":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid blocks that cause damage when finding a path.","title":"Avoid Damage Blocks"},"avoid_portals":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid portals (like nether portals) when finding a path.","title":"Avoid Portals"},"avoid_sun":{"type":"boolean","default":false,"description":"Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths.","title":"Avoid Sun"},"avoid_water":{"type":"boolean","default":false,"description":"Tells the pathfinder to avoid water when creating a path.","title":"Avoid Water"},"blocks_to_avoid":{"type":"array","description":"Tells the pathfinder which blocks to avoid when creating a path.","title":"Blocks To Avoid","items":{"title":"Block","description":"Tells the pathfinder which blocks to avoid when creating a path.","$ref":"#/definitions/CAA"}},"can_breach":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can jump out of water (like a dolphin).","title":"Can Breach"},"can_break_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door and break it.","title":"Can Break Doors"},"can_jump":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can jump up blocks.","title":"Can Jump"},"can_open_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed door assuming the AI will open the door.","title":"Can Open Doors"},"can_open_iron_doors":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door.","title":"Can Open Iron Doors"},"can_pass_doors":{"type":"boolean","default":true,"description":"Whether a path can be created through a door.","title":"Can Pass Doors"},"can_path_from_air":{"type":"boolean","default":false,"description":"Tells the pathfinder that it can start pathing when in the air.","title":"Can Path From Air"},"can_path_over_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the lava.","title":"Can Path Over Lava"},"can_path_over_water":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel on the surface of the water.","title":"Can Path Over Water"},"can_sink":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it will be pulled down by gravity while in water.","title":"Can Sink"},"can_swim":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path.","title":"Can Swim"},"can_walk":{"type":"boolean","default":true,"description":"Tells the pathfinder whether or not it can walk on the ground outside water.","title":"Can Walk"},"can_walk_in_lava":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can travel in lava like walking on ground.","title":"Can Walk In Lava"},"is_amphibious":{"type":"boolean","default":false,"description":"Tells the pathfinder whether or not it can walk on the ground underwater.","title":"Is Amphibious"}},"examples":[{},{"avoid_damage_blocks":true,"can_pass_doors":true,"can_jump":true},{"avoid_damage_blocks":false,"avoid_portals":false,"avoid_sun":false,"avoid_water":false,"blocks_to_avoid":[],"can_breach":false,"can_break_doors":false,"can_jump":true,"can_open_doors":false,"can_open_iron_doors":false,"can_pass_doors":true,"can_path_from_air":false,"can_path_over_lava":false,"can_path_over_water":false,"can_sink":true,"can_swim":false,"can_walk":true,"can_walk_in_lava":false,"is_amphibious":false}]},"CAH_rangeXYZ":{"type":"array","items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]},"CAH":{"type":"object","title":"Npc","description":"A component that applies a mob effect to entities that get within range.","additionalProperties":false,"properties":{"npc_data":{"type":"object","title":"Npc Data","description":"The data belonging to this npc.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"portrait_offsets":{"type":"object","title":"Portrait Offsets","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"translate":{"$ref":"#/definitions/CAH_rangeXYZ","title":"Translate","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"scale":{"$ref":"#/definitions/CAH_rangeXYZ","title":"Scale","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"picker_offsets":{"type":"object","title":"Picker Offsets","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"translate":{"$ref":"#/definitions/CAH_rangeXYZ","title":"Translate","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"scale":{"$ref":"#/definitions/CAH_rangeXYZ","title":"Scale","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}}},"skin_list":{"type":"array","title":"Skin List","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":{"type":"object","title":"Skin","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"variant":{"title":"Variant","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}}}}}},"examples":[{"npc_data":{}}]},"CAI":{"description":"Adds a trigger to call on this entity's death. minecraft:on_death can only be used by the `ender_dragon` entity.","title":"On Death","$ref":"#/definitions/JA"},"CAJ":{"description":"Adds a trigger that will run when a nearby entity of the same type as this entity becomes Angry.","title":"On Friendly Anger","$ref":"#/definitions/JA"},"CBA":{"description":"Adds a trigger to call when this entity is attacked by the player.","title":"On Hurt By Player","$ref":"#/definitions/JA"},"CBB":{"description":"Adds a trigger to call when this entity takes damage.","title":"On Hurt","$ref":"#/definitions/JA"},"CBC":{"description":"Adds a trigger to call when this entity is set on fire.","title":"On Ignite","$ref":"#/definitions/JA"},"CBD":{"description":"Only usable by the Ender Dragon. Adds a trigger to call when this entity lands.","title":"On Start Landing","$ref":"#/definitions/JA"},"CBE":{"description":"Only usable by the Ender Dragon. Adds a trigger to call when this entity starts flying.","title":"On Start Takeoff","$ref":"#/definitions/JA"},"CBF":{"description":"Adds a trigger to call when this entity finds a target.","title":"On Target Acquired","$ref":"#/definitions/JA"},"CBG":{"description":"Adds a trigger to call when this entity loses the target it currently has.","title":"On Target Escape","$ref":"#/definitions/JA"},"CBH":{"description":"Adds a trigger to call when this pet's owner awakes after sleeping with the pet.","title":"On Wake With Owner","$ref":"#/definitions/JA"},"CBI":{"type":"object","title":"Out Of Control","additionalProperties":false,"description":"defines the entity's `out of control` state.","required":[],"properties":{}},"CBJ":{"description":"Defines the entity's `peek` behavior, defining the events that should be called during it.","type":"object","title":"Peek","additionalProperties":false,"required":[],"properties":{"on_close":{"$ref":"#/definitions/I","description":"Event to call when the entity is done peeking.","title":"On Close"},"on_open":{"$ref":"#/definitions/I","description":"Event to call when the entity starts peeking.","title":"On Open"},"on_target_open":{"$ref":"#/definitions/I","description":"Event to call when the entity's target entity starts peeking.","title":"On Target Open"}}},"CCA":{"description":"Defines whether an entity should be persistent in the game world.","type":"object","title":"Persistent","additionalProperties":false,"required":[],"properties":{}},"CCB":{"additionalProperties":false,"type":"object","title":"Physics","description":"Defines a dynamic type jump control that will change jump properties based on the speed modifier of the mob.","required":[],"properties":{"has_collision":{"type":"boolean","default":true,"description":"Whether or not the object collides with things.","title":"Has Collision"},"has_gravity":{"type":"boolean","default":true,"description":"Whether or not the entity is affected by gravity.","title":"Has Gravity"}},"examples":[{},{"has_collision":true,"has_gravity":true}]},"CCC":{"additionalProperties":false,"type":"object","title":"Player.exhaustion","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","required":[],"properties":{"value":{"type":"number","default":true,"title":"Value","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"max":{"type":"number","default":true,"title":"Maximum","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"examples":[{"value":true,"max":true}]},"CCD":{"additionalProperties":false,"type":"object","title":"Player.experience","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","required":[],"properties":{"value":{"type":"number","default":true,"title":"Value","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"max":{"type":"number","default":true,"title":"Maximum","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"examples":[{"value":true,"max":true}]},"CCE":{"additionalProperties":false,"type":"object","title":"Player.level","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","required":[],"properties":{"value":{"type":"number","default":true,"title":"Value","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"},"max":{"type":"number","default":true,"title":"Maximum","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"examples":[{"value":true,"max":true}]},"CCF":{"additionalProperties":false,"type":"object","title":"Player.saturation","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","required":[],"properties":{"value":{"type":"number","default":true,"title":"Value","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"examples":[{"value":true}]},"CCG":{"type":"object","title":"Preferred Path","description":"Specifies costing information for mobs that prefer to walk on preferred paths.","additionalProperties":false,"required":["preferred_path_blocks"],"properties":{"default_block_cost":{"type":"number","default":0,"description":"Cost for non-preferred blocks.","title":"Default Block Cost"},"jump_cost":{"type":"integer","default":0,"description":"Added cost for jumping up a node.","title":"Jump Cost"},"max_fall_blocks":{"type":"integer","default":3,"description":"Distance mob can fall without taking damage.","title":"Maximum Fall Blocks"},"preferred_path_blocks":{"type":"array","title":"Preferred Path Blocks","description":"A list of blocks with their associated cost.","items":{"additionalProperties":false,"type":"object","description":"Blocks cost.","properties":{"cost":{"type":"number"},"blocks":{"type":"array","items":{"$ref":"#/definitions/BAC"}}}}}},"examples":[{"default_block_cost":0,"jump_cost":0,"max_fall_blocks":3,"preferred_path_blocks":[]}]},"CCI":{"type":"array","title":"Vector Of 3 Items","description":"An vector of 3 number.","examples":[[0.0,0.0,0.0]],"items":[{"type":"number","description":"The X component.","title":"X","default":0},{"type":"number","description":"The Y component.","title":"Y","default":0},{"type":"number","description":"The Z component.","title":"Z","default":0}],"defaultSnippets":[{"label":"New Array 3","body":["^$1","^$2","^$3"]}]},"CCH":{"type":"object","title":"Interact","description":"Allows the entity to be a thrown entity.","additionalProperties":false,"properties":{"anchor":{"type":"integer","description":"Allows you to choose an anchor point for where the projectile is fired from. 0 = Original point, 1 = EyeHeight, and 2 = Middle or body height.","title":"Anchor","default":0},"angle_offset":{"type":"number","default":0,"description":"Alters the angle at which a projectile is vertically shot. Many splash potions in the game use this to offset their angles by -20 degrees.","title":"Angle Offset"},"catch_fire":{"type":"boolean","default":false,"description":"If true, the entity hit will be set on fire.","title":"Catch Fire"},"crit_particle_on_hurt":{"type":"boolean","default":false,"description":"If true, when a projectile deals damage, whether or not to spawn in the critical damage particles.","title":"Crit Particle On Hurt"},"destroy_on_hurt":{"type":"boolean","default":false,"description":"When this projectile deals damage, whether or not to immediately destroy this projectile.","title":"Destroy On Hurt"},"filter":{"type":"string","default":"","description":"Entity Definitions defined here can't be hurt by the projectile.","title":"Filter"},"fire_affected_by_griefing":{"type":"boolean","default":false,"description":"If true, whether the projectile causes fire is affected by the mob griefing game rule.","title":"Fire Affected By Griefing"},"gravity":{"type":"number","default":0.05,"description":"The gravity applied to this entity when thrown. When this actor is not on the ground, subtracts this amount from the actors change in vertical position every tick. The higher the value, the faster the entity falls.","title":"Gravity"},"hit_ground_sound":{"type":"string","default":"","description":"The sound that plays when the projectile hits the ground.","title":"Hit Ground Sound"},"hit_sound":{"type":"string","default":"","description":"The sound that plays when the projectile hits something.","title":"Hit Sound"},"homing":{"type":"boolean","default":false,"description":"If true, the projectile homes in to the nearest entity.","title":"Homing"},"inertia":{"type":"number","default":0.99,"description":"The fraction of the projectile's speed maintained every frame while traveling in air.","title":"Inertia"},"is_dangerous":{"type":"boolean","default":false,"description":"If true, the projectile will be treated as dangerous to the players.","title":"Is Dangerous"},"knockback":{"type":"boolean","default":true,"description":"If true, the projectile will knock back the entity it hits.","title":"Knockback"},"lightning":{"type":"boolean","default":false,"description":"If true, the entity hit will be struck by lightning.","title":"Lightning"},"liquid_inertia":{"type":"number","default":0.6,"description":"The fraction of the projectile's speed maintained every frame while traveling in water.","title":"Liquid Inertia"},"multiple_targets":{"type":"boolean","default":true,"description":"If true, the projectile can hit multiple entities per flight.","title":"Multiple Targets"},"mob_effect":{"title":"Mob Effect","$comment":"Deprecated","description":"SEE on_hit/mob_effect."},"offset":{"type":"array","default":[0,0.0,0],"description":"The offset from the entity's anchor where the projectile will spawn.","title":"Offset","$ref":"#/definitions/CCI"},"on_fire_time":{"type":"number","default":5,"description":"Time in seconds that the entity hit will be on fire for.","title":"On Fire Time"},"on_hit":{"additionalProperties":false,"type":"object","description":"Defines the behaviors that may execute on a projectile's hit, including impact damage, impact effect, and stuck in ground. See more on these parameters below.","title":"On Hit","properties":{"catch_fire":{"title":"Catch Fire","type":"boolean","default":false,"description":"Determines if the struck object is set on fire."},"definition_event":{"title":"Definition Event","type":"object","description":"The event that is triggered on a hit. See the table below for all definition event parameters.","additionalProperties":false,"properties":{"affect_projectile":{"title":"Affect Projectile","type":"boolean","default":false,"description":"The projectile that will be affected by this event."},"affect_shooter":{"title":"Affect Shooter","type":"boolean","default":false,"description":"The shooter that will be affected by this event."},"affect_splash_area":{"title":"Affect Splash Area","type":"boolean","default":false,"description":"All entities in the splash area will be affected by this event."},"affect_target":{"title":"Affect Target","type":"boolean","default":false,"description":"The target will be affected by this event."},"event_trigger":{"title":"Event Trigger","description":"The event triggered. Also has an option filters parameter to limit affected targets.","$ref":"#/definitions/I"},"splash_area":{"title":"Splash Area","type":"number","default":0.0,"description":"The splash area that will be affected."}}},"douse_fire":{"title":"Douse Fire","type":"boolean","default":false,"description":"If the target is on fire, then douse hte fire."},"freeze_on_hit":{"title":"Freeze On Hit","type":"object","description":"An area of entities that is frozen to block on hits. Has shape of either sphere or cube, snap_to_block boolean ,and size decimal properties.","additionalProperties":false,"properties":{"shape":{"enum":["sphere","cube"],"default":"sphere","description":"The shape of the area that is frozen.","title":"Shape"},"snap_to_block":{"type":"boolean","default":false,"description":"If true, the area will snap to the nearest block.","title":"Snap To Block"},"size":{"type":"number","default":0.0,"description":"The size of the area that is frozen.","title":"Size"}}},"grant_xp":{"title":"Grant XP","type":"object","description":"Grants XP on hit. Has minXP for minimum XP granted, maxXp for maximum, or simply flat xp properties.","additionalProperties":false,"properties":{"minXP":{"title":"Min XP","type":"number","default":0,"description":"The minimum XP granted."},"maxXP":{"title":"Max XP","type":"number","default":0,"description":"The maximum XP granted."}}},"hurt_owner":{"title":"Hurt Owner","type":"object","description":"Determines if the owner of the entity is hurt on hit. Contains decimal owner_damage, knockback boolean, and ignite boolean.","additionalProperties":false,"properties":{"owner_damage":{"title":"Owner Damage","type":"number","default":0,"description":"The amount of damage the owner will take."},"knockback":{"title":"Knockback","type":"boolean","default":false,"description":"If true, the owner will be knocked back."},"ignite":{"title":"Ignite","type":"boolean","default":false,"description":"If true, the owner will be set on fire."}}},"ignite":{"title":"Ignite","type":"boolean","default":false,"description":"Determines if a fire may be started on a flammable target."},"impact_damage":{"title":"Impact Damage","type":"object","description":"Defines the damage that an entity may receive on being hit by this projectile. See the table below for all impact_damage parameters.","additionalProperties":false,"properties":{"catch_fire":{"title":"Catch Fire","type":"boolean","default":false,"description":"Determines if the struck object is set on fire."},"channeling":{"title":"Channeling","type":"boolean","default":true,"description":"Whether lightning can be channeled through hte weapon."},"damage":{"title":"Damage","type":"number","default":1,"description":"The damage dealt on impact."},"destroy_on_hit":{"title":"Destroy On Hit","type":"boolean","default":false,"description":"Projectile is removed on hit."},"destroy_on_hit_requires_damage":{"title":"Destroy On Hit Requires Damage","type":"boolean","default":true,"description":"If true, then the hit must cause damage to destroy the projectile."},"filter":{"title":"Filter","type":"string","default":"not set","description":"The identifier of an entity that can be hit."},"knockback":{"title":"Knockback","type":"boolean","default":true,"description":"If true, the projectile will knock back the entity it hits."},"max_critical_damage":{"title":"Max Critical Damage","type":"integer","description":"Maximum critical damage."},"min_critical_damage":{"title":"Min Critical Damage","type":"integer","default":0,"description":"Minimum critical damage."},"power_multiplier":{"title":"Power Multiplier","type":"number","default":2.0,"description":"How much the base damage is multiplied."},"semi_random_diff_damage":{"title":"Semi Random Diff Damage","type":"boolean","default":false,"description":"If true, damage will be randomized based on damage and speed."},"set_last_hurt_requires_damage":{"title":"Set Last Hurt Requires Damage","type":"boolean","default":false,"description":"If true, then the hit must cause damage to update the last hurt property."}}},"mob_effect":{"title":"Mob Effect","type":"object","description":"The target receives a mob effect. See the table below for all mob_effect parameters.","additionalProperties":false,"properties":{"ambient":{"title":"Ambient","type":"boolean","default":false,"description":"If true, a mob will spawn that is not hostile, like the bat entity in Minecraft."},"amplifier":{"title":"Amplifier","type":"integer","default":1,"description":"The multiplier of the amplification of this effect."},"duration":{"title":"Duration","type":"integer","default":1,"description":"The effect's duration."},"durationeasy":{"title":"Duration Easy","type":"integer","default":0,"description":"The effect's duration on easy mode."},"durationhard":{"title":"Duration Hard","type":"integer","default":800,"description":"The effect's duration on hard mode."},"durationnormal":{"title":"Duration Normal","type":"integer","default":200,"description":"The effect's duration on normal mode."},"effect":{"title":"Effect","type":"string","default":"not set","description":"The identifier of the mob entity to affect."},"visible":{"title":"Visible","type":"boolean","default":false,"description":"Does the entity's look change."}}},"on_fire_time":{"title":"On Fire Time","type":"number","default":0.0,"description":"The amount of time a target will remain on fire."},"particle_on_hit":{"title":"Particle On Hit","type":"object","description":"The particles that spawn on hit. See the table below for all particle_on_hit parameters.","additionalProperties":false,"properties":{"num_particles":{"title":"Num Particles","type":"number","default":6,"description":"The number of particles to spawn."},"on_entity_hit":{"title":"On Entity Hit","type":"boolean","default":false,"description":"If true, spawns particles on an entity hit."},"on_other_hit":{"title":"On Other Hit","type":"boolean","default":false,"description":"If true, spawns particles on any other hit."},"particle_type":{"title":"Particle Type","type":"string","default":"not set","description":"The id of the particle to spawn on hit."}}},"potion_effect":{"title":"Potion Effect","type":"integer","default":-1,"description":"Defines the effect the arrow will apply to the entity it hits."},"remove_on_hit":{"title":"Remove On Hit","type":"object","description":"Removes the projectile.","additionalProperties":true,"properties":{}},"spawn_aoe_cloud":{"title":"Spawn AOE Cloud","type":"object","default":false,"description":"Potion spawns an area of effect cloud. See the table below for all spawn_aoe_cloud parameters.","additionalProperties":false,"properties":{"affect_owner":{"title":"Affect Owner","type":"boolean","default":true,"description":"Determines if the projectile shooter is affected."},"color":{"title":"Color","type":"array","description":"Particle color defined by three rgb values.","$ref":"#/definitions/CCI"},"duration":{"title":"Duration","type":"integer","default":0,"description":"How long the particle emits."},"particle":{"title":"Particle","type":"integer","default":0,"description":"The particle emitter."},"potion":{"title":"Potion","type":"integer","default":-1,"description":"The id of the potion."},"radius":{"title":"Radius","type":"number","default":0,"description":"Defines the affected area."},"radius_on_use":{"title":"Radius On Use","type":"number","default":-1,"description":"Defines the affected area when potion is used."},"reapplication_delay":{"title":"Reapplication Delay","type":"integer","default":0,"description":"Delay before the potion can affect the area again."}}},"spawn_chance":{"title":"Spawn Chance","type":"object","description":"Contains information on the chance of spawning an entity on hit. See parameters below.","additionalProperties":false,"properties":{"first_spawn_count":{"title":"First Spawn Count","type":"integer","default":0,"description":"The amount of new entities spawned."},"first_spawn_percent_chance":{"title":"First Spawn Percent Chance","type":"number","default":0,"description":"The chance that a spawn occurs when a projectile hits the entity."},"second_spawn_chance":{"title":"Second Spawn Chance","type":"number","default":32,"description":"The chance that a second spawn occurs when a projectile hits the entity."},"second_spawn_count":{"title":"Second Spawn Count","type":"integer","default":0,"description":"The amount of new entities spawned in teh second spawn."},"spawn_baby":{"title":"Spawn Baby","type":"boolean","default":false,"description":"Determines if a baby spawns."},"spawn_definition":{"title":"Spawn Definition","type":"string","default":"not set","description":"The entity that will spawn."}}},"stick_in_ground":{"title":"Stick In Ground","type":"object","description":"Decides if the object sticks in ground and contains shake_time integer parameter to determine how long it will shake."},"teleport_owner":{"title":"Teleport Owner","type":"boolean","default":false,"description":"Determines if the owner is transported on hit."},"thrown_potion_effect":{"title":"Thrown Potion Effect","type":"object","description":"Creates a splash area for effects caused by a thrown potion."}}},"particle":{"type":"string","default":"iconcrack","description":"Particle to use upon collision.","title":"Particle"},"potion_effect":{"type":"integer","default":-1,"description":"Defines the effect the arrow will apply to the entity it hits.","title":"Potion Effect"},"power":{"type":"number","default":1.3,"description":"Determines the velocity of the projectile.","title":"Power"},"reflect_on_hurt":{"type":"boolean","default":false,"description":"If true, this entity will be reflected back when hit.","title":"Reflect On Hurt"},"semi_random_diff_damage":{"type":"boolean","default":false,"description":"If true, damage will be randomized based on damage and speed.","title":"Semi Random Diff Damage"},"shoot_sound":{"type":"string","default":"","description":"The sound that plays when the projectile is shot.","title":"Shoot Sound"},"shoot_target":{"type":"boolean","default":true,"description":"If true, the projectile will be shot towards the target of the entity firing it.","title":"Shoot Target"},"should_bounce":{"type":"boolean","default":false,"description":"If true, the projectile will bounce upon hit.","title":"Should Bounce"},"splash_potion":{"type":"boolean","default":false,"description":"If true, the projectile will be treated like a splash potion.","title":"Splash Potion"},"splash_range":{"type":"number","default":4,"description":"Radius in blocks of the 'splash' effect.","title":"Splash Range"},"stop_on_hurt":{"title":"Stop On Hurt","type":"boolean","description":"Determines if the projectile stops when the target is hurt."},"uncertainty_base":{"type":"number","default":0,"description":"The base accuracy. Accuracy is determined by the formula uncertaintyBase - difficultyLevel * uncertaintyMultiplier.","title":"Uncertainty Base"},"uncertainty_multiplier":{"type":"number","default":0,"description":"Determines how much difficulty affects accuracy. Accuracy is determined by the formula uncertaintyBase - difficultyLevel * uncertaintyMultiplier.","title":"Uncertainty Multiplier"}},"examples":[{},{"anchor":0,"angle_offset":0,"catch_fire":false,"crit_particle_on_hurt":false,"destroy_on_hurt":false,"filter":"","fire_affected_by_griefing":false,"gravity":0.05,"hit_sound":"","homing":false,"inertia":0.99,"is_dangerous":false,"knockback":true,"lightning":false,"liquid_inertia":0.6,"multiple_targets":true,"offset":[],"on_fire_time":5,"on_hit":{},"particle":"iconcrack","potion_effect":-1,"power":1.3,"reflect_on_hurt":false,"semi_random_diff_damage":false,"shoot_sound":"","shoot_target":true,"should_bounce":false,"splash_potion":false,"splash_range":4,"uncertainty_base":0,"uncertainty_multiplier":0}]},"CCJ":{"type":"object","title":"Push Through","additionalProperties":false,"description":"Sets the distance through which the entity can push through.","required":[],"properties":{"value":{"type":"number","default":0.0,"description":"The value of the entity's push-through, in blocks.","title":"Value"}},"examples":[{"value":0.0}]},"CDA":{"additionalProperties":false,"type":"object","title":"Pushable","description":"Defines what can push an entity between other entities and pistons.","required":[],"properties":{"is_pushable":{"type":"boolean","default":true,"description":"Whether the entity can be pushed by other entities.","title":"Is Pushable"},"is_pushable_by_piston":{"type":"boolean","default":true,"description":"Whether the entity can be pushed by pistons safely.","title":"Is Pushable By Piston"}},"examples":[{"is_pushable":true,"is_pushable_by_piston":true}]},"CDB":{"type":"object","title":"Raid Trigger","additionalProperties":false,"description":"Attempts to trigger a raid at the entity's location.","required":[],"properties":{"triggered_event":{"$ref":"#/definitions/I","description":"Event to run we attempt to trigger a raid on the village.","title":"Triggered Event"}}},"CDC":{"type":"object","title":"Rail Movement","description":"Defines the entity's movement on the rails. An entity with this component is only allowed to move on the rail.","additionalProperties":false,"required":[],"properties":{"max_speed":{"type":"number","default":0.4,"description":"Maximum speed that this entity will move at when on the rail.","title":"Maximum Speed"}},"examples":[{"max_speed":0.4}]},"CDD":{"description":"Defines the behavior of the entity when the rail gets activated or deactivated.","type":"object","title":"Rail Sensor","additionalProperties":false,"required":[],"properties":{"check_block_types":{"type":"boolean","default":false,"description":"If true, on tick this entity will trigger its on_deactivate behavior.","title":"Check Block Types"},"eject_on_activate":{"type":"boolean","default":true,"description":"If true, this entity will eject all of its riders when it passes over an activated rail.","title":"Eject On Activate"},"eject_on_deactivate":{"type":"boolean","default":false,"description":"If true, this entity will eject all of its riders when it passes over a deactivated rail.","title":"Eject On Deactivate"},"on_activate":{"$ref":"#/definitions/I","description":"Event to call when the rail is activated.","title":"On Activate"},"on_deactivate":{"$ref":"#/definitions/I","description":"Event to call when the rail is deactivated.","title":"On Deactivate"},"tick_command_block_on_activate":{"type":"boolean","default":true,"description":"If true, command blocks will start ticking when passing over an activated rail.","title":"Tick Command Block On Activate"},"tick_command_block_on_deactivate":{"type":"boolean","default":false,"description":"If false, command blocks will stop ticking when passing over a deactivated rail.","title":"Tick Command Block On Deactivate"}},"examples":[{"check_block_types":false,"eject_on_activate":true,"eject_on_deactivate":false,"tick_command_block_on_activate":true,"tick_command_block_on_deactivate":false}]},"CDE":{"description":"Defines the ravager's response to their melee attack being blocked.","type":"object","title":"Ravager Blocked","additionalProperties":false,"required":[],"properties":{"knockback_strength":{"type":"number","default":3.0,"description":"The strength with which blocking entities should be knocked back.","title":"Knockback Strength"},"reaction_choices":{"type":"array","description":"A list of weighted responses to the melee attack being blocked.","title":"Reaction Choices","items":{"additionalProperties":false,"type":"object","properties":{"weight":{"type":"integer","title":"Weight","description":"The chance of this reaction being picked.","$comment":"UNDOCUMENTED"},"value":{"title":"Value","description":"An event that runs when this reaction is picked.","$comment":"UNDOCUMENTED","$ref":"#/definitions/I"}}}}},"examples":[{"knockback_strength":3,"reaction_choices":[]}]},"CDF_seats_spec":{"additionalProperties":false,"type":"object","properties":{"lock_rider_rotation":{"type":"number","default":181,"description":"Angle in degrees that a rider is allowed to rotate while riding this entity. Omit this property for no limit"},"max_rider_count":{"type":"integer","default":0,"description":"Defines the maximum number of riders that can be riding this entity for this seat to be valid."},"min_rider_count":{"type":"integer","default":0,"description":"Defines the minimum number of riders that need to be riding this entity before this seat can be used."},"position":{"$ref":"#/definitions/CCI","default":[0.0,0.0,0.0],"description":"Position of this seat relative to this entity's position."},"rotate_rider_by":{"$ref":"#/definitions/BEJ","description":"Offset to rotate riders by."}}},"CDF":{"description":"Determines whether this entity can be ridden. Allows specifying the different seat positions and quantity.","type":"object","title":"Rideable","additionalProperties":false,"properties":{"controlling_seat":{"type":"integer","default":0,"description":"The seat that designates the driver of the entity.","title":"Controlling Seat"},"crouching_skip_interact":{"type":"boolean","default":true,"description":"If true, this entity can't be interacted with if the entity interacting with it is crouching.","title":"Crouching Skip Interact"},"family_types":{"type":"array","items":{"type":"string"},"description":"List of entities that can ride this entity.","title":"Family Types"},"interact_text":{"type":"string","default":"","description":"The text to display when the player can interact with the entity when playing with Touch-screen controls.","title":"Interact Text"},"pull_in_entities":{"type":"boolean","default":false,"description":"If true, this entity will pull in entities that are in the correct family_types into any available seats.","title":"Pull In Entities"},"rider_can_interact":{"type":"boolean","default":false,"description":"If true, this entity will be picked when looked at by the rider.","title":"Rider Can Interact"},"seat_count":{"type":"integer","default":1,"description":"The number of entities that can ride this entity at the same time.","title":"Seat Count"},"seats":{"description":"The list of positions and number of riders for each position for entities riding this entity.","title":"Seats","oneOf":[{"type":"object","$ref":"#/definitions/CDF_seats_spec"},{"type":"array","items":{"$ref":"#/definitions/CDF_seats_spec"}}]}},"examples":[{"controlling_seat":0,"crouching_skip_interact":true,"family_types":[],"interact_text":"","pull_in_entities":false,"rider_can_interact":false,"seat_count":1}]},"CDG":{"type":"object","title":"Scale By Age","additionalProperties":false,"description":"Defines the entity's size interpolation based on the entity's age.","required":[],"properties":{"end_scale":{"type":"number","default":1,"description":"Ending scale of the entity when it's fully grown.","title":"End Scale"},"start_scale":{"type":"number","default":1,"description":"Initial scale of the newborn entity.","title":"Start Scale"}},"examples":[{"end_scale":1,"start_scale":1}]},"CDH":{"type":"object","title":"Scale","additionalProperties":false,"description":"Sets the entity's visual size.","required":[],"properties":{"value":{"type":"number","default":0.0,"description":"The value of the scale. 1.0 means the entity will appear at the scale they are defined in their model. Higher numbers make the entity bigger","title":"Value"}},"examples":[{"value":0.0}]},"CDI":{"description":"fires off scheduled mob events at time of day events.","type":"object","title":"Scheduler","additionalProperties":false,"properties":{"min_delay_secs":{"title":"Minimum Delay Secs","type":"number","default":0,"description":"The minimum the scheduler will be delayed.","minimum":0},"max_delay_secs":{"title":"Maximum Delay Secs","type":"number","default":0,"description":"The maximum the scheduler will be delayed.","minimum":0},"scheduled_events":{"title":"Scheduled Events","type":"array","description":"The list of triggers that fire when the conditions match the given filter criteria. If any filter criteria overlap the first defined event will be picked.","items":{"title":"Scheduled Events","additionalProperties":false,"type":"object","description":"A filter and event pair. The event runs when the filter criteria succeeds","properties":{"filters":{"$ref":"#/definitions/BB"},"event":{"$ref":"#/definitions/I"}}}}},"examples":[{"min_delay_secs":0,"max_delay_secs":0,"scheduled_events":[]}]},"CDJ":{"description":"Defines a list of items the mob wants to share or pick up. Each item must have the following parameters:","type":"object","title":"Shareables","additionalProperties":false,"properties":{"all_items":{"type":"boolean","default":false,"description":"A bucket for all other items in the game. Note this category is always least priority items.","title":"All Items"},"all_items_max_amount":{"type":"integer","default":-1,"description":"Maximum number of this item the mob will hold.","title":"All Items Maximum Amount"},"all_items_surplus_amount":{"type":"integer","default":-1,"description":"Number of this item considered extra that the entity wants to share.","title":"All Items Surplus Amount"},"all_items_want_amount":{"type":"integer","default":-1,"description":"Number of this item this entity wants to share.","title":"All Items Want Amount"},"items":{"type":"array","description":"List of items that the entity wants to share.","items":{"type":"object","title":"Item","description":"An Item that the entity wants to share.","additionalProperties":false,"properties":{"admire":{"type":"boolean","description":"Mob will admire the item after picking up by looking at it. For this to happen the mob needs to have an Admire component and an Admire goal.","title":"Admire"},"barter":{"type":"boolean","description":"Mob will barter for the item after picking it up. For this to work the mob needs to have a Barter component and a Barter goal.","title":"Barter"},"consume_item":{"type":"boolean","description":"Determines whether the mob will consume the item or not.","title":"Consume Item"},"craft_into":{"type":"string","description":"Defines the item this entity wants to craft with the item defined above. Should be an item name.","title":"Craft Into"},"item":{"type":"string","description":"The name of the item.","$ref":"#/definitions/H"},"item_aux":{"type":"integer","description":"Aux value for the item.","title":"Item Aux"},"max_amount":{"type":"integer","description":"Maximum number of this item the mob will hold.","title":"Maximum Amount"},"pickup_limit":{"type":"integer","description":"Maximum number of this item the mob will pick up during a single goal tick.","title":"Pickup Limit"},"priority":{"type":"integer","description":"Prioritizes which items the entity prefers. 0 is the highest priority.","title":"Priority"},"stored_in_inventory":{"type":"boolean","description":"Determines whether the mob will try to put the item in its inventory if it has the inventory component and if it can't be equipped.","title":"Stored In Inventory"},"surplus_amount":{"type":"integer","description":"Number of this item considered extra that the entity wants to share.","title":"Surplus Amount"},"want_amount":{"type":"integer","description":"Number of this item this entity wants to have.","title":"Want Amount"},"pickup_only":{"title":"Pickup Only","type":"boolean","description":"Determines whether the mob can only pickup the item and not drop it.","default":false}}}}},"examples":[{"all_items":false,"all_items_max_amount":-1,"all_items_surplus_amount":-1,"all_items_want_amount":-1,"items":[]}]},"CEA":{"description":"Defines the entity's ranged attack behavior.","type":"object","title":"Shooter","additionalProperties":false,"properties":{"aux_val":{"type":"integer","title":"Aux Val","default":-1,"description":"ID of the Potion effect to be applied on hit."},"def":{"title":"Def","type":"string","examples":["minecraft:arrow","minecraft:small_fireball","minecraft:thrown_trident"],"description":"Actor definition to use as projectile for the ranged attack. The actor definition must have the projectile component to be able to be shot as a projectile"},"type":{"title":"Type","type":"string","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","examples":["dragonfireball"]}},"examples":[{"def":"minecraft:small_fireball"}]},"CEB":{"description":"Defines the entity's `sit` state.","type":"object","title":"Sittable","additionalProperties":false,"required":[],"properties":{"sit_event":{"$ref":"#/definitions/I","description":"Event to run when the entity enters the `sit` state.","title":"Sit Event"},"stand_event":{"$ref":"#/definitions/I","description":"Event to run when the entity exits the `sit` state.","title":"Stand Event"}}},"CEC":{"type":"object","title":"Skin Id","additionalProperties":false,"description":"Skin ID value. Can be used to differentiate skins, such as base skins for villagers.","required":[],"properties":{"value":{"type":"integer","default":0,"description":"The ID of the skin. By convention, 0 is the ID of the base skin","title":"Value"}},"examples":[{"value":0}]},"CED":{"type":"object","title":"Sound Volume","additionalProperties":false,"description":"Sets the entity's base volume for sound effects.","required":[],"properties":{"value":{"type":"number","default":1.0,"description":"The value of the volume the entity uses for sound effects.","title":"Value"}},"examples":[{"value":1.0}]},"CEE_entity_spawn":{"additionalProperties":false,"type":"object","title":"Entity Spawn","properties":{"filters":{"description":"If present, the specified entity will only spawn if the filter evaluates to true.","$ref":"#/definitions/BB"},"max_wait_time":{"type":"integer","default":600,"description":"Maximum amount of time to randomly wait in seconds before another entity is spawned.","title":"Maximum Wait Time"},"min_wait_time":{"type":"integer","default":300,"description":"Minimum amount of time to randomly wait in seconds before another entity is spawned.","title":"Minimum Wait Time"},"num_to_spawn":{"type":"integer","default":1,"description":"The number of entities of this type to spawn each time that this triggers.","title":"Num To Spawn"},"should_leash":{"type":"boolean","default":false,"description":"If true, this the spawned entity will be leashed to the parent.","title":"Should Leash"},"single_use":{"type":"boolean","default":false,"description":"If true, this component will only ever spawn the specified entity once.","title":"Single Use"},"spawn_entity":{"type":"string","default":"","description":"Identifier of the entity to spawn, leave empty to spawn the item defined above instead.","title":"Spawn Entity"},"spawn_event":{"type":"string","default":"minecraft:entity_born","description":"Event to call when the entity is spawned.","title":"Spawn Event"},"spawn_item":{"type":"string","default":"egg","description":"Item identifier of the item to spawn.","title":"Spawn Item"},"spawn_method":{"type":"string","default":"born","description":"Method to use to spawn the entity.","title":"Spawn Method"},"spawn_sound":{"type":"string","default":"plop","description":"Identifier of the sound effect to play when the entity is spawned.","title":"Spawn Sound"}}},"CEE":{"type":"object","description":"Adds a timer after which this entity will spawn another entity or item (similar to vanilla's chicken's egg-laying behavior).","title":"Spawn Entity","additionalProperties":false,"properties":{"entities":{"title":"Entities","description":"The entities to spawn.","oneOf":[{"type":"object","$ref":"#/definitions/CEE_entity_spawn"},{"type":"array","items":{"type":"object","$ref":"#/definitions/CEE_entity_spawn"}}]}}},"CEF":{"type":"object","title":"Spell Effects","additionalProperties":false,"description":"Defines what mob effects to add and remove to the entity when adding this component.","required":[],"properties":{"add_effects":{"type":"array","description":"List of effects to add to this entity after adding this component.","items":{"oneOf":[{"type":"string"},{"type":"object","additionalProperties":false,"properties":{"amplifier":{"type":"integer","title":"Amplifier","description":"The level of the effect, same as used in the /effect command (0 for level I, 1 for level II, etc). Defaults to 0.","default":0,"minimum":0},"ambient":{"title":"Ambient","description":"Boolean value that should cause the particles emitted by the entity to be partially transparent. This does not work properly, resulting in this property having no effect. Defaults to false.","default":false,"type":"boolean"},"duration":{"title":"Duration","description":"The amount of time in seconds the effect should last. This allows for fractional numbers. For example, instant effects should be set to 0.05 seconds (one tick).","type":"number","minimum":0},"display_on_screen_animation":{"type":"boolean","title":"Display On Screen Animation","description":"Boolean value. When set to true, applying this effect displays an animated graphic on-screen similar to the totem of undying effect. Obviously, this only works for players. Defaults to false."},"effect":{"type":"string","title":"Effect","description":"The string identifier of the status effect to add. These are the same as used in the /effect command."},"visible":{"type":"boolean","title":"Visible","description":"Boolean value. When set to true, the effect will be visible to the player. Defaults to true."}}}]},"title":"Add Effects"},"remove_effects":{"title":"Remove Effects","description":"List of identifiers of effects to be removed from this entity after adding this component.","oneOf":[{"type":"array","items":{"type":["string"],"title":"Spell Effect ID","description":"identifier of the effect to be removed from this entity after adding this component."}},{"type":"string"}]}},"examples":[{"add_effects":[]}]},"CEG":{"description":"Defines the entity's strength to carry items.","type":"object","title":"Strength","additionalProperties":false,"properties":{"max":{"type":"integer","default":5,"description":"The maximum strength of this entity.","title":"Maximum"},"value":{"type":"integer","default":1,"description":"The initial value of the strength.","title":"Value"}},"examples":[{"max":5,"value":1}]},"CEH":{"type":"object","title":"Suspect Tracking","additionalProperties":false,"required":[],"properties":{},"description":"Allows this entity to remember suspicious locations."},"CEI":{"type":"object","title":"Tameable","description":"Defines the rules for a mob to be tamed by the player.","required":[],"additionalProperties":false,"properties":{"probability":{"type":"number","default":1,"description":"The chance of taming the entity with each item use between 0.0 and 1.0, where 1.0 is 100%","minimum":0,"maximum":1,"title":"Probability"},"tame_event":{"title":"Tame Event","$ref":"#/definitions/I","description":"Event to run when this entity becomes tamed."},"tame_items":{"title":"Tame Items","description":"The list of items that can be used to tame this entity.","oneOf":[{"type":"array","items":{"$ref":"#/definitions/H"}},{"$ref":"#/definitions/H"}]}},"examples":[{"probability":1}]},"CEJ_feed_items":{"type":"object","description":"The list of items that can be used to increase the entity's temper and speed up the taming process.","properties":{"item":{"$ref":"#/definitions/H","description":"Name of the item this entity likes and can be used to increase this entity's temper.","title":"Item"},"temper_mod":{"type":"number","default":0,"description":"The amount of temper this entity gains when fed this item.","title":"Temper Mod"}}},"CEJ_auto_reject_items":{"type":"object","description":"The list of items that this entity dislikes and will cause it to get angry if used while untamed.","properties":{"item":{"$ref":"#/definitions/H","description":"Name of the item this entity dislikes and will cause it to get angry if used while untamed."}}},"CEJ":{"description":"Allows the Entity to be tamed by mounting it.","type":"object","title":"Tamemount","additionalProperties":false,"properties":{"attempt_temper_mod":{"type":"integer","default":5,"description":"The amount the entity's temper will increase when mounted.","title":"Attempt Temper Mod"},"auto_reject_items":{"title":"Auto Reject Items","description":"The list of items that, if carried while interacting with the entity, will anger it.","oneOf":[{"type":"object","$ref":"#/definitions/CEJ_auto_reject_items"},{"type":"array","items":{"$ref":"#/definitions/CEJ_auto_reject_items"}}]},"feed_text":{"type":"string","description":"The text that shows in the feeding interact button.","title":"Feed Text"},"feed_items":{"description":"The list of items that can be used to increase the entity's temper and speed up the taming process.","title":"Feed Items","oneOf":[{"type":"object","$ref":"#/definitions/CEJ_feed_items"},{"type":"array","items":{"$ref":"#/definitions/CEJ_feed_items"}}]},"max_temper":{"type":"integer","default":100,"description":"The maximum value for the entity's random starting temper.","title":"Maximum Temper"},"min_temper":{"type":"integer","default":0,"description":"The minimum value for the entity's random starting temper.","title":"Minimum Temper"},"ride_text":{"type":"string","description":"The text that shows in the riding interact button.","title":"Ride Text"},"tame_event":{"$ref":"#/definitions/I","description":"Event that triggers when the entity becomes tamed.","title":"Tame Event"}},"examples":[{"attempt_temper_mod":5,"feed_text":"example","max_temper":100,"min_temper":0,"ride_text":"example"}]},"CFA":{"description":"Defines the entity's range within which it can see or sense other entities to target them.","type":"object","title":"Target Nearby Sensor","additionalProperties":false,"required":[],"properties":{"must_see":{"type":"boolean","default":false,"description":"Whether the other entity needs to be visible to trigger `inside` events.","title":"Must See"},"inside_range":{"type":"number","default":1,"description":"Maximum distance in blocks that another entity will be considered in the `inside` range.","title":"Inside Range"},"on_inside_range":{"$ref":"#/definitions/I","description":"Event to call when an entity gets in the inside range. Can specify `event` for the name of the event and `target` for the target of the event","title":"On Inside Range"},"on_outside_range":{"$ref":"#/definitions/I","description":"Event to call when an entity gets in the outside range. Can specify `event` for the name of the event and `target` for the target of the event","title":"On Outside Range"},"on_vision_lost_inside_range":{"$ref":"#/definitions/I","description":"Event to call when an entity exits visual range. Can specify `event` for the name of the event and `target` for the target of the event","title":"On Vision Lost Inside Range"},"outside_range":{"type":"number","default":5,"description":"Maximum distance in blocks that another entity will be considered in the `outside` range.","title":"Outside Range"}},"examples":[{"must_see":false,"inside_range":1,"outside_range":5}]},"CFB":{"description":"Defines an entity's teleporting behavior.","type":"object","title":"Teleport","additionalProperties":false,"required":[],"properties":{"dark_teleport_chance":{"type":"number","default":0.01,"description":"Modifies the chance that the entity will teleport if the entity is in darkness.","title":"Dark Teleport Chance"},"light_teleport_chance":{"type":"number","default":0.01,"description":"Modifies the chance that the entity will teleport if the entity is in daylight.","title":"Light Teleport Chance"},"max_random_teleport_time":{"type":"number","default":20,"description":"Maximum amount of time in seconds between random teleports.","title":"Maximum Random Teleport Time"},"min_random_teleport_time":{"type":"number","default":0,"description":"Minimum amount of time in seconds between random teleports.","title":"Minimum Random Teleport Time"},"random_teleport_cube":{"title":"Random Teleport Cube","description":"Entity will teleport to a random position within the area defined by this cube.","type":"array","default":[32.0,16.0,32.0],"items":[{"type":"number","title":"A"},{"type":"number","title":"B"},{"type":"number","title":"C"}]},"random_teleports":{"type":"boolean","default":true,"description":"If true, the entity will teleport randomly.","title":"Random Teleports"},"target_distance":{"type":"number","default":16,"description":"Maximum distance the entity will teleport when chasing a target.","title":"Target Distance"},"target_teleport_chance":{"type":"number","default":1,"description":"The chance that the entity will teleport between 0.0 and 1.0. 1.0 means 100%","title":"Target Teleport Chance"}},"examples":[{"dark_teleport_chance":0.01,"light_teleport_chance":0.01,"max_random_teleport_time":20,"min_random_teleport_time":0,"random_teleport_cube":[],"random_teleports":true,"target_distance":16,"target_teleport_chance":1}]},"CFC":{"description":"Defines if the entity ticks the world and the radius around it to tick.","type":"object","title":"Tick World","additionalProperties":false,"required":[],"properties":{"distance_to_players":{"type":"number","default":128,"description":"The distance at which the closest player has to be before this entity despawns. This option will be ignored if never_despawn is true. Min: 128 blocks.","minimum":128,"title":"Distance To Players"},"never_despawn":{"type":"boolean","default":true,"description":"If true, this entity will not despawn even if players are far away. If false, distance_to_players will be used to determine when to despawn.","title":"Never Despawn"},"radius":{"type":"integer","default":2,"description":"The area around the entity to tick. Default: 2. Allowed range: 2-6.","minimum":2,"maximum":6,"title":"Radius"}},"examples":[{"distance_to_players":128,"never_despawn":true,"radius":2}]},"CFD":{"type":"object","title":"Timer","description":"Adds a timer after which an event will fire.","required":[],"additionalProperties":false,"properties":{"looping":{"type":"boolean","default":true,"description":"If true, the timer will restart every time after it fires.","title":"Looping"},"randomInterval":{"type":"boolean","default":true,"description":"If true, the amount of time on the timer will be random between the Minimum and Maximum values specified in time.","title":"Random Interval"},"time":{"description":"Amount of time in seconds for the timer. Can be specified as a number or a pair of numbers (Minimum and max). Incompatible with random_time_choices.","title":"Time","examples":[1,[1.0,5.0]],"oneOf":[{"type":"array","default":[0.0,0.0],"items":[{"type":"number","title":"Minimum"},{"type":"number","title":"Maximum"}]},{"type":"number","default":0}]},"time_down_event":{"description":"Event to fire when the time on the timer runs out.","title":"Time Down Event","$ref":"#/definitions/I"},"random_time_choices":{"type":"array","default":[],"description":"This is a list of objects, representing one value in seconds that can be picked before firing the event and an optional weight. Incompatible with time.","title":"Random Time Choices","items":{"title":"Random Time Choices","description":"representing one value in seconds that can be picked before firing the event and an optional weight. Incompatible with time.","type":"object","additionalProperties":false,"properties":{"weight":{"type":"integer","description":"The weight on how likely this section is to trigger.","$comment":"UNDOCUMENTED","title":"Weight"},"value":{"type":"integer","description":"The value in seconds that would be used if this section was picked.","$comment":"UNDOCUMENTED","title":"Value"}}}}},"examples":[{"time":1,"looping":true,"time_down_event":{"event":"example:foo","target":"self"}}]},"CFE":{"description":"Resupplies an entity's trade.","type":"object","title":"Trade Resupply","additionalProperties":false,"properties":{}},"CFF":{"description":"Defines this entity's ability to trade with players.","type":"object","title":"Trade Table","additionalProperties":false,"required":[],"properties":{"convert_trades_economy":{"type":"boolean","default":false,"description":"Determines when the mob transforms, if the trades should be converted when the new mob has a economy_trade_table. When the trades are converted, the mob will generate a new trade list with their new trade table, but then it will try to convert any of the same trades over to have the same enchantments and user data. For example, if the original has a Emerald to Enchanted Iron Sword (Sharpness 1), and the new trade also has an Emerald for Enchanted Iron Sword, then the enchantment will be Sharpness 1.","title":"Convert Trades Economy"},"display_name":{"type":"string","description":"Name to be displayed while trading with this entity.","title":"Display Name"},"new_screen":{"type":"boolean","default":false,"description":"Used to determine if trading with entity opens the new trade screen.","title":"New Screen"},"persist_trades":{"type":"boolean","default":false,"description":"Determines if the trades should persist when the mob transforms. This makes it so that the next time the mob is transformed to something with a trade_table or economy_trade_table, then it keeps their trades.","title":"Persist Trades"},"table":{"type":"string","description":"File path relative to the resource pack root for this entity's trades.","title":"Table"}},"examples":[{"convert_trades_economy":false,"display_name":"example","new_screen":false,"persist_trades":false,"table":"example"}]},"CFG":{"description":"Defines the entity's trail to carry items.","type":"object","title":"Trail","additionalProperties":false,"properties":{"block_type":{"type":"string","default":"air","description":"The type of block you wish to be spawned by the entity as it move about the world. Solid blocks may not be spawned at an offset of ().","title":"Block Type"},"spawn_filter":{"$ref":"#/definitions/BB","description":"One or more conditions that must be met in order to cause the chosen block type to spawn.","title":"Spawn Filter"},"spawn_offset":{"type":"array","default":[0,0,0],"description":"The distance from the entities current position to spawn the block. Capped at up to 16 blocks away. The X value is left/right(-/+), the Z value is backward/forward(-/+), the Y value is below/above(-/+).","title":"Spawn Offset","items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]}},"examples":[{"block_type":"air","spawn_offset":[0,0,0]}]},"CFH":{"description":"Defines this entity's ability to trade with players.","type":"object","title":"Transformation","additionalProperties":false,"properties":{"add":{"type":"object","description":"List of components to add to the entity after the transformation.","title":"Add","additionalProperties":false,"properties":{"component_groups":{"type":"array","description":"Names of component groups to add.","items":{"type":"string"}}}},"begin_transform_sound":{"type":"string","description":"Sound to play when the transformation starts.","title":"Begin Transform Sound"},"delay":{"description":"Defines the properties of the delay for the transformation.","title":"Delay","oneOf":[{"type":"number"},{"type":"object","properties":{"block_assist_chance":{"type":"number","default":0,"description":"Chance that the entity will look for nearby blocks that can speed up the transformation. Value must be between 0.0 and 1.0"},"block_chance":{"type":"number","default":0,"description":"Chance that, once a block is found, will help speed up the transformation."},"block_max":{"type":"integer","default":0,"description":"Maximum number of blocks the entity will look for to aid in the transformation. If not defined or set to 0, it will be set to the block radius"},"block_radius":{"type":"integer","default":0,"description":"Distance in Blocks that the entity will search for blocks that can help the transformation."},"block_types":{"type":"array","description":"List of blocks that can help the transformation of this entity.","items":{"$ref":"#/definitions/JI"}},"value":{"type":"number","default":0,"description":"Time in seconds before the entity transforms."}}}]},"drop_equipment":{"type":"boolean","default":false,"description":"Cause the entity to drop all equipment upon transformation.","title":"Drop Equipment"},"drop_inventory":{"type":"boolean","default":false,"description":"Cause the entity to drop all items in inventory upon transformation.","title":"Drop Inventory"},"into":{"type":"string","default":"","description":"Entity Definition that this entity will transform into.","title":"Into"},"keep_level":{"type":"boolean","default":false,"description":"If this entity has trades and has leveled up, it should maintain that level after transformation.","title":"Keep Level"},"keep_owner":{"type":"boolean","default":false,"description":"If this entity is owned by another entity, it should remain owned after transformation.","title":"Keep Owner"},"preserve_equipment":{"type":"boolean","default":false,"description":"Cause the entity to keep equipment after going through transformation.","title":"Preserve Equipment"},"transformation_sound":{"type":"string","default":"","description":"Sound to play when the entity is done transforming.","title":"Transformation Sound"}},"examples":[{"add":{},"begin_transform_sound":"example","drop_equipment":false,"drop_inventory":false,"into":"","keep_level":false,"keep_owner":false,"preserve_equipment":false,"transformation_sound":""}]},"CFI":{"type":"object","title":"Trust","description":"Allows this entity to trust multiple players.","required":[],"additionalProperties":false,"properties":{}},"CFJ":{"type":"object","title":"Trusting","description":"Defines the rules for a mob to trust players.","required":[],"additionalProperties":false,"properties":{"probability":{"type":"number","default":1,"description":"The chance of the entity trusting with each item use between 0.0 and 1.0, where 1.0 is 100%","title":"Probability"},"trust_event":{"$ref":"#/definitions/I","description":"Event to run when this entity becomes trusting.","title":"Trust Event"},"trust_items":{"title":"Trust Items","type":"array","description":"The list of items that can be used to get the entity to trust players.","items":{"$ref":"#/definitions/H","title":"Trust Item"}}},"examples":[{"probability":1,"trust_event":"self:trust"},{"probability":1,"trust_items":[],"trust_event":"self:trust"}]},"CGA":{"type":"object","title":"Type Family","additionalProperties":false,"description":"Defines the families this entity belongs to.","required":["family"],"examples":[{"family":[]},{"family":["monster"]},{"family":["mob"]},{"family":["animal"]},{"family":["npc"]}],"properties":{"family":{"type":"array","items":{"type":"string","description":"Family name.","title":"Family","examples":["monster","mob","animal","npc"]},"description":"List of family names.","title":"Family"}}},"CGB":{"description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","type":"object","title":"Underwater Movement","additionalProperties":false,"required":[],"properties":{"value":{"type":"number","title":"Value","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED"}},"examples":[{"value":0.0}]},"CGC":{"additionalProperties":false,"type":"object","title":"Variant","description":"Used to differentiate the component group of a variant of an entity from others (e.g. ocelot, villager) Parameters","required":["value"],"properties":{"value":{"type":"integer","default":0,"description":"The ID of the variant. By convention, 0 is the ID of the base entity","title":"Value"}},"examples":[{"value":0},{"value":1},{"value":2},{"value":3},{"value":4},{"value":5},{"value":6},{"value":7},{"value":8},{"value":9}]},"CGD":{"type":"object","title":"Vibration Damper","additionalProperties":false,"required":[],"properties":{},"description":"Vibrations emitted by this entity will be ignored."},"CGE":{"type":"object","title":"Vibration Listener","additionalProperties":false,"required":[],"properties":{},"description":"This entity will respond to vibrations."},"CGF":{"additionalProperties":false,"type":"object","title":"Walk Animation Speed","description":"Sets the speed multiplier for this entity's walk animation speed.","required":[],"properties":{"value":{"type":"number","default":1,"description":"The higher the number, the faster the animation for walking plays. A value of 1.0 means normal speed, while 2.0 means twice as fast","title":"Value"}},"examples":[{"value":1}]},"CGG":{"description":"Sets that this entity wants to become a jockey.","type":"object","title":"Wants Jockey","additionalProperties":false,"properties":{}},"CGH":{"description":"Defines the speed with which an entity can move through water.","type":"object","title":"Water Movement","additionalProperties":false,"required":[],"properties":{"drag_factor":{"type":"number","default":0.8,"description":"Drag factor to determine movement speed when in water.","title":"Drag Factor"}},"examples":[{"drag_factor":0.8}]},"CGJ":{"additionalProperties":false,"type":"integer","title":"Priority","minimum":0,"description":"How important this behavior is. Lower priority behaviors will be executed first."},"CGI":{"type":"object","title":"Admire Item","description":"Enables the mob to admire items that have been configured as admirable. Must be used in combination with the admire_item component.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"admire_item_sound":{"title":"Admire Item Sound","type":"string","description":"The sound event to play when admiring the item."},"on_admire_item_start":{"title":"On Admire Item Start","$ref":"#/definitions/I","description":"The event to run when admiring the item."},"on_admire_item_stop":{"title":"On Admire Item Stop","$ref":"#/definitions/I","description":"The event to run when no longer admiring the item."},"sound_interval":{"title":"Sound Interval","default":0,"description":"The range of time in seconds to randomly wait before playing the sound again.","oneOf":[{"type":"array","items":[{"type":"number","title":"Maximum"},{"type":"number","title":"Maximum"}]},{"type":"number"},{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number"},"range_max":{"type":"number"}}}]}},"examples":[{"admire_item_sound":""}]},"CHA":{"type":"object","title":"Avoid Block","description":"Allows this entity to avoid certain blocks.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"tick_interval":{"type":"integer","title":"Tick Interval","default":1,"description":"Should start tick interval."},"search_range":{"type":"integer","title":"Search Range","description":"Maximum distance to look for a block in xz."},"search_height":{"type":"integer","title":"Search Height","description":"Maximum distance to look for a block in y."},"sprint_speed_modifier":{"type":"number","title":"Sprint Speed Modifier","description":"Modifier for sprint speed. 1.0 means keep the regular speed, while higher numbers make the sprint speed faster."},"target_selection_method":{"type":"string","title":"Target Selection Method","description":"Block search method.","enum":["nearest"]},"target_blocks":{"type":"array","title":"Target Blocks","description":"List of block types this mob avoids.","items":{"title":"Block ID","$ref":"#/definitions/JI"}},"avoid_block_sound":{"type":"string","title":"Avoid Block Sound","description":"The sound event to play when the mob is avoiding a block."},"walk_speed_modifier":{"type":"number","title":"Walk Speed Modifier","default":1.0,"description":"Modifier for walking speed. 1.0 means keep the regular speed, while higher numbers make the walking speed faster."},"on_escape":{"type":"array","title":"Walk Speed Modifier","description":"Escape trigger.","items":{"$ref":"#/definitions/I"}},"sound_interval":{"default":0,"description":"The range of time in seconds to randomly wait before playing the sound again.","title":"Sound Interval","oneOf":[{"type":"array","items":[{"type":"number","title":"Maximum"},{"type":"number","title":"Maximum"}]},{"type":"number"},{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number"},"range_max":{"type":"number"}}}]}},"examples":[{"tick_interval":0,"search_range":0,"search_height":0,"sprint_speed_modifier":0.0,"target_selection_method":"example","target_blocks":[],"avoid_block_sound":"example","walk_speed_modifier":0.0,"on_escape":[]}]},"CHC_entity_definition":{"description":"The entity type.","title":"Entity Type","type":"object","properties":{"filters":{"type":"object","$ref":"#/definitions/BB"},"max_dist":{"type":"number","description":"Maximum distance this mob can be away to be a valid choice.","default":16,"title":"Maximum Dist"},"walk_speed_multiplier":{"type":"number","description":"Multiplier for the walking speed. A value of 1.0 means the speed is unchanged","default":16,"title":"Walk Speed Multiplier"},"sprint_speed_multiplier":{"type":"number","description":"Multiplier for the running speed. A value of 1.0 means the speed is unchanged","default":16,"title":"Sprint Speed Multiplier"},"must_see":{"type":"boolean","description":"If true, the mob has to be visible to be a valid choice.","default":false,"title":"Must See"},"must_see_forget_duration":{"type":"number","description":"Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more.","default":3,"title":"Must See Forget Duration"}}},"CHC":{"title":"Entity Types","oneOf":[{"type":"array","items":{"$ref":"#/definitions/CHC_entity_definition"}},{"$ref":"#/definitions/CHC_entity_definition"}]},"CHB":{"additionalProperties":false,"type":"object","title":"Avoid Mob Type","description":"Allows the entity to run away from other entities that meet the criteria specified.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"avoid_mob_sound":{"title":"Avoid Mob Sound","type":"string","default":"","description":"The sound event to play when the mob is avoiding another mob."},"avoid_target_xz":{"title":"Avoid Target XZ","type":"integer","default":16,"description":"The next target position the entity chooses to avoid another entity will be chosen within this XZ Distance."},"avoid_target_y":{"title":"Avoid Target Y","type":"integer","default":7,"description":"The next target position the entity chooses to avoid another entity will be chosen within this Y Distance."},"ignore_visibilty":{"title":"Ignore Visibilty","type":"boolean","default":false,"description":"Whether or not to ignore direct line of sight while this entity is running away from other specified entities."},"max_dist":{"title":"Max Dist","type":"number","default":3.0,"description":"Maximum distance to look for an avoid target for the entity."},"max_flee":{"title":"Max Flee","type":"number","default":10.0,"description":"How many blocks away from its avoid target the entity must be for it to stop fleeing from the avoid target."},"probability_per_strength":{"title":"Probability Per Strength","type":"number","default":1.0,"description":"Percent chance this entity will stop avoiding another entity based on that entity's strength, where 1.0 = 100%."},"remove_target":{"title":"Remove Target","type":"boolean","default":false,"description":"Determine if we should remove target when fleeing or not."},"sprint_distance":{"title":"Sprint Distance","type":"number","default":7.0,"description":"How many blocks within range of its avoid target the entity must be for it to begin sprinting away from the avoid target."},"sprint_speed_multiplier":{"title":"Sprint Speed Multiplier","type":"number","default":1.0,"description":"Multiplier for sprint speed. 1.0 means keep the regular speed, while higher numbers make the sprint speed faster."},"walk_speed_multiplier":{"title":"Walk Speed Multiplier","type":"number","default":1.0,"description":"Multiplier for walking speed. 1.0 means keep the regular speed, while higher numbers make the walking speed faster."},"ignore_visibility":{"type":"boolean","default":false,"description":"If true, visbility between this entity and the mob type will not be checked.","title":"Ignore Visibility"},"entity_types":{"$ref":"#/definitions/CHC","title":"Entity Types","description":"The list of conditions another entity must meet to be a valid target to avoid."},"on_escape_event":{"$ref":"#/definitions/I","title":"On Escape Event","description":"Event that is triggered when escaping from a mob."},"sound_interval":{"title":"Sound Interval","default":[3.0,8.0],"description":"The range of time in seconds to randomly wait before playing the sound again.","oneOf":[{"type":"array","items":[{"type":"number","title":"Maximum"},{"type":"number","title":"Maximum"}]},{"type":"number"},{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number"},"range_max":{"type":"number"}}}]}},"examples":[{"max_dist":0,"max_flee":0.5,"walk_speed_multiplier":1.0,"sprint_speed_multiplier":1.0,"probability_per_strength":1.0,"ignore_visibility":false,"avoid_mob_sound":"example","remove_target":true}]},"CHD":{"type":"object","title":"Barter","description":"Enables the mob to barter for items that have been configured as barter currency. Must be used in combination with the barter component","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"CHE":{"type":"object","title":"Beg","additionalProperties":false,"description":"Allows this mob to look at and follow the player that holds food they like.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"items":{"type":"array","description":"List of items that this mob likes.","items":{"type":"string","description":"List of items that this mob likes.","title":"Properties","$ref":"#/definitions/H"},"title":"Properties"},"look_distance":{"type":"number","default":8,"description":"Distance in blocks the mob will beg from.","title":"Look Distance"},"look_time":{"description":"The range of time in seconds this mob will stare at the player holding a food they like, begging for it.","$ref":"#/definitions/JD","default":[2,4],"title":"Look Time"}},"examples":[{"items":[],"look_distance":8}]},"CHG":{"additionalProperties":false,"default":1.0,"description":"Movement speed multiplier of the mob when using this AI Goal.","type":"number","title":"Speed Multiplier"},"CHF":{"type":"object","title":"Break Door","description":"Allows this mob to break doors.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}},"additionalProperties":false},"CHH":{"additionalProperties":false,"type":"object","title":"Breed","description":"Allows this mob to breed with other mobs.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"CHI":{"additionalProperties":false,"type":"object","title":"Celebrate Survive","description":"Allows this entity to celebrate surviving a raid by shooting fireworks.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"fireworks_interval":{"title":"Fireworks Interval","$ref":"#/definitions/JD","description":"Minimum and maximum time between firework (positive, in seconds)."},"duration":{"title":"Duration","description":"The duration in seconds that the celebration lasts for.","type":"number"},"on_celebration_end_event":{"title":"On Celebration End Event","description":"The event to trigger when the goal's duration expires.","$ref":"#/definitions/I"}}},"CHJ":{"type":"object","title":"Celebrate","description":"Allows this entity to celebrate surviving a raid by making celebration sounds and jumping.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"celebration_sound":{"type":"string","default":"","description":"The sound event to trigger during the celebration.","title":"Celebration Sound"},"duration":{"type":"number","default":30,"description":"The duration in seconds that the celebration lasts for.","title":"Duration"},"jump_interval":{"default":[1,3.5],"description":"Minimum and maximum time between jumping (positive, in seconds).","title":"Jump Interval","oneOf":[{"type":"array","items":[{"type":"number","title":"Maximum"},{"type":"number","title":"Maximum"}]},{"type":"number"},{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number"},"range_max":{"type":"number"}}}]},"on_celebration_end_event":{"$ref":"#/definitions/JA","description":"The event to trigger when the goal's duration expires.","title":"On Celebration End Event"},"sound_interval":{"default":0,"description":"Minimum and maximum time between sound events (positive, in seconds).","title":"Sound Interval","$ref":"#/definitions/JD"}},"examples":[{"celebration_sound":"","duration":1}]},"CIA":{"additionalProperties":false,"type":"object","title":"Charge Attack","description":"Allows this entity to damage a target by using a running attack.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"max_distance":{"title":"Max Distance","type":"number","default":3,"description":"A charge attack cannot start if the entity is farther than this distance to the target."},"min_distance":{"title":"Min Distance","type":"number","default":2,"description":"A charge attack cannot start if the entity is closer than this distance to the target."},"success_rate":{"title":"Success Rate","type":"number","default":0.1428,"description":"Percent chance this entity will start a charge attack, if not already attacking (1.0 = 100%)"}}},"CIB":{"type":"object","title":"Charge Held Item","description":"Allows an entity to charge and use their held item.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"items":{"type":"array","title":"Items","description":"The list of items that can be used to charge the held item. This list is required and must have at least one item in it.","items":{"type":"string","description":"Items names to be used.","title":"Item ID"}}},"examples":[{"items":[]}]},"CIC":{"type":"object","title":"Circle Around Anchor","additionalProperties":false,"description":"Causes an entity to circle around an anchor point placed near a point or target.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"radius_range":{"$ref":"#/definitions/JD","default":[5.0,15.0],"description":"Horizontal distance from the anchor point this entity must stay within upon a successful radius adjustment.","title":"Radius Range"},"radius_change_chance":{"type":"integer","default":250,"description":"A random value to determine when to increase the size of the radius up to the maximum. This has a 1/value chance every tick to do so.","title":"Radius Change Chance"},"height_above_target_range":{"$ref":"#/definitions/JD","default":[0.0,0.0],"description":"The number of blocks above the target that the next anchor point can be set. This value is used only when the entity is tracking a target.","title":"Height Above Target Range"},"height_offset_range":{"$ref":"#/definitions/JD","default":[0.0,0.0],"description":"The range of height in blocks offset the mob can have from it's anchor point.","title":"Height Offset Range"},"height_change_chance":{"type":"integer","default":350,"description":"A random value to determine when to change the height of the mob from the anchor point. This has a 1/value chance every tick to do so.","title":"Height Change Chance"},"goal_radius":{"type":"number","default":0.5,"description":"Maximum distance from the anchor-point in which this entity considers itself to have reached the anchor point. This is to prevent the entity from bouncing back and forth trying to reach a specific spot.","title":"Goal Radius"},"radius_change":{"type":"number","title":"Radius Change","description":"The number of blocks to increase the current movement radius by, upon successful `radius_adjustment_chance`. If the current radius increases over the range maximum, the current radius will be set back to the range minimum and the entity will change between clockwise and counter-clockwise movement."},"radius_adjustment_chance":{"type":"number","title":"Radius Adjustment Chance","description":"Percent chance to determine how often to increase the size of the current movement radius around the anchor point. 1 = 100%. `radius_change_chance` is deprecated and has been replaced with `radius_adjustment_chance`."},"height_adjustment_chance":{"type":"number","title":"Height Adjustment Chance","description":"Percent chance to determine how often to increase or decrease the current height around the anchor point. 1 = 100%. `height_change_chance` is deprecated and has been replaced with `height_adjustment_chance`."},"angle_change":{"type":"number","title":"Angle Change","description":"Number of degrees to change this entity's facing by, when the entity selects its next anchor point."}},"examples":[{"speed_multiplier":1.0,"radius_change_chance":250,"height_change_chance":350,"goal_radius":0.5,"radius_change":0.0,"radius_adjustment_chance":0.0,"height_adjustment_chance":0.0,"angle_change":0.0}]},"CID":{"additionalProperties":false,"type":"object","title":"Controlled By Player","description":"Allows the entity to be controlled by the player using an item in the item_controllable property (required). Also requires the minecraft:movement property, and the minecraft:rideable property. On every tick, the entity will attempt to rotate towards where the player is facing with the control item whilst simultaneously moving forward.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"fractional_rotation":{"title":"Fractional Rotation","type":"number","default":0.5,"description":"The entity will attempt to rotate to face where the player is facing each tick. The entity will target this percentage of their difference in their current facing angles each tick (from 0.0 to 1.0 where 1.0 = 100%). This is limited by FractionalRotationLimit. A value of 0.0 will result in the entity no longer turning to where the player is facing."},"fractional_rotation_limit":{"title":"Fractional Rotation Limit","type":"number","default":5.0,"description":"Limits the total degrees the entity can rotate to face where the player is facing on each tick."},"mount_speed_multiplier":{"title":"Mount Speed Multiplier","type":"number","default":1.0,"description":"Speed multiplier of mount when controlled by player."}},"examples":[{"mount_speed_multiplier":1}]},"CIG":{"type":"array","title":"Vector Of 2 Items","description":"An vector of 2 integers.","examples":[[0,0]],"items":[{"type":"integer","description":"The X component.","title":"X","default":0},{"type":"integer","description":"The Y component.","title":"Y","default":0}],"defaultSnippets":[{"label":"New Array 2","body":["^$1","^$2"]}]},"CIF":{"oneOf":[{"type":"array","$ref":"#/definitions/CIG"},{"title":"Value","type":"integer"}],"examples":[0,[0,10]],"defaultSnippets":[{"label":"New Array 2","body":["^$1","^$2"]}]},"CIE":{"type":"object","title":"Eat Block","description":"[EXPERIMENTAL BEHAVIOR] Allows the entity to croak at a random time interval with configurable conditions.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"duration":{"title":"Duration","description":"Random range in seconds after which the croaking stops. Can also be a constant.","$ref":"#/definitions/CIF"},"filters":{"title":"Filters","$ref":"#/definitions/BB","description":"Conditions for the behavior to start and keep running. The interval between runs only starts after passing the filters."},"interval":{"title":"Interval","description":"Random range in seconds between runs of this behavior. Can also be a constant.","$ref":"#/definitions/CIF"}}},"CIH":{"type":"object","title":"Defend Trusted Target","description":"Allows the mob to target another mob that hurts an entity it trusts.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"aggro_sound":{"title":"Aggro Sound","type":"string","default":"","description":"Sound to occasionally play while defending."},"attack_interval":{"title":"Attack Interval","type":"integer","default":0,"description":"Time in seconds between attacks."},"must_see":{"title":"Must See","type":"boolean","default":false,"description":"If true, only entities in this mob's viewing range can be selected as targets."},"must_see_forget_duration":{"title":"Must See Forget Duration","type":"number","default":3,"description":"Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more."},"on_defend_start":{"title":"On Defend Start","$ref":"#/definitions/I","description":"The event to run when this mob starts to defend the entity it trusts."},"within_radius":{"title":"Within Radius","type":"number","default":0,"description":"Distance in blocks that the target can be within to launch an attack."},"entity_types":{"title":"Entity Types","type":"object","description":"List of entity types that this mob considers valid targets.","additionalProperties":false},"sound_chance":{"title":"Sound Chance","type":"number","default":0.05,"description":"Probability that a sound will play.","minimum":0,"maximum":1}},"examples":[{"aggro_sound":"","attack_interval":0,"must_see":false,"must_see_forget_duration":3,"within_radius":0,"entity_types":{},"sound_chance":0.05}]},"CII":{"additionalProperties":false,"type":"object","title":"Defend Village Target","description":"Allows the entity to stay in a village and defend the village from aggressors. If a player is in bad standing with the village this goal will cause the entity to attack the player regardless of filter conditions.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"title":"Entity Types","$ref":"#/definitions/CHC","description":"List of entity types this mob considers a threat to the village.","$comment":"UNDOCUMENTED"},"must_reach":{"title":"Must Reach","description":"The entity must be able to reach attacker.","type":"boolean"},"attack_chance":{"title":"Attack Chance","description":"The percentage chance that the entity has to attack aggressors of its village, where 1.0 = 100%.","type":"number","default":0.05}},"examples":[{"must_reach":true,"attack_chance":0.0}]},"CIJ":{"additionalProperties":false,"type":"object","title":"Delayed Attack","description":"Allows the mob to drink potions based on specified environment conditions.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"attack_duration":{"title":"Attack Duration","type":"number","default":0.75,"description":"The entity's attack animation will play out over this duration (in seconds). Also controls attack cooldown."},"attack_once":{"title":"Attack Once","type":"boolean","default":false,"description":"Allows the entity to use this attack behavior, only once EVER."},"attack_types":{"title":"Attack Types","type":"string","default":"N/A","description":"Defines the entity types this entity will attack."},"cooldown_time":{"title":"Cooldown Time","type":"number","default":1,"description":"Cooldown time (in seconds) between attacks."},"hit_delay_pct":{"title":"Hit Delay Pct","type":"number","default":0.5,"description":"The percentage into the attack animation to apply the damage of the attack (1.0 = 100%)."},"inner_boundary_time_increase":{"title":"Inner Boundary Time Increase","type":"number","default":0.25,"description":"Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_inner_boundary\"."},"max_dist":{"title":"Max Dist","type":"number","description":"Unused. No effect on \"minecraft:behavior.melee_attack\"."},"max_path_time":{"title":"Max Path Time","type":"number","default":0.55,"description":"Maximum base time (in seconds) to recalculate new attack path to target (before increases applied)."},"melee_fov":{"title":"Melee Fov","type":"number","default":90,"description":"Field of view (in degrees) when using the sensing component to detect an attack target."},"min_path_time":{"title":"Min Path Time","type":"number","default":0.2,"description":"Minimum base time (in seconds) to recalculate new attack path to target (before increases applied)."},"on_attack":{"title":"On Attack","description":"Defines the event to trigger when this entity successfully attacks.","$ref":"#/definitions/JA"},"outer_boundary_time_increase":{"title":"Outer Boundary Time Increase","type":"number","default":0.5,"description":"Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_outer_boundary\"."},"path_fail_time_increase":{"title":"Path Fail Time Increase","type":"number","default":0.75,"description":"Time (in seconds) to add to attack path recalculation when this entity cannot move along the current path."},"path_inner_boundary":{"title":"Path Inner Boundary","type":"number","default":16,"description":"Distance at which to increase attack path recalculation by \"inner_boundary_tick_increase\"."},"path_outer_boundary":{"title":"Path Outer Boundary","type":"number","default":32,"description":"Distance at which to increase attack path recalculation by \"outer_boundary_tick_increase\"."},"random_stop_interval":{"title":"Random Stop Interval","type":"integer","default":0,"description":"This entity will have a 1 in N chance to stop it's current attack, where N = \"random_stop_interval\"."},"reach_multiplier":{"title":"Reach Multiplier","type":"number","default":2,"description":"Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage."},"require_complete_path":{"title":"Require Complete Path","type":"boolean","default":false,"description":"Toggles (on/off) the need to have a full path from the entity to the target when using this melee attack behavior."},"set_persistent":{"title":"Set Persistent","type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player."},"target_dist":{"title":"Target Dist","type":"number","description":"Unused. No effect on \"minecraft:behavior.melee_attack\"."},"track_target":{"title":"Track Target","type":"boolean","default":false,"description":"Allows the entity to track the attack target, even if the entity has no sensing."},"x_max_rotation":{"title":"X Max Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."},"y_max_head_rotation":{"title":"Y Max Head Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."}},"examples":[{"attack_duration":1,"attack_once":false,"attack_types":"","hit_delay_pct":1,"random_stop_interval":0,"reach_multiplier":2,"require_complete_path":true,"sound_event":"example","track_target":false}]},"CJA":{"additionalProperties":false,"type":"object","title":"Dig","description":"[EXPERIMENTAL BEHAVIOR] Activates the `DIGGING` actor flag during the specified duration. Currently only Warden can use the Dig goal","properties":{"priority":{"$ref":"#/definitions/CGJ"},"allow_dig_when_named":{"title":"Allow Dig When Named","type":"boolean","default":false,"description":"If true, this behavior can run when this entity is named. Otherwise not."},"digs_in_daylight":{"title":"Digs In Daylight","type":"boolean","default":false,"description":"Indicates that the actor should start digging when it sees daylight."},"duration":{"title":"Duration","type":"number","default":0.0,"description":"Goal duration in seconds."},"idle_time":{"title":"Idle Time","type":"number","description":"The minimum idle time in seconds between the last detected disturbance to the start of digging."},"suspicion_is_disturbance":{"title":"Suspicion Is Disturbance","type":"boolean","default":false,"description":"If true, finding new suspicious locations count as disturbances that may delay the start of this goal."},"vibration_is_disturbance":{"title":"Vibration Is Disturbance","type":"boolean","default":false,"description":"If true, vibrations count as disturbances that may delay the start of this goal."}}},"CJB":{"additionalProperties":false,"type":"object","title":"Door Interact","description":"Allows the mob to drink potions based on specified environment conditions.","properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"CJC":{"additionalProperties":false,"type":"object","title":"Dragonchargeplayer","description":"Allows this entity to attack a player by charging at them. The player is chosen by the \"minecraft:behavior.dragonscanning\". Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"active_speed":{"title":"Active Speed","type":"number","default":1,"description":"The speed this entity moves when this behavior has started or while it's active."},"continue_charge_threshold_time":{"title":"Continue Charge Threshold Time","type":"number","default":0.5,"description":"If the dragon is outside the \"target_zone\" for longer than \"continue_charge_threshold_time\" seconds, the charge is canceled."},"flight_speed":{"title":"Flight Speed","type":"number","default":0.6,"description":"The speed this entity moves while this behavior is not active."},"target_zone":{"title":"Target Zone","$ref":"#/definitions/JD","default":[10,150],"description":"Minimum and maximum distance, from the target, this entity can use this behavior."},"turn_speed":{"title":"Turn Speed","type":"number","default":0.7,"description":"The speed at which this entity turns while using this behavior."}}},"CJD":{"additionalProperties":false,"type":"object","title":"Dragondeath","description":"Allows the dragon to go out with glory. This controls the Ender Dragon's death animation and can't be used by other mobs.","properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"CJE":{"additionalProperties":false,"type":"object","title":"Dragonflaming","description":"Allows the dragon to use its flame breath attack. Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"cooldown_time":{"title":"Cooldown Time","type":"number","default":10,"description":"Time (in seconds), after roar, to breath flame."},"flame_time":{"title":"Flame Time","type":"number","default":0.5,"description":"Time (in seconds), after roar, to breath flame."},"ground_flame_count":{"title":"Ground Flame Count","type":"integer","default":4,"description":"Number of ground flame-breath attacks to use before flight-takeoff."},"roar_time":{"title":"Roar Time","type":"number","default":2,"description":"Time (in seconds) to roar, before breathing flame."}}},"CJF":{"additionalProperties":false,"type":"object","title":"Dragonholdingpattern","description":"Allows the Dragon to fly around in a circle around the center podium. Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"CJG":{"additionalProperties":false,"type":"object","title":"Dragonlanding","description":"Allows the Dragon to stop flying and transition into perching mode. Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"CJH":{"additionalProperties":false,"type":"object","title":"Dragonscanning","description":"Allows the dragon to look around for a player to attack while in perch mode. Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"CJI":{"additionalProperties":false,"type":"object","title":"Dragonstrafeplayer","description":"Allows this entity to fly around looking for a player to shoot fireballs at. Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"active_speed":{"title":"Active Speed","type":"number","default":1,"description":"The speed this entity moves when this behavior has started or while it's active."},"fireball_range":{"title":"Fireball Range","type":"number","default":64,"description":"Maximum distance of this entity's fireball attack while strafing."},"flight_speed":{"title":"Flight Speed","type":"number","default":0.6,"description":"The speed this entity moves while this behavior is not active."},"switch_direction_probability":{"title":"Switch Direction Probability","type":"number","default":0.125,"description":"Percent chance to to switch this entity's strafe direction between clockwise and counterclockwise. Switch direction chance occurs each time a new target is chosen (1.0 = 100%)."},"target_in_range_and_in_view_time":{"title":"Target In Range And In View Time","type":"number","default":0.25,"description":"Time (in seconds) the target must be in fireball range, and in view [ie, no solid terrain in-between the target and this entity], before a fireball can be shot."},"target_zone":{"title":"Target Zone","$ref":"#/definitions/JD","default":[10,150],"description":"Minimum and maximum distance, from the target, this entity can use this behavior."},"turn_speed":{"title":"Turn Speed","type":"number","default":0.7,"description":"The speed at which this entity turns while using this behavior."},"view_angle":{"title":"View Angle","type":"number","default":10,"description":"The target must be within \"view_angle\" degrees of the dragon's current rotation before a fireball can be shot."}}},"CJJ":{"additionalProperties":false,"type":"object","title":"Dragontakeoff","description":"Allows the dragon to leave perch mode and go back to flying around. Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DAA":{"type":"object","title":"Drink Milk","description":"Allows the mob to drink milk based on specified environment conditions.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"cooldown_seconds":{"title":"Cooldown Seconds","type":"number","default":5.0,"description":"Time (in seconds) that the goal is on cooldown before it can be used again."},"filters":{"title":"Filters","$ref":"#/definitions/BB","description":"Conditions that need to be met for the behavior to start."}},"examples":[{"cooldown_seconds":5.0}]},"DAB":{"type":"object","title":"Beg","description":"Allows the mob to drink potions based on specified environment conditions.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"speed_modifier":{"default":0.0,"description":"Movement speed modifier of the mob when using this AI Goal.","title":"Speed Modifier"},"potions":{"type":"array","description":"A list of potions that this entity can drink.","title":"Potions","items":{"required":["id","chance","filters"],"additionalProperties":false,"type":"object","description":"A potions that this entity can drink.","title":"Potions","properties":{"id":{"type":"integer","default":-1,"description":"The registry ID of the potion to use.","title":"Id"},"chance":{"type":"number","default":1.0,"minimum":0,"maximum":1,"description":"The percent chance (from 0.0 to 1.0) of this potion being selected when searching for a potion to use.","title":"Chance"},"filters":{"description":"The filters to use when determining if this potion can be selected.","$ref":"#/definitions/BB"}}}}},"examples":[{"potions":[]}]},"DAC":{"additionalProperties":false,"description":"Allows the entity to move toward a target, and drop an item near the target. This goal requires a \"minecraft:navigation\" to execute.","title":"Drop Item For","type":"object","properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"entity_types":{"description":"The list of conditions another entity must meet to be a valid target to drop an item for.","title":"Entity Types","$ref":"#/definitions/CHC"},"cooldown":{"title":"Cooldown","type":"number","default":0.2,"description":"Total time that the goal is on cooldown before it can be used again."},"drop_item_chance":{"title":"Drop Item Chance","type":"number","default":1.0,"description":"The percent chance the entity will drop an item when using this goal."},"goal_radius":{"title":"Goal Radius","type":"number","default":0.5,"description":"Distance in blocks within the entity considers it has reached it's target position."},"loot_table":{"title":"Loot Table","type":"string","description":"The loot table that contains the possible loot the entity can drop with this goal.","examples":["loot_tables/"]},"max_head_look_at_height":{"title":"Max Head Look At Height","type":"number","default":10.0,"description":"The maximum height the entities head will look at when dropping the item. The entity will always be looking at its target."},"minimum_teleport_distance":{"title":"Minimum Teleport Distance","type":"number","default":2.0,"description":"If the target position is farther away than this distance on any tick, the entity will teleport to the target position."},"offering_distance":{"title":"Offering Distance","type":"number","default":1.0,"description":"The preferred distance the entity tries to be from the target it is dropping an item for."},"on_drop_attempt":{"title":"On Drop Attempt","$ref":"#/definitions/JA","description":"The event to trigger when the entity attempts to drop an item."},"search_count":{"title":"Search Count","type":"integer","default":0,"description":"The number of blocks each tick that the entity will check within its search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick."},"search_height":{"title":"Search Height","type":"integer","default":1,"description":"The Height in blocks the entity will search within to find a valid target position."},"search_range":{"title":"Search Range","type":"integer","default":0,"description":"The distance in blocks the entity will search within to find a valid target position."},"seconds_before_pickup":{"title":"Seconds Before Pickup","type":"number","default":0.0,"description":"The numbers of seconds that will pass before the dropped entity can be picked up from the ground."},"target_range":{"title":"Target Range","$ref":"#/definitions/CCI","default":[1,1,1],"description":"The range in blocks within which the entity searches to find a target to drop an item for."},"teleport_offset":{"title":"Teleport Offset","$ref":"#/definitions/CCI","default":[0,1,0],"description":"When the entity teleports, offset the teleport position by this many blocks in the X, Y, and Z coordinate."},"time_of_day_range":{"title":"Time Of Day Range","$ref":"#/definitions/JD","default":[0,1],"description":"The valid times of day that this goal can be used. For reference: noon is 0.0, sunset is 0.25, midnight is 0.5, and sunrise is 0.75, and back to noon for 1.0."}},"examples":[{"cooldown":0.0,"drop_item_chance":0.0,"goal_radius":0.5,"loot_table":"example","max_dist":0,"minimum_teleport_distance":0.0,"max_head_look_at_height":0.0,"offering_distance":0.0,"seconds_before_pickup":0.0,"search_count":1,"search_height":1,"search_range":0,"target_range":[],"teleport_offset":[],"time_of_day_range":[]}]},"DAD":{"type":"object","title":"Eat Block","description":"Allows the entity to consume a block, replace the eaten block with another block, and trigger an event as a result.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"on_eat":{"title":"On Eat","$ref":"#/definitions/JA","description":"The event to trigger when the block eating animation has completed."},"success_chance":{"title":"Succes Chance","$ref":"#/definitions/BEJ","default":0.02,"description":"A molang expression defining the success chance the entity has to consume a block."},"time_until_eat":{"title":"Time Until Eat","type":"number","default":1.8,"description":"The amount of time (in seconds) it takes for the block to be eaten upon a successful eat attempt."},"eat_and_replace_block_pairs":{"title":"Eat And Replace Block Pairs","type":"array","description":"A collection of pairs of blocks; the first (\"eat_block\")is the block the entity should eat, the second (\"replace_block\") is the block that should replace the eaten block.","items":{"type":"object","title":"Eat And Replace Block Pair","description":"The block to eat and the block to replace it with.","$comment":"UNDOCUMENTED","properties":{"eat_block":{"type":"string","title":"Block","description":"The block to eat.","$comment":"UNDOCUMENTED","$ref":"#/definitions/JI"},"replace_block":{"type":"string","title":"Replace Block","description":"The block to replace the eaten block with.","$comment":"UNDOCUMENTED","$ref":"#/definitions/JI"}}}}},"examples":[{"time_until_eat":0.0,"eat_and_replace_block_pairs":[{"eat_block":"minecraft:grass","replace_block":"minecraft:dirt"}]}]},"DAE":{"type":"object","title":"Eat Carried Item","description":"If the mob is carrying a food item, the mob will eat it and the effects will be applied to the mob.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"delay_before_eating":{"type":"number","description":"Time in seconds the mob should wait before eating the item.","title":"Delay Before Eating"}},"examples":[{"delay_before_eating":0.0}]},"DAF":{"type":"object","title":"Eat Mob","description":"[EXPERIMENTAL BEHAVIOR] Allows the entity to eat a specified Mob.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"eat_animation_time":{"title":"Eat Animation Time","type":"number","default":1000000,"description":"Sets the time in seconds the eat animation should play for."},"eat_mob_sound":{"title":"Eat Mob Sound","type":"string","default":"","description":"Sets the sound that should play when eating a mob."},"loot_table":{"title":"Loot Table","type":"string","default":"","description":"The loot table for loot to be dropped when eating a mob."},"pull_in_force":{"title":"Pull In Force","type":"number","default":1000000,"description":"Sets the force which the mob-to-be-eaten is pulled towards the eating mob."},"reach_mob_distance":{"title":"Reach Mob Distance","type":"number","default":1000000,"description":"Sets the desired distance to be reached before eating the mob."},"run_speed":{"title":"Run Speed","type":"number","default":1000000,"description":"Sets the entity's speed when running toward the target."}}},"DAG":{"type":"object","title":"Enderman Leave Block","additionalProperties":false,"description":"Allows the enderman to drop a block they are carrying. Can only be used by Endermen.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DAH":{"type":"object","title":"Enderman Take Block","description":"Allows the enderman to take a block and carry it around. Can only be used by Endermen.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DAI":{"type":"object","title":"Equip Item","description":"The entity puts on the desired equipment.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DAJ":{"type":"object","title":"Explore Outskirts","description":"Allows the entity to first travel to a random point on the outskirts of the village, and then explore random points within a small distance. This goal requires \"minecraft:dweller\" and \"minecraft:navigation\" to execute.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"dist_from_boundary":{"title":"Dist From Boundary","default":[5,0,5],"description":"The distance from the boundary the villager must be within in to explore the outskirts.","$ref":"#/definitions/CCI"},"explore_dist":{"title":"Explore Dist","type":"number","default":5.0,"description":"Total distance in blocks the the entity will explore beyond the village bounds when choosing its travel point."},"max_travel_time":{"title":"Max Travel Time","type":"number","default":60.0,"description":"This is the maximum amount of time an entity will attempt to reach it's travel point on the outskirts of the village before the goal exits."},"max_wait_time":{"title":"Max Wait Time","type":"number","default":0.0,"description":"The wait time in seconds between choosing new explore points will be chosen on a random interval between this value and the minimum wait time. This value is also the total amount of time the entity will explore random points before the goal stops."},"min_dist_from_target":{"title":"Min Dist From Target","type":"number","default":2.2,"description":"The entity must be within this distance for it to consider it has successfully reached its target."},"min_perimeter":{"title":"Min Perimeter","type":"number","default":1.0,"description":"The minimum perimeter of the village required to run this goal."},"min_wait_time":{"title":"Min Wait Time","type":"number","default":3.0,"description":"The wait time in seconds between choosing new explore points will be chosen on a random interval between this value and the maximum wait time."},"next_xz":{"title":"Next XZ","type":"integer","default":5,"description":"A new explore point will randomly be chosen within this XZ distance of the current target position when navigation has finished and the wait timer has elapsed."},"next_y":{"title":"Next Y","type":"integer","default":3,"description":"A new explore point will randomly be chosen within this Y distance of the current target position when navigation has finished and the wait timer has elapsed."},"timer_ratio":{"title":"Timer Ratio","type":"number","default":2.0,"description":"Each new explore point will be chosen on a random interval between the minimum and the maximum wait time, divided by this value. This does not apply to the first explore point chosen when the goal runs."}},"examples":[{"explore_dist":5,"wait_time":0,"next_xz":0,"next_y":0,"min_wait_time":0.0,"max_wait_time":0.0,"max_travel_time":0.0,"min_perimeter":0.0,"min_dist_from_target":0.0,"timer_ratio":0.0,"dist_from_boundary":[]}]},"DBA":{"type":"object","title":"Fertilize Farm Block","description":"Allows the mob to search within an area for a growable crop block. If found, the mob will use any available fertilizer in their inventory on the crop. This goal will not execute if the mob does not have a fertilizer item in its inventory.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"title":"Goal Radius","type":"number","default":1.5,"description":"Distance in blocks within the mob considers it has reached it's target position."},"max_fertilizer_usage":{"title":"Maximum Fertilizer Usage","type":"integer","default":1,"description":"The maximum number of times the mob will use fertilzer on the target block."},"search_cooldown_max_seconds":{"title":"Search Cooldown Maximum Seconds","type":"number","default":8.0,"description":"The maximum amount of time in seconds that the goal can take before searching again. The time is chosen between 0 and this number."},"search_count":{"title":"Search Count","type":"integer","default":9,"description":"The number of randomly selected blocks each tick that the mob will check within its search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick."},"search_height":{"title":"Search Height","type":"integer","default":1,"description":"The Height in blocks the mob will search within to find a valid target position."},"search_range":{"title":"Search Range","type":"integer","default":1,"description":"The distance in blocks the mob will search within to find a valid target position."}},"examples":[{"cooldown_time":0}]},"DBB":{"type":"object","title":"Find Cover","description":"Allows the mob to seek shade.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"cooldown_time":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again.","title":"Cooldown Time"}},"examples":[{"cooldown_time":0}]},"DBC":{"additionalProperties":false,"description":"Allows the mob to look around for another mob to ride atop it.","title":"Find Mount","type":"object","properties":{"priority":{"$ref":"#/definitions/CGJ"},"avoid_water":{"title":"Avoid Water","type":"boolean","default":false,"description":"If true, the mob will not go into water blocks when going towards a mount."},"mount_distance":{"type":"number","title":"Mount Distance","default":-1,"description":"This is the distance the mob needs to be, in blocks, from the desired mount to mount it. If the value is below 0, the mob will use its default attack distance"},"start_delay":{"title":"Start Delay","type":"integer","default":0,"description":"Time the mob will wait before starting to move towards the mount."},"target_needed":{"title":"Target Needed","type":"boolean","default":false,"description":"If true, the mob will only look for a mount if it has a target."},"within_radius":{"title":"Within Radius","type":"number","default":0,"description":"Distance in blocks within which the mob will look for a mount."},"max_failed_attempts":{"title":"Maximum Failed Attempts","type":"integer","description":"The number of failed attempts to make before this goal is no longer used.","$comment":"UNDOCUMENTED"}},"examples":[{"avoid_water":false,"mount_distance":-1,"start_delay":0,"target_needed":false,"within_radius":0,"max_failed_attempts":0}]},"DBD":{"type":"object","title":"Find Underwater Treasure","description":"Allows the mob to move towards the nearest underwater ruin or shipwreck.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"search_range":{"type":"integer","default":0,"description":"The range that the mob will search for a treasure chest within a ruin or shipwreck to move towards.","title":"Search Range"},"stop_distance":{"type":"number","default":2.0,"description":"The distance the mob will move before stopping.","title":"Stop Distance"}},"examples":[{"search_range":0,"stop_distance":2.0}]},"DBE":{"type":"object","title":"Flee Sun","description":"Allows the mob to run away from direct sunlight and seek shade.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"DBF":{"type":"object","title":"Float Wander","description":"Allows the mob to float around like the Ghast.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"xz_dist":{"type":"integer","default":10,"description":"Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1","title":"Xz Dist"},"y_dist":{"type":"integer","default":7,"description":"Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1","title":"Y Dist"},"y_offset":{"type":"number","default":0.0,"description":"Height in blocks to add to the selected target position.","title":"Y Offset"},"must_reach":{"type":"boolean","default":false,"description":"If true, the point has to be reachable to be a valid target.","title":"Must Reach"},"random_reselect":{"type":"boolean","default":false,"description":"If true, the mob will randomly pick a new point while moving to the previously selected one.","title":"Random Reselect"},"float_duration":{"$ref":"#/definitions/JD","default":[0.0,0.0],"description":"Range of time in seconds the mob will float around before landing and choosing to do something else.","title":"Float Duration"}},"examples":[{"xz_dist":10,"y_dist":7,"y_offset":0.0,"must_reach":false,"random_reselect":false}]},"DBG":{"type":"object","title":"Float","description":"Allows the mob to stay afloat while swimming.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DBH":{"type":"object","title":"Follow Caravan","description":"Allows the mob to follow mobs that are in a caravan.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entity types that this mob can follow in a caravan.","title":"Entity Types"},"entity_count":{"type":"integer","description":"Number of entities that can be in the caravan.","default":1,"title":"Entity Count"}},"examples":[{"entity_count":1}]},"DBI":{"type":"object","title":"Follow Mob","description":"Allows the mob to follow other mobs.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks it will look for a mob to follow.","title":"Search Range"},"stop_distance":{"type":"number","default":2,"description":"The distance in blocks this mob stops from the mob it is following.","title":"Stop Distance"}},"examples":[{"search_range":0,"stop_distance":2}]},"DBJ":{"type":"object","title":"Follow Owner","description":"Allows the mob to follow the player that owns them.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"can_teleport":{"title":"Can Teleport","type":"boolean","default":true,"description":"Specify if the mob can teleport to the player if it is too far away."},"ignore_vibration":{"title":"Ignore Vibration","type":"boolean","default":true,"description":"Specify if the mob will follow the owner if it has heard a vibration lately."},"max_distance":{"title":"Max Distance","type":"number","default":60.0,"description":"The maximum distance in blocks this mob can be from its owner to start following, only used when canTeleport is false."},"start_distance":{"title":"Start Distance","type":"number","default":10.0,"description":"The distance in blocks that the owner can be away from this mob before it starts following it."},"stop_distance":{"title":"Stop Distance","type":"number","default":2.0,"description":"The distance in blocks this mob will stop from its owner while following it."}},"examples":[{"start_distance":10,"stop_distance":2}]},"DCA":{"type":"object","title":"Float","description":"Allows the mob to follow their parent around.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"DCB":{"type":"object","title":"Follow Target Captain","description":"Allows mob to move towards its current target captain.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"follow_distance":{"type":"number","default":0,"description":"Defines the distance in blocks the mob will stay from its target while following.","title":"Follow Distance"},"within_radius":{"type":"number","default":0,"description":"Defines the maximum distance in blocks a mob can get from its target captain before giving up trying to follow it.","title":"Within Radius"}},"examples":[{"follow_distance":0,"within_radius":0}]},"DCC":{"type":"object","title":"Barter","description":"[EXPERIMENTAL BEHAVIOR] The entity will attempt to toss the items from its inventory to a nearby recently played noteblock.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"listen_time":{"title":"listen time","type":"integer","default":0.0,"description":"Sets the time an entity should continue delivering items to a noteblock after hearing it."},"on_item_throw":{"title":"on item throw","description":"Event(s) to run when this mob throws items.","oneOf":[{"$ref":"#/definitions/JA"},{"type":"array","items":{"$ref":"#/definitions/JA"}}]},"reach_block_distance":{"title":"reach block distance","type":"number","default":3000000,"description":"Sets the desired distance to be reached before throwing the items towards the block."},"run_speed":{"title":"run speed","type":"number","default":1000000,"description":"Sets the entity's speed when running toward the block."},"throw_force":{"title":"throw force","type":"number","default":0.2,"description":"Sets the throw force."},"throw_sound":{"title":"throw sound","type":"string","default":"","description":"Sound to play when this mob throws an item."},"vertical_throw_mul":{"title":"vertical throw mul","type":"number","default":1500000,"description":"Sets the vertical throw multiplier that is applied on top of the throw force in the vertical direction."}}},"DCD":{"type":"object","title":"Barter","description":"[EXPERIMENTAL BEHAVIOR] The entity will attempt to toss the items from its inventory to its owner.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"on_item_throw":{"title":"on item throw","$ref":"#/definitions/JA","description":"Event(s) to run when this mob throws items.","oneOf":[{"$ref":"#/definitions/JA"},{"type":"array","items":{"$ref":"#/definitions/JA"}}]},"reach_mob_distance":{"title":"reach mob distance","type":"number","default":3000000,"description":"Sets the desired distance to be reached before giving items to owner."},"run_speed":{"title":"run speed","type":"number","default":1000000,"description":"Sets the entity's speed when running toward the owner."},"throw_force":{"title":"throw force","type":"number","default":0.2,"description":"Sets the throw force."},"throw_sound":{"title":"throw sound","type":"string","default":"item_thrown","description":"Sound to play when this mob throws an item."},"vertical_throw_mul":{"title":"vertical throw mul","type":"number","default":1500000,"description":"Sets the vertical throw multiplier that is applied on top of the throw force in the vertical direction."}}},"DCE":{"additionalProperties":false,"description":"Allows the mob to move back to the position they were spawned.","title":"Go Home","type":"object","properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"interval":{"type":"integer","default":120,"description":"A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal","title":"Interval"},"on_home":{"description":"Event(s) to run when this mob gets home.","title":"On Home","oneOf":[{"$ref":"#/definitions/JA"},{"type":"array","items":{"$ref":"#/definitions/JA"}}]},"on_failed":{"title":"On Failed","description":"Event(s) to run when this goal fails.","oneOf":[{"$ref":"#/definitions/I"},{"type":"array","items":{"$ref":"#/definitions/I"}}]},"calculate_new_path_radius":{"title":"Calculate New Path Radius","type":"number","default":2.0,"description":"Distance in blocks that the mob is considered close enough to the end of the current path. A new path will then be calculated to continue toward home."}},"examples":[{"goal_radius":0.5,"interval":120}]},"DCF":{"type":"object","title":"Guardian Attack","description":"Allows this entity to use a laser beam attack. Can only be used by Guardians and Elder Guardians.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"elder_extra_magic_damage":{"title":"Elder Extra Magic Damage","type":"integer","default":2,"description":"Amount of additional damage dealt from an elder guardian's magic attack."},"hard_mode_extra_magic_damage":{"title":"Hard Mode Extra Magic Damage","type":"integer","default":2,"description":"In hard difficulty, amount of additional damage dealt from a guardian's magic attack."},"magic_damage":{"title":"Magic Damage","type":"integer","default":1,"description":"Amount of damage dealt from a guardian's magic attack. Magic attack damage is added to the guardian's base attack damage."},"min_distance":{"title":"Min Distance","type":"number","default":3,"description":"Guardian attack behavior stops if the target is closer than this distance (doesn't apply to elders)."},"sound_delay_time":{"title":"Sound Delay Time","type":"number","default":0.5,"description":"Time (in seconds) to wait after starting an attack before playing the guardian attack sound."},"x_max_rotation":{"title":"X Max Rotation","type":"number","default":90,"description":"Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."},"y_max_head_rotation":{"title":"Y Max Head Rotation","type":"number","default":90,"description":"Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."}}},"DCG":{"type":"object","title":"Harvest Farm Block","description":"Allows the entity to search within an area for farmland with air above it. If found, the entity will replace the air block by planting a seed item from its inventory on the farmland block. This goal requires \"minecraft:inventory\" and \"minecraft:navigation\" to execute. This goal will not execute if the entity does not have an item in its inventory.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"max_seconds_before_search":{"title":"Maximum Seconds Before Search","type":"number","default":1.0,"description":"The maximum amount of time in seconds that the goal can take before searching for the first harvest block. The time is chosen between 0 and this number."},"search_cooldown_max_seconds":{"title":"Search Cooldown Maximum Seconds","type":"number","default":8.0,"description":"The maximum amount of time in seconds that the goal can take before searching again, after failing to find a a harvest block already. The time is chosen between 0 and this number."},"search_count":{"title":"Search Count","type":"integer","default":0,"description":"The number of randomly selected blocks each tick that the entity will check within its search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick."},"search_height":{"title":"Search Height","type":"integer","default":1,"description":"The height in blocks the entity will search within to find a valid target position."},"search_range":{"title":"Search Range","type":"integer","default":16,"description":"The distance in blocks the entity will search within to find a valid target position."},"seconds_until_new_task":{"title":"Seconds Until New Task","type":"number","default":0.5,"description":"The amount of time in seconds that the goal will cooldown after a successful reap/sow, before it can start again."}},"examples":[{"max_seconds_before_search":0.0,"search_cooldown_max_seconds":0.0,"seconds_until_new_task":0.0}]},"DCH":{"type":"object","title":"Hide","additionalProperties":false,"description":"Allows a mob with the hide component to attempt to move to - and hide at - an owned or nearby POI.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"duration":{"type":"number","default":1,"description":"Amount of time in seconds that the mob reacts.","title":"Duration"},"poi_type":{"type":"string","default":"","description":"Defines what POI type to hide at.","title":"Point Of Interest Type","examples":["bed"]},"timeout_cooldown":{"type":"number","default":8,"description":"The cooldown time in seconds before the goal can be reused after a internal failure or timeout condition.","title":"Timeout Cooldown"}},"examples":[{"duration":1,"poi_type":"","timeout_cooldown":8}]},"DCI":{"type":"object","title":"Hold Ground","description":"The mob freezes and looks at the mob they are targeting.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"broadcast":{"type":"boolean","default":false,"description":"Whether to broadcast out the mob's target to other mobs of the same type.","title":"Broadcast"},"broadcast_range":{"type":"number","default":0.0,"description":"Range in blocks for how far to broadcast.","title":"Broadcast Range"},"min_radius":{"type":"number","default":10.0,"description":"Minimum distance the target must be for the mob to run this goal.","title":"Minimum Radius"},"within_radius_event":{"$ref":"#/definitions/I","description":"Event to run when target is within the radius. This event is broadcasted if broadcast is true.","title":"Within Radius Event"}},"examples":[{"broadcast":false,"broadcast_range":0.0,"min_radius":10.0}]},"DCJ":{"type":"object","title":"Guardian Attack","additionalProperties":false,"description":"Allows the mob to target another mob that hurts them.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entity types that this mob can target if they hurt their owner.","title":"Entity Types"},"alert_same_type":{"type":"boolean","default":false,"description":"If true, nearby mobs of the same type will be alerted about the damage.","title":"Alert Same Type"},"hurt_owner":{"type":"boolean","default":false,"description":"If true, the mob will hurt its owner and other mobs with the same owner as itself.","title":"Hurt Owner"}},"examples":[{"alert_same_type":false,"hurt_owner":false}]},"DDA":{"type":"object","title":"Inspect Bookshelf","additionalProperties":false,"description":"Allows the mob to inspect bookshelves.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"search_count":{"type":"integer","default":10,"description":"The number of blocks each tick that the mob will check within it's search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick","title":"Search Count"},"search_height":{"type":"integer","default":1,"description":"The height that the mob will search for bookshelves.","title":"Search Height"},"search_range":{"type":"integer","default":0,"description":"Distance in blocks the mob will look for books to inspect.","title":"Search Range"}},"examples":[{"goal_radius":0.5,"search_count":10,"search_height":1,"search_range":0}]},"DDC":{"type":"array","title":"Vector Of 2 Items","description":"An vector of 2 number.","examples":[[0,0]],"items":[{"type":"number","description":"The X component.","title":"X","default":0},{"type":"number","description":"The Y component.","title":"Y","default":0}],"defaultSnippets":[{"label":"New Array 2","body":["^$1","^$2"]}]},"DDB":{"type":"object","title":"Melee Attack","description":"Allows an entity to jump to another random block.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"cooldown_range":{"title":"Cooldown Range","$ref":"#/definitions/DDC","default":[10,20],"description":"Minimum and maximum cooldown time-range (positive, in seconds) between each attempted jump."},"forbidden_blocks":{"title":"Forbidden Blocks","type":"array","description":"Blocks that the mob can't jump to.","items":{"$ref":"#/definitions/JI"}},"max_velocity":{"title":"Max Velocity","type":"number","default":1.5,"description":"The maximum velocity with which the mob can jump."},"minimum_distance":{"title":"Minimum Distance","type":"integer","default":2,"description":"The minimum distance (in blocks) from the mob to a block, in order to consider jumping to it."},"minimum_path_length":{"title":"Minimum Path Length","type":"integer","default":5,"description":"The minimum length (in blocks) of the mobs path to a block, in order to consider jumping to it."},"preferred_blocks":{"title":"Preferred Blocks","type":"array","description":"Blocks that the mob prefers jumping to.","items":{"$ref":"#/definitions/JI"}},"preferred_blocks_chance":{"title":"Preferred Blocks Chance","type":"number","default":1.0,"description":"Chance (between 0.0 and 1.0) that the mob will jump to a preferred block, if in range. Only matters if preferred blocks are defined."},"scale_factor":{"title":"Scale Factor","type":"number","default":0.7,"description":"The scalefactor of the bounding box of the mob while it is jumping."},"search_height":{"title":"Search Height","type":"integer","default":10,"description":"The height (in blocks, in range [2, 15]) of the search box, centered around the mob."},"search_width":{"title":"Search Width","type":"integer","default":8,"description":"The width (in blocks, in range [2, 15]) of the search box, centered around the mob."}},"examples":[{"search_width":8,"search_height":10,"minimum_path_length":5,"minimum_distance":5,"scale_factor":0.7,"cooldown_range":[]}]},"DDD":{"description":"Allows the mob to perform a damaging knockback that affects all nearby entities.","type":"object","title":"Knockback Roar","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"attack_time":{"title":"Attack Time","type":"number","default":0.5,"description":"The delay after which the knockback occurs (in seconds)."},"cooldown_time":{"title":"Cooldown Time","type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again."},"damage_filters":{"$ref":"#/definitions/BB","description":"The list of conditions another entity must meet to be a valid target to apply damage to.","title":"Damage Filters"},"duration":{"type":"number","default":1,"description":"The duration of the roar (in seconds).","title":"Duration"},"knockback_damage":{"type":"integer","default":6,"description":"The damage dealt by the knockback roar.","title":"Knockback Damage"},"knockback_strength":{"type":"integer","default":4,"description":"The strength of the knockback.","title":"Knockback Strength"},"knockback_filters":{"$ref":"#/definitions/BB","description":"The list of conditions another entity must meet to be a valid target to apply knockback to.","title":"Knockback Filters"},"knockback_horizontal_strength":{"type":"integer","default":4,"description":"The strength of the horizontal knockback.","title":"Knockback Horizontal Strength"},"knockback_range":{"type":"integer","default":4,"description":"The radius (in blocks) of the knockback effect.","title":"Knockback Range"},"knockback_vertical_strength":{"type":"integer","default":4,"description":"The strength of the vertical knockback.","title":"Knockback Vertical Strength"},"knockback_height_cap":{"title":"Knockback Height Cap","type":"number","default":0.4,"description":"The maximum height for vertical knockback."},"track_target":{"type":"boolean","default":false,"description":"If true, this mob will chase after the target as long as it's a valid target.","title":"Track Target"},"on_roar_end":{"$ref":"#/definitions/I","description":"Event that is triggered when the roar ends.","title":"On Roar End"}},"examples":[{"attack_time":0.5,"cooldown_time":0,"duration":1,"knockback_damage":6,"knockback_horizontal_strength":4,"knockback_range":4,"knockback_vertical_strength":4,"track_target":false,"knockback_strength":4}]},"DDE":{"description":"Allows mobs to lay down at times.","type":"object","title":"Lay Down","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"interval":{"type":"integer","default":120,"description":"A random value to determine at what intervals something can occur. This has a 1/interval chance to choose this goal","title":"Interval"},"random_stop_interval":{"type":"integer","default":120,"description":"A random value in which the goal can use to pull out of the behavior. This is a 1/interval chance to play the sound","title":"Random Stop Interval"}},"examples":[{"interval":120,"random_stop_interval":120}]},"DDF":{"description":"Allows the mob to lay an egg block on a sand block if the mob is pregnant.","type":"object","title":"Lay Egg","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"allow_laying_from_below":{"title":"Allow Laying From Below","type":"boolean","default":false,"description":"[EXPERIMENTAL] Allows the mob to lay its eggs from below the target if it can't get there. This is useful if the target block is water with air above, since mobs may not be able to get to the air block above water."},"egg_type":{"title":"Egg Type","type":"string","default":"minecraft:turtle_egg","description":"[EXPERIMENTAL] Block type for the egg to lay. If this is a turtle egg, the number of eggs in the block is randomly set."},"goal_radius":{"title":"Goal Radius","type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the \"wiggle room\" to stop the AI from bouncing back and forth trying to reach a specific spot"},"lay_egg_sound":{"title":"Lay Egg Sound","type":"string","default":"lay_egg","description":"[EXPERIMENTAL] Sound event name for laying egg. Defaulted to lay_egg which is used for Turtles."},"lay_seconds":{"title":"Lay Seconds","type":"number","default":10.0,"description":"[EXPERIMENTAL] Duration of the laying egg process in seconds."},"on_lay":{"title":"On Lay","$ref":"#/definitions/JA","description":"Event to run when this mob lays the egg."},"search_height":{"title":"Search Height","type":"integer","default":1,"description":"Height in blocks the mob will look for a target block to move towards."},"search_range":{"title":"Search Range","type":"integer","default":0,"description":"The distance in blocks it will look for a target block to move towards."},"target_blocks":{"title":"Target Blocks","type":"array","default":["minecraft:sand"],"description":"[EXPERIMENTAL] Blocks that the mob can lay its eggs on top of."},"target_materials_above_block":{"title":"Target Materials Above Block","type":"array","default":["air"],"description":"[EXPERIMENTAL] Types of materials that can exist above the target block. Valid types are Air, Water, and Lava."},"use_default_animation":{"title":"Use Default Animation","type":"boolean","default":true,"description":"[EXPERIMENTAL] Specifies if the default lay-egg animation should be played when the egg is placed or not."}},"examples":[{"goal_radius":0.5,"search_height":1,"search_range":0}]},"DDG":{"description":"Allows monsters to jump at and attack their target. Can only be used by hostile mobs.","type":"object","title":"Leap At Target","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"must_be_on_ground":{"type":"boolean","default":true,"description":"If true, the mob will only jump at its target if its on the ground. Setting it to false will allow it to jump even if its already in the air","title":"Must Be On Ground"},"set_persistent":{"type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player.","title":"Set Persistent"},"yd":{"type":"number","default":0.0,"description":"The height in blocks the mob jumps when leaping at its target.","title":"Yd"},"target_dist":{"type":"number","default":0.3,"description":"Distance in blocks the mob jumps when leaping at its target.","title":"Target Dist"}},"examples":[{"must_be_on_ground":true,"set_persistent":false,"yd":0,"target_dist":0}]},"DDH":{"description":"Allows the mob to look at nearby entities.","type":"object","title":"Look At Entity","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"look_distance":{"type":"number","default":8.0,"description":"The distance in blocks from which the entity will look at.","title":"Look Distance"},"probability":{"type":"number","default":0.02,"description":"The probability of looking at the target. A value of 1.00 is 100%","title":"Probability"},"look_time":{"$ref":"#/definitions/JD","default":[2,4],"description":"Time range to look at the entity.","title":"Look Time"},"angle_of_view_vertical":{"type":"integer","default":360,"description":"The angle in degrees that the mob can see in the X-axis (left-right).","title":"Angle Of View Vertical"},"angle_of_view_horizontal":{"type":"integer","default":360,"description":"The angle in degrees that the mob can see in the Y-axis (up-down).","title":"Angle Of View Horizontal"},"filters":{"description":"Filter to determine the conditions for this mob to look at the entity.","$ref":"#/definitions/BB"}},"examples":[{"look_distance":8.0,"probability":0.02,"angle_of_view_vertical":360,"angle_of_view_horizontal":360}]},"DDI":{"type":"object","title":"Look At Player","description":"Allows the mob to look at the player when the player is nearby.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"angle_of_view_vertical":{"title":"Angle Of View Vertical","type":"integer","default":360,"description":"The angle in degrees that the mob can see in the X-axis (left-right)."},"angle_of_view_horizontal":{"title":"Angle Of View Horizontal","type":"integer","default":360,"description":"The angle in degrees that the mob can see in the Y-axis (up-down)."},"look_distance":{"title":"Look Distance","type":"number","default":8.0,"description":"The distance in blocks from which the entity will look at."},"probability":{"title":"Probability","type":"number","default":0.02,"minimum":0,"description":"The probability of looking at the target. A value of 1.00 is 100%"},"look_time":{"title":"Look Time","type":"array","default":[2,4],"description":"Time range to look at the entity.","items":[{"type":"number","title":"Minimum","description":"The minimum amount of time to look."},{"type":"number","title":"Maximum","description":"The maximum amount of time to look."}]},"target_distance":{"title":"Target Distance","type":"number","default":6.0,"description":"The distance in blocks from which the entity will choose a target."}},"examples":[{"angle_of_view_vertical":360,"angle_of_view_horizontal":360,"look_distance":8.0,"probability":0.02,"look_time":[],"target_distance":6.0}]},"DDJ":{"type":"object","title":"Look At Target","description":"Allows the mob to look at the entity they are targetting.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"look_distance":{"type":"number","default":8.0,"description":"The distance in blocks from which the entity will look at.","title":"Look Distance"},"probability":{"type":"number","default":0.02,"description":"The probability of looking at the target. A value of 1.00 is 100%","title":"Probability"},"look_time":{"$ref":"#/definitions/JD","default":[2,4],"description":"Time range to look at the entity.","title":"Look Time"},"angle_of_view_vertical":{"type":"integer","default":360,"description":"The angle in degrees that the mob can see in the X-axis (left-right).","title":"Angle Of View Vertical"},"angle_of_view_horizontal":{"type":"integer","default":360,"description":"The angle in degrees that the mob can see in the Y-axis (up-down).","title":"Angle Of View Horizontal"}},"examples":[{"look_distance":8.0,"probability":0.02,"angle_of_view_vertical":360,"angle_of_view_horizontal":360}]},"DEA":{"type":"object","title":"Look At Trading Player","additionalProperties":false,"description":"Allows the mob to look at the player they are trading with.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"look_distance":{"type":"number","default":8.0,"description":"The distance in blocks from which the entity will look at.","title":"Look Distance"},"probability":{"type":"number","default":0.02,"description":"The probability of looking at the target. A value of 1.00 is 100%","title":"Probability"},"look_time":{"$ref":"#/definitions/JD","default":[2,4],"description":"Time range to look at the entity.","title":"Look Time"},"angle_of_view_vertical":{"type":"integer","default":360,"description":"The angle in degrees that the mob can see in the X-axis (left-right).","title":"Angle Of View Vertical"},"angle_of_view_horizontal":{"type":"integer","default":360,"description":"The angle in degrees that the mob can see in the Y-axis (up-down).","title":"Angle Of View Horizontal"}},"examples":[{"look_distance":8.0,"probability":0.02,"angle_of_view_vertical":360,"angle_of_view_horizontal":360}]},"DEB":{"description":"Allows the villager to look for a mate to spawn other villagers with. Can only be used by Villagers.","type":"object","title":"Make Love","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DEC":{"type":"object","title":"Melee Attack","description":"Allows the mob to use close combat melee attacks.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"attack_once":{"title":"Attack Once","type":"boolean","default":false,"description":"Allows the entity to use this attack behavior, only once EVER."},"attack_types":{"title":"Attack Types","type":"string","default":"N/A","description":"Defines the entity types this entity will attack."},"cooldown_time":{"title":"Cooldown Time","type":"number","default":1,"description":"Cooldown time (in seconds) between attacks."},"inner_boundary_time_increase":{"title":"Inner Boundary Time Increase","type":"number","default":0.25,"description":"Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_inner_boundary\"."},"max_dist":{"title":"Max Dist","type":"number","description":"Unused. No effect on \"minecraft:behavior.melee_attack\"."},"max_path_time":{"title":"Max Path Time","type":"number","default":0.55,"description":"Maximum base time (in seconds) to recalculate new attack path to target (before increases applied)."},"melee_fov":{"title":"Melee Fov","type":"number","default":90,"description":"Field of view (in degrees) when using the sensing component to detect an attack target."},"min_path_time":{"title":"Min Path Time","type":"number","default":0.2,"description":"Minimum base time (in seconds) to recalculate new attack path to target (before increases applied)."},"on_attack":{"title":"On Attack","$ref":"#/definitions/JA","description":"Defines the event to trigger when this entity successfully attacks."},"on_kill":{"title":"On Kill","$ref":"#/definitions/JA","description":"Defines the event to trigger when this entity successfully kills."},"outer_boundary_time_increase":{"title":"Outer Boundary Time Increase","type":"number","default":0.5,"description":"Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_outer_boundary\"."},"path_fail_time_increase":{"title":"Path Fail Time Increase","type":"number","default":0.75,"description":"Time (in seconds) to add to attack path recalculation when this entity cannot move along the current path."},"path_inner_boundary":{"title":"Path Inner Boundary","type":"number","default":16,"description":"Distance at which to increase attack path recalculation by \"inner_boundary_tick_increase\"."},"path_outer_boundary":{"title":"Path Outer Boundary","type":"number","default":32,"description":"Distance at which to increase attack path recalculation by \"outer_boundary_tick_increase\"."},"random_stop_interval":{"title":"Random Stop Interval","type":"integer","default":0,"description":"This entity will have a 1 in N chance to stop it's current attack, where N = \"random_stop_interval\"."},"reach_multiplier":{"title":"Reach Multiplier","type":"number","default":2,"description":"Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage."},"require_complete_path":{"title":"Require Complete Path","type":"boolean","default":false,"description":"Toggles (on/off) the need to have a full path from the entity to the target when using this melee attack behavior."},"set_persistent":{"title":"Set Persistent","type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player."},"target_dist":{"title":"Target Dist","type":"number","description":"Unused. No effect on \"minecraft:behavior.melee_attack\"."},"track_target":{"title":"Track Target","type":"boolean","default":false,"description":"Allows the entity to track the attack target, even if the entity has no sensing."},"x_max_rotation":{"title":"X Max Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."},"y_max_head_rotation":{"title":"Y Max Head Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."}},"examples":[{"melee_fov":90.0,"track_target":false,"attack_types":"example","random_stop_interval":0,"reach_multiplier":2.0,"attack_once":false,"require_complete_path":false,"cooldown_time":0.0}]},"DED":{"description":"Allows an entity to go to the village bell and mingle with other entities.","type":"object","title":"Mingle","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"cooldown_time":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again.","title":"Cooldown Time"},"duration":{"type":"number","default":1,"description":"Amount of time in seconds that the entity will chat with another entity.","title":"Duration"},"mingle_distance":{"type":"number","default":2.0,"description":"The distance from its partner that this entity will mingle. If the entity type is not the same as the entity, this value needs to be identical on both entities.","title":"Mingle Distance"},"mingle_partner_type":{"description":"The entity type that this entity is allowed to mingle with.","title":"Mingle Partner Type","oneOf":[{"type":"array","items":{"description":"The entity type that this entity is allowed to mingle with.","type":"string"}},{"type":"string"}]}},"examples":[{"cooldown_time":0,"duration":1,"mingle_distance":2.0}]},"DEE":{"type":"object","title":"Mount Pathing","description":"Allows the mob to move around on its own while mounted seeking a target to attack.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"target_dist":{"type":"number","default":0.0,"description":"The distance at which this mob wants to be away from its target.","title":"Target Dist"},"track_target":{"type":"boolean","default":false,"description":"If true, this mob will chase after the target as long as it's a valid target.","title":"Track Target"}},"examples":[{"target_dist":0.0,"track_target":false}]},"DEF":{"description":"Can only be used by Villagers. Allows them to seek shelter indoors.","type":"object","title":"Move Indoors","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"timeout_cooldown":{"type":"number","default":8,"description":"The cooldown time in seconds before the goal can be reused after pathfinding fails.","title":"Timeout Cooldown"}},"examples":[{"timeout_cooldown":8}]},"DEG":{"additionalProperties":false,"type":"object","title":"Move Outdoors","$comment":"UNDOCUMENTED","description":"Forces the entity to move `outside`, whatever that means.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"title":"Goal Radius","type":"number","default":0.5,"description":"The radius away from the target block to count as reaching the goal."},"search_count":{"title":"Search Count","type":"integer","default":0.0,"description":"The amount of times to try finding a random outdoors position before failing."},"search_height":{"title":"Search Height","type":"integer","default":0.0,"description":"The y range to search for an outdoors position for."},"search_range":{"title":"Search Range","type":"integer","default":0.0,"description":"The x and z range to search for an outdoors position for."},"timeout_cooldown":{"title":"Timeout Cooldown","type":"number","default":8000000,"description":"The cooldown time in seconds before the goal can be reused after pathfinding fails."}}},"DEH":{"type":"object","title":"Move Through Village","description":"Can only be used by Villagers. Allows the villagers to create paths around the village.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"only_at_night":{"type":"boolean","default":false,"description":"If true, the mob will only move through the village during night time.","title":"Only At Night"}},"examples":[{"only_at_night":false}]},"DEI":{"type":"object","title":"Move To Block","additionalProperties":false,"description":"Allows mob to move towards a block.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"goal_radius":{"title":"Goal Radius","type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the \"wiggle room\" to stop the AI from bouncing back and forth trying to reach a specific spot"},"on_stay_completed":{"title":"On Stay Completed","description":"Event to run on completing a stay of stay_duration at the block.","oneOf":[{"type":"array","items":{"$ref":"#/definitions/JA"}},{"$ref":"#/definitions/JA"}]},"on_reach":{"title":"On Reach","description":"Event to run on block reached.","oneOf":[{"type":"array","items":{"$ref":"#/definitions/JA"}},{"$ref":"#/definitions/JA"}]},"start_chance":{"title":"Start Chance","type":"number","default":1.0,"description":"Chance to start the behavior (applied after each random tick_interval)."},"search_range":{"title":"Search Range","type":"integer","default":0,"description":"The distance in blocks that the mob will look for the block."},"search_height":{"title":"Search Height","type":"integer","default":1,"description":"The height in blocks that the mob will look for the block."},"stay_duration":{"title":"Stay Duration","type":"number","default":0.0,"description":"Number of ticks needed to complete a stay at the block."},"target_selection_method":{"title":"Target Selection Method","type":"string","default":"nearest","description":"Kind of block to find fitting the specification. Valid values are \"random\" and \"nearest\".","enum":["random","nearest"]},"target_offset":{"title":"Target Offset","type":"array","default":[0,0,0],"description":"Offset to add to the selected target position.","items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]},"target_blocks":{"type":"array","title":"Target Blocks","description":"Block types to move to.","items":{"$ref":"#/definitions/JI","type":"string"}},"target_block_filters":{"title":"Target Block Filters","description":"Filters to apply on the target blocks. Target blocks are only valid if the filters are true.","$comment":"UNDOCUMENTED","$ref":"#/definitions/BB"},"tick_interval":{"title":"Tick Interval","type":"integer","default":20,"description":"Average interval in ticks to try to run this behavior."}},"examples":[{"start_chance":1,"search_range":32,"goal_radius":3,"stay_duration":2,"target_blocks":["minecraft:chest"]}]},"DEJ":{"description":"Allows the mob to move back onto land when in water.","type":"object","title":"Move To Land","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"search_count":{"type":"integer","default":10,"description":"The number of blocks each tick that the mob will check within it's search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick","title":"Search Count"},"search_height":{"type":"integer","default":1,"description":"Height in blocks the mob will look for land to move towards.","title":"Search Height"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks it will look for land to move towards.","title":"Search Range"}},"examples":[{"goal_radius":0.5,"search_count":10,"search_height":1,"search_range":0}]},"DFA":{"type":"object","title":"Move To Lava","description":"Allows the mob to move back into lava when on land.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"search_count":{"type":"integer","default":10,"description":"The number of blocks each tick that the mob will check within it's search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick","title":"Search Count"},"search_height":{"type":"integer","default":1,"description":"Height in blocks the mob will look for lava to move towards.","title":"Search Height"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks it will look for lava to move towards.","title":"Search Range"}},"examples":[{"goal_radius":0.5,"search_count":10,"search_height":1,"search_range":0}]},"DFB":{"type":"object","title":"Move To Liquid","description":"Allows the mob to move back into lava when on land.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"search_count":{"type":"integer","default":10,"description":"The number of blocks each tick that the mob will check within it's search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick","title":"Search Count"},"search_height":{"type":"integer","default":1,"description":"Height in blocks the mob will look for lava to move towards.","title":"Search Height"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks it will look for lava to move towards.","title":"Search Range"},"material_type":{"title":"Material Type","description":"UNDOCUMENTAED, examples are : Lava.","type":"string"}},"examples":[{"goal_radius":0.5,"search_count":10,"search_height":1,"search_range":0,"material_type":"example"}]},"DFC":{"type":"object","title":"Move To Poi","additionalProperties":false,"description":"Allows the mob to move to a POI if able to.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"poi_type":{"type":"string","description":"Tells the goal what POI type it should be looking for.","title":"Point Of Interest Type"}},"examples":[{"poi_type":"example"}]},"DFD":{"type":"object","title":"Move To Random Block","description":"Allows mob to move towards a random block.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"block_distance":{"type":"number","default":16,"description":"Defines the distance from the mob, in blocks, that the block to move to will be chosen.","title":"Block Distance"},"within_radius":{"type":"number","default":0,"description":"Defines the distance in blocks the mob has to be from the block for the movement to be finished.","title":"Within Radius"}},"examples":[{"block_distance":16,"within_radius":0}]},"DFE":{"type":"object","title":"Move To Village","additionalProperties":false,"description":"Allows the mob to move into a random location within a village.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"cooldown_time":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again.","title":"Cooldown Time"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks to search for villages. If <= 0, find the closest village regardless of distance.","title":"Search Range"}},"examples":[{"cooldown_time":0,"goal_radius":0.5,"search_range":0}]},"DFF":{"type":"object","title":"Move To Water","additionalProperties":false,"description":"Allows the mob to move back into water when on land.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks it will look for water to move towards.","title":"Search Range"},"search_height":{"type":"integer","default":1,"description":"Height in blocks the mob will look for water to move towards.","title":"Search Height"},"search_count":{"type":"integer","default":10,"description":"The number of blocks each tick that the mob will check within it's search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick","title":"Search Count"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"}},"examples":[{"search_range":0,"search_height":1,"search_count":10,"goal_radius":0.5}]},"DFG":{"type":"object","title":"Move Towards Dwelling Restriction","additionalProperties":false,"description":"Allows mobs with the dweller component to move toward their Village area that the mob should be restricted to.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"DFH":{"type":"object","title":"Move Towards Home Restriction","description":"Allows mobs with the home component to move toward their pre-defined area that the mob should be restricted to.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"DFI":{"type":"object","title":"Move Towards Restriction","additionalProperties":false,"description":"Allows Guardians, Iron Golems and Villagers to move within their pre-defined area that the mob should be restricted to. Other mobs don't have a restriction defined.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"control_flags":{"type":"array","items":{"type":"string","enum":["move","look"],"description":"UNDOCUMENTED: control flags.","title":"Control Flags"},"description":"UNDOCUMENTED: control flags.","title":"Control Flags"}},"examples":[{"control_flags":[]}]},"DFJ":{"type":"object","title":"Guardian Attack","additionalProperties":false,"description":"Allows mob to move towards its current target.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"within_radius":{"type":"number","default":0.0,"description":"Defines the radius in blocks that the mob tries to be from the target. A value of 0 means it tries to occupy the same block as the target","title":"Within Radius"}},"examples":[{"within_radius":0.0}]},"DGA":{"type":"object","title":"Nap","description":"Allows the mob to move back into lava when on land.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"cooldown_max":{"title":"Cooldown Max","type":"number","default":0,"description":"Maximum time in seconds the mob has to wait before using the goal again."},"cooldown_min":{"title":"Cooldown Min","type":"number","default":0,"description":"Minimum time in seconds the mob has to wait before using the goal again."},"mob_detect_dist":{"title":"Mob Detect Dist","type":"number","default":6,"description":"The block distance in x and z that will be checked for mobs that this mob detects."},"mob_detect_height":{"title":"Mob Detect Height","type":"number","default":6,"description":"The block distance in y that will be checked for mobs that this mob detects."},"can_nap_filters":{"title":"Can Nap Filters","$ref":"#/definitions/BB","description":"The filters that need to be met for the nap to take place.","$comment":"UNDOCUMENTED"},"wake_mob_exceptions":{"title":"Wake Mob Exceptions","$ref":"#/definitions/BB","description":"Filters that can trigger the entity to wake up from it nap.","$comment":"UNDOCUMENTED"}},"examples":[{"cooldown_max":0,"cooldown_min":0,"mob_detect_dist":6,"mob_detect_height":6}]},"DGB_entity_type":{"type":"object","description":"A entity type.","properties":{"filters":{"$ref":"#/definitions/BB","description":"Conditions that make this target a valid type.","title":"Filters"},"max_dist":{"type":"number","default":16,"description":"To be a valid target choice, the target type cannot be farther away from this entity than `max_dist`.","title":"Maximum Dist"},"must_see":{"type":"boolean","default":false,"description":"Determines if target-validity requires this entity to be in range only, or both in range and in sight.","title":"Must See"},"must_see_forget_duration":{"type":"boolean","default":3,"description":"Time (in seconds) the target must not be seen by this entity to become invalid. Used only if `must_see` is true.","title":"Must See Forget Duration"}}},"DGB":{"type":"object","title":"Nearest Attackable Target","description":"Allows the mob to check for and pursue the nearest valid target.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"description":"Filters which types of targets are valid for this entity.","title":"Entity Types","oneOf":[{"$ref":"#/definitions/DGB_entity_type"},{"type":"array","items":{"$ref":"#/definitions/DGB_entity_type"}}]},"attack_interval":{"type":"integer","default":0,"description":"Time range (in seconds) between searching for an attack target, range is in (0, `attack_interval`]. Only used if `attack_interval` is greater than 0, otherwise `scan_interval` is used.","title":"Attack Interval"},"attack_interval_min":{"type":"number","default":0,"description":"Alias for `attack_interval`; provides the same functionality as `attack_interval`.","title":"Attack Interval Min"},"attack_owner":{"type":"boolean","default":false,"description":"If true, this entity can attack its owner.","title":"Attack Owner"},"must_reach":{"type":"boolean","default":false,"description":"If true, this entity requires a path to the target.","title":"Must Reach"},"must_see":{"type":"boolean","default":false,"description":"Determines if target-validity requires this entity to be in range only, or both in range and in sight.","title":"Must See"},"must_see_forget_duration":{"type":"number","default":3,"description":"Time (in seconds) the target must not be seen by this entity to become invalid. Used only if `must_see` is true.","title":"Must See Forget Duration"},"persist_time":{"type":"number","default":0,"description":"Time (in seconds) this entity can continue attacking the target after the target is no longer valid.","title":"Persist Time"},"reselect_targets":{"type":"boolean","default":false,"description":"Allows the attacking entity to update the nearest target, otherwise a target is only reselected after each `scan_interval` or `attack_interval`.","title":"Reselect Targets"},"scan_interval":{"type":"integer","default":10,"description":"If `attack_interval` is 0 or isn't declared, then between attacks: scanning for a new target occurs every amount of ticks equal to `scan_interval`, minimum value is 1. Values under 10 can affect performance.","title":"Scan Interval"},"set_persistent":{"type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player.","title":"Set Persistent"},"target_invisible_multiplier":{"type":"number","default":0.7,"description":"Multiplied with the target's armor coverage percentage to modify `max_dist` when detecting an invisible target.","title":"Target Invisible Multiplier"},"target_search_height":{"type":"number","default":-1,"description":"Maximum vertical target-search distance, if it's greater than the target type's `max_dist`. A negative value defaults to `entity_types` greatest `max_dist`.","title":"Target Search Height"},"target_sneak_visibility_multiplier":{"type":"number","default":0.8,"description":"Multiplied with the target type's `max_dist` when trying to detect a sneaking target.","title":"Target Sneak Visibility Multiplier"},"within_radius":{"type":"number","default":0,"description":"Maximum distance this entity can be from the target when following it, otherwise the target becomes invalid. This value is only used if the entity doesn't declare `minecraft:follow_range`.","title":"Within Radius"}},"examples":[{"attack_interval":0,"attack_interval_min":0,"attack_owner":false,"must_reach":false,"must_see":false,"must_see_forget_duration":3,"persist_time":0,"reselect_targets":false,"scan_interval":10,"set_persistent":false,"target_invisible_multiplier":0.7,"target_search_height":-1,"target_sneak_visibility_multiplier":0.8,"within_radius":0}]},"DGC":{"type":"object","title":"Nearest Prioritized Attackable Target","description":"Allows the mob to check for and pursue the nearest valid target.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"description":"List of entity types that this mob considers valid targets.","title":"Entity Types","$ref":"#/definitions/CHC"},"attack_interval":{"type":"integer","default":0,"description":"Time in seconds before selecting a target.","title":"Attack Interval"},"must_reach":{"type":"boolean","default":false,"description":"If true, only entities that this mob can path to can be selected as targets.","title":"Must Reach"},"must_see":{"type":"boolean","default":false,"description":"If true, only entities in this mob's viewing range can be selected as targets.","title":"Must See"},"must_see_forget_duration":{"type":"number","default":3,"description":"Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more.","title":"Must See Forget Duration"},"persist_time":{"type":"number","default":0.0,"description":"Time in seconds for a valid target to stay targeted when it becomes and invalid target.","title":"Persist Time"},"reselect_targets":{"type":"boolean","default":false,"description":"If true, the target will change to the current closest entity whenever a different entity is closer.","title":"Reselect Targets"},"scan_interval":{"type":"integer","default":10,"description":"How many ticks to wait between scanning for a target.","title":"Scan Interval"},"set_persistent":{"type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player.","title":"Set Persistent"},"target_search_height":{"type":"number","default":-1.0,"description":"Height in blocks to search for a target mob. -1.0f means the height does not matter.","title":"Target Search Height"},"within_radius":{"type":"number","default":0,"description":"Distance in blocks that the target can be within to launch an attack.","title":"Within Radius"}},"examples":[{"attack_interval":0,"must_reach":false,"must_see":false,"must_see_forget_duration":3,"persist_time":0.0,"reselect_targets":false,"scan_interval":10,"set_persistent":false,"target_search_height":-1.0,"within_radius":0}]},"DGD":{"additionalProperties":false,"description":"Allows an entity to sit in place, similar to the ocelot entity animation pose.","type":"object","title":"Ocelot Sit On Block","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"DGE":{"type":"object","title":"Ocelotattack","additionalProperties":false,"description":"Can only be used by the Ocelot. Allows it to perform the sneak and pounce attack.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"cooldown_time":{"title":"Cooldown Time","type":"number","default":1,"description":"Time (in seconds) between attacks."},"max_distance":{"title":"Max Distance","type":"number","default":15,"description":"Max distance from the target, this entity will use this attack behavior."},"max_sneak_range":{"title":"Max Sneak Range","type":"number","default":15,"description":"Max distance from the target, this entity starts sneaking."},"max_sprint_range":{"title":"Max Sprint Range","type":"number","default":4,"description":"Max distance from the target, this entity starts sprinting (sprinting takes priority over sneaking)."},"reach_multiplier":{"title":"Reach Multiplier","type":"number","default":2,"description":"Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage."},"sneak_speed_multiplier":{"title":"Sneak Speed Multiplier","type":"number","default":0.6,"description":"Modifies the attacking entity's movement speed while sneaking."},"sprint_speed_multiplier":{"title":"Sprint Speed Multiplier","type":"number","default":1.33,"description":"Modifies the attacking entity's movement speed while sprinting."},"walk_speed_multiplier":{"title":"Walk Speed Multiplier","type":"number","default":0.8,"description":"Modifies the attacking entity's movement speed when not sneaking or sprinting, but still within attack range."},"x_max_rotation":{"title":"X Max Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."},"y_max_head_rotation":{"title":"Y Max Head Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."}},"examples":[{"walk_speed_multiplier":1.0,"sprint_speed_multiplier":1.0,"sneak_speed_multiplier":1.0,"cooldown_time":0.0,"x_max_rotation":0.0,"y_max_head_rotation":0.0,"max_distance":0.0,"max_sneak_range":0.0,"max_sprint_range":0.0,"reach_multiplier":0.0}]},"DGF":{"type":"object","title":"Offer Flower","additionalProperties":false,"description":"Allows the mob to offer the player a flower like the Iron Golem does.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DGG":{"type":"object","title":"Guardian Attack","additionalProperties":false,"description":"Allows the mob to open doors. Requires the mob to be able to path through doors, otherwise the mob won't even want to try opening them.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"close_door_after":{"type":"boolean","default":true,"description":"If true, the mob will close the door after opening it and going through it.","title":"Close Door After"}},"examples":[{"close_door_after":true}]},"DGH":{"type":"object","title":"Owner Hurt By Target","additionalProperties":false,"description":"Allows the mob to target another mob that hurts their owner.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entity types that this mob can target if they hurt their owner.","title":"Entity Types"}}},"DGI":{"type":"object","title":"Owner Hurt Target","additionalProperties":false,"description":"Allows the mob to target a mob that is hurt by their owner.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entity types that this entity can target if the potential target is hurt by this mob's owner.","title":"Entity TYpes"}}},"DGJ":{"description":"Allows the mob to enter the panic state, which makes it run around and away from the damage source that made it enter this state.","type":"object","title":"Panic","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"damage_sources":{"title":"Damage Sources","type":"array","items":{"$ref":"#/definitions/CB"},"default":[["all"]],"description":"The list of Entity Damage Sources that will cause this mob to panic."},"force":{"title":"Force","type":"boolean","default":false,"description":"If true, this mob will not stop panicking until it can't move anymore or the goal is removed from it."},"ignore_mob_damage":{"title":"Ignore Mob Damage","type":"boolean","default":false,"description":"If true, the mob will not panic in response to damage from other mobs. This overrides the damage types in `damage_sources`"},"prefer_water":{"title":"Prefer Water","type":"boolean","default":false,"description":"If true, the mob will prefer water over land."},"panic_sound":{"title":"Panic Sound","type":"string","description":"The sound event to play when this mob is in panic."},"sound_interval":{"title":"Sound Interval","type":"object","description":"The range of time in seconds to randomly wait before playing the sound again.","properties":{"range_min":{"type":"number","description":"The minimum time in seconds before the `panic_sound` plays.","title":"Range Minimum"},"range_max":{"type":"number","description":"The maximum time in seconds before the `panic_sound` plays.","title":"Range Maximum"}},"additionalProperties":false}},"examples":[{"damage_sources":[],"force":false,"ignore_mob_damage":false,"prefer_water":false,"panic_sound":"example","sound_interval":{}}]},"DHA":{"description":"Allows the mob to peek out. This is what the shulker uses to look out of its shell.","type":"object","title":"Peek","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DHB":{"description":"Allows the mob to be tempted by food they like.","type":"object","title":"Tempt","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"title":"Goal Radius","type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the \"wiggle room\" to stop the AI from bouncing back and forth trying to reach a specific spot"},"search_height":{"title":"Search Height","type":"integer","default":1,"description":"Height in blocks from the owner the pet can be to sleep with owner."},"search_radius":{"title":"Search Radius","type":"integer","default":10,"description":"The radius that the mob will search for an owner to curl up with."},"search_range":{"title":"Search Range","type":"integer","default":10,"description":"The range that the mob will search for an owner to curl up with."}},"examples":[{"goal_radius":0.5,"search_height":1,"search_range":0,"search_radius":0}]},"DHC":{"description":"Allows the mob to pick up items on the ground.","additionalProperties":false,"type":"object","title":"Pickup Items","properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"can_pickup_any_item":{"type":"boolean","default":false,"description":"If true, the mob can pickup any item.","title":"Can Pickup Any Item"},"can_pickup_to_hand_or_equipment":{"type":"boolean","default":true,"description":"If true, the mob can pickup items to its hand or armor slots.","title":"Can Pickup To Hand Or Equipment"},"cooldown_after_being_attacked":{"type":"number","default":20.0,"description":"Amount of time an offended entity needs before being willing to pick up items.","title":"Cooldown After Being Attacked"},"excluded_items":{"title":"Excluded Items","description":"List of items this mob will not pick up.","type":"array","items":{"title":"Excluded Item","$ref":"#/definitions/H"}},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot.","title":"Goal Radius"},"max_dist":{"type":"number","default":0.0,"description":"Maximum distance this mob will look for items to pick up.","title":"Maximum Dist"},"search_height":{"title":"Search Height","type":"number","default":0,"description":"Height in blocks the mob will look for items to pick up.","$comment":"UNDOCUMENTED"},"pickup_based_on_chance":{"type":"boolean","default":false,"description":"If true, depending on the difficulty, there is a random chance that the mob may not be able to pickup items.","title":"Pickup Based On Chance"},"pickup_same_items_as_in_hand":{"type":"boolean","default":false,"description":"If true, the mob will pickup the same item as the item in its hand.","title":"Pickup Same Items As In Hand","$comment":"UNDOCUMENTED"},"track_target":{"type":"boolean","default":false,"description":"If true, this mob will chase after the target as long as it's a valid target.","title":"Track Target"}},"examples":[{"can_pickup_any_item":false,"can_pickup_to_hand_or_equipment":true,"cooldown_after_being_attacked":true,"excluded_items":[],"goal_radius":0.5,"max_dist":0,"pickup_based_on_chance":false,"track_target":false}]},"DHD":{"description":"Allows the mob to play dead when attacked by other entities. When playing dead, other entities will not target this mob.","type":"object","title":"Play Dead","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"apply_regeneration":{"title":"Apply Regeneration","type":"boolean","default":true,"description":"Whether the mob will receive the regeneration effect while playing dead."},"duration":{"title":"Duration","type":"number","default":1.0,"description":"The amount of time the mob will remain playing dead (in seconds)."},"filters":{"title":"Filters","description":"The list of other triggers that are required for the mob to activate play dead.","$ref":"#/definitions/BB"},"force_below_health":{"title":"Force Below Health","type":"integer","default":0,"description":"The amount of health at which damage will cause the mob to play dead."},"random_start_chance":{"title":"Random Start Chance","type":"number","default":1.0,"description":"The likelihood of this goal starting upon taking damage."},"random_damage_range":{"title":"Random Damage Range","description":"The range of damage that may cause the goal to start depending on randomness. Damage taken below the min will never cause the goal to start. Damage taken above the max will always cause the goal to start.","type":"array","items":[{"title":"Minimum","description":"Minimum.","type":"integer","minimum":0},{"title":"Maximum","description":"Maximum.","type":"integer","minimum":0}]},"damage_sources":{"title":"Damage Sources","description":"The list of Entity Damage Sources that will cause this mob to play dead.","default":["all"],"oneOf":[{"type":"string","$ref":"#/definitions/CB"},{"type":"array","items":{"title":"Damage Source","$ref":"#/definitions/CB"}}]}},"examples":[{"duration":0.0,"force_below_health":0.0,"random_start_chance":0.0,"random_damage_range":[],"apply_regeneration":true}]},"DHE":{"description":"Allows the mob to play with other baby villagers. This can only be used by Villagers.","type":"object","title":"Play","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"DHF":{"description":"Allows the mob to be ridden by the player after being tamed.","type":"object","title":"Player Ride Tamed","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DHG":{"description":"Allows the mob to eat/raid crops out of farms until they are full.","additionalProperties":false,"type":"object","title":"Raid Garden","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"blocks":{"title":"Blocks","type":"array","description":"Blocks that the mob is looking for to eat.","items":{"type":"string","title":"Block Id","description":"A block identifier.","$ref":"#/definitions/JI"}},"eat_delay":{"title":"Eat Delay","type":"integer","default":2,"description":"Time in seconds between each time it eats."},"full_delay":{"title":"Full Delay","type":"integer","default":100,"description":"Amount of time in seconds before this mob wants to eat again."},"initial_eat_delay":{"title":"Initial Eat Delay","type":"integer","default":0,"description":"Time in seconds before starting to eat/raid once it arrives at it."},"goal_radius":{"type":"number","title":"Goal Radius","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot"},"max_to_eat":{"title":"Maximum To Eat","type":"integer","default":6,"description":"Maximum number of things this entity wants to eat."},"search_range":{"title":"Search Range","type":"integer","default":0,"description":"Distance in blocks the mob will look for crops to eat."},"search_height":{"title":"Search Height","type":"integer","default":0,"description":"Height in blocks the mob will look for crops to eat."}},"examples":[{"blocks":[],"eat_delay":2,"full_delay":100,"initial_eat_delay":0,"goal_radius":0.5,"max_to_eat":6,"search_range":0,"search_height":0}]},"DHH":{"description":"Allows the mob to search for a random target and, if a direct path exists between the mob and the target, it will perform a charge. If the attack hits, the target will be knocked back based on the mob's speed.","type":"object","title":"Ram Attack","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"baby_knockback_modifier":{"title":"Baby Knockback Modifier","type":"number","default":0.333333,"description":"The modifier to knockback that babies have."},"cooldown_range":{"title":"Cooldown Range","$ref":"#/definitions/JD","default":[10,20],"description":"Minimum and maximum cooldown time-range (positive, in seconds) between each attempted ram attack."},"knockback_force":{"title":"Knockback Force","type":"number","default":5.0,"description":"The force of the knockback of the ram attack."},"knockback_height":{"title":"Knockback Height","type":"number","default":0.1,"description":"The height of the knockback of the ram attack."},"min_ram_distance":{"title":"Min Ram Distance","type":"number","default":0.0,"description":"The minimum distance at which the mob can start a ram attack."},"on_start":{"title":"On Start","$ref":"#/definitions/JA","description":"The event to trigger when attacking."},"pre_ram_sound":{"title":"Pre Ram Sound","type":"string","default":"","description":"The sound to play when an entity is about to perform a ram attack."},"ram_distance":{"title":"Ram Distance","type":"number","default":0.0,"description":"The distance at which the mob start to run with ram speed."},"ram_impact_sound":{"title":"Ram Impact Sound","type":"string","default":"","description":"The sound to play when an entity is impacting on a ram attack."},"ram_speed":{"title":"Ram Speed","type":"number","default":2.0,"description":"Sets the entity's speed when charging toward the target."},"run_speed":{"title":"Run Speed","type":"number","default":1.0,"description":"Sets the entity's speed when running toward the target."},"trigger":{"description":"The event to trigger when attacking.","title":"Trigger","$ref":"#/definitions/JA"}},"examples":[{"baby_knockback_modifier":4,"cooldown_range":[],"knockback_force":5,"knockback_height":0.1,"min_ram_distance":4,"pre_ram_sound":"example","ram_distance":7,"ram_impact_sound":"example","ram_speed":2,"run_speed":1}]},"DHI":{"description":"Allows the mob to randomly break surface of the water.","type":"object","title":"Player Ride Tamed","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"cooldown_time":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again.","title":"Cooldown Time"},"interval":{"type":"integer","default":120,"description":"A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal","title":"Interval"},"xz_dist":{"type":"integer","default":10,"description":"Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1","title":"XZ Distance"},"y_dist":{"type":"integer","default":7,"description":"Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1","title":"Y Distance"}},"examples":[{"cooldown_time":0,"interval":120,"xz_dist":10,"y_dist":7}]},"DHJ":{"description":"Allows a mob to randomly fly around.","type":"object","title":"Random Fly","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"avoid_damage_blocks":{"type":"boolean","description":"If true, the mob will avoid blocks that cause damage.","$comment":"UNDOCUMENTED","title":"Avoid Damage Blocks"},"can_land_on_trees":{"type":"boolean","default":true,"description":"If true, the mob can stop flying and land on a tree instead of the ground.","title":"Can Land On Trees"},"xz_dist":{"type":"integer","default":10,"description":"Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1","title":"Xz Dist"},"y_dist":{"type":"integer","default":7,"description":"Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1","title":"Y Dist"},"y_offset":{"type":"integer","description":"Height in blocks to add to the selected target position.","$comment":"UNDOCUMENTED","title":"Y Offset"}},"examples":[{"avoid_damage_blocks":true,"can_land_on_trees":true,"xz_dist":10,"y_dist":7,"y_offset":0}]},"DIA":{"description":"Allows the mob to hover around randomly, close to the surface.","type":"object","title":"Random Hover","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"hover_height":{"title":"Hover Height","type":"array","description":"The height above the surface which the mob will try to maintain.","items":[{"type":"number"},{"type":"number"}]},"interval":{"type":"integer","default":120,"description":"A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal","title":"Interval"},"xz_dist":{"type":"integer","default":10,"description":"Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1","title":"Xz Dist"},"y_dist":{"type":"integer","default":7,"description":"Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1","title":"Y Dist"},"y_offset":{"type":"number","default":0,"description":"Height in blocks to add to the selected target position.","title":"Y Offset"}},"examples":[{"hover_height":[],"interval":120,"xz_dist":10,"y_dist":7,"y_offset":0}]},"DIB":{"description":"Allows the mob to randomly sit and look around for a duration. Note: Must have a sitting animation set up to use this.","type":"object","title":"Random Look Around And Sit","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"max_look_count":{"type":"integer","default":2,"description":"The Maximum amount of unique looks a mob will have while looking around.","title":"Maximum Look Count"},"max_look_time":{"type":"integer","default":40,"description":"The Maximum amount of time (in ticks) a mob will stay looking at a direction while looking around.","title":"Maximum Look Time"},"min_look_count":{"type":"integer","default":1,"description":"The Minimum amount of unique looks a mob will have while looking around.","title":"Minimum Look Count"},"min_look_time":{"type":"integer","default":20,"description":"The Minimum amount of time (in ticks) a mob will stay looking at a direction while looking around.","title":"Minimum Look Time"},"probability":{"type":"number","default":0.02,"description":"The probability of randomly looking around/sitting.","title":"Probability"}},"examples":[{"max_look_count":2,"max_look_time":40,"min_look_count":1,"min_look_time":20,"probability":0.02}]},"DIC":{"additionalProperties":false,"description":"Allows the mob to randomly look around.","type":"object","title":"Random Look Around","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"look_time":{"title":"Look Time","description":"The range of time in seconds the mob will stay looking in a random direction before looking elsewhere.","oneOf":[{"type":"number"},{"type":"array","items":[{"type":"number","title":"Minimum","description":"Minimum."},{"type":"number","title":"Maximum","description":"Maximum."}]}]},"look_distance":{"title":"Look Distance","description":"The distance in blocks from which the mob will look at.","type":"number","default":8.0},"probability":{"title":"Probability","type":"number","default":0.02,"description":"The probability of looking at the target. A value of 1.00 is 100%."},"angle_of_view_vertical":{"title":"Angle Of View Vertical","type":"integer","default":360,"description":"The angle in degrees that the mob can see in the X-axis (left-right)."},"angle_of_view_horizontal":{"title":"Angle Of View Horizontal","type":"integer","default":360,"description":"The angle in degrees that the mob can see in the Y-axis (up-down)."}},"examples":[{"look_distance":0.0}]},"DID":{"type":"object","title":"Random Sitting","description":"Allows the mob to randomly sit for a duration.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"cooldown":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again.","title":"Cooldown"},"cooldown_time":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again.","title":"Cooldown Time"},"min_sit_time":{"type":"number","default":10,"description":"The minimum amount of time in seconds before the mob can stand back up.","title":"Minimum Sit Time"},"start_chance":{"type":"number","default":0.1,"description":"This is the chance that the mob will start this goal, from 0 to 1.","title":"Start Chance"},"stop_chance":{"type":"number","default":0.3,"description":"This is the chance that the mob will stop this goal, from 0 to 1.","title":"Stop Chance"}},"examples":[{"cooldown":0,"cooldown_time":0,"min_sit_time":10,"start_chance":0.1,"stop_chance":0.3}]},"DIE":{"description":"Allows a mob to randomly stroll around.","type":"object","title":"Random Stroll","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"interval":{"type":"integer","default":120,"description":"A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal","title":"Interval"},"xz_dist":{"type":"integer","default":10,"description":"Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1","title":"XZ Distance"},"y_dist":{"type":"integer","default":7,"description":"Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1","title":"Y Distance"}},"additionalProperties":false,"examples":[{"interval":120,"xz_dist":10,"y_dist":7}]},"DIF":{"type":"object","title":"Random Swim","description":"Allows an entity to randomly move through water.","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"avoid_surface":{"type":"boolean","default":true,"description":"If true, the mob will avoid surface water blocks by swimming below them.","title":"Avoid Surface"},"interval":{"type":"integer","default":120,"description":"A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal","title":"Interval"},"xz_dist":{"type":"integer","default":10,"description":"Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1","title":"XZ Distance"},"y_dist":{"type":"integer","default":7,"description":"Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1","title":"Y Distance"}},"additionalProperties":false,"examples":[{"avoid_surface":true,"interval":120,"xz_dist":10,"y_dist":7}]},"DIG":{"description":"Allows the mob to use ranged attacks like shooting arrows.","type":"object","title":"Ranged Attack","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"attack_interval":{"title":"Attack Interval","type":"number","default":0,"description":"Alternative to \"attack_interval_min\" & \"attack_interval_max\". Consistent reload-time (in seconds), when not using a charged shot. Does not scale with target-distance."},"attack_interval_max":{"title":"Attack Interval Max","type":"number","default":0,"description":"Maximum bound for reload-time range (in seconds), when not using a charged shot. Reload-time range scales with target-distance."},"attack_interval_min":{"title":"Attack Interval Min","type":"number","default":0,"description":"Minimum bound for reload-time range (in seconds), when not using a charged shot. Reload-time range scales with target-distance."},"attack_radius":{"title":"Attack Radius","type":"number","default":0,"description":"Minimum distance to target before this entity will attempt to shoot."},"attack_radius_min":{"title":"Attack Radius Min","type":"number","default":0,"description":"Minimum distance the target can be for this mob to fire. If the target is closer, this mob will move first before firing"},"burst_interval":{"title":"Burst Interval","type":"number","default":0,"description":"Time (in seconds) between each individual shot when firing a burst of shots from a charged up attack."},"burst_shots":{"title":"Burst Shots","type":"integer","default":1,"description":"Number of shots fired every time the attacking entity uses a charged up attack."},"charge_charged_trigger":{"title":"Charge Charged Trigger","type":"number","default":0,"description":"Time (in seconds, then add \"charge_shoot_trigger\"), before a charged up attack is done charging. Charge-time decays while target is not in sight."},"charge_shoot_trigger":{"title":"Charge Shoot Trigger","type":"number","default":0,"description":"Amount of time (in seconds, then doubled) a charged shot must be charging before reloading burst shots. Charge-time decays while target is not in sight."},"ranged_fov":{"title":"Ranged Fov","type":"number","default":90,"description":"Field of view (in degrees) when using sensing to detect a target for attack."},"set_persistent":{"title":"Set Persistent","type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player."},"swing":{"title":"Swing","type":"boolean","default":false,"description":"If a swing animation (using variable.attack_time) exists, this causes the actor to swing their arm(s) upon firing the ranged attack."},"target_in_sight_time":{"title":"Target In Sight Time","type":"number","default":1,"description":"Minimum amount of time (in seconds) the attacking entity needs to see the target before moving toward it."},"x_max_rotation":{"title":"X Max Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."},"y_max_head_rotation":{"title":"Y Max Head Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."}},"examples":[{"attack_interval":0,"attack_interval_max":0,"attack_interval_min":0,"attack_radius":0,"burst_interval":0,"burst_shots":1,"charge_charged_trigger":0,"charge_shoot_trigger":0,"ranged_fov":90,"target_in_sight_time":0.0,"attack_radius_min":0.0}]},"DIH":{"description":"Allows the villager to stop so another villager can breed with it. Can only be used by a Villager.","type":"object","title":"Receive Love","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DII":{"description":"Allows the mob to stay indoors during night time.","type":"object","title":"Restrict Open Door","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DIJ":{"description":"Allows the mob to automatically start avoiding the sun when its a clear day out.","type":"object","title":"Restrict Sun","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DJA":{"description":"Allows the mob to stay at a certain level when in liquid.","type":"object","title":"Rise To Liquid Level","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"liquid_y_offset":{"type":"number","title":"Liquid Y Offset","description":"Vertical offset from the liquid."},"rise_delta":{"type":"number","title":"Rise Delta","description":"Displacement for how much the entity will move up in the vertical axis."},"sink_delta":{"type":"number","title":"Sink Delta","description":"Displacement for how much the entity will move down in the vertical axis."}},"examples":[{"liquid_y_offset":0.0,"rise_delta":0.0,"sink_delta":0.0}]},"DJB":{"additionalProperties":false,"type":"object","title":"Dig","description":"[EXPERIMENTAL BEHAVIOR] Plays the provided sound and activates the `ROARING` actor flag during the specified duration.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"duration":{"title":"Duration","type":"number","default":0.0,"description":"Goal duration in seconds."}}},"DJC":{"description":"This allows the mob to roll forward.","type":"object","title":"Roll","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"probability":{"type":"number","minimum":0,"description":"The probability that the mob will use the goal.","title":"Probability"}},"examples":[{"probability":0.0}]},"DJD":{"description":"Allows the mob to run around aimlessly.","type":"object","title":"Restrict Open Door","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"DJE":{"description":"Allows the a mob to become scared when the weather outside is thundering.","type":"object","title":"Scared","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"sound_interval":{"type":"integer","default":0,"description":"The interval in which a sound will play when active in a 1/delay chance to kick off.","title":"Sound Interval"}},"examples":[{"sound_interval":0}]},"DJF_sequence":{"type":"array","description":"List of events to send.","items":{"type":"object","additionalProperties":false,"properties":{"base_delay":{"type":"number","default":0,"description":"Amount of time in seconds before starting this step."},"event":{"type":"string","default":"","description":"The event to send to the entity."},"sound_event":{"type":"string","default":"","description":"The sound event to play when this step happens."}}}},"DJF":{"description":"Allows the mob to send an event to another mob.","type":"object","title":"Send Event","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"cast_duration":{"type":"number","description":"Time in seconds for the entire event sending process.","title":"Cast Duration"},"look_at_target":{"title":"Look At Target","type":"boolean","default":true,"description":"If true, the mob will face the entity it sends an event to."},"event_choices":{"type":"array","title":"Event Choices","description":"List of spells for the mob to use.","$comment":"UNDOCUMENTED","items":{"type":"object","additionalProperties":false,"title":"Event Choice","description":"A spell that the mob can cast.","$comment":"UNDOCUMENTED","properties":{"min_activation_range":{"type":"number","title":"Minimum Activation Range","description":"The minimum distance in blocks the target must be for this spell to be cast.","$comment":"UNDOCUMENTED","minimum":0},"max_activation_range":{"type":"number","title":"Maxmimum Activation Range","description":"The maxmimum distance in blocks the target must be for this spell to be cast.","$comment":"UNDOCUMENTED","minimum":0},"cooldown_time":{"type":"number","title":"Cooldown Time","description":"Time in seconds before the mob can use this spell again.","$comment":"UNDOCUMENTED"},"cast_duration":{"type":"number","title":"Cast Duration","description":"Time in seconds the spell casting will take.","$comment":"UNDOCUMENTED"},"filters":{"$ref":"#/definitions/BB"},"particle_color":{"type":"string","format":"color-hex","title":"Particle Color","description":"The color of the particles for this spell.","$comment":"UNDOCUMENTED"},"weight":{"type":"integer","title":"Weight","description":"The weight of this spell. Controls how likely this spell will be picked","$comment":"UNDOCUMENTED"},"start_sound_event":{"type":"string","title":"Start Sound Event","description":"The sound event to play when using this spell.","$comment":"UNDOCUMENTED"},"sequence":{"$ref":"#/definitions/DJF_sequence"}}}},"sequence":{"$ref":"#/definitions/DJF_sequence","description":"List of steps for the spell.","$comment":"UNDOCUMENTED","title":"Sequence"}},"examples":[{"cast_duration":0.0,"event_choices":[]}]},"DJG":{"description":"Allows the mob to send an event to another mob.","type":"object","title":"Share Items","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entities this mob will share items with.","title":"Entity Types"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"max_dist":{"type":"number","default":0,"description":"Maximum distance in blocks this mob will look for entities to share items with.","title":"Maximum Distance"}},"examples":[{"goal_radius":0.5,"max_dist":0}]},"DJH":{"description":"Allows the mob to go into stone blocks like Silverfish do. Currently it can only be used by Silverfish.","type":"object","title":"Silverfish Merge With Stone","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DJI":{"description":"Allows the mob to alert mobs in nearby blocks to come out. Currently it can only be used by Silverfish.","type":"object","title":"Silverfish Wake Up Friends","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"DJJ":{"description":"Allows Equine mobs to be Horse Traps and be triggered like them, spawning a lightning bolt and a bunch of horses when a player is nearby. Can only be used by Horses, Mules, Donkeys and Skeleton Horses.","type":"object","title":"Skeleton Horse Trap","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"duration":{"type":"number","default":1,"description":"Amount of time in seconds the trap exists. After this amount of time is elapsed, the trap is removed from the world if it hasn't been activated","title":"Duration"},"within_radius":{"type":"number","default":0,"description":"Distance in blocks that the player has to be within to trigger the horse trap.","title":"Within Radius"}},"examples":[{"duration":1,"within_radius":0}]},"EAA":{"additionalProperties":false,"description":"Allows mobs that own a bed to in a village to move to and sleep in it.","type":"object","title":"Sleep","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"can_sleep_while_riding":{"title":"Can Sleep While Riding","type":"boolean","default":false,"description":"If true, the mob will be able to use the sleep goal if riding something."},"cooldown_time":{"title":"Cooldown Time","type":"number","default":0.0,"description":"Time in seconds the mob has to wait before using the goal again."},"sleep_collider_height":{"title":"Sleep Collider Height","type":"number","default":1.0,"description":"The height of the mob's collider while sleeping."},"sleep_collider_width":{"title":"Sleep Collider Width","type":"number","default":1.0,"description":"The width of the mob's collider while sleeping."},"sleep_y_offset":{"title":"Sleep Y Offset","type":"number","default":1.0,"description":"The y offset of the mob's collider while sleeping."},"timeout_cooldown":{"title":"Timeout Cooldown","type":"number","default":8.0,"description":"The cooldown time in seconds before the goal can be reused after a internal failure or timeout condition."}},"examples":[{"cooldown_time":0,"goal_radius":0,"sleep_collider_height":1,"sleep_collider_width":1,"sleep_y_offset":1,"timeout_cooldown":8}]},"EAB":{"additionalProperties":false,"description":"Can only be used by Slimes and Magma Cubes. Allows the mob to use a melee attack like the slime's.","type":"object","title":"Slime Attack","properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"set_persistent":{"title":"Set Persistent","type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player."},"x_max_rotation":{"title":"X Max Rotation","type":"number","default":10,"description":"Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."},"y_max_rotation":{"title":"Y Max Rotation","type":"number","default":10,"description":"Maximum rotation (in degrees), on the Y-axis, this entity can rotate while trying to look at the target."}},"examples":[{"set_persistent":false}]},"EAC":{"additionalProperties":false,"description":"Allow slimes to float in water / lava. Can only be used by Slime and Magma Cubes.","type":"object","title":"Slime Float","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"jump_chance_percentage":{"type":"number","title":"Jump Chance Percentage","default":0.8,"description":"Percent chance a slime or magma cube has to jump while in water / lava."}},"examples":[{"jump_chance_percentage":0.0}]},"EAD":{"additionalProperties":false,"description":"Can only be used by Slimes and Magma Cubes. Allows the mob to continuously jump around like a slime.","type":"object","title":"Slime Keep On Jumping","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"}}},"EAE":{"additionalProperties":false,"description":"Can only be used by Slimes and Magma Cubes. Allows the mob to move in random directions like a slime.","type":"object","title":"Slime Random Direction","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"add_random_time_range":{"title":"Add Random Time Range","type":"integer","default":3,"description":"Additional time (in whole seconds), chosen randomly in the range of [0, \"add_random_time_range\"], to add to \"min_change_direction_time\"."},"min_change_direction_time":{"title":"Min Change Direction Time","type":"number","default":2,"description":"Constant minimum time (in seconds) to wait before choosing a new direction."},"turn_range":{"title":"Turn Range","type":"integer","default":360,"description":"Maximum rotation angle range (in degrees) when randomly choosing a new direction."}},"examples":[{"add_random_time_range":0.0,"turn_range":0.0,"min_change_direction_time":0.0}]},"EAF":{"additionalProperties":false,"description":"Allows the mob to take a load off and snack on food that it found nearby.","type":"object","title":"Snacking","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"items":{"title":"Items","description":"Items that we are interested in snacking on.","oneOf":[{"type":"array","items":{"$ref":"#/definitions/H","title":"Item"}},{"$ref":"#/definitions/H"}]},"snacking_cooldown":{"type":"number","default":7.5,"description":"The cooldown time in seconds before the mob is able to snack again.","title":"Snacking Cooldown"},"snacking_cooldown_min":{"type":"number","default":0.5,"description":"The minimum time in seconds before the mob is able to snack again.","title":"Snacking Cooldown Minimum"},"snacking_stop_chance":{"type":"number","description":"This is the chance that the mob will stop snacking, from 0 to 1.","title":"Snacking Stop Chance"}},"examples":[{"snacking_cooldown":7.5,"snacking_cooldown_min":0.5,"snacking_stop_chance":0.0}]},"EAG":{"additionalProperties":false,"description":"Allows the mob to stop and sneeze possibly startling nearby mobs and dropping an item.","type":"object","title":"Sneeze","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"cooldown_time":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again.","title":"Cooldown Time"},"drop_item_chance":{"type":"number","default":1,"description":"The probability that the mob will drop an item when it sneezes.","title":"Drop Item Chance"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entity types this mob will startle (cause to jump) when it sneezes.","title":"Entity Types"},"loot_table":{"type":"string","default":"loot_tables/empty.json","description":"Loot table to select dropped items from.","title":"Loot Table","pattern":"^loot_tables/.*.json$"},"prepare_sound":{"type":"string","default":"","description":"Sound to play when the sneeze is about to happen.","title":"Prepare Sound"},"prepare_time":{"type":"number","default":1,"description":"The time in seconds that the mob takes to prepare to sneeze (while the prepare_sound is playing).","title":"Prepare Time"},"probability":{"type":"number","default":0.02,"minimum":0,"maximum":1,"description":"The probability of sneezing. A value of 1.00 is 100%","title":"Probability"},"sound":{"type":"string","default":"","description":"Sound to play when the sneeze occurs.","title":"Sound"},"within_radius":{"type":"number","default":0,"description":"Distance in blocks that mobs will be startled.","title":"Within Radius"}},"examples":[{"cooldown_time":0,"drop_item_chance":1,"loot_table":"loot_tables/empty.json","prepare_sound":"","prepare_time":1,"probability":0.02,"sound":"","within_radius":0}]},"EAH":{"additionalProperties":false,"type":"object","title":"Dig","description":"[EXPERIMENTAL BEHAVIOR] Plays the provided sounds and activates the `SONIC BOOM` actor flag during the specified duration.","properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"attack_cooldown":{"title":"Attack Cooldown","type":"number","default":5.0,"description":"Cooldown in seconds required after using this attack until the entity can use sonic boom again."},"attack_damage":{"title":"Attack Damage","type":"number","default":30.0,"description":"Attack damage of the sonic boom."},"attack_range_horizontal":{"title":"Attack Range Horizontal","type":"number","default":15.0,"description":"Horizontal range (in blocks) at which the sonic boom can damage the target."},"attack_range_vertical":{"title":"Attack Range Vertical","type":"number","default":20.0,"description":"Vertical range (in blocks) at which the sonic boom can damage the target."},"attack_sound":{"title":"Attack Sound","type":"string","default":"","description":"Sound event for the attack."},"charge_sound":{"title":"Charge Sound","type":"string","default":"","description":"Sound event for the charge up."},"duration":{"title":"Duration","type":"number","default":3.0,"description":"Goal duration in seconds."},"duration_until_attack_sound":{"title":"Duration Until Attack Sound","type":"number","default":1.7,"description":"Duration in seconds until the attack sound is played."},"knockback_height_cap":{"title":"Knockback Height Cap","type":"number","default":0.0,"description":"Height cap of the attack knockback's vertical delta."},"knockback_horizontal_strength":{"title":"Knockback Horizontal Strength","type":"number","default":0.0,"description":"Horizontal strength of the attack's knockback applied to the attack target."},"knockback_vertical_strength":{"title":"Knockback Vertical Strength","type":"number","default":0.0,"description":"Vertical strength of the attack's knockback applied to the attack target."}}},"EAI":{"description":"Allows an entity to dive underwater.","type":"object","title":"Squid Dive","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"EAJ":{"description":"Allows the squid to swim away. Can only be used by the Squid.","type":"object","title":"Squid Flee","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"EBA":{"description":"Allows the squid to swim in place idly. Can only be used by the Squid.","type":"object","title":"Squid Idle","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"EBB":{"description":"Allows the squid to move away from ground blocks and back to water. Can only be used by the Squid.","type":"object","title":"Squid Move Away From Ground","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"EBC":{"description":"Allows the squid to stick to the ground when outside water. Can only be used by the Squid.","type":"object","title":"Squid Out Of Water","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"EBD":{"description":"Allows an entity to stalk a specific target. Once within range of the target, the entity will then leap at the target and deal damage based upon its attack attribute.","type":"object","title":"Stalk And Pounce On Target","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"interest_time":{"type":"number","default":2,"description":"The amount of time the mob will be interested before pouncing. This happens when the mob is within range of pouncing","title":"Interest Time"},"leap_distance":{"type":"number","default":0.8,"description":"The distance in blocks the mob jumps in the direction of its target.","title":"Leap Distance"},"leap_height":{"type":"number","default":0.9,"description":"The height in blocks the mob jumps when leaping at its target.","title":"Leap Height"},"max_stalk_dist":{"type":"number","default":10,"description":"The maximum distance away a target can be before the mob gives up on stalking.","title":"Maximum Stalk Dist"},"pounce_max_dist":{"type":"number","default":5,"description":"The maximum distance away from the target in blocks to begin pouncing at the target.","title":"Pounce Maximum Dist"},"set_persistent":{"type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player.","title":"Set Persistent"},"stalk_speed":{"type":"number","default":1.2,"description":"The movement speed in which you stalk your target.","title":"Stalk Speed"},"strike_dist":{"type":"number","default":2,"description":"The Maximum distance away from the target when landing from the pounce that will still result in damaging the target.","title":"Strike Dist"},"stuck_time":{"type":"number","default":2,"description":"The amount of time the mob will be stuck if they fail and land on a block they can be stuck on.","title":"Stuck Time"},"leap_dist":{"type":"number","description":"The distance in blocks the mob jumps in the direction of their target.","$comment":"UNDOCUMENTED","title":"Leap Dist"},"stuck_blocks":{"$ref":"#/definitions/BB","description":"Filters to apply on the block the mob lands on to determine if it is valid for getting stuck.","$comment":"UNDOCUMENTED","title":"Stuck Block"}},"examples":[{"interest_time":2,"leap_distance":0.8,"leap_height":0.9,"max_stalk_dist":10,"pounce_max_dist":5,"set_persistent":false,"stalk_speed":1.2,"strike_dist":2,"stuck_time":2,"leap_dist":0.0}]},"EBE":{"type":"object","title":"Barter","description":"[EXPERIMENTAL BEHAVIOR] The entity will attempt to toss the items from its inventory to a nearby recently played noteblock.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"listen_time":{"title":"listen time","type":"integer","default":0.0,"description":"Sets the time an entity should stay near a noteblock after hearing it."},"speed":{"title":"speed","type":"number","default":1000000,"description":"Sets the entity's speed when moving toward the block."},"start_distance":{"title":"start distance","type":"number","default":10000000,"description":"Sets the distance the entity needs to be away from the block to attempt to start the goal."},"stop_distance":{"title":"stop distance","type":"number","default":2000000,"description":"Sets the distance from the block the entity will attempt to reach."}}},"EBF":{"description":"Allows the mob to stay put while it is in a sitting state instead of doing something else.","type":"object","title":"Stay While Sitting","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"EBG":{"description":"Allows the mob to use the polar bear's melee attack.","type":"object","title":"Stomp Attack","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"attack_once":{"title":"Attack Once","type":"boolean","default":false,"description":"Allows the entity to use this attack behavior, only once EVER."},"attack_types":{"title":"Attack Types","type":"string","default":"N/A","description":"Defines the entity types this entity will attack."},"cooldown_time":{"title":"Cooldown Time","type":"number","default":1,"description":"Cooldown time (in seconds) between attacks."},"inner_boundary_time_increase":{"title":"Inner Boundary Time Increase","type":"number","default":0.25,"description":"Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_inner_boundary\"."},"max_dist":{"title":"Max Dist","type":"number","description":"Unused. No effect on \"minecraft:behavior.melee_attack\"."},"max_path_time":{"title":"Max Path Time","type":"number","default":0.55,"description":"Maximum base time (in seconds) to recalculate new attack path to target (before increases applied)."},"melee_fov":{"title":"Melee Fov","type":"number","default":90,"description":"Field of view (in degrees) when using the sensing component to detect an attack target."},"min_path_time":{"title":"Min Path Time","type":"number","default":0.2,"description":"Minimum base time (in seconds) to recalculate new attack path to target (before increases applied)."},"no_damage_range_multiplier":{"title":"No Damage Range Multiplier","type":"number","default":2,"description":"Multiplied with the final AoE damage range to determine a no damage range. The stomp attack will go on cooldown if target is in this no damage range."},"on_attack":{"title":"On Attack","$ref":"#/definitions/JA","description":"Defines the event to trigger when this entity successfully attacks."},"outer_boundary_time_increase":{"title":"Outer Boundary Time Increase","type":"number","default":0.5,"description":"Time (in seconds) to add to attack path recalculation when the target is beyond the \"path_outer_boundary\"."},"path_fail_time_increase":{"title":"Path Fail Time Increase","type":"number","default":0.75,"description":"Time (in seconds) to add to attack path recalculation when this entity cannot move along the current path."},"path_inner_boundary":{"title":"Path Inner Boundary","type":"number","default":16,"description":"Distance at which to increase attack path recalculation by \"inner_boundary_tick_increase\"."},"path_outer_boundary":{"title":"Path Outer Boundary","type":"number","default":32,"description":"Distance at which to increase attack path recalculation by \"outer_boundary_tick_increase\"."},"random_stop_interval":{"title":"Random Stop Interval","type":"integer","default":0,"description":"This entity will have a 1 in N chance to stop it's current attack, where N = \"random_stop_interval\"."},"reach_multiplier":{"title":"Reach Multiplier","type":"number","default":2,"description":"Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage."},"require_complete_path":{"title":"Require Complete Path","type":"boolean","default":false,"description":"Toggles (on/off) the need to have a full path from the entity to the target when using this melee attack behavior."},"set_persistent":{"title":"Set Persistent","type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player."},"stomp_range_multiplier":{"title":"Stomp Range Multiplier","type":"number","default":2,"description":"Multiplied with the base size of the entity to determine stomp AoE damage range."},"target_dist":{"title":"Target Dist","type":"number","description":"Unused. No effect on \"minecraft:behavior.melee_attack\"."},"track_target":{"title":"Track Target","type":"boolean","default":false,"description":"Allows the entity to track the attack target, even if the entity has no sensing."},"x_max_rotation":{"title":"X Max Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target."},"y_max_head_rotation":{"title":"Y Max Head Rotation","type":"number","default":30,"description":"Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target."}},"examples":[{"attack_once":false,"attack_types":"","probability":0.02,"random_stop_interval":0,"reach_multiplier":2,"require_complete_path":false,"sound":"example","track_target":false,"stomp_range_multiplier":0.0,"no_damage_range_multiplier":0.0}]},"EBH":{"description":"Allows this mob to stomp turtle eggs.","type":"object","title":"Stomp Turtle Egg","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"interval":{"type":"integer","default":120,"description":"A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal","title":"Interval"},"search_count":{"type":"integer","default":10,"description":"The number of blocks each tick that the mob will check within it's search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick","title":"Search Count"},"search_height":{"type":"integer","default":1,"description":"Height in blocks the mob will look for turtle eggs to move towards.","title":"Search Height"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks it will look for turtle eggs to move towards.","title":"Search Range"}},"examples":[{"goal_radius":0.5,"interval":120,"search_count":10,"search_height":1,"search_range":0}]},"EBI":{"description":"Allows the mob to stay at a certain level when in liquid.","type":"object","title":"Stroll Towards Village","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"cooldown_time":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the goal again.","title":"Cooldown Time"},"goal_radius":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it has reached the goal. This is the `wiggle room` to stop the AI from bouncing back and forth trying to reach a specific spot","title":"Goal Radius"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks to search for points inside villages. If <= 0, find the closest village regardless of distance.","title":"Search Range"},"speed_multiplier":{"type":"number","default":1,"description":"Movement speed multiplier of the mob when using this AI Goal.","title":"Speed Multiplier"},"start_chance":{"type":"number","default":0.1,"description":"This is the chance that the mob will start this goal, from 0 to 1.","title":"Start Chance"}},"examples":[{"cooldown_time":0,"goal_radius":0.5,"search_range":0,"speed_multiplier":1,"start_chance":0.1}]},"EBJ":{"description":"Allows the mob to attack the player by summoning other entities.","title":"Stay While Sitting","type":"object","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"summon_choices":{"type":"array","description":"List of spells for the mob to use to summon entities.","title":"Summon Choices","items":{"type":"object","additionalProperties":false,"properties":{"cast_duration":{"type":"number","description":"Time in seconds the spell casting will take.","title":"Cast Duration"},"cooldown_time":{"type":"number","default":0,"description":"Time in seconds the mob has to wait before using the spell again.","title":"Cooldown Time"},"do_casting":{"type":"boolean","default":true,"description":"If true, the mob will do the casting animations and render spell particles.","title":"Do Casting"},"filters":{"$ref":"#/definitions/BB"},"max_activation_range":{"type":"number","default":-1,"description":"Upper bound of the activation distance in blocks for this spell.","title":"Maximum Activation Range"},"min_activation_range":{"type":"number","default":1,"description":"Lower bound of the activation distance in blocks for this spell.","title":"Minimum Activation Range"},"particle_color":{"description":"The color of the particles for this spell.","title":"Particle Color","oneOf":[{"type":"integer","default":0},{"type":"string","format":"color-hex"}]},"sequence":{"type":"array","description":"List of steps for the spell.","title":"Sequence","items":{"type":"object","additionalProperties":false,"title":"Sequence","properties":{"delay":{"type":"number","default":0,"description":"Amount of time in seconds to wait before this step starts.","title":"Delay"},"delay_per_summon":{"type":"number","default":0,"title":"Delay Per Summon","description":"Amount of time in seconds before each entity is summoned in this step."},"entity_lifespan":{"type":"number","title":"Entity Lifespan","default":-1,"description":"Amount of time in seconds that the spawned entity will be alive for. A value of -1.0 means it will remain alive for as long as it can"},"base_delay":{"type":"number","default":0,"description":"Amount of time in seconds to wait before this step starts.","title":"Base Delay"},"entity_type":{"type":"string","description":"The entity type of the entities we will spawn in this step.","title":"Entity Type"},"num_entities_spawned":{"type":"integer","default":1,"description":"Number of entities that will be spawned in this step.","title":"Number Entities Spawned"},"shape":{"type":"string","default":"line","description":"The base shape of this step. Valid values are circle and line","title":"Shape"},"size":{"type":"number","default":1,"description":"The base size of the entity.","title":"Size"},"sound_event":{"type":"string","description":"The sound event to play for this step.","title":"Sound Event"},"summon_cap":{"type":"integer","default":0,"description":"Maximum number of summoned entities at any given time.","title":"Summon Cap"},"summon_cap_radius":{"type":"number","default":0,"description":"Maximum radius where the summon entities can spawn.","title":"Summon Cap Radius"},"target":{"type":"string","default":"self","description":"The target of the spell. This is where the spell will start (line will start here, circle will be centered here)","title":"Target"}}}},"start_sound_event":{"type":"string","description":"The sound event to play when using this spell.","title":"Start Sound Event"},"weight":{"type":"number","title":"Weight","default":0,"description":"The weight of this spell. Controls how likely the mob is to choose this spell when casting one"}}}}},"examples":[{"summon_choices":[]}]},"ECA":{"description":"Allows the creeper to swell up when a player is nearby. It can only be used by Creepers.","title":"Stay While Sitting","type":"object","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"start_distance":{"type":"number","default":10,"description":"This mob starts swelling when a target is at least this many blocks away.","title":"Start Distance"},"stop_distance":{"type":"number","default":2,"description":"This mob stops swelling when a target has moved away at least this many blocks.","title":"Stop Distance"}},"examples":[{"start_distance":10,"stop_distance":2}]},"ECB":{"description":"Allows the entity go idle, if swimming. Entity must be in water.","type":"object","title":"Swim Idle","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"idle_time":{"type":"number","title":"Idle Time","default":5,"description":"Amount of time (in seconds) to stay idle."},"success_rate":{"type":"number","title":"Succes Rate","default":0.1,"description":"Percent chance this entity will go idle, 1.0 = 100%."}},"examples":[{"idle_time":0.0,"success_rate":0.0}]},"ECC":{"description":"Has the fish swim around when they can't pathfind.","type":"object","title":"Swim Idle","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"interval":{"title":"Interval","type":"number","default":0.00833,"description":"Percent chance to start wandering, when not path-finding. 1 = 100%"},"look_ahead":{"title":"Look Ahead","type":"number","default":5,"description":"Distance to look ahead for obstacle avoidance, while wandering."},"wander_time":{"title":"Wander Time","type":"number","default":5,"description":"Amount of time (in seconds) to wander after wandering behavior was successfully started."}},"examples":[{"interval":0.0,"look_ahead":0.0,"wander_time":0.0}]},"ECD":{"type":"object","title":"Swim With Entity","description":"Allows the entity follow another entity. Both entities must be swimming and in water.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"success_rate":{"title":"Success Rate","type":"number","default":0.1,"description":"Percent chance to start following another entity, if not already doing so. 1.0 = 100%"},"chance_to_stop":{"title":"Chance To Stop","type":"number","default":0.0333,"description":"Percent chance to stop following the current entity, if they're riding another entity or they're not swimming. 1.0 = 100%"},"state_check_interval":{"title":"State Check Interval","type":"number","default":0.5,"description":"Time (in seconds) between checks to determine if this entity should catch up to the entity being followed or match the direction of the entity being followed."},"catch_up_threshold":{"title":"Catch Up Threshold","type":"number","default":12,"description":"Distance, from the entity being followed, at which this entity will speed up to reach that entity."},"match_direction_threshold":{"title":"Match Direction Threshold","type":"number","default":2,"description":"Distance, from the entity being followed, at which this entity will try to match that entity's direction."},"catch_up_multiplier":{"title":"Catch Up Multiplier","type":"number","default":2.5,"description":"The multiplier this entity's speed is modified by when matching another entity's direction."},"search_range":{"title":"Search Range","type":"number","default":20,"description":"Radius around this entity to search for another entity to follow."},"stop_distance":{"title":"Stop Distance","type":"number","default":5,"description":"Distance, from the entity being followed, at which this entity will stop following that entity."},"entity_types":{"$ref":"#/definitions/CHC","title":"Entity Types","description":"Filters which determine what entites are valid to follow."}},"examples":[{"success_rate":0.1,"chance_to_stop":0.0333,"state_check_interval":0.5,"catch_up_threshold":12,"match_direction_threshold":2,"catch_up_multiplier":2.5,"search_range":20,"stop_distance":5}]},"ECE":{"description":"Allows the mob to move to attack a target. The goal ends if it has a horizontal collision or gets hit. Built to be used with flying mobs.","type":"object","title":"Swoop Attack","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"damage_reach":{"title":"Damage Reach","type":"number","default":0.2,"description":"Added to the base size of the entity, to determine the target's maximum allowable distance, when trying to deal attack damage."},"delay_range":{"$ref":"#/definitions/JD","default":[[10.0,20.0]],"description":"Minimum and maximum cooldown time-range (in seconds) between each attempted swoop attack.","title":"Delay Range"}},"examples":[{"damage_reach":0.2,"delay_range":[10.0,20.0]}]},"ECF":{"description":"Can only be used by Villagers. Allows the mob to accept flowers from Iron Golems.","type":"object","title":"Take Flower","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"ECG":{"description":"Allows an entity to select a valid target entity that pushed it.","type":"object","title":"Target When Pushed","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"title":"Entity Types","$ref":"#/definitions/CHC","description":"The list of conditions the other entity must meet to be a valid target."},"percent_chance":{"title":"Percent Chance","type":"number","default":5.0,"description":"Probability that the entity will target the entity that pushed it."}},"examples":[{"percent_chance":5.0,"entity_types":[]}]},"ECH":{"description":"Allows an entity to be tempted by a set item.","type":"object","title":"Tempt","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"can_get_scared":{"type":"boolean","default":false,"description":"If true, the mob can stop being tempted if the player moves too fast while close to this mob.","title":"Can Get Scared"},"can_tempt_while_ridden":{"type":"boolean","default":false,"title":"Can Tempt While Ridden","description":"If true, the mob can be tempted even if it has a passenger (i.e. if being ridden)."},"can_tempt_vertically":{"type":"boolean","default":false,"title":"Can Tempt Vertically","description":"If true, vertical distance to the player will be considered when tempting."},"items":{"type":"array","title":"Items","description":"List of items this mob is tempted by.","items":{"$ref":"#/definitions/H"}},"sound_interval":{"description":"Range of random ticks to wait between tempt sounds.","title":"Sound Interval","oneOf":[{"type":"number","minimum":0},{"items":[{"type":"integer","minimum":0,"title":"Minimum"},{"type":"integer","minimum":0,"title":"Maximum"}]}]},"tempt_sound":{"type":"string","description":"Sound to play while the mob is being tempted.","title":"Tempt Sound"},"within_radius":{"type":"number","default":0,"description":"Distance in blocks this mob can get tempted by a player holding an item they like.","title":"Within Radius"}},"examples":[{"can_get_scared":false,"can_tempt_while_ridden":true,"can_tempt_vertically":true,"items":[],"within_radius":0}]},"ECI":{"description":"Allows the mob to look at a player that is holding a tradable item.","type":"object","title":"Trade Interest","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"carried_item_switch_time":{"type":"number","default":2,"description":"The Maximum time in seconds that the trader will hold an item before attempting to switch for a different item that takes the same trade.","title":"Carried Item Switch Time"},"cooldown":{"type":"number","default":2,"description":"The time in seconds before the trader can use this goal again.","title":"Cooldown"},"interest_time":{"type":"number","default":45,"description":"The Maximum time in seconds that the trader will be interested with showing it's trade items.","title":"Interest_time"},"remove_item_time":{"type":"number","default":1,"description":"The Maximum time in seconds that the trader will wait when you no longer have items to trade.","title":"Remove Item Time"},"within_radius":{"type":"number","default":0,"description":"Distance in blocks this mob can be interested by a player holding an item they like.","title":"Within Radius"}},"examples":[{"carried_item_switch_time":2,"cooldown":2,"interest_time":45,"remove_item_time":1,"within_radius":0}]},"ECJ":{"description":"Allows the player to trade with this mob.","type":"object","title":"Trade With Player","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"EDA":{"description":"Allows the mob to target the same entity its owner is targeting.","additionalProperties":false,"type":"object","title":"Vex Copy Owner Target","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entities this mob can copy the owner from.","title":"Entity Types"}}},"EDB":{"description":"Allows the mob to target the same entity its owner is targeting.","additionalProperties":false,"type":"object","title":"Vex Random Move","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entities this mob can copy the owner from.","title":"Entity Types"}}},"EDC":{"description":"Allows the wither to launch random attacks. Can only be used by the Wither Boss.","additionalProperties":false,"type":"object","title":"Wither Random Attack Pos Goal","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"}}},"EDD":{"description":"Allows the wither to launch random attacks. Can only be used by the Wither Boss.","additionalProperties":false,"type":"object","title":"Wither Target Highest Damage","required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"entity_types":{"$ref":"#/definitions/CHC","description":"List of entity types the wither takes into account to find who dealt the most damage to it.","title":"Entity Types"}}},"EDE":{"type":"object","title":"Work","description":"Allows the NPC to use the POI.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"active_time":{"title":"Active Time","type":"integer","default":0,"description":"The amount of ticks the NPC will stay in their the work location."},"can_work_in_rain":{"title":"Can Work In Rain","type":"boolean","default":false,"description":"If true, this entity can work when their jobsite POI is being rained on."},"goal_cooldown":{"title":"Goal Cooldown","type":"integer","default":0,"description":"The amount of ticks the goal will be on cooldown before it can be used again."},"on_arrival":{"title":"On Arrival","$ref":"#/definitions/JA","description":"Event to run when the mob reaches their jobsite."},"sound_delay_max":{"title":"Sound Delay Max","type":"integer","default":0,"description":"The max interval in which a sound will play."},"sound_delay_min":{"title":"Sound Delay Min","type":"integer","default":0,"description":"The min interval in which a sound will play."},"work_in_rain_tolerance":{"title":"Work In Rain Tolerance","type":"integer","default":-1,"description":"If \"can_work_in_rain\" is false, this is the maximum number of ticks left in the goal where rain will not interrupt the goal"}},"examples":[{"active_time":0,"can_work_in_rain":false,"goal_cooldown":0,"sound_delay_max":0,"sound_delay_min":0,"work_in_rain_tolerance":-1}]},"EDF":{"description":"Allows the NPC to use the composter POI to convert excess seeds into bone meal.","type":"object","title":"Work Composter","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CGJ"},"speed_multiplier":{"$ref":"#/definitions/CHG"},"active_time":{"title":"Active Time","type":"integer","default":0,"description":"The amount of ticks the NPC will stay in their the work location."},"block_interaction_max":{"title":"Block Interaction Max","type":"integer","default":1,"description":"The maximum number of times the mob will interact with the composter."},"can_empty_composter":{"title":"Can Empty Composter","type":"boolean","default":true,"description":"Determines whether the mob can empty a full composter."},"can_fill_composter":{"title":"Can Fill Composter","type":"boolean","default":true,"description":"Determines whether the mob can add items to a composter given that it is not full."},"can_work_in_rain":{"title":"Can Work In Rain","type":"boolean","default":false,"description":"If true, this entity can work when their jobsite POI is being rained on."},"goal_cooldown":{"title":"Goal Cooldown","type":"integer","default":0,"description":"The amount of ticks the goal will be on cooldown before it can be used again."},"items_per_use_max":{"title":"Items Per Use Max","type":"integer","default":20,"description":"The maximum number of items which can be added to the composter per block interaction."},"min_item_count":{"title":"Min Item Count","type":"integer","default":10,"description":"Limits the amount of each compostable item the mob can use. Any amount held over this number will be composted if possible"},"on_arrival":{"title":"On Arrival","$ref":"#/definitions/JA","description":"Event to run when the mob reaches their jobsite."},"sound_delay_max":{"title":"Sound Delay Max","type":"integer","description":"Unused."},"sound_delay_min":{"title":"Sound Delay Min","type":"integer","description":"Unused."},"use_block_max":{"title":"Use Block Max","type":"integer","default":200,"description":"The maximum interval in which the mob will interact with the composter."},"use_block_min":{"title":"Use Block Min","type":"integer","default":100,"description":"The minimum interval in which the mob will interact with the composter."},"work_in_rain_tolerance":{"title":"Work In Rain Tolerance","type":"integer","default":-1,"description":"If \"can_work_in_rain\" is false, this is the maximum number of ticks left in the goal where rain will not interrupt the goal"}},"examples":[{}]},"D":{"additionalProperties":false,"type":"object","title":"Components","description":"A collection of components.","required":[],"properties":{"minecraft:addrider":{"$ref":"#/definitions/E"},"minecraft:admire_item":{"$ref":"#/definitions/F"},"minecraft:ageable":{"$ref":"#/definitions/G"},"minecraft:ambient_sound_interval":{"$ref":"#/definitions/J"},"minecraft:anger_level":{"$ref":"#/definitions/BA"},"minecraft:angry":{"$ref":"#/definitions/IF"},"minecraft:annotation.break_door":{"$ref":"#/definitions/IG"},"minecraft:annotation.open_door":{"$ref":"#/definitions/IH"},"minecraft:area_attack":{"$ref":"#/definitions/II"},"minecraft:attack_cooldown":{"$ref":"#/definitions/IJ"},"minecraft:attack_damage":{"$ref":"#/definitions/JB"},"minecraft:attack":{"$ref":"#/definitions/JC"},"minecraft:balloonable":{"$ref":"#/definitions/JE"},"minecraft:barter":{"$ref":"#/definitions/JF"},"minecraft:block_climber":{"$ref":"#/definitions/JG"},"minecraft:block_sensor":{"$ref":"#/definitions/JH"},"minecraft:boostable":{"$ref":"#/definitions/JJ"},"minecraft:boss":{"$ref":"#/definitions/BAA"},"minecraft:break_blocks":{"$ref":"#/definitions/BAB"},"minecraft:breathable":{"$ref":"#/definitions/BAD"},"minecraft:breedable":{"$ref":"#/definitions/BAE"},"minecraft:bribeable":{"$ref":"#/definitions/BAF"},"minecraft:buoyant":{"$ref":"#/definitions/BAG"},"minecraft:burns_in_daylight":{"$ref":"#/definitions/BAH"},"minecraft:can_climb":{"$ref":"#/definitions/BAI"},"minecraft:can_fly":{"$ref":"#/definitions/BAJ"},"minecraft:can_power_jump":{"$ref":"#/definitions/BBA"},"minecraft:celebrate_hunt":{"$ref":"#/definitions/BBB"},"minecraft:collision_box":{"$ref":"#/definitions/BBC"},"minecraft:color":{"$ref":"#/definitions/BBD"},"minecraft:color2":{"$ref":"#/definitions/BBE"},"minecraft:combat_regeneration":{"$ref":"#/definitions/BBF"},"minecraft:conditional_bandwidth_optimization":{"$ref":"#/definitions/BBG"},"minecraft:custom_hit_test":{"$ref":"#/definitions/BBH"},"minecraft:damage_over_time":{"$ref":"#/definitions/BBI"},"minecraft:damage_sensor":{"$ref":"#/definitions/BBJ"},"minecraft:default_look_angle":{"$ref":"#/definitions/BCA"},"minecraft:despawn":{"$ref":"#/definitions/BCB"},"minecraft:drying_out_timer":{"$ref":"#/definitions/BCC"},"minecraft:dweller":{"$ref":"#/definitions/BCD"},"minecraft:economy_trade_table":{"$ref":"#/definitions/BCE"},"minecraft:entity_sensor":{"$ref":"#/definitions/BCF"},"minecraft:environment_sensor":{"$ref":"#/definitions/BCG"},"minecraft:equip_item":{"$ref":"#/definitions/BCH"},"minecraft:equipment":{"$ref":"#/definitions/BCI"},"minecraft:equippable":{"$ref":"#/definitions/BDA"},"minecraft:exhaustion_values":{"$ref":"#/definitions/BDB"},"minecraft:experience_reward":{"$ref":"#/definitions/BDC"},"minecraft:explode":{"$ref":"#/definitions/BDD"},"minecraft:fall_damage":{"$ref":"#/definitions/BDE"},"minecraft:fire_immune":{"$ref":"#/definitions/BDF"},"minecraft:floats_in_liquid":{"$ref":"#/definitions/BDG"},"minecraft:flocking":{"$ref":"#/definitions/BDH"},"minecraft:flying_speed":{"$ref":"#/definitions/BDI"},"minecraft:follow_range":{"$ref":"#/definitions/BDJ"},"minecraft:friction_modifier":{"$ref":"#/definitions/BEA"},"minecraft:genetics":{"$ref":"#/definitions/BEB"},"minecraft:giveable":{"$ref":"#/definitions/BEC"},"minecraft:ground_offset":{"$ref":"#/definitions/BED"},"minecraft:group_size":{"$ref":"#/definitions/BEE"},"minecraft:grows_crop":{"$ref":"#/definitions/BEF"},"minecraft:healable":{"$ref":"#/definitions/BEG"},"minecraft:health":{"$ref":"#/definitions/BEH"},"minecraft:heartbeat":{"$ref":"#/definitions/BEI"},"minecraft:hide":{"$ref":"#/definitions/BFA"},"minecraft:home":{"$ref":"#/definitions/BFB"},"minecraft:horse.jump_strength":{"$ref":"#/definitions/BFC"},"minecraft:hurt_on_condition":{"$ref":"#/definitions/BFD"},"minecraft:hurt_when_wet":{"$ref":"#/definitions/BFE"},"minecraft:input_ground_controlled":{"$ref":"#/definitions/BFF"},"minecraft:inside_block_notifier":{"$ref":"#/definitions/BFG"},"minecraft:insomnia":{"$ref":"#/definitions/BFI"},"minecraft:instant_despawn":{"$ref":"#/definitions/BFJ"},"minecraft:interact":{"$ref":"#/definitions/BGA"},"minecraft:inventory":{"$ref":"#/definitions/BGB"},"minecraft:is_baby":{"$ref":"#/definitions/BGC"},"minecraft:is_charged":{"$ref":"#/definitions/BGD"},"minecraft:is_chested":{"$ref":"#/definitions/BGE"},"minecraft:is_dyeable":{"$ref":"#/definitions/BGF"},"minecraft:is_hidden_when_invisible":{"$ref":"#/definitions/BGG"},"minecraft:is_ignited":{"$ref":"#/definitions/BGH"},"minecraft:is_illager_captain":{"$ref":"#/definitions/BGI"},"minecraft:is_saddled":{"$ref":"#/definitions/BGJ"},"minecraft:is_shaking":{"$ref":"#/definitions/BHA"},"minecraft:is_sheared":{"$ref":"#/definitions/BHB"},"minecraft:is_stackable":{"$ref":"#/definitions/BHC"},"minecraft:is_stunned":{"$ref":"#/definitions/BHD"},"minecraft:is_tamed":{"$ref":"#/definitions/BHE"},"minecraft:item_controllable":{"$ref":"#/definitions/BHF"},"minecraft:item_hopper":{"$ref":"#/definitions/BHG"},"minecraft:jump.dynamic":{"$ref":"#/definitions/BHH"},"minecraft:jump.static":{"$ref":"#/definitions/BHI"},"minecraft:knockback_resistance":{"$ref":"#/definitions/BHJ"},"minecraft:lava_movement":{"$ref":"#/definitions/BIA"},"minecraft:leashable":{"$ref":"#/definitions/BIB"},"minecraft:lookat":{"$ref":"#/definitions/BIC"},"minecraft:loot":{"$ref":"#/definitions/BID"},"minecraft:managed_wandering_trader":{"$ref":"#/definitions/BIE"},"minecraft:mark_variant":{"$ref":"#/definitions/BIF"},"minecraft:mob_effect":{"$ref":"#/definitions/BIG"},"minecraft:movement_sound_distance_offset":{"$ref":"#/definitions/BIH"},"minecraft:movement.amphibious":{"$ref":"#/definitions/BII"},"minecraft:movement.basic":{"$ref":"#/definitions/BIJ"},"minecraft:movement.fly":{"$ref":"#/definitions/BJA"},"minecraft:movement.generic":{"$ref":"#/definitions/BJB"},"minecraft:movement.glide":{"$ref":"#/definitions/BJC"},"minecraft:movement.hover":{"$ref":"#/definitions/BJD"},"minecraft:movement.jump":{"$ref":"#/definitions/BJE"},"minecraft:movement.skip":{"$ref":"#/definitions/BJF"},"minecraft:movement.sway":{"$ref":"#/definitions/BJG"},"minecraft:movement":{"$ref":"#/definitions/BJH"},"minecraft:nameable":{"$ref":"#/definitions/BJI"},"minecraft:navigation.climb":{"$ref":"#/definitions/BJJ"},"minecraft:navigation.float":{"$ref":"#/definitions/CAB"},"minecraft:navigation.fly":{"$ref":"#/definitions/CAC"},"minecraft:navigation.generic":{"$ref":"#/definitions/CAD"},"minecraft:navigation.hover":{"$ref":"#/definitions/CAE"},"minecraft:navigation.swim":{"$ref":"#/definitions/CAF"},"minecraft:navigation.walk":{"$ref":"#/definitions/CAG"},"minecraft:npc":{"$ref":"#/definitions/CAH"},"minecraft:on_death":{"$ref":"#/definitions/CAI"},"minecraft:on_friendly_anger":{"$ref":"#/definitions/CAJ"},"minecraft:on_hurt_by_player":{"$ref":"#/definitions/CBA"},"minecraft:on_hurt":{"$ref":"#/definitions/CBB"},"minecraft:on_ignite":{"$ref":"#/definitions/CBC"},"minecraft:on_start_landing":{"$ref":"#/definitions/CBD"},"minecraft:on_start_takeoff":{"$ref":"#/definitions/CBE"},"minecraft:on_target_acquired":{"$ref":"#/definitions/CBF"},"minecraft:on_target_escape":{"$ref":"#/definitions/CBG"},"minecraft:on_wake_with_owner":{"$ref":"#/definitions/CBH"},"minecraft:out_of_control":{"$ref":"#/definitions/CBI"},"minecraft:peek":{"$ref":"#/definitions/CBJ"},"minecraft:persistent":{"$ref":"#/definitions/CCA"},"minecraft:physics":{"$ref":"#/definitions/CCB"},"minecraft:player.exhaustion":{"$ref":"#/definitions/CCC"},"minecraft:player.experience":{"$ref":"#/definitions/CCD"},"minecraft:player.level":{"$ref":"#/definitions/CCE"},"minecraft:player.saturation":{"$ref":"#/definitions/CCF"},"minecraft:preferred_path":{"$ref":"#/definitions/CCG"},"minecraft:projectile":{"$ref":"#/definitions/CCH"},"minecraft:push_through":{"$ref":"#/definitions/CCJ"},"minecraft:pushable":{"$ref":"#/definitions/CDA"},"minecraft:raid_trigger":{"$ref":"#/definitions/CDB"},"minecraft:rail_movement":{"$ref":"#/definitions/CDC"},"minecraft:rail_sensor":{"$ref":"#/definitions/CDD"},"minecraft:ravager_blocked":{"$ref":"#/definitions/CDE"},"minecraft:rideable":{"$ref":"#/definitions/CDF"},"minecraft:scale_by_age":{"$ref":"#/definitions/CDG"},"minecraft:scale":{"$ref":"#/definitions/CDH"},"minecraft:scheduler":{"$ref":"#/definitions/CDI"},"minecraft:shareables":{"$ref":"#/definitions/CDJ"},"minecraft:shooter":{"$ref":"#/definitions/CEA"},"minecraft:sittable":{"$ref":"#/definitions/CEB"},"minecraft:skin_id":{"$ref":"#/definitions/CEC"},"minecraft:sound_volume":{"$ref":"#/definitions/CED"},"minecraft:spawn_entity":{"$ref":"#/definitions/CEE"},"minecraft:spell_effects":{"$ref":"#/definitions/CEF"},"minecraft:strength":{"$ref":"#/definitions/CEG"},"minecraft:suspect_tracking":{"$ref":"#/definitions/CEH"},"minecraft:tameable":{"$ref":"#/definitions/CEI"},"minecraft:tamemount":{"$ref":"#/definitions/CEJ"},"minecraft:target_nearby_sensor":{"$ref":"#/definitions/CFA"},"minecraft:teleport":{"$ref":"#/definitions/CFB"},"minecraft:tick_world":{"$ref":"#/definitions/CFC"},"minecraft:timer":{"$ref":"#/definitions/CFD"},"minecraft:trade_resupply":{"$ref":"#/definitions/CFE"},"minecraft:trade_table":{"$ref":"#/definitions/CFF"},"minecraft:trail":{"$ref":"#/definitions/CFG"},"minecraft:transformation":{"$ref":"#/definitions/CFH"},"minecraft:trust":{"$ref":"#/definitions/CFI"},"minecraft:trusting":{"$ref":"#/definitions/CFJ"},"minecraft:type_family":{"$ref":"#/definitions/CGA"},"minecraft:underwater_movement":{"$ref":"#/definitions/CGB"},"minecraft:variant":{"$ref":"#/definitions/CGC"},"minecraft:vibration_damper":{"$ref":"#/definitions/CGD"},"minecraft:vibration_listener":{"$ref":"#/definitions/CGE"},"minecraft:walk_animation_speed":{"$ref":"#/definitions/CGF"},"minecraft:wants_jockey":{"$ref":"#/definitions/CGG"},"minecraft:water_movement":{"$ref":"#/definitions/CGH"},"minecraft:behavior.admire_item":{"$ref":"#/definitions/CGI"},"minecraft:behavior.avoid_block":{"$ref":"#/definitions/CHA"},"minecraft:behavior.avoid_mob_type":{"$ref":"#/definitions/CHB"},"minecraft:behavior.barter":{"$ref":"#/definitions/CHD"},"minecraft:behavior.beg":{"$ref":"#/definitions/CHE"},"minecraft:behavior.break_door":{"$ref":"#/definitions/CHF"},"minecraft:behavior.breed":{"$ref":"#/definitions/CHH"},"minecraft:behavior.celebrate_survive":{"$ref":"#/definitions/CHI"},"minecraft:behavior.celebrate":{"$ref":"#/definitions/CHJ"},"minecraft:behavior.charge_attack":{"$ref":"#/definitions/CIA"},"minecraft:behavior.charge_held_item":{"$ref":"#/definitions/CIB"},"minecraft:behavior.circle_around_anchor":{"$ref":"#/definitions/CIC"},"minecraft:behavior.controlled_by_player":{"$ref":"#/definitions/CID"},"minecraft:behavior.croak":{"$ref":"#/definitions/CIE"},"minecraft:behavior.defend_trusted_target":{"$ref":"#/definitions/CIH"},"minecraft:behavior.defend_village_target":{"$ref":"#/definitions/CII"},"minecraft:behavior.delayed_attack":{"$ref":"#/definitions/CIJ"},"minecraft:behavior.dig":{"$ref":"#/definitions/CJA"},"minecraft:behavior.door_interact":{"$ref":"#/definitions/CJB"},"minecraft:behavior.dragonchargeplayer":{"$ref":"#/definitions/CJC"},"minecraft:behavior.dragondeath":{"$ref":"#/definitions/CJD"},"minecraft:behavior.dragonflaming":{"$ref":"#/definitions/CJE"},"minecraft:behavior.dragonholdingpattern":{"$ref":"#/definitions/CJF"},"minecraft:behavior.dragonlanding":{"$ref":"#/definitions/CJG"},"minecraft:behavior.dragonscanning":{"$ref":"#/definitions/CJH"},"minecraft:behavior.dragonstrafeplayer":{"$ref":"#/definitions/CJI"},"minecraft:behavior.dragontakeoff":{"$ref":"#/definitions/CJJ"},"minecraft:behavior.drink_milk":{"$ref":"#/definitions/DAA"},"minecraft:behavior.drink_potion":{"$ref":"#/definitions/DAB"},"minecraft:behavior.drop_item_for":{"$ref":"#/definitions/DAC"},"minecraft:behavior.eat_block":{"$ref":"#/definitions/DAD"},"minecraft:behavior.eat_carried_item":{"$ref":"#/definitions/DAE"},"minecraft:behavior.eat_mob":{"$ref":"#/definitions/DAF"},"minecraft:behavior.emerge":{"$ref":"#/definitions/DAF"},"minecraft:behavior.enderman_leave_block":{"$ref":"#/definitions/DAG"},"minecraft:behavior.enderman_take_block":{"$ref":"#/definitions/DAH"},"minecraft:behavior.equip_item":{"$ref":"#/definitions/DAI"},"minecraft:behavior.explore_outskirts":{"$ref":"#/definitions/DAJ"},"minecraft:behavior.fertilize_farm_block":{"$ref":"#/definitions/DBA"},"minecraft:behavior.find_cover":{"$ref":"#/definitions/DBB"},"minecraft:behavior.find_mount":{"$ref":"#/definitions/DBC"},"minecraft:behavior.find_underwater_treasure":{"$ref":"#/definitions/DBD"},"minecraft:behavior.flee_sun":{"$ref":"#/definitions/DBE"},"minecraft:behavior.float_wander":{"$ref":"#/definitions/DBF"},"minecraft:behavior.float":{"$ref":"#/definitions/DBG"},"minecraft:behavior.follow_caravan":{"$ref":"#/definitions/DBH"},"minecraft:behavior.follow_mob":{"$ref":"#/definitions/DBI"},"minecraft:behavior.follow_owner":{"$ref":"#/definitions/DBJ"},"minecraft:behavior.follow_parent":{"$ref":"#/definitions/DCA"},"minecraft:behavior.follow_target_captain":{"$ref":"#/definitions/DCB"},"minecraft:behavior.go_and_give_items_to_noteblock":{"$ref":"#/definitions/DCC"},"minecraft:behavior.go_and_give_items_to_owner":{"$ref":"#/definitions/DCD"},"minecraft:behavior.go_home":{"$ref":"#/definitions/DCE"},"minecraft:behavior.guardian_attack":{"$ref":"#/definitions/DCF"},"minecraft:behavior.harvest_farm_block":{"$ref":"#/definitions/DCG"},"minecraft:behavior.hide":{"$ref":"#/definitions/DCH"},"minecraft:behavior.hold_ground":{"$ref":"#/definitions/DCI"},"minecraft:behavior.hurt_by_target":{"$ref":"#/definitions/DCJ"},"minecraft:behavior.inspect_bookshelf":{"$ref":"#/definitions/DDA"},"minecraft:behavior.jump_to_block":{"$ref":"#/definitions/DDB"},"minecraft:behavior.knockback_roar":{"$ref":"#/definitions/DDD"},"minecraft:behavior.lay_down":{"$ref":"#/definitions/DDE"},"minecraft:behavior.lay_egg":{"$ref":"#/definitions/DDF"},"minecraft:behavior.leap_at_target":{"$ref":"#/definitions/DDG"},"minecraft:behavior.look_at_entity":{"$ref":"#/definitions/DDH"},"minecraft:behavior.look_at_player":{"$ref":"#/definitions/DDI"},"minecraft:behavior.look_at_target":{"$ref":"#/definitions/DDJ"},"minecraft:behavior.look_at_trading_player":{"$ref":"#/definitions/DEA"},"minecraft:behavior.make_love":{"$ref":"#/definitions/DEB"},"minecraft:behavior.melee_attack":{"$ref":"#/definitions/DEC"},"minecraft:behavior.mingle":{"$ref":"#/definitions/DED"},"minecraft:behavior.mount_pathing":{"$ref":"#/definitions/DEE"},"minecraft:behavior.move_indoors":{"$ref":"#/definitions/DEF"},"minecraft:behavior.move_outdoors":{"$ref":"#/definitions/DEG"},"minecraft:behavior.move_through_village":{"$ref":"#/definitions/DEH"},"minecraft:behavior.move_to_block":{"$ref":"#/definitions/DEI"},"minecraft:behavior.move_to_land":{"$ref":"#/definitions/DEJ"},"minecraft:behavior.move_to_lava":{"$ref":"#/definitions/DFA"},"minecraft:behavior.move_to_liquid":{"$ref":"#/definitions/DFB"},"minecraft:behavior.move_to_poi":{"$ref":"#/definitions/DFC"},"minecraft:behavior.move_to_random_block":{"$ref":"#/definitions/DFD"},"minecraft:behavior.move_to_village":{"$ref":"#/definitions/DFE"},"minecraft:behavior.move_to_water":{"$ref":"#/definitions/DFF"},"minecraft:behavior.move_towards_dwelling_restriction":{"$ref":"#/definitions/DFG"},"minecraft:behavior.move_towards_home_restriction":{"$ref":"#/definitions/DFH"},"minecraft:behavior.move_towards_restriction":{"$ref":"#/definitions/DFI"},"minecraft:behavior.move_towards_target":{"$ref":"#/definitions/DFJ"},"minecraft:behavior.nap":{"$ref":"#/definitions/DGA"},"minecraft:behavior.nearest_attackable_target":{"$ref":"#/definitions/DGB"},"minecraft:behavior.nearest_prioritized_attackable_target":{"$ref":"#/definitions/DGC"},"minecraft:behavior.ocelot_sit_on_block":{"$ref":"#/definitions/DGD"},"minecraft:behavior.ocelotattack":{"$ref":"#/definitions/DGE"},"minecraft:behavior.offer_flower":{"$ref":"#/definitions/DGF"},"minecraft:behavior.open_door":{"$ref":"#/definitions/DGG"},"minecraft:behavior.owner_hurt_by_target":{"$ref":"#/definitions/DGH"},"minecraft:behavior.owner_hurt_target":{"$ref":"#/definitions/DGI"},"minecraft:behavior.panic":{"$ref":"#/definitions/DGJ"},"minecraft:behavior.peek":{"$ref":"#/definitions/DHA"},"minecraft:behavior.pet_sleep_with_owner":{"$ref":"#/definitions/DHB"},"minecraft:behavior.pickup_items":{"$ref":"#/definitions/DHC"},"minecraft:behavior.play_dead":{"$ref":"#/definitions/DHD"},"minecraft:behavior.play":{"$ref":"#/definitions/DHE"},"minecraft:behavior.player_ride_tamed":{"$ref":"#/definitions/DHF"},"minecraft:behavior.raid_garden":{"$ref":"#/definitions/DHG"},"minecraft:behavior.ram_attack":{"$ref":"#/definitions/DHH"},"minecraft:behavior.random_breach":{"$ref":"#/definitions/DHI"},"minecraft:behavior.random_fly":{"$ref":"#/definitions/DHJ"},"minecraft:behavior.random_hover":{"$ref":"#/definitions/DIA"},"minecraft:behavior.random_look_around_and_sit":{"$ref":"#/definitions/DIB"},"minecraft:behavior.random_look_around":{"$ref":"#/definitions/DIC"},"minecraft:behavior.random_sitting":{"$ref":"#/definitions/DID"},"minecraft:behavior.random_stroll":{"$ref":"#/definitions/DIE"},"minecraft:behavior.random_swim":{"$ref":"#/definitions/DIF"},"minecraft:behavior.ranged_attack":{"$ref":"#/definitions/DIG"},"minecraft:behavior.receive_love":{"$ref":"#/definitions/DIH"},"minecraft:behavior.restrict_open_door":{"$ref":"#/definitions/DII"},"minecraft:behavior.restrict_sun":{"$ref":"#/definitions/DIJ"},"minecraft:behavior.rise_to_liquid_level":{"$ref":"#/definitions/DJA"},"minecraft:behavior.roar":{"$ref":"#/definitions/DJB"},"minecraft:behavior.roll":{"$ref":"#/definitions/DJC"},"minecraft:behavior.run_around_like_crazy":{"$ref":"#/definitions/DJD"},"minecraft:behavior.scared":{"$ref":"#/definitions/DJE"},"minecraft:behavior.send_event":{"$ref":"#/definitions/DJF"},"minecraft:behavior.share_items":{"$ref":"#/definitions/DJG"},"minecraft:behavior.silverfish_merge_with_stone":{"$ref":"#/definitions/DJH"},"minecraft:behavior.silverfish_wake_up_friends":{"$ref":"#/definitions/DJI"},"minecraft:behavior.skeleton_horse_trap":{"$ref":"#/definitions/DJJ"},"minecraft:behavior.sleep":{"$ref":"#/definitions/EAA"},"minecraft:behavior.slime_attack":{"$ref":"#/definitions/EAB"},"minecraft:behavior.slime_float":{"$ref":"#/definitions/EAC"},"minecraft:behavior.slime_keep_on_jumping":{"$ref":"#/definitions/EAD"},"minecraft:behavior.slime_random_direction":{"$ref":"#/definitions/EAE"},"minecraft:behavior.snacking":{"$ref":"#/definitions/EAF"},"minecraft:behavior.sneeze":{"$ref":"#/definitions/EAG"},"minecraft:behavior.sonic_boom":{"$ref":"#/definitions/EAH"},"minecraft:behavior.squid_dive":{"$ref":"#/definitions/EAI"},"minecraft:behavior.squid_flee":{"$ref":"#/definitions/EAJ"},"minecraft:behavior.squid_idle":{"$ref":"#/definitions/EBA"},"minecraft:behavior.squid_move_away_from_ground":{"$ref":"#/definitions/EBB"},"minecraft:behavior.squid_out_of_water":{"$ref":"#/definitions/EBC"},"minecraft:behavior.stalk_and_pounce_on_target":{"$ref":"#/definitions/EBD"},"minecraft:behavior.stay_near_noteblock":{"$ref":"#/definitions/EBE"},"minecraft:behavior.stay_while_sitting":{"$ref":"#/definitions/EBF"},"minecraft:behavior.stomp_attack":{"$ref":"#/definitions/EBG"},"minecraft:behavior.stomp_turtle_egg":{"$ref":"#/definitions/EBH"},"minecraft:behavior.stroll_towards_village":{"$ref":"#/definitions/EBI"},"minecraft:behavior.summon_entity":{"$ref":"#/definitions/EBJ"},"minecraft:behavior.swell":{"$ref":"#/definitions/ECA"},"minecraft:behavior.swim_idle":{"$ref":"#/definitions/ECB"},"minecraft:behavior.swim_wander":{"$ref":"#/definitions/ECC"},"minecraft:behavior.swim_with_entity":{"$ref":"#/definitions/ECD"},"minecraft:behavior.swoop_attack":{"$ref":"#/definitions/ECE"},"minecraft:behavior.take_flower":{"$ref":"#/definitions/ECF"},"minecraft:behavior.target_when_pushed":{"$ref":"#/definitions/ECG"},"minecraft:behavior.tempt":{"$ref":"#/definitions/ECH"},"minecraft:behavior.trade_interest":{"$ref":"#/definitions/ECI"},"minecraft:behavior.trade_with_player":{"$ref":"#/definitions/ECJ"},"minecraft:behavior.vex_copy_owner_target":{"$ref":"#/definitions/EDA"},"minecraft:behavior.vex_random_move":{"$ref":"#/definitions/EDB"},"minecraft:behavior.wither_random_attack_pos_goal":{"$ref":"#/definitions/EDC"},"minecraft:behavior.wither_target_highest_damage":{"$ref":"#/definitions/EDD"},"minecraft:behavior.work":{"$ref":"#/definitions/EDE"},"minecraft:behavior.work_composter":{"$ref":"#/definitions/EDF"}}},"EDG_addremove":{"additionalProperties":false,"title":"Add Or Remove","description":"The components groups to add or remove.","type":"object","examples":[{"component_groups":["self:variant1"]}],"properties":{"component_groups":{"title":"Component Groups","description":"The components groups to add or remove.","type":"array","items":{"type":"string","description":"A reference to a component group.","title":"Component Groups"}}}},"EDG_event_base":{"additionalProperties":false,"type":"object","examples":[{},{"add":{"component_groups":[]}},{"remove":{"component_groups":[]}}],"defaultSnippets":[{"label":"New Add Event","body":{"add":{"component_groups":["$1"]}}},{"label":"New Remove Event","body":{"remove":{"component_groups":["$1"]}}},{"label":"New Random Event","body":{"randomize":[{"add":{"component_groups":["$1"]},"weight":1},{"add":{"component_groups":["$2"]},"weight":1}]}},{"label":"New Sequence Events","body":{"sequence":[{"add":{"component_groups":["$1"]}},{"add":{"component_groups":["$2"]}}]}}],"properties":{"filters":{"$ref":"#/definitions/BB"},"trigger":{"description":"Triggers additional events.","$comment":"UNDOCUMENTED","title":"Trigger","$ref":"#/definitions/JA"},"add":{"$ref":"#/definitions/EDG_addremove","description":"What gets added when the event gets triggered.","title":"Add"},"remove":{"$ref":"#/definitions/EDG_addremove","description":"What gets removed when the event gets triggered.","title":"Remove"},"randomize":{"type":"array","description":"Randomly selects one of the following items based upon their weight and the total weights.","title":"Randomize","items":{"description":"Randomly selects one of the following items based upon their weight and the total weights.","title":"Randomize","examples":[{"add":{"component_groups":["foo:example"]},"weight":1}],"properties":{"add":{"$ref":"#/definitions/EDG_addremove","description":"What gets added when the event gets triggered.","title":"Add"},"remove":{"$ref":"#/definitions/EDG_addremove","description":"What gets removed when the event gets triggered.","title":"Remove"},"trigger":{"description":"Triggers additional events.","$comment":"UNDOCUMENTED","title":"Trigger","$ref":"#/definitions/JA"},"weight":{"type":"number","default":1,"minimum":1,"description":"The weight on how likely this section is to trigger.","$comment":"UNDOCUMENTED","title":"Weight"}}}},"sequence":{"type":"array","description":"A series of filters and components to be added.","title":"Sequences","items":{"description":"Filters and components to be added.","title":"Sequence","type":"object","properties":{"add":{"$ref":"#/definitions/EDG_addremove","description":"What gets added when the event gets triggered.","title":"Add"},"remove":{"$ref":"#/definitions/EDG_addremove","description":"What gets removed when the event gets triggered.","title":"Remove"},"trigger":{"description":"Triggers additional events.","$comment":"UNDOCUMENTED","title":"Trigger","$ref":"#/definitions/JA"},"filters":{"$ref":"#/definitions/BB"}}}}}},"EDG":{"type":"object","title":"Events","description":"Events for entities.","additionalProperties":{"$ref":"#/definitions/EDG_event_base"},"properties":{"minecraft:entity_transformed":{"description":"Event called on an entity that transforms into another entity.","$ref":"#/definitions/EDG_event_base","title":"Entity Transformed"},"minecraft:entity_born":{"description":"Event called on an entity that is spawned through two entities breeding.","$ref":"#/definitions/EDG_event_base","title":"Entity Born"},"minecraft:entity_spawned":{"description":"Event called on an entity that is placed in the level.","$ref":"#/definitions/EDG_event_base","title":"Entity Spawned"},"minecraft:on_prime":{"description":"Event called on an entity whose fuse is lit and is ready to explode.","$ref":"#/definitions/EDG_event_base","title":"On Prime"}}},"B":{"title":"Entity","required":["description"],"dependencies":{"component_groups":["events"]},"additionalProperties":false,"type":"object","properties":{"description":{"required":["identifier"],"title":"Description","description":"The description of the this entity.","properties":{"animations":{"title":"Animations","description":"Sets the mapping of internal animation / animation controllers references to actual animations. This is a JSON Object of name/animation pairs","type":"object","additionalProperties":{"title":"Animation / Controller","description":"The name of the animation controller / animation.","type":"string","examples":["animation.","controller."]}},"identifier":{"$ref":"#/definitions/C","description":"Sets the identifier for this entity's description.","title":"Identifier"},"is_spawnable":{"type":"boolean","title":"Is Spawnable","description":"Sets whether or not this entity has a spawn egg in the creative ui.","default":false},"is_summonable":{"type":"boolean","title":"Is Summonable Property","description":"Sets whether or not we can summon this entity using commands such as /summon.","default":true},"is_experimental":{"type":"boolean","title":"Is Experimental","description":"Sets whether or not this entity is experimental. Experimental entities are only enabled when the experimental toggle is enabled.","default":false},"runtime_identifier":{"type":"string","title":"Runtime Identifier","description":"Sets the name for the Vanilla Minecraft identifier this entity will use to build itself from.","examples":["minecraft."]},"scripts":{"type":"object","title":"Scripts","description":"Sets the mapping of internal animation controller references to actual animation controller. This is a JSON Array of name/animation-controller pairs","properties":{"animate":{"type":"array","title":"Animate","description":"Tells minecraft to run which animation / animation controllers and under what conditions.","items":{"oneOf":[{"type":"string","title":"Animation","description":"The name of an animation controller referenced in animations."},{"type":"object","title":"Conditional Animation","description":"A conditional statement to run the animation under a specified condition.","$comment":"UNDOCUMENTED","additionalProperties":{"type":"string","title":"Animation"}}]}}}}}},"component_groups":{"title":"Component Groups","description":"Each group when add / remove the default components.","uniqueItems":true,"type":"object","propertyNames":{"examples":["self:"]},"additionalProperties":{"$ref":"#/definitions/D","uniqueItems":true,"description":"The components that are added as the foundation of the entity.","title":"Component"}},"components":{"$ref":"#/definitions/D","uniqueItems":true,"description":"The components that are added as the foundation of the entity.","title":"Component"},"events":{"$ref":"#/definitions/EDG","uniqueItems":true,"description":"The events that the entity can run, these add or remove components_groups.","title":"Events"}}}}} \ 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/manifest.json b/general/manifest.json index e19b1f6c..c481367a 100644 --- a/general/manifest.json +++ b/general/manifest.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.manifest","type":"object","title":"Manifest Schema","description":"The minecraft manifest schema","required":["format_version","header"],"examples":[{"format_version":2,"header":{"description":"pack.description","name":"pack.name","uuid":"UUID2","min_engine_version":[1,16,0],"version":[1,0,0]},"modules":[{"type":"data","uuid":"UUID2","version":[1,0,0]}]}],"defaultSnippets":[{"label":"New Manifest","body":{"format_version":2,"header":{"description":"pack.description","name":"pack.name","uuid":"$UUID","min_engine_version":[1,16,0],"version":[1,0,0]},"modules":[{"type":"data","uuid":"$UUID","version":[1,0,0]}]}}],"allOf":[{"if":{"properties":{"format_version":{"const":1,"type":"number","title":"Format Version"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"const":2,"type":"number","title":"Format Version"}}},"then":{"$ref":"#/definitions/D"}}],"definitions":{"A_uuidv4":{"$ref":"#/definitions/B"},"A_version":{"$ref":"#/definitions/C"},"B":{"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"}]},"C":{"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"}]},"A":{"type":"object","title":"Manifest V1 Schema","description":"The manifest file contains all the basic information about the pack that Minecraft needs to identify it. The tables below contain all the components of the manifest, their individual properties, and what they mean.","additionalProperties":false,"required":["format_version","header"],"properties":{"format_version":{"type":"number","description":"This defines the current version of the manifest. Don't change this unless you have a good reason to","title":"Format Version"},"header":{"required":["name","uuid","version"],"properties":{"name":{"type":"string","default":0,"description":"This is the name of the pack as it appears within Minecraft","title":"Name"},"description":{"type":"string","default":0,"description":"This is a short description of the pack. It will appear in the game below the name of the pack. We recommend keeping it to 1-2 lines.","title":"Description"},"uuid":{"type":"string","$ref":"#/definitions/A_uuidv4","description":"This is a special type of identifier that uniquely identifies this pack from any other pack. UUIDs are written in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx where each x is a hexadecimal value (0-9 or a-f). We recommend using an online service to generate this and guarantee their uniqueness (just bing UUID Generator to find some)","title":"UUID"},"version":{"$ref":"#/definitions/A_version","description":"This is the version of your pack in the format [majorVersion, minorVersion, revision].","title":"Version"},"min_engine_version":{"type":"string","$ref":"#/definitions/A_version","description":"This is the minimum version of the game that this pack was written for. This helps the game identify whether any backwards compatibility is needed for your pack. You should always use the highest version currently available when creating packs","title":"Minimum Engine Version"},"lock_template_options":{"type":"boolean","description":"UNDOCUMENTED: lock template options","title":"Lock Template Options"},"base_game_version":{"$ref":"#/definitions/A_version","description":"UNDOCUMENTED: base game version","title":"Base Game Version"}},"description":"UNDOCUMENTED: header","title":"Header"},"modules":{"type":"array","title":"Modules","items":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED: modules","title":"Modules","required":["type","uuid","version"],"properties":{"type":{"description":"This is the type of the module. Can be any of the following: resources, data, client_data, interface, world_template","type":"string","enum":["resources","data","client_data","interface","world_template","skin_pack"],"title":"Type"},"description":{"type":"string","description":"This is a short description of the module. This is not user-facing at the moment but is a good place to remind yourself why the module is defined","title":"Description","default":""},"uuid":{"$ref":"#/definitions/A_uuidv4","description":"This is a unique identifier for the module in the same format as the pack's UUID in the header. This should be different from the pack's UUID, and different for every module","title":"UUID"},"version":{"$ref":"#/definitions/A_version","description":"This is the version of the module in the same format as the pack's version in the header. This can be used to further identify changes in your pack","title":"Version"}}},"description":"UNDOCUMENTED: modules"},"dependencies":{"type":"array","description":"These are the different features that the pack makes use of that aren't necessarily enabled by default.","items":{"additionalProperties":false,"type":"object","properties":{"uuid":{"type":"string","$ref":"#/definitions/A_uuidv4","description":"This is the unique identifier of the pack that this pack depends on. It needs to be the exact same UUID that the pack has defined in the header section of it's manifest file","title":"UUID"},"version":{"$ref":"#/definitions/A_version","description":"This is the specific version of the pack that your pack depends on. Should match the version the other pack has in its manifest file","title":"Version"}},"description":"UNDOCUMENTED: dependencies","title":"Dependencies"},"title":"Dependencies"},"capabilities":{"type":"object","title":"Capabilities","description":"These are the different features that the pack makes use of that aren't necessarily enabled by default.","properties":{"experimental_custom_ui":{"type":"boolean","description":"Allows HTML files in the pack to be used for custom UI, and scripts in the pack to call and manipulate custom UI","title":"Experimental Custom Ui"},"chemistry":{"type":"boolean","description":"Allows the pack to add, change or replace Chemistry functionality","title":"Chemistry"}}},"metadata":{"authors":{"title":"Authors","description":"Name of the author(s) of the pack","type":"array","items":{"type":"string","title":"Name","description":"Name of the author of the pack"}},"license":{"type":"string","description":"The license of the pack","title":"License"},"url":{"type":"string","description":"The home website of your pack","title":"Url"},"description":"UNDOCUMENTED: metadata","title":"Metadata"}}},"D_uuidv4":{"type":"string","title":"An UUID V4","description":"A valid uuid v4","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","format":"uuid"},"D_version":{"$ref":"#/definitions/C"},"D":{"type":"object","title":"Manifest V2 Schema","description":"The manifest file contains all the basic information about the pack that Minecraft needs to identify it. The tables below contain all the components of the manifest, their individual properties, and what they mean.","required":["format_version","header"],"additionalProperties":false,"properties":{"format_version":{"title":"Format Version","type":"number","description":"This defines the current version of the manifest. Don't change this unless you have a good reason to"},"capabilities":{"type":"object","title":"Capabilities","description":"These are the different features that the pack makes use of that aren't necessarily enabled by default.","properties":{"experimental_custom_ui":{"type":"boolean","description":"Allows HTML files in the pack to be used for custom UI, and scripts in the pack to call and manipulate custom UI","title":"Experimental Custom Ui"},"chemistry":{"type":"boolean","description":"Allows the pack to add, change or replace Chemistry functionality","title":"Chemistry"},"raytraced":{"type":"boolean","description":"Indicates that this pack contains Raytracing Enhanced or Physical Based Materials for rendering","title":"Raytraced"}}},"dependencies":{"type":"array","title":"Dependencies","description":"Section containing definitions for any other packs that are required in order for this manifest.json file to work.","items":{"additionalProperties":false,"type":"object","title":"Dependency","description":"Section containing definitions for any other packs that are required in order for this manifest.json file to work.","properties":{"uuid":{"type":"string","$ref":"#/definitions/D_uuidv4","description":"This is the unique identifier of the pack that this pack depends on. It needs to be the exact same UUID that the pack has defined in the header section of it's manifest file","title":"Uuid"},"version":{"$ref":"#/definitions/D_version","description":"This is the specific version of the pack that your pack depends on. Should match the version the other pack has in its manifest file","title":"Version"}}}},"header":{"description":"Section containing information regarding the name of the pack, description, and other features that are public facing.","title":"Header","required":["description","name","uuid","version"],"properties":{"base_game_version":{"$ref":"#/definitions/D_version","title":"Base Game Version","description":"This is the version of the base game your world template requires, specified as [majorVersion, minorVersion, revision]. We use this to determine what version of the base game resource and behavior packs to apply when your content is used."},"description":{"title":"Description","type":"string","default":"","description":"This is a short description of the pack. It will appear in the game below the name of the pack. We recommend keeping it to 1-2 lines."},"lock_template_options":{"title":"Lock Template Options","type":"boolean","description":"This option is required for any world templates. This will lock the player from modifying the options of the world."},"min_engine_version":{"title":"Minimum Engine Version","$ref":"#/definitions/D_version","description":"This is the minimum version of the game that this pack was written for. This is a required field for resource and behavior packs. This helps the game identify whether any backwards compatibility is needed for your pack. You should always use the highest version currently available when creating packs"},"name":{"title":"Name","type":"string","description":"This is the name of the pack as it appears within Minecraft. This is a required field."},"uuid":{"title":"UUID","$ref":"#/definitions/D_uuidv4","description":"This is a special type of identifier that uniquely identifies this pack from any other pack. UUIDs are written in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx where each x is a hexadecimal value (0-9 or a-f). We recommend using an online service to generate this and guarantee their uniqueness (just bing UUID Generator to find some)"},"version":{"title":"Version","$ref":"#/definitions/D_version","description":"This is the version of your pack in the format [majorVersion, minorVersion, revision]."}}},"modules":{"type":"array","title":"Modules","description":"Section containing information regarding the type of content that is being brought in.","items":{"type":"object","additionalProperties":false,"description":"Section containing information regarding the type of content that is being brought in.","title":"Module","required":["type","uuid","version"],"properties":{"description":{"type":"string","description":"This is a short description of the module. This is not user-facing at the moment but is a good place to remind yourself why the module is defined","title":"Description"},"type":{"type":"string","enum":["resources","data","client_data","interface","world_template","javascript","script"],"description":"This is the type of the module.","title":"Type"},"language":{"type":"string","title":"Language","description":"The programming language to use","enum":["javascript"]},"uuid":{"$ref":"#/definitions/D_uuidv4","description":"This is a unique identifier for the module in the same format as the pack's UUID in the header. This should be different from the pack's UUID, and different for every module","title":"Uuid"},"version":{"$ref":"#/definitions/D_version","description":"This is the version of your pack in the format [majorVersion, minorVersion, revision]. The version number is used when importing a pack that has been imported before. The new pack will replace the old one if the version is higher, and ignored if it's the same or lower","title":"Version"},"entry":{"type":"string","title":"Entry","description":"The javascript entry point for tests, only works if types has been set to `javascript`"}}}},"metadata":{"additionalProperties":false,"type":"object","description":"Section containing the metadata about the file such as authors and licensing information.","title":"Metadata","properties":{"authors":{"title":"Authors","description":"Name of the author(s) of the pack","type":"array","items":{"type":"string","title":"Name","description":"Name of the author of the pack"}},"license":{"type":"string","title":"License","description":"The license of the pack"},"url":{"type":"string","format":"uri","title":"Url","description":"The home website of your pack"},"generated_with":{"title":"Generated With","description":"A list of tools and their version that have modified this pack","type":"object","propertyNames":{"pattern":"^[a-zA-Z0-9\\_\\-]+$","maxLength":32,"maximum":32},"additionalProperties":{"type":"array","examples":[["1.0.0"]],"title":"Tool","description":"The tool and the version used to modified this pack","items":{"type":"string","title":"Version","examples":["1.0.0"],"pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}}}},"subpacks":{"type":"array","title":"Subpacks","description":"A list of subpacks that are applied per memory tier","items":{"type":"object","additionalProperties":false,"description":"A single definition of a subpack","title":"Subpacks","required":["folder_name","name","memory_tier"],"example":[{"folder_name":"tier1","name":"low","memory_tier":1}],"properties":{"folder_name":{"type":"string","description":"This represents the folder name located in \"subpacks\" folder. When user select this resolution Minecraft loads the content inside the folder.","title":"Folder Name"},"name":{"type":"string","description":"This is the name of the pack resolution. This lets user know what resolution they are choosing.","title":"Name"},"memory_tier":{"type":"number","title":"Memory Tier","description":"This creates a requirement on the capacity of memory needed to select the resolution. Each tier increases memory requirement by 256 MB."}}}}}}}} \ No newline at end of file +{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.manifest","type":"object","title":"Manifest Schema","description":"The minecraft manifest schema.","required":["format_version","header"],"examples":[{"format_version":2,"header":{"description":"pack.description","name":"pack.name","uuid":"UUID2","min_engine_version":[1,16,0],"version":[1,0,0]},"modules":[{"type":"data","uuid":"UUID2","version":[1,0,0]}]}],"defaultSnippets":[{"label":"New Manifest","body":{"format_version":2,"header":{"description":"pack.description","name":"pack.name","uuid":"$UUID","min_engine_version":[1,16,0],"version":[1,0,0]},"modules":[{"type":"data","uuid":"$UUID","version":[1,0,0]}]}}],"allOf":[{"if":{"properties":{"format_version":{"const":1,"type":"number","title":"Format Version"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"const":2,"type":"number","title":"Format Version"}}},"then":{"$ref":"#/definitions/D"}}],"definitions":{"A_uuidv4":{"$ref":"#/definitions/B"},"A_version":{"$ref":"#/definitions/C"},"B":{"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"}]},"C":{"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"}]},"A":{"type":"object","title":"Manifest V1 Schema","description":"The manifest file contains all the basic information about the pack that Minecraft needs to identify it. The tables below contain all the components of the manifest, their individual properties, and what they mean.","additionalProperties":false,"required":["format_version","header"],"properties":{"format_version":{"type":"number","description":"This defines the current version of the manifest. Don't change this unless you have a good reason to","title":"Format Version"},"header":{"required":["name","uuid","version"],"properties":{"name":{"type":"string","default":0,"description":"This is the name of the pack as it appears within Minecraft.","title":"Name"},"description":{"type":"string","default":0,"description":"This is a short description of the pack. It will appear in the game below the name of the pack. We recommend keeping it to 1-2 lines.","title":"Description"},"uuid":{"type":"string","$ref":"#/definitions/A_uuidv4","description":"This is a special type of identifier that uniquely identifies this pack from any other pack. UUIDs are written in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx where each x is a hexadecimal value (0-9 or a-f). We recommend using an online service to generate this and guarantee their uniqueness (just bing UUID Generator to find some)","title":"UUID"},"version":{"$ref":"#/definitions/A_version","description":"This is the version of your pack in the format [majorVersion, minorVersion, revision].","title":"Version"},"min_engine_version":{"type":"string","$ref":"#/definitions/A_version","description":"This is the minimum version of the game that this pack was written for. This helps the game identify whether any backwards compatibility is needed for your pack. You should always use the highest version currently available when creating packs","title":"Minimum Engine Version"},"lock_template_options":{"type":"boolean","description":"UNDOCUMENTED: lock template options.","title":"Lock Template Options"},"base_game_version":{"$ref":"#/definitions/A_version","description":"UNDOCUMENTED: base game version.","title":"Base Game Version"}},"description":"UNDOCUMENTED: header.","title":"Header"},"modules":{"type":"array","title":"Modules","items":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED: modules.","title":"Modules","required":["type","uuid","version"],"properties":{"type":{"description":"This is the type of the module. Can be any of the following: resources, data, client_data, interface, world_template","type":"string","enum":["resources","data","client_data","interface","world_template","skin_pack"],"title":"Type"},"description":{"type":"string","description":"This is a short description of the module. This is not user-facing at the moment but is a good place to remind yourself why the module is defined","title":"Description","default":""},"uuid":{"$ref":"#/definitions/A_uuidv4","description":"This is a unique identifier for the module in the same format as the pack's UUID in the header. This should be different from the pack's UUID, and different for every module","title":"UUID"},"version":{"$ref":"#/definitions/A_version","description":"This is the version of the module in the same format as the pack's version in the header. This can be used to further identify changes in your pack","title":"Version"}}},"description":"UNDOCUMENTED: modules."},"dependencies":{"type":"array","description":"These are the different features that the pack makes use of that aren't necessarily enabled by default.","items":{"additionalProperties":false,"type":"object","properties":{"uuid":{"type":"string","$ref":"#/definitions/A_uuidv4","description":"This is the unique identifier of the pack that this pack depends on. It needs to be the exact same UUID that the pack has defined in the header section of it's manifest file","title":"UUID"},"version":{"$ref":"#/definitions/A_version","description":"This is the specific version of the pack that your pack depends on. Should match the version the other pack has in its manifest file","title":"Version"}},"description":"UNDOCUMENTED: dependencies.","title":"Dependencies"},"title":"Dependencies"},"capabilities":{"type":"object","title":"Capabilities","description":"These are the different features that the pack makes use of that aren't necessarily enabled by default.","properties":{"experimental_custom_ui":{"type":"boolean","description":"Allows HTML files in the pack to be used for custom UI, and scripts in the pack to call and manipulate custom UI.","title":"Experimental Custom Ui"},"chemistry":{"type":"boolean","description":"Allows the pack to add, change or replace Chemistry functionality.","title":"Chemistry"}}},"metadata":{"authors":{"title":"Authors","description":"Name of the author(s) of the pack.","type":"array","items":{"type":"string","title":"Name","description":"Name of the author of the pack."}},"license":{"type":"string","description":"The license of the pack.","title":"License"},"url":{"type":"string","description":"The home website of your pack.","title":"Url"},"description":"UNDOCUMENTED: metadata.","title":"Metadata"}}},"D_uuidv4":{"type":"string","title":"An UUID V4","description":"A valid uuid v4.","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","format":"uuid"},"D_version":{"$ref":"#/definitions/C"},"D":{"type":"object","title":"Manifest V2 Schema","description":"The manifest file contains all the basic information about the pack that Minecraft needs to identify it. The tables below contain all the components of the manifest, their individual properties, and what they mean.","required":["format_version","header"],"additionalProperties":false,"properties":{"format_version":{"title":"Format Version","type":"number","description":"This defines the current version of the manifest. Don't change this unless you have a good reason to"},"capabilities":{"type":"object","title":"Capabilities","description":"These are the different features that the pack makes use of that aren't necessarily enabled by default.","properties":{"experimental_custom_ui":{"type":"boolean","description":"Allows HTML files in the pack to be used for custom UI, and scripts in the pack to call and manipulate custom UI.","title":"Experimental Custom Ui"},"chemistry":{"type":"boolean","description":"Allows the pack to add, change or replace Chemistry functionality.","title":"Chemistry"},"raytraced":{"type":"boolean","description":"Indicates that this pack contains Raytracing Enhanced or Physical Based Materials for rendering.","title":"Raytraced"}}},"dependencies":{"type":"array","title":"Dependencies","description":"Section containing definitions for any other packs that are required in order for this manifest.json file to work.","items":{"additionalProperties":false,"type":"object","title":"Dependency","description":"Section containing definitions for any other packs that are required in order for this manifest.json file to work.","properties":{"uuid":{"type":"string","$ref":"#/definitions/D_uuidv4","description":"This is the unique identifier of the pack that this pack depends on. It needs to be the exact same UUID that the pack has defined in the header section of it's manifest file","title":"Uuid"},"version":{"$ref":"#/definitions/D_version","description":"This is the specific version of the pack that your pack depends on. Should match the version the other pack has in its manifest file","title":"Version"}}}},"header":{"description":"Section containing information regarding the name of the pack, description, and other features that are public facing.","title":"Header","required":["description","name","uuid","version"],"properties":{"base_game_version":{"$ref":"#/definitions/D_version","title":"Base Game Version","description":"This is the version of the base game your world template requires, specified as [majorVersion, minorVersion, revision]. We use this to determine what version of the base game resource and behavior packs to apply when your content is used."},"description":{"title":"Description","type":"string","default":"","description":"This is a short description of the pack. It will appear in the game below the name of the pack. We recommend keeping it to 1-2 lines."},"lock_template_options":{"title":"Lock Template Options","type":"boolean","description":"This option is required for any world templates. This will lock the player from modifying the options of the world."},"min_engine_version":{"title":"Minimum Engine Version","$ref":"#/definitions/D_version","description":"This is the minimum version of the game that this pack was written for. This is a required field for resource and behavior packs. This helps the game identify whether any backwards compatibility is needed for your pack. You should always use the highest version currently available when creating packs"},"name":{"title":"Name","type":"string","description":"This is the name of the pack as it appears within Minecraft. This is a required field."},"uuid":{"title":"UUID","$ref":"#/definitions/D_uuidv4","description":"This is a special type of identifier that uniquely identifies this pack from any other pack. UUIDs are written in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx where each x is a hexadecimal value (0-9 or a-f). We recommend using an online service to generate this and guarantee their uniqueness (just bing UUID Generator to find some)"},"version":{"title":"Version","$ref":"#/definitions/D_version","description":"This is the version of your pack in the format [majorVersion, minorVersion, revision]."}}},"modules":{"type":"array","title":"Modules","description":"Section containing information regarding the type of content that is being brought in.","items":{"type":"object","additionalProperties":false,"description":"Section containing information regarding the type of content that is being brought in.","title":"Module","required":["type","uuid","version"],"properties":{"description":{"type":"string","description":"This is a short description of the module. This is not user-facing at the moment but is a good place to remind yourself why the module is defined","title":"Description"},"type":{"type":"string","enum":["resources","data","client_data","interface","world_template","javascript","script"],"description":"This is the type of the module.","title":"Type"},"language":{"type":"string","title":"Language","description":"The programming language to use.","enum":["javascript"]},"uuid":{"$ref":"#/definitions/D_uuidv4","description":"This is a unique identifier for the module in the same format as the pack's UUID in the header. This should be different from the pack's UUID, and different for every module","title":"Uuid"},"version":{"$ref":"#/definitions/D_version","description":"This is the version of your pack in the format [majorVersion, minorVersion, revision]. The version number is used when importing a pack that has been imported before. The new pack will replace the old one if the version is higher, and ignored if it's the same or lower","title":"Version"},"entry":{"type":"string","title":"Entry","description":"The javascript entry point for tests, only works if types has been set to `javascript`."}}}},"metadata":{"additionalProperties":false,"type":"object","description":"Section containing the metadata about the file such as authors and licensing information.","title":"Metadata","properties":{"authors":{"title":"Authors","description":"Name of the author(s) of the pack.","type":"array","items":{"type":"string","title":"Name","description":"Name of the author of the pack."}},"license":{"type":"string","title":"License","description":"The license of the pack."},"url":{"type":"string","format":"uri","title":"Url","description":"The home website of your pack."},"generated_with":{"title":"Generated With","description":"A list of tools and their version that have modified this pack.","type":"object","propertyNames":{"pattern":"^[a-zA-Z0-9\\_\\-]+$","maxLength":32,"maximum":32},"additionalProperties":{"type":"array","examples":[["1.0.0"]],"title":"Tool","description":"The tool and the version used to modified this pack.","items":{"type":"string","title":"Version","examples":["1.0.0"],"pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"}}}}},"subpacks":{"type":"array","title":"Subpacks","description":"A list of subpacks that are applied per memory tier.","items":{"type":"object","additionalProperties":false,"description":"A single definition of a subpack.","title":"Subpacks","required":["folder_name","name","memory_tier"],"example":[{"folder_name":"tier1","name":"low","memory_tier":1}],"properties":{"folder_name":{"type":"string","description":"This represents the folder name located in \"subpacks\" folder. When user select this resolution Minecraft loads the content inside the folder.","title":"Folder Name"},"name":{"type":"string","description":"This is the name of the pack resolution. This lets user know what resolution they are choosing.","title":"Name"},"memory_tier":{"type":"number","title":"Memory Tier","description":"This creates a requirement on the capacity of memory needed to select the resolution. Each tier increases memory requirement by 256 MB."}}}}}}}} \ 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 diff --git a/source/behavior/animation_controllers/animation_controller.json b/source/behavior/animation_controllers/animation_controller.json index e7e800e5..8df0f64a 100644 --- a/source/behavior/animation_controllers/animation_controller.json +++ b/source/behavior/animation_controllers/animation_controller.json @@ -17,13 +17,13 @@ "anyOf": [ { "title": "Animation Specification", - "description": "A single string that specifies which animation there are", + "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", + "description": "A object specification on when to animate.", "maxProperties": 1, "minProperties": 1, "additionalProperties": { @@ -46,23 +46,23 @@ "effect": { "type": "string", "title": "Effect", - "description": "The name of a particle effect that should be played" + "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" + "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" + "description": "A molang script that will be run when the particle emitter is initialized." } } }, "commands": { "type": "string", - "description": "The event or commands to execute", + "description": "The event or commands to execute.", "title": "Commands", "oneOf": [ { "pattern": "^@s .+$", "title": "Event" }, @@ -73,7 +73,7 @@ }, "type": "object", "title": "Animation Controller", - "description": "Animation controller for behaviors", + "description": "Animation controller for behaviors.", "required": ["format_version", "animation_controllers"], "additionalProperties": false, "properties": { @@ -81,7 +81,7 @@ "animation_controllers": { "type": "object", "title": "Animation Controllers", - "description": "The animation controllers schema for", + "description": "The animation controllers schema for.", "propertyNames": { "pattern": "^controller\\.animation\\.[a-z\\.]+", "examples": ["controller.animation.example", "controller.animation.example.foo"] @@ -90,20 +90,20 @@ "additionalProperties": false, "type": "object", "title": "Animation Controller", - "description": "A single animation controller", + "description": "A single animation controller.", "required": ["states"], "minProperties": 1, "properties": { "states": { "title": "States", - "description": "The states of this animation controller", + "description": "The states of this animation controller.", "propertyNames": { "pattern": "[a-z\\.]+" }, "minProperties": 1, "type": "object", "additionalProperties": { "additionalProperties": false, "title": "Animation State", - "description": "Animation state", + "description": "Animation state.", "type": "object", "examples": [ { @@ -114,17 +114,17 @@ "properties": { "animations": { "title": "Animations", - "description": "The animations definition for", + "description": "The animations definition for.", "type": "array", "items": { "$ref": "#/definitions/animationspec", - "description": "The key definition of an animation to play, defined in the entity", + "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", + "description": "Events, commands or transitions to preform on entry of this state.", "title": "On Entry", "items": { "$ref": "#/definitions/commands" @@ -132,7 +132,7 @@ }, "on_exit": { "type": "array", - "description": "Events, commands or transitions to preform on exit of this state", + "description": "Events, commands or transitions to preform on exit of this state.", "title": "On Exit", "items": { "$ref": "#/definitions/commands" @@ -140,12 +140,12 @@ }, "transitions": { "title": "Transition", - "description": "The transition definition for", + "description": "The transition definition for.", "minProperties": 1, "type": "array", "items": { "title": "Transition", - "description": "A transition to another state", + "description": "A transition to another state.", "type": "object", "maxProperties": 1, "minProperties": 1, @@ -160,7 +160,7 @@ }, "initial_state": { "title": "Initial State", - "description": "The state to start with, if not specified state at position 0 in the array is used", + "description": "The state to start with, if not specified state at position 0 in the array is used.", "type": "string", "examples": ["default"] } diff --git a/source/behavior/animations/animations.json b/source/behavior/animations/animations.json index d20d6755..db43094b 100644 --- a/source/behavior/animations/animations.json +++ b/source/behavior/animations/animations.json @@ -5,11 +5,11 @@ "definitions": { "animationspec": { "anyOf": [ - { "title": "Animation Specification", "description": "A single string that specifies which animation there are", "type": "string" }, + { "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", + "description": "A object specification on how to transition.", "maxProperties": 1, "minProperties": 1, "additionalProperties": { "$ref": "../../molang/string.json" } @@ -27,55 +27,55 @@ "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" }, + "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", + "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", + "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": "^.*=.*;$", "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" } + { "pattern": "^@s .*$", "title": "Event", "description": "An event to be called upon within the executing entity." } ] } }, "type": "object", "title": "Animation", - "description": "Animation for behavior for", + "description": "Animation for behavior for.", "required": ["format_version", "animations"], "additionalProperties": false, "properties": { "format_version": { "$ref": "../../general/format_version.json" }, "animations": { "title": "Animations Schema", - "description": "The animation specification", + "description": "The animation specification.", "type": "object", "propertyNames": { "pattern": "^animation\\.[a-z\\.]+" }, "additionalProperties": { "title": "Animation", "type": "object", - "description": "A single animation definition for", + "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" }, + "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", + "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", + "description": "A timeline specification, property names are timestamps.", "type": "object", "propertyNames": { "pattern": "^(\\d+\\.\\d+|\\d+)$", "examples": ["0.0", "1.0"] }, "additionalProperties": { diff --git a/source/behavior/biomes/biomes.json b/source/behavior/biomes/biomes.json index 147e2649..39ddcf41 100644 --- a/source/behavior/biomes/biomes.json +++ b/source/behavior/biomes/biomes.json @@ -6,7 +6,7 @@ "additionalProperties": { "type": "object", "title": "Biomes", - "description": "The definition of a biome", + "description": "The definition of a biome.", "additionalProperties": { "title": "Tag", "type": "object", diff --git a/source/behavior/biomes/components/minecraft.climate.json b/source/behavior/biomes/components/minecraft.climate.json index 8a8c9cc2..f2c9fb44 100644 --- a/source/behavior/biomes/components/minecraft.climate.json +++ b/source/behavior/biomes/components/minecraft.climate.json @@ -7,15 +7,15 @@ "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" }, + "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", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": [ diff --git a/source/behavior/biomes/components/minecraft.forced_features.json b/source/behavior/biomes/components/minecraft.forced_features.json index f67bbfad..ad1110d5 100644 --- a/source/behavior/biomes/components/minecraft.forced_features.json +++ b/source/behavior/biomes/components/minecraft.forced_features.json @@ -26,37 +26,37 @@ "properties": { "distribution": { "title": "Distribution", - "description": "Type of distribution - uniform random, gaussian (centered in the range), or grid (either fixed-step or jittered)", + "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", + "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", + "description": "Lower bound (inclusive) of the scatter range, as an offset from the input point to scatter around.", "$ref": "../../../molang/number.json" }, { "title": "Upper Bound", - "description": "Upper bound (inclusive) of the scatter range, as an offset from the input point to scatter around", + "description": "Upper bound (inclusive) of the scatter range, as an offset from the input point to scatter around.", "$ref": "../../../molang/number.json" } ] }, "grid_offset": { "title": "Step Size", - "description": "When the distribution type is grid, defines the offset along this axis", + "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", + "description": "When the distribution type is grid, defines the distance between steps along this axis.", "type": "integer", "minimum": 1 } @@ -66,7 +66,7 @@ }, "iteration": { "title": "Iteration", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "type": "object", @@ -80,18 +80,18 @@ }, "identifier": { "title": "Identifier", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" }, "iterations": { "title": "Iterations", - "description": "Number of scattered positions to generate", + "description": "Number of scattered positions to generate.", "$ref": "../../../molang/number.json" }, "places_feature": { "title": "Places Feature", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" }, @@ -105,14 +105,14 @@ "properties": { "denominator": { "title": "Denominator", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "numerator": { "title": "Numerator", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 @@ -148,7 +148,7 @@ "properties": { "after_sky_pass": { "title": "First Pass", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -157,7 +157,7 @@ }, "after_surface_pass": { "title": "First Pass", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -166,7 +166,7 @@ }, "after_underground_pass": { "title": "First Pass", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -175,7 +175,7 @@ }, "before_sky_pass": { "title": "First Pass", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -184,7 +184,7 @@ }, "before_surface_pass": { "title": "First Pass", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -193,7 +193,7 @@ }, "before_underground_pass": { "title": "First Pass", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -202,7 +202,7 @@ }, "final_pass": { "title": "First Pass", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -211,7 +211,7 @@ }, "first_pass": { "title": "First Pass", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -220,7 +220,7 @@ }, "surface_pass": { "title": "First Pass", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -229,7 +229,7 @@ }, "sky_pass": { "title": "First Pass", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -238,7 +238,7 @@ }, "underground_pass": { "title": "First Pass", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { diff --git a/source/behavior/biomes/components/minecraft.mesa_surface.json b/source/behavior/biomes/components/minecraft.mesa_surface.json index c1f4d756..04cfdef7 100644 --- a/source/behavior/biomes/components/minecraft.mesa_surface.json +++ b/source/behavior/biomes/components/minecraft.mesa_surface.json @@ -33,9 +33,9 @@ "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" } + "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" } } } diff --git a/source/behavior/biomes/components/minecraft.mountain_parameters.json b/source/behavior/biomes/components/minecraft.mountain_parameters.json index fa78fdc3..705b0f95 100644 --- a/source/behavior/biomes/components/minecraft.mountain_parameters.json +++ b/source/behavior/biomes/components/minecraft.mountain_parameters.json @@ -1,7 +1,7 @@ { "$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.mountain_parameters", "title": "Mountain parameters", - "description": "Noise parameters used to drive mountain terrain generation in Overworld", + "description": "Noise parameters used to drive mountain terrain generation in Overworld.", "type": "object", "additionalProperties": false, "minProperties": 0, @@ -10,13 +10,13 @@ "peaks_factor": { "type": "number", "title": "Peaks factor", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "steep_material_adjustment": { "type": "object", "title": "Steep material adjustment", - "description": "Defines surface material for steep slopes", + "description": "Defines surface material for steep slopes.", "additionalProperties": false, "properties": { "material": { @@ -27,28 +27,28 @@ "north_slopes": { "type": "boolean", "title": "North slopes", - "description": "Enable for north facing slopes" + "description": "Enable for north facing slopes." }, "south_slopes": { "type": "boolean", "title": "South slopes", - "description": "Enable for south facing slopes" + "description": "Enable for south facing slopes." }, "west_slopes": { "type": "boolean", "title": "West slopes", - "description": "Enable for west facing slopes" + "description": "Enable for west facing slopes." }, "east_slopes": { "type": "boolean", "title": "East slopes", - "description": "Enable for east facing 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", + "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": { diff --git a/source/behavior/biomes/components/minecraft.overworld_generation_rules.json b/source/behavior/biomes/components/minecraft.overworld_generation_rules.json index b849119c..d8395007 100644 --- a/source/behavior/biomes/components/minecraft.overworld_generation_rules.json +++ b/source/behavior/biomes/components/minecraft.overworld_generation_rules.json @@ -10,12 +10,12 @@ { "type": "string", "title": "Block Reference", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, { "type": "array", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Block Reference", "minItems": 1, @@ -23,24 +23,24 @@ "oneOf": [ { "type": "string", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Block Reference" }, { "type": "array", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "items": [ { "title": "Biome Reference", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" }, { "title": "_", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer" } @@ -55,25 +55,25 @@ "properties": { "hills_transformation": { "title": "Hills Transformation", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/transformation" }, "mutate_transformation": { "title": "Mutate Transformation", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/transformation" }, "river_transformation": { "title": "River Transformation", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/transformation" }, "shore_transformation": { "title": "Shore Transformation", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/transformation" }, @@ -83,19 +83,19 @@ "type": "array", "items": { "title": "_", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": [ { "title": "Climate Category", - "description": "Name of a 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", + "description": "Weight with which this biome should be selected, relative to other biomes in the same category.", "type": "integer" } ] diff --git a/source/behavior/biomes/components/minecraft.overworld_height.json b/source/behavior/biomes/components/minecraft.overworld_height.json index e4f3c241..8850a6bc 100644 --- a/source/behavior/biomes/components/minecraft.overworld_height.json +++ b/source/behavior/biomes/components/minecraft.overworld_height.json @@ -9,7 +9,7 @@ "properties": { "noise_params": { "title": "Noise Params", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": [ @@ -23,26 +23,10 @@ }, "noise_type": { "title": "Noise Type", - "description": "UNDOCUMENTED", + "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" - ] + "enum": ["stone_beach", "deep_ocean", "default", "default_mutated", "lowlands", "river", "ocean", "taiga", "mountains", "highlands", "mushroom", "less_extreme", "extreme", "beach", "swamp"] } } } diff --git a/source/behavior/biomes/components/minecraft.surface_material_adjustments.json b/source/behavior/biomes/components/minecraft.surface_material_adjustments.json index 5926c124..b8b09ded 100644 --- a/source/behavior/biomes/components/minecraft.surface_material_adjustments.json +++ b/source/behavior/biomes/components/minecraft.surface_material_adjustments.json @@ -1,7 +1,7 @@ { "$id": "minecraft.behavior.biomes.1.12.0.components.minecraft.surface_material_adjustments", "title": "Surface Material Adjustments", - "description": "Specify fine-detail changes to blocks used in terrain generation (based on a noise function)", + "description": "Specify fine-detail changes to blocks used in terrain generation (based on a noise function).", "type": "object", "additionalProperties": false, "properties": { @@ -10,7 +10,7 @@ "description": "All adjustments that match the column's noise values will be applied in the order listed.", "items": { "title": "Adjustment", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, @@ -32,7 +32,7 @@ }, "materials": { "title": "Materials", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, diff --git a/source/behavior/blocks/blocks.json b/source/behavior/blocks/blocks.json index ea447a1b..09f02d4d 100644 --- a/source/behavior/blocks/blocks.json +++ b/source/behavior/blocks/blocks.json @@ -5,7 +5,7 @@ "required": ["format_version", "minecraft:block"], "type": "object", "title": "Block Behavior", - "description": "The minecraft block behavior specification", + "description": "The minecraft block behavior specification.", "additionalProperties": false, "properties": { "format_version": { "$ref": "../../general/format_version.json" }, diff --git a/source/behavior/blocks/format/components/breathability.json b/source/behavior/blocks/format/components/breathability.json index e6dd9a3f..726485ba 100644 --- a/source/behavior/blocks/format/components/breathability.json +++ b/source/behavior/blocks/format/components/breathability.json @@ -3,7 +3,7 @@ "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", + "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" } diff --git a/source/behavior/blocks/format/components/entity_collision.json b/source/behavior/blocks/format/components/entity_collision.json index 506ce871..9f152740 100644 --- a/source/behavior/blocks/format/components/entity_collision.json +++ b/source/behavior/blocks/format/components/entity_collision.json @@ -11,23 +11,23 @@ "origin": { "type": "array", "title": "Origin", - "description": "Minimal position Bounds of the collision box", + "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" } + { "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", + "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" } + { "type": "number", "title": "X", "description": "The x size." }, + { "type": "number", "title": "Y", "description": "The y size." }, + { "type": "number", "title": "Z", "description": "The z size." } ] } } diff --git a/source/behavior/blocks/format/components/immovable.json b/source/behavior/blocks/format/components/immovable.json index 88255ad5..4aaab266 100644 --- a/source/behavior/blocks/format/components/immovable.json +++ b/source/behavior/blocks/format/components/immovable.json @@ -3,5 +3,5 @@ "additionalProperties": false, "type": "boolean", "title": "Immovable", - "description": "An Immovable block cannot be pushed by pistons" + "description": "An Immovable block cannot be pushed by pistons." } diff --git a/source/behavior/blocks/format/components/material_instances.json b/source/behavior/blocks/format/components/material_instances.json index 7bc6370e..5b9e9b4f 100644 --- a/source/behavior/blocks/format/components/material_instances.json +++ b/source/behavior/blocks/format/components/material_instances.json @@ -6,29 +6,29 @@ "definitions": { "material_instance": { "title": "Material Instance", - "description": "A single material instance", + "description": "A single material instance.", "additionalProperties": false, "properties": { "ambient_occlusion": { "title": "Ambient Occlusion", "type": "boolean", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "face_dimming": { "title": "Face Dimming", "type": "boolean", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "render_method": { "type": "string", "title": "Render Method", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["blend", "opaque", "alpha_test"] }, - "texture": { "type": "string", "title": "Texture", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED" } + "texture": { "type": "string", "title": "Texture", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } } }, diff --git a/source/behavior/blocks/format/components/onlypistonpush.json b/source/behavior/blocks/format/components/onlypistonpush.json index 44c58311..7842aec1 100644 --- a/source/behavior/blocks/format/components/onlypistonpush.json +++ b/source/behavior/blocks/format/components/onlypistonpush.json @@ -2,5 +2,5 @@ "$id": "blockception.minecraft.behavior.blocks.minecraft.onlypistonpush", "type": "boolean", "title": "Only Piston Push", - "description": "Blocks with those components won't stick to stickyPistons" + "description": "Blocks with those components won't stick to stickyPistons." } diff --git a/source/behavior/blocks/format/components/pick_collision.json b/source/behavior/blocks/format/components/pick_collision.json index 1c106bfd..b57c3180 100644 --- a/source/behavior/blocks/format/components/pick_collision.json +++ b/source/behavior/blocks/format/components/pick_collision.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.behavior.blocks.minecraft.pick_collision", "title": "Pick Collision", - "description": "Can only be set to false, it disables the collision of the block with entities", + "description": "Can only be set to false, it disables the collision of the block with entities.", "oneOf": [ { "type": "boolean", "const": false }, { @@ -11,23 +11,23 @@ "origin": { "type": "array", "title": "Origin", - "description": "Minimal position Bounds of the collision box", + "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" } + { "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", + "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" } + { "type": "number", "title": "X", "description": "The x size." }, + { "type": "number", "title": "Y", "description": "The y size." }, + { "type": "number", "title": "Z", "description": "The z size." } ] } } diff --git a/source/behavior/blocks/format/components/placement_filter.json b/source/behavior/blocks/format/components/placement_filter.json index d916ee35..9803839a 100644 --- a/source/behavior/blocks/format/components/placement_filter.json +++ b/source/behavior/blocks/format/components/placement_filter.json @@ -1,33 +1,33 @@ { "$id": "blockception.minecraft.behavior.blocks.minecraft.placement_filter", "title": "Placement Filter", - "description": "Sets rules for under what conditions the block can be placed/survive", + "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", + "description": "List of conditions where the block can be placed/survive.", "type": "array", "items": { "type": "object", "title": "Condition", - "description": "UNDOCUMENTED", + "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", + "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", + "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", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } diff --git a/source/behavior/blocks/format/components/preventsjumping.json b/source/behavior/blocks/format/components/preventsjumping.json index 879cea86..d28679fb 100644 --- a/source/behavior/blocks/format/components/preventsjumping.json +++ b/source/behavior/blocks/format/components/preventsjumping.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.behavior.blocks.minecraft.preventsjumping", "title": "Prevents Jumping", - "description": "This component makes it so actors can't jump when walking on this block", + "description": "This component makes it so actors can't jump when walking on this block.", "type": "boolean" } diff --git a/source/behavior/blocks/format/components/random_ticking.json b/source/behavior/blocks/format/components/random_ticking.json index 476946a1..905698ac 100644 --- a/source/behavior/blocks/format/components/random_ticking.json +++ b/source/behavior/blocks/format/components/random_ticking.json @@ -1,13 +1,13 @@ { "$id": "blockception.minecraft.behavior.blocks.minecraft.random_ticking", "title": "Random Ticking", - "description": "Describes the component that will trigger an even at a regular interval between two values", + "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", + "description": "Describes the component that will trigger an even at a regular interval between two values.", "type": "string", "additionalProperties": false, "properties": { @@ -27,7 +27,7 @@ } } }, - "looping": { "type": "boolean", "default": true, "description": "Does the event loop", "title": "Looping" }, + "looping": { "type": "boolean", "default": true, "description": "Does the event loop.", "title": "Looping" }, "range": { "type": "array", "default": [10, 10], diff --git a/source/behavior/blocks/format/components/ticking.json b/source/behavior/blocks/format/components/ticking.json index c7c7da73..35a17dc9 100644 --- a/source/behavior/blocks/format/components/ticking.json +++ b/source/behavior/blocks/format/components/ticking.json @@ -1,11 +1,11 @@ { "$id": "blockception.minecraft.behavior.blocks.minecraft.ticking", "title": "Ticking", - "description": "Describes the component that will trigger an even at a regular interval between two values", + "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" }, + "looping": { "type": "boolean", "title": "Looping", "description": "Does the event loop." }, "range": { "title": "Range", "description": "The Range between which the component will trigger his event.", @@ -15,7 +15,7 @@ "on_tick": { "type": "object", "title": "On Tick", - "description": "Describes the component that will trigger an even at a regular interval between two values", + "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": { diff --git a/source/behavior/blocks/format/events.json b/source/behavior/blocks/format/events.json index 38b6f3eb..8312ac15 100644 --- a/source/behavior/blocks/format/events.json +++ b/source/behavior/blocks/format/events.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.behavior.block.events", "title": "Events", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "properties": { @@ -16,7 +16,7 @@ "definitions": { "event_base": { "title": "Event", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, diff --git a/source/behavior/blocks/format/events/set_block_property.json b/source/behavior/blocks/format/events/set_block_property.json index ea554fcd..0a788b6d 100644 --- a/source/behavior/blocks/format/events/set_block_property.json +++ b/source/behavior/blocks/format/events/set_block_property.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.behavior.block.events.set_block_property", "type": "object", - "description": "Sets a block property on this block", + "description": "Sets a block property on this block.", "title": "Set Block Property", "additionalProperties": false, "properties": { "property": { "type": "string", "description": "Block property to set on the block.", "title": "Property" } } diff --git a/source/behavior/blocks/format/events/transform_item.json b/source/behavior/blocks/format/events/transform_item.json index b2a71947..7d570871 100644 --- a/source/behavior/blocks/format/events/transform_item.json +++ b/source/behavior/blocks/format/events/transform_item.json @@ -4,5 +4,5 @@ "description": "Transforms item into another item.", "title": "Transform Item", "additionalProperties": false, - "properties": { "transform": { "type": "string", "description": "Name of the item it should transform into", "title": "Transform" } } + "properties": { "transform": { "type": "string", "description": "Name of the item it should transform into.", "title": "Transform" } } } diff --git a/source/behavior/blocks/format/minecraft.block.json b/source/behavior/blocks/format/minecraft.block.json index 933a3e4c..6b3ed270 100644 --- a/source/behavior/blocks/format/minecraft.block.json +++ b/source/behavior/blocks/format/minecraft.block.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema", "$id": "blockception.minecraft.behavior.blocks", "title": "Block Definitions", - "description": "A custom block definition", + "description": "A custom block definition.", "type": "object", "additionalProperties": false, "required": ["description", "components"], @@ -10,7 +10,7 @@ "components_ref": { "type": "object", "title": "Component", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { @@ -53,7 +53,7 @@ "properties": { "description": { "title": "Block Description", - "description": "The description for this block", + "description": "The description for this block.", "type": "object", "additionalProperties": false, "required": ["identifier"], @@ -78,19 +78,19 @@ }, "properties": { "title": "Properties", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "propertyNames": { "pattern": "^([a-zA-Z0-9_]+:[a-zA-Z0-9_\\-]+)$" }, "type": "object", "additionalProperties": { "title": "Property", - "description": "A block property", + "description": "A block property.", "oneOf": [ { "type": "array", "items": { "title": "Property Value", - "description": "The value of this property", + "description": "The value of this property.", "anyOf": [{ "type": "boolean" }, { "type": "number" }, { "type": "integer" }, { "type": "string" }] } }, @@ -109,18 +109,18 @@ "permutations": { "type": "array", "title": "Permutations", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "items": { "title": "Permutation", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "condition": { "title": "Condition", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "../../../molang/string.json" }, diff --git a/source/behavior/dialogue/dialogue.json b/source/behavior/dialogue/dialogue.json index f6d19dc7..316df966 100644 --- a/source/behavior/dialogue/dialogue.json +++ b/source/behavior/dialogue/dialogue.json @@ -18,7 +18,7 @@ ], "type": "object", "title": "NPC Dialogue", - "description": "Specifies the dialogue scenes", + "description": "Specifies the dialogue scenes.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "required": ["format_version", "minecraft:npc_dialogue"], @@ -26,20 +26,20 @@ "format_version": { "$ref": "../../general/format_version.json" }, "minecraft:npc_dialogue": { "title": "NPC Dialogue", - "description": "Specifies the dialogue of an npc", + "description": "Specifies the dialogue of an npc.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "scenes": { "title": "Scenes", - "description": "The different scenes", + "description": "The different scenes.", "$comment": "UNDOCUMENTED", "type": "array", "minItems": 1, "items": { "title": "Scene", - "description": "A single scene specification", + "description": "A single scene specification.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, @@ -48,27 +48,27 @@ "properties": { "buttons": { "title": "Buttons", - "description": "This is where you can create buttons for your NPC", + "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", + "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", + "description": "Set the text that is going to be displayed on your NPC’s button.", "oneOf": [{ "type": "string" }, { "$ref": "../../general/rawtext/rawtext.json" }] }, "commands": { "type": "array", - "description": "allows you to add commands which will be run in-game when the button is pressed", + "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", + "description": "The commands to execute.", "type": "string", "pattern": "^/[a-z].*$" } @@ -83,22 +83,22 @@ }, "on_close_commands": { "type": "array", - "description": "This is where you can define which commands will fire when the NPC dialogue box closes", + "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", + "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", + "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", + "description": "A minecraft command to execute.", "type": "string", "pattern": "^/[a-z].*$" } diff --git a/source/behavior/entities/entities.json b/source/behavior/entities/entities.json index bab37478..7b9abc51 100644 --- a/source/behavior/entities/entities.json +++ b/source/behavior/entities/entities.json @@ -14,7 +14,7 @@ ], "type": "object", "title": "Entity Behavior", - "description": "The minecraft entity behavior specification", + "description": "The minecraft entity behavior specification.", "required": ["format_version", "minecraft:entity"], "additionalProperties": false, "properties": { diff --git a/source/behavior/entities/filters/filters/has_ability.json b/source/behavior/entities/filters/filters/has_ability.json index 04b6328e..fad97d0f 100644 --- a/source/behavior/entities/filters/filters/has_ability.json +++ b/source/behavior/entities/filters/filters/has_ability.json @@ -18,7 +18,7 @@ }, "value": { "type": "string", - "description": "(Required) The Ability type to test", + "description": "(Required) The Ability type to test.", "enum": ["flySpeed", "flying", "instabuild", "invulnerable", "lightning", "mayfly", "mute", "noclip", "walkSpeed", "worldbuilder"], "title": "Value" } diff --git a/source/behavior/entities/filters/filters/has_biome_tag.json b/source/behavior/entities/filters/filters/has_biome_tag.json index b8504286..b21e5979 100644 --- a/source/behavior/entities/filters/filters/has_biome_tag.json +++ b/source/behavior/entities/filters/filters/has_biome_tag.json @@ -17,7 +17,7 @@ "$ref": "./types/subject.json" }, "value": { - "description": "(Required) The tag to look for", + "description": "(Required) The tag to look for.", "type": "string", "title": "Value" } diff --git a/source/behavior/entities/filters/filters/has_component.json b/source/behavior/entities/filters/filters/has_component.json index 08ff79aa..1fe0cff0 100644 --- a/source/behavior/entities/filters/filters/has_component.json +++ b/source/behavior/entities/filters/filters/has_component.json @@ -18,7 +18,7 @@ }, "value": { "type": "string", - "description": "(Required) The component name to look for", + "description": "(Required) The component name to look for.", "title": "Value" } }, diff --git a/source/behavior/entities/filters/filters/has_container_open.json b/source/behavior/entities/filters/filters/has_container_open.json index 4131dadb..146d63fd 100644 --- a/source/behavior/entities/filters/filters/has_container_open.json +++ b/source/behavior/entities/filters/filters/has_container_open.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/has_damage.json b/source/behavior/entities/filters/filters/has_damage.json index 5f3499a0..d33d62ee 100644 --- a/source/behavior/entities/filters/filters/has_damage.json +++ b/source/behavior/entities/filters/filters/has_damage.json @@ -9,6 +9,6 @@ "test": { "type": "string", "title": "Test Property", "description": "Returns true when the subject entity receives the named damage type." }, "operator": { "$ref": "./types/operator.json" }, "subject": { "$ref": "./types/subject.json" }, - "value": { "type": "string", "description": "The Damage type to test", "$ref": "../../../../general/entity/damage_source.json", "title": "Value" } + "value": { "type": "string", "description": "The Damage type to test.", "$ref": "../../../../general/entity/damage_source.json", "title": "Value" } } } diff --git a/source/behavior/entities/filters/filters/has_equipment.json b/source/behavior/entities/filters/filters/has_equipment.json index 0d5fa02f..9db159e2 100644 --- a/source/behavior/entities/filters/filters/has_equipment.json +++ b/source/behavior/entities/filters/filters/has_equipment.json @@ -12,7 +12,7 @@ "title": "Test" }, "domain": { - "description": "The equipment location to test", + "description": "The equipment location to test.", "default": "any", "enum": ["any", "armor", "feet", "hand", "head", "leg", "torso"], "title": "Domain" @@ -24,7 +24,7 @@ "$ref": "./types/subject.json" }, "value": { - "description": "The item name to look for", + "description": "The item name to look for.", "type": "string", "$ref": "../../../../general/item/identifier.json", "title": "Value" diff --git a/source/behavior/entities/filters/filters/has_mob_effect.json b/source/behavior/entities/filters/filters/has_mob_effect.json index 37ae441d..81dff24c 100644 --- a/source/behavior/entities/filters/filters/has_mob_effect.json +++ b/source/behavior/entities/filters/filters/has_mob_effect.json @@ -18,7 +18,7 @@ }, "value": { "type": "string", - "description": "The specified mob effect", + "description": "The specified mob effect.", "title": "Value" } }, diff --git a/source/behavior/entities/filters/filters/has_nametag.json b/source/behavior/entities/filters/filters/has_nametag.json index 181f5d68..549b92c7 100644 --- a/source/behavior/entities/filters/filters/has_nametag.json +++ b/source/behavior/entities/filters/filters/has_nametag.json @@ -12,7 +12,7 @@ "title": "Test" }, "domain": { - "description": "The equipment location to test", + "description": "The equipment location to test.", "default": "any", "enum": ["any", "armor", "feet", "hand", "head", "leg", "torso"], "title": "Domain" diff --git a/source/behavior/entities/filters/filters/has_ranged_weapon.json b/source/behavior/entities/filters/filters/has_ranged_weapon.json index e98b9da7..add8e0c6 100644 --- a/source/behavior/entities/filters/filters/has_ranged_weapon.json +++ b/source/behavior/entities/filters/filters/has_ranged_weapon.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/has_silk_touch.json b/source/behavior/entities/filters/filters/has_silk_touch.json index e64caafa..6895a457 100644 --- a/source/behavior/entities/filters/filters/has_silk_touch.json +++ b/source/behavior/entities/filters/filters/has_silk_touch.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/has_tag.json b/source/behavior/entities/filters/filters/has_tag.json index 47c324c6..a5b4328d 100644 --- a/source/behavior/entities/filters/filters/has_tag.json +++ b/source/behavior/entities/filters/filters/has_tag.json @@ -18,7 +18,7 @@ }, "value": { "type": "string", - "description": "The tag as a string", + "description": "The tag as a string.", "pattern": "[a-zA-Z0-9_]+", "title": "Value" } diff --git a/source/behavior/entities/filters/filters/has_target.json b/source/behavior/entities/filters/filters/has_target.json index e81ae2a3..36602926 100644 --- a/source/behavior/entities/filters/filters/has_target.json +++ b/source/behavior/entities/filters/filters/has_target.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/hourly_clock_time.json b/source/behavior/entities/filters/filters/hourly_clock_time.json index 3a93e6a5..823e346d 100644 --- a/source/behavior/entities/filters/filters/hourly_clock_time.json +++ b/source/behavior/entities/filters/filters/hourly_clock_time.json @@ -2,13 +2,13 @@ "$id": "blockception.minecraft.behavior.entities.filters.hourly_clock_time", "type": "object", "title": "Hourly Clock Time", - "description": "Compares the current 24 hour time with an int value in the range[0, 24000]", + "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]", + "description": "Compares the current 24 hour time with an int value in the range[0, 24000].", "const": "hourly_clock_time" }, "operator": { @@ -19,7 +19,7 @@ }, "value": { "type": "integer", - "description": "(Required) An integer value set between 0 and 24000", + "description": "(Required) An integer value set between 0 and 24000.", "minimum": 0, "maximum": 24000, "title": "Value" diff --git a/source/behavior/entities/filters/filters/in_nether.json b/source/behavior/entities/filters/filters/in_nether.json index ee26a7ed..cb86c183 100644 --- a/source/behavior/entities/filters/filters/in_nether.json +++ b/source/behavior/entities/filters/filters/in_nether.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/inactivity_timer.json b/source/behavior/entities/filters/filters/inactivity_timer.json index 0c94c416..6295e0c5 100644 --- a/source/behavior/entities/filters/filters/inactivity_timer.json +++ b/source/behavior/entities/filters/filters/inactivity_timer.json @@ -8,7 +8,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" @@ -17,7 +17,7 @@ "$ref": "./types/subject.json" }, "value": { - "description": "The Family name to look for", + "description": "The Family name to look for.", "type": "integer", "title": "Value" } diff --git a/source/behavior/entities/filters/filters/is_altitude.json b/source/behavior/entities/filters/filters/is_altitude.json index cce3aa45..958768d8 100644 --- a/source/behavior/entities/filters/filters/is_altitude.json +++ b/source/behavior/entities/filters/filters/is_altitude.json @@ -3,9 +3,7 @@ "type": "object", "title": "Is Altitude", "description": "Tests the current altitude against a provided value. 0= bedrock elevation.", - "required": [ - "value" - ], + "required": ["value"], "properties": { "test": { "type": "string", @@ -20,7 +18,7 @@ }, "value": { "type": "integer", - "description": "The altitude value to compare with", + "description": "The altitude value to compare with.", "minimum": 0, "title": "Value" } @@ -31,4 +29,4 @@ "value": 0 } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/filters/filters/is_biome.json b/source/behavior/entities/filters/filters/is_biome.json index dbcc439e..5a4d61a6 100644 --- a/source/behavior/entities/filters/filters/is_biome.json +++ b/source/behavior/entities/filters/filters/is_biome.json @@ -17,7 +17,7 @@ "$ref": "./types/subject.json" }, "value": { - "description": "The Biome type to test", + "description": "The Biome type to test.", "type": "string", "enum": [ "beach", diff --git a/source/behavior/entities/filters/filters/is_block.json b/source/behavior/entities/filters/filters/is_block.json index 41248d39..b5b44da3 100644 --- a/source/behavior/entities/filters/filters/is_block.json +++ b/source/behavior/entities/filters/filters/is_block.json @@ -8,7 +8,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" @@ -17,7 +17,7 @@ "$ref": "./types/subject.json" }, "value": { - "description": "The Family name to look for", + "description": "The Family name to look for.", "type": "string", "title": "Value" } diff --git a/source/behavior/entities/filters/filters/is_color.json b/source/behavior/entities/filters/filters/is_color.json index 485b938d..835b5b2a 100644 --- a/source/behavior/entities/filters/filters/is_color.json +++ b/source/behavior/entities/filters/filters/is_color.json @@ -17,7 +17,7 @@ "$ref": "./types/subject.json" }, "value": { - "description": "The Palette Color to test", + "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" diff --git a/source/behavior/entities/filters/filters/is_difficulty.json b/source/behavior/entities/filters/filters/is_difficulty.json index ce7ec5b1..54be8dda 100644 --- a/source/behavior/entities/filters/filters/is_difficulty.json +++ b/source/behavior/entities/filters/filters/is_difficulty.json @@ -17,7 +17,7 @@ "$ref": "./types/subject.json" }, "value": { - "description": "The game's difficulty level to test", + "description": "The game's difficulty level to test.", "type": "string", "enum": ["easy", "hard", "normal", "peaceful"], "title": "Value" diff --git a/source/behavior/entities/filters/filters/is_family.json b/source/behavior/entities/filters/filters/is_family.json index fae87094..9c1b62ca 100644 --- a/source/behavior/entities/filters/filters/is_family.json +++ b/source/behavior/entities/filters/filters/is_family.json @@ -17,7 +17,7 @@ "$ref": "./types/subject.json" }, "value": { - "description": "The Family name to look for", + "description": "The Family name to look for.", "type": "string", "title": "Value" } diff --git a/source/behavior/entities/filters/filters/is_humid.json b/source/behavior/entities/filters/filters/is_humid.json index 93295b20..89e7bebb 100644 --- a/source/behavior/entities/filters/filters/is_humid.json +++ b/source/behavior/entities/filters/filters/is_humid.json @@ -2,12 +2,12 @@ "$id": "blockception.minecraft.behavior.entities.filters.is_humid", "type": "object", "title": "Is Humid", - "description": "Tests whether the Subject is in an area with humidity", + "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" + "description": "Tests whether the Subject is in an area with humidity." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_immobile.json b/source/behavior/entities/filters/filters/is_immobile.json index de2a69fd..f66cd0e1 100644 --- a/source/behavior/entities/filters/filters/is_immobile.json +++ b/source/behavior/entities/filters/filters/is_immobile.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_in_village.json b/source/behavior/entities/filters/filters/is_in_village.json index 7ad93a1a..be4aa290 100644 --- a/source/behavior/entities/filters/filters/is_in_village.json +++ b/source/behavior/entities/filters/filters/is_in_village.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_leashed.json b/source/behavior/entities/filters/filters/is_leashed.json index fd50e3b9..3b2086ca 100644 --- a/source/behavior/entities/filters/filters/is_leashed.json +++ b/source/behavior/entities/filters/filters/is_leashed.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_leashed_to.json b/source/behavior/entities/filters/filters/is_leashed_to.json index c8487a20..fc10dc73 100644 --- a/source/behavior/entities/filters/filters/is_leashed_to.json +++ b/source/behavior/entities/filters/filters/is_leashed_to.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_mark_variant.json b/source/behavior/entities/filters/filters/is_mark_variant.json index 79aac260..d4275e31 100644 --- a/source/behavior/entities/filters/filters/is_mark_variant.json +++ b/source/behavior/entities/filters/filters/is_mark_variant.json @@ -8,7 +8,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" @@ -18,7 +18,7 @@ }, "value": { "type": "integer", - "description": "The altitude value to compare with", + "description": "The altitude value to compare with.", "title": "Value" } }, diff --git a/source/behavior/entities/filters/filters/is_missing_health.json b/source/behavior/entities/filters/filters/is_missing_health.json index a32172b3..75cc26b5 100644 --- a/source/behavior/entities/filters/filters/is_missing_health.json +++ b/source/behavior/entities/filters/filters/is_missing_health.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_moving.json b/source/behavior/entities/filters/filters/is_moving.json index 36a6efa5..bc34db6a 100644 --- a/source/behavior/entities/filters/filters/is_moving.json +++ b/source/behavior/entities/filters/filters/is_moving.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_owner.json b/source/behavior/entities/filters/filters/is_owner.json index 3056491b..a75a70d1 100644 --- a/source/behavior/entities/filters/filters/is_owner.json +++ b/source/behavior/entities/filters/filters/is_owner.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_persistent.json b/source/behavior/entities/filters/filters/is_persistent.json index d386b76d..04fb8a4c 100644 --- a/source/behavior/entities/filters/filters/is_persistent.json +++ b/source/behavior/entities/filters/filters/is_persistent.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_riding.json b/source/behavior/entities/filters/filters/is_riding.json index 01e35448..5c6e16f2 100644 --- a/source/behavior/entities/filters/filters/is_riding.json +++ b/source/behavior/entities/filters/filters/is_riding.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_skin_id.json b/source/behavior/entities/filters/filters/is_skin_id.json index 72eeb5a9..c7d8fe48 100644 --- a/source/behavior/entities/filters/filters/is_skin_id.json +++ b/source/behavior/entities/filters/filters/is_skin_id.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" @@ -17,7 +17,7 @@ }, "value": { "type": "integer", - "description": "The altitude value to compare with", + "description": "The altitude value to compare with.", "title": "Value" } }, diff --git a/source/behavior/entities/filters/filters/is_sleeping.json b/source/behavior/entities/filters/filters/is_sleeping.json index 80ba3a37..51916845 100644 --- a/source/behavior/entities/filters/filters/is_sleeping.json +++ b/source/behavior/entities/filters/filters/is_sleeping.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_sneaking.json b/source/behavior/entities/filters/filters/is_sneaking.json index 5dfb74cb..1a1fffa5 100644 --- a/source/behavior/entities/filters/filters/is_sneaking.json +++ b/source/behavior/entities/filters/filters/is_sneaking.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_snow_covered.json b/source/behavior/entities/filters/filters/is_snow_covered.json index 24313139..182128cc 100644 --- a/source/behavior/entities/filters/filters/is_snow_covered.json +++ b/source/behavior/entities/filters/filters/is_snow_covered.json @@ -2,12 +2,12 @@ "$id": "blockception.minecraft.behavior.entities.filters.is_snow_covered", "type": "object", "title": "Is Snow Covered", - "description": "Tests whether the Subject is in an area with snow cover", + "description": "Tests whether the Subject is in an area with snow cover.", "properties": { "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_target.json b/source/behavior/entities/filters/filters/is_target.json index f6f92ecb..614e86b0 100644 --- a/source/behavior/entities/filters/filters/is_target.json +++ b/source/behavior/entities/filters/filters/is_target.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_temperature_type.json b/source/behavior/entities/filters/filters/is_temperature_type.json index 1d9c8b44..dca0fb23 100644 --- a/source/behavior/entities/filters/filters/is_temperature_type.json +++ b/source/behavior/entities/filters/filters/is_temperature_type.json @@ -8,7 +8,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" @@ -17,7 +17,7 @@ "$ref": "./types/subject.json" }, "value": { - "description": "The Biome temperature catagory to test", + "description": "The Biome temperature catagory to test.", "type": "string", "enum": ["cold", "mild", "ocean", "warm"], "title": "Value" diff --git a/source/behavior/entities/filters/filters/is_temperature_value.json b/source/behavior/entities/filters/filters/is_temperature_value.json index 91ba7fa3..1b6e1898 100644 --- a/source/behavior/entities/filters/filters/is_temperature_value.json +++ b/source/behavior/entities/filters/filters/is_temperature_value.json @@ -8,7 +8,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_underground.json b/source/behavior/entities/filters/filters/is_underground.json index 2b7c9159..f7c86e26 100644 --- a/source/behavior/entities/filters/filters/is_underground.json +++ b/source/behavior/entities/filters/filters/is_underground.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_underwater.json b/source/behavior/entities/filters/filters/is_underwater.json index 579a03f0..29474696 100644 --- a/source/behavior/entities/filters/filters/is_underwater.json +++ b/source/behavior/entities/filters/filters/is_underwater.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_variant.json b/source/behavior/entities/filters/filters/is_variant.json index 4080623d..93734d8d 100644 --- a/source/behavior/entities/filters/filters/is_variant.json +++ b/source/behavior/entities/filters/filters/is_variant.json @@ -8,7 +8,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" @@ -18,7 +18,7 @@ }, "value": { "type": "integer", - "description": "The altitude value to compare with", + "description": "The altitude value to compare with.", "title": "Value" } }, diff --git a/source/behavior/entities/filters/filters/is_visible.json b/source/behavior/entities/filters/filters/is_visible.json index 720c4746..8ec2270d 100644 --- a/source/behavior/entities/filters/filters/is_visible.json +++ b/source/behavior/entities/filters/filters/is_visible.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/is_waterlogged.json b/source/behavior/entities/filters/filters/is_waterlogged.json index 5b09837d..a7f95cf7 100644 --- a/source/behavior/entities/filters/filters/is_waterlogged.json +++ b/source/behavior/entities/filters/filters/is_waterlogged.json @@ -8,7 +8,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/light_level.json b/source/behavior/entities/filters/filters/light_level.json index f64ae452..2952f13b 100644 --- a/source/behavior/entities/filters/filters/light_level.json +++ b/source/behavior/entities/filters/filters/light_level.json @@ -8,7 +8,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/moon_intensity.json b/source/behavior/entities/filters/filters/moon_intensity.json index 10abd762..5322c0e1 100644 --- a/source/behavior/entities/filters/filters/moon_intensity.json +++ b/source/behavior/entities/filters/filters/moon_intensity.json @@ -8,7 +8,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/moon_phase.json b/source/behavior/entities/filters/filters/moon_phase.json index a48f81e6..afb9c804 100644 --- a/source/behavior/entities/filters/filters/moon_phase.json +++ b/source/behavior/entities/filters/filters/moon_phase.json @@ -8,7 +8,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/on_ground.json b/source/behavior/entities/filters/filters/on_ground.json index f534a35c..7faf5c0e 100644 --- a/source/behavior/entities/filters/filters/on_ground.json +++ b/source/behavior/entities/filters/filters/on_ground.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/on_ladder.json b/source/behavior/entities/filters/filters/on_ladder.json index 413ba36e..1ebfad7b 100644 --- a/source/behavior/entities/filters/filters/on_ladder.json +++ b/source/behavior/entities/filters/filters/on_ladder.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test Property", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/random_chance.json b/source/behavior/entities/filters/filters/random_chance.json index 81ee367b..da9b07d7 100644 --- a/source/behavior/entities/filters/filters/random_chance.json +++ b/source/behavior/entities/filters/filters/random_chance.json @@ -8,7 +8,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/rider_count.json b/source/behavior/entities/filters/filters/rider_count.json index 4700a0e5..f8d54b10 100644 --- a/source/behavior/entities/filters/filters/rider_count.json +++ b/source/behavior/entities/filters/filters/rider_count.json @@ -8,7 +8,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/surface_mob.json b/source/behavior/entities/filters/filters/surface_mob.json index b0db6895..d21555fa 100644 --- a/source/behavior/entities/filters/filters/surface_mob.json +++ b/source/behavior/entities/filters/filters/surface_mob.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/trusts.json b/source/behavior/entities/filters/filters/trusts.json index 315cbb9c..26e5511b 100644 --- a/source/behavior/entities/filters/filters/trusts.json +++ b/source/behavior/entities/filters/filters/trusts.json @@ -7,7 +7,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" diff --git a/source/behavior/entities/filters/filters/types/test.json b/source/behavior/entities/filters/filters/types/test.json index 0b0b8f35..aeb2db43 100644 --- a/source/behavior/entities/filters/filters/types/test.json +++ b/source/behavior/entities/filters/filters/types/test.json @@ -2,7 +2,7 @@ "$id": "blockception.minecraft.behavior.entities.filters.test", "title": "Test", "type": "string", - "description": "The test operation", + "description": "The test operation.", "enum": [ "clock_time", "distance_to_nearest_player", diff --git a/source/behavior/entities/filters/filters/weather.json b/source/behavior/entities/filters/filters/weather.json index 191c18ca..f429aced 100644 --- a/source/behavior/entities/filters/filters/weather.json +++ b/source/behavior/entities/filters/filters/weather.json @@ -8,7 +8,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" @@ -17,7 +17,7 @@ "$ref": "./types/subject.json" }, "value": { - "description": "The Family name to look for", + "description": "The Family name to look for.", "type": "string", "title": "Value", "examples": ["clear", "thunderstorm"] diff --git a/source/behavior/entities/filters/filters/weather_at_position.json b/source/behavior/entities/filters/filters/weather_at_position.json index 0fc58194..934361a2 100644 --- a/source/behavior/entities/filters/filters/weather_at_position.json +++ b/source/behavior/entities/filters/filters/weather_at_position.json @@ -8,7 +8,7 @@ "test": { "type": "string", "title": "Test", - "description": "The test property" + "description": "The test property." }, "operator": { "$ref": "./types/operator.json" @@ -17,7 +17,7 @@ "$ref": "./types/subject.json" }, "value": { - "description": "The Family name to look for", + "description": "The Family name to look for.", "type": "string", "title": "Value", "examples": ["thunderstorm"] diff --git a/source/behavior/entities/format/behaviors/admire_item.json b/source/behavior/entities/format/behaviors/admire_item.json index a1d904b9..d50d8094 100644 --- a/source/behavior/entities/format/behaviors/admire_item.json +++ b/source/behavior/entities/format/behaviors/admire_item.json @@ -11,17 +11,17 @@ "admire_item_sound": { "title": "Admire Item Sound", "type": "string", - "description": "The sound event to play when admiring the item" + "description": "The sound event to play when admiring the item." }, "on_admire_item_start": { "title": "On Admire Item Start", "$ref": "../types/event.json", - "description": "The event to run when admiring the item" + "description": "The event to run when admiring the item." }, "on_admire_item_stop": { "title": "On Admire Item Stop", "$ref": "../types/event.json", - "description": "The event to run when no longer admiring the item" + "description": "The event to run when no longer admiring the item." }, "sound_interval": { "title": "Sound Interval", diff --git a/source/behavior/entities/format/behaviors/beg.json b/source/behavior/entities/format/behaviors/beg.json index a6cf3925..8ae25f9b 100644 --- a/source/behavior/entities/format/behaviors/beg.json +++ b/source/behavior/entities/format/behaviors/beg.json @@ -11,10 +11,10 @@ }, "items": { "type": "array", - "description": "List of items that this mob likes", + "description": "List of items that this mob likes.", "items": { "type": "string", - "description": "List of items that this mob likes", + "description": "List of items that this mob likes.", "title": "Properties", "$ref": "../../../../general/item/identifier.json" }, @@ -23,16 +23,13 @@ "look_distance": { "type": "number", "default": 8, - "description": "Distance in blocks the mob will beg from", + "description": "Distance in blocks the mob will beg from.", "title": "Look Distance" }, "look_time": { - "description": "The range of time in seconds this mob will stare at the player holding a food they like, begging for it", + "description": "The range of time in seconds this mob will stare at the player holding a food they like, begging for it.", "$ref": "../types/range_number_type.json", - "default": [ - 2, - 4 - ], + "default": [2, 4], "title": "Look Time" } }, @@ -42,4 +39,4 @@ "look_distance": 8 } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/defend_trusted_target.json b/source/behavior/entities/format/behaviors/defend_trusted_target.json index f77aea70..b2238685 100644 --- a/source/behavior/entities/format/behaviors/defend_trusted_target.json +++ b/source/behavior/entities/format/behaviors/defend_trusted_target.json @@ -18,20 +18,19 @@ "title": "Attack Interval", "type": "integer", "default": 0, - "description": "Time in seconds between attacks" + "description": "Time in seconds between attacks." }, "must_see": { "title": "Must See", "type": "boolean", "default": false, - "description": "If true, only entities in this mob's viewing range can be selected as targets" + "description": "If true, only entities in this mob's viewing range can be selected as targets." }, "must_see_forget_duration": { "title": "Must See Forget Duration", "type": "number", "default": 3, - "description": "Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more" - + "description": "Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more." }, "on_defend_start": { "title": "On Defend Start", @@ -42,12 +41,12 @@ "title": "Within Radius", "type": "number", "default": 0, - "description": "Distance in blocks that the target can be within to launch an attack" + "description": "Distance in blocks that the target can be within to launch an attack." }, "entity_types": { "title": "Entity Types", "type": "object", - "description": "List of entity types that this mob considers valid targets", + "description": "List of entity types that this mob considers valid targets.", "additionalProperties": false }, "sound_chance": { @@ -70,4 +69,4 @@ "sound_chance": 0.05 } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/defend_village_target.json b/source/behavior/entities/format/behaviors/defend_village_target.json index ff1eae58..3c69f4fa 100644 --- a/source/behavior/entities/format/behaviors/defend_village_target.json +++ b/source/behavior/entities/format/behaviors/defend_village_target.json @@ -9,7 +9,7 @@ "entity_types": { "title": "Entity Types", "$ref": "../types/entity_types.json", - "description": "List of entity types this mob considers a threat to the village", + "description": "List of entity types this mob considers a threat to the village.", "$comment": "UNDOCUMENTED" }, "must_reach": { diff --git a/source/behavior/entities/format/behaviors/delayed_attack.json b/source/behavior/entities/format/behaviors/delayed_attack.json index c6c8fb2d..0fdb6881 100644 --- a/source/behavior/entities/format/behaviors/delayed_attack.json +++ b/source/behavior/entities/format/behaviors/delayed_attack.json @@ -117,7 +117,7 @@ "title": "Set Persistent", "type": "boolean", "default": false, - "description": "Allows the actor to be set to persist upon targeting a player" + "description": "Allows the actor to be set to persist upon targeting a player." }, "target_dist": { "title": "Target Dist", diff --git a/source/behavior/entities/format/behaviors/dig.json b/source/behavior/entities/format/behaviors/dig.json index ca6b6733..129c169b 100644 --- a/source/behavior/entities/format/behaviors/dig.json +++ b/source/behavior/entities/format/behaviors/dig.json @@ -18,13 +18,13 @@ "title": "Digs In Daylight", "type": "boolean", "default": false, - "description": "Indicates that the actor should start digging when it sees daylight" + "description": "Indicates that the actor should start digging when it sees daylight." }, "duration": { "title": "Duration", "type": "number", "default": 0.0, - "description": "Goal duration in seconds" + "description": "Goal duration in seconds." }, "idle_time": { "title": "Idle Time", diff --git a/source/behavior/entities/format/behaviors/drink_potion.json b/source/behavior/entities/format/behaviors/drink_potion.json index 3b493df9..78441c3a 100644 --- a/source/behavior/entities/format/behaviors/drink_potion.json +++ b/source/behavior/entities/format/behaviors/drink_potion.json @@ -13,7 +13,7 @@ }, "speed_modifier": { "default": 0.0, - "description": "Movement speed modifier of the mob when using this AI Goal", + "description": "Movement speed modifier of the mob when using this AI Goal.", "title": "Speed Modifier" }, "potions": { @@ -21,11 +21,7 @@ "description": "A list of potions that this entity can drink.", "title": "Potions", "items": { - "required": [ - "id", - "chance", - "filters" - ], + "required": ["id", "chance", "filters"], "additionalProperties": false, "type": "object", "description": "A potions that this entity can drink.", @@ -34,7 +30,7 @@ "id": { "type": "integer", "default": -1, - "description": "The registry ID of the potion to use", + "description": "The registry ID of the potion to use.", "title": "Id" }, "chance": { @@ -58,4 +54,4 @@ "potions": [] } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/emerge.json b/source/behavior/entities/format/behaviors/emerge.json index 03a07ef1..77496244 100644 --- a/source/behavior/entities/format/behaviors/emerge.json +++ b/source/behavior/entities/format/behaviors/emerge.json @@ -11,18 +11,18 @@ "title": "Cooldown Time", "type": "integer", "default": 0.5, - "description": "Time in seconds the mob has to wait before using the goal again" + "description": "Time in seconds the mob has to wait before using the goal again." }, "duration": { "title": "Duration", "type": "number", "default": 5.0, - "description": "Goal duration in seconds" + "description": "Goal duration in seconds." }, "on_done": { "title": "On Done", "$ref": "../types/trigger.json", - "description": "Trigger to be executed when the goal execution is about to end" + "description": "Trigger to be executed when the goal execution is about to end." } } } diff --git a/source/behavior/entities/format/behaviors/find_cover.json b/source/behavior/entities/format/behaviors/find_cover.json index 55da1986..2cc55d12 100644 --- a/source/behavior/entities/format/behaviors/find_cover.json +++ b/source/behavior/entities/format/behaviors/find_cover.json @@ -10,7 +10,7 @@ "cooldown_time": { "type": "number", "default": 0, - "description": "Time in seconds the mob has to wait before using the goal again", + "description": "Time in seconds the mob has to wait before using the goal again.", "title": "Cooldown Time" } }, diff --git a/source/behavior/entities/format/behaviors/find_mount.json b/source/behavior/entities/format/behaviors/find_mount.json index 92d8b350..57ec9afc 100644 --- a/source/behavior/entities/format/behaviors/find_mount.json +++ b/source/behavior/entities/format/behaviors/find_mount.json @@ -12,7 +12,7 @@ "title": "Avoid Water", "type": "boolean", "default": false, - "description": "If true, the mob will not go into water blocks when going towards a mount" + "description": "If true, the mob will not go into water blocks when going towards a mount." }, "mount_distance": { "type": "number", @@ -24,19 +24,19 @@ "title": "Start Delay", "type": "integer", "default": 0, - "description": "Time the mob will wait before starting to move towards the mount" + "description": "Time the mob will wait before starting to move towards the mount." }, "target_needed": { "title": "Target Needed", "type": "boolean", "default": false, - "description": "If true, the mob will only look for a mount if it has a target" + "description": "If true, the mob will only look for a mount if it has a target." }, "within_radius": { "title": "Within Radius", "type": "number", "default": 0, - "description": "Distance in blocks within which the mob will look for a mount" + "description": "Distance in blocks within which the mob will look for a mount." }, "max_failed_attempts": { "title": "Maximum Failed Attempts", @@ -55,4 +55,4 @@ "max_failed_attempts": 0 } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/float_wander.json b/source/behavior/entities/format/behaviors/float_wander.json index 7592cc15..6e761fd8 100644 --- a/source/behavior/entities/format/behaviors/float_wander.json +++ b/source/behavior/entities/format/behaviors/float_wander.json @@ -24,28 +24,25 @@ "y_offset": { "type": "number", "default": 0.0, - "description": "Height in blocks to add to the selected target position", + "description": "Height in blocks to add to the selected target position.", "title": "Y Offset" }, "must_reach": { "type": "boolean", "default": false, - "description": "If true, the point has to be reachable to be a valid target", + "description": "If true, the point has to be reachable to be a valid target.", "title": "Must Reach" }, "random_reselect": { "type": "boolean", "default": false, - "description": "If true, the mob will randomly pick a new point while moving to the previously selected one", + "description": "If true, the mob will randomly pick a new point while moving to the previously selected one.", "title": "Random Reselect" }, "float_duration": { "$ref": "../types/range_number_type.json", - "default": [ - 0.0, - 0.0 - ], - "description": "Range of time in seconds the mob will float around before landing and choosing to do something else", + "default": [0.0, 0.0], + "description": "Range of time in seconds the mob will float around before landing and choosing to do something else.", "title": "Float Duration" } }, @@ -58,4 +55,4 @@ "random_reselect": false } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/follow_caravan.json b/source/behavior/entities/format/behaviors/follow_caravan.json index 17d06f1c..364247c1 100644 --- a/source/behavior/entities/format/behaviors/follow_caravan.json +++ b/source/behavior/entities/format/behaviors/follow_caravan.json @@ -14,12 +14,12 @@ }, "entity_types": { "$ref": "../types/entity_types.json", - "description": "List of entity types that this mob can follow in a caravan", + "description": "List of entity types that this mob can follow in a caravan.", "title": "Entity Types" }, "entity_count": { "type": "integer", - "description": "Number of entities that can be in the caravan", + "description": "Number of entities that can be in the caravan.", "default": 1, "title": "Entity Count" } @@ -29,4 +29,4 @@ "entity_count": 1 } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/follow_mob.json b/source/behavior/entities/format/behaviors/follow_mob.json index 4220ee42..e8b50c18 100644 --- a/source/behavior/entities/format/behaviors/follow_mob.json +++ b/source/behavior/entities/format/behaviors/follow_mob.json @@ -15,13 +15,13 @@ "search_range": { "type": "integer", "default": 0, - "description": "The distance in blocks it will look for a mob to follow", + "description": "The distance in blocks it will look for a mob to follow.", "title": "Search Range" }, "stop_distance": { "type": "number", "default": 2, - "description": "The distance in blocks this mob stops from the mob it is following", + "description": "The distance in blocks this mob stops from the mob it is following.", "title": "Stop Distance" } }, @@ -31,4 +31,4 @@ "stop_distance": 2 } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/follow_owner.json b/source/behavior/entities/format/behaviors/follow_owner.json index e10c1cf1..aa377018 100644 --- a/source/behavior/entities/format/behaviors/follow_owner.json +++ b/source/behavior/entities/format/behaviors/follow_owner.json @@ -16,31 +16,31 @@ "title": "Can Teleport", "type": "boolean", "default": true, - "description": "Specify if the mob can teleport to the player if it is too far away" + "description": "Specify if the mob can teleport to the player if it is too far away." }, "ignore_vibration": { "title": "Ignore Vibration", "type": "boolean", "default": true, - "description": "Specify if the mob will follow the owner if it has heard a vibration lately" + "description": "Specify if the mob will follow the owner if it has heard a vibration lately." }, "max_distance": { "title": "Max Distance", "type": "number", "default": 60.0, - "description": "The maximum distance in blocks this mob can be from its owner to start following, only used when canTeleport is false" + "description": "The maximum distance in blocks this mob can be from its owner to start following, only used when canTeleport is false." }, "start_distance": { "title": "Start Distance", "type": "number", "default": 10.0, - "description": "The distance in blocks that the owner can be away from this mob before it starts following it" + "description": "The distance in blocks that the owner can be away from this mob before it starts following it." }, "stop_distance": { "title": "Stop Distance", "type": "number", "default": 2.0, - "description": "The distance in blocks this mob will stop from its owner while following it" + "description": "The distance in blocks this mob will stop from its owner while following it." } }, "examples": [ diff --git a/source/behavior/entities/format/behaviors/hurt_by_target.json b/source/behavior/entities/format/behaviors/hurt_by_target.json index c38fec33..a94bd183 100644 --- a/source/behavior/entities/format/behaviors/hurt_by_target.json +++ b/source/behavior/entities/format/behaviors/hurt_by_target.json @@ -11,19 +11,19 @@ }, "entity_types": { "$ref": "../types/entity_types.json", - "description": "List of entity types that this mob can target if they hurt their owner", + "description": "List of entity types that this mob can target if they hurt their owner.", "title": "Entity Types" }, "alert_same_type": { "type": "boolean", "default": false, - "description": "If true, nearby mobs of the same type will be alerted about the damage", + "description": "If true, nearby mobs of the same type will be alerted about the damage.", "title": "Alert Same Type" }, "hurt_owner": { "type": "boolean", "default": false, - "description": "If true, the mob will hurt its owner and other mobs with the same owner as itself", + "description": "If true, the mob will hurt its owner and other mobs with the same owner as itself.", "title": "Hurt Owner" } }, @@ -33,4 +33,4 @@ "hurt_owner": false } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/inspect_bookshelf.json b/source/behavior/entities/format/behaviors/inspect_bookshelf.json index 8c497cb9..4a8146fe 100644 --- a/source/behavior/entities/format/behaviors/inspect_bookshelf.json +++ b/source/behavior/entities/format/behaviors/inspect_bookshelf.json @@ -23,13 +23,13 @@ "search_height": { "type": "integer", "default": 1, - "description": "The height that the mob will search for bookshelves", + "description": "The height that the mob will search for bookshelves.", "title": "Search Height" }, "search_range": { "type": "integer", "default": 0, - "description": "Distance in blocks the mob will look for books to inspect", + "description": "Distance in blocks the mob will look for books to inspect.", "title": "Search Range" } }, diff --git a/source/behavior/entities/format/behaviors/knockback_roar.json b/source/behavior/entities/format/behaviors/knockback_roar.json index 2410e575..b73262c3 100644 --- a/source/behavior/entities/format/behaviors/knockback_roar.json +++ b/source/behavior/entities/format/behaviors/knockback_roar.json @@ -18,7 +18,7 @@ "title": "Cooldown Time", "type": "number", "default": 0, - "description": "Time in seconds the mob has to wait before using the goal again" + "description": "Time in seconds the mob has to wait before using the goal again." }, "damage_filters": { "$ref": "../../filters/filters.json", @@ -75,7 +75,7 @@ "track_target": { "type": "boolean", "default": false, - "description": "If true, this mob will chase after the target as long as it's a valid target", + "description": "If true, this mob will chase after the target as long as it's a valid target.", "title": "Track Target" }, "on_roar_end": { diff --git a/source/behavior/entities/format/behaviors/lay_egg.json b/source/behavior/entities/format/behaviors/lay_egg.json index 6d60441c..b7ad5cda 100644 --- a/source/behavior/entities/format/behaviors/lay_egg.json +++ b/source/behavior/entities/format/behaviors/lay_egg.json @@ -49,13 +49,13 @@ "title": "Search Height", "type": "integer", "default": 1, - "description": "Height in blocks the mob will look for a target block to move towards" + "description": "Height in blocks the mob will look for a target block to move towards." }, "search_range": { "title": "Search Range", "type": "integer", "default": 0, - "description": "The distance in blocks it will look for a target block to move towards" + "description": "The distance in blocks it will look for a target block to move towards." }, "target_blocks": { "title": "Target Blocks", diff --git a/source/behavior/entities/format/behaviors/leap_at_target.json b/source/behavior/entities/format/behaviors/leap_at_target.json index 9782ae43..7693aa84 100644 --- a/source/behavior/entities/format/behaviors/leap_at_target.json +++ b/source/behavior/entities/format/behaviors/leap_at_target.json @@ -17,13 +17,13 @@ "set_persistent": { "type": "boolean", "default": false, - "description": "Allows the actor to be set to persist upon targeting a player", + "description": "Allows the actor to be set to persist upon targeting a player.", "title": "Set Persistent" }, "yd": { "type": "number", "default": 0.0, - "description": "The height in blocks the mob jumps when leaping at its target", + "description": "The height in blocks the mob jumps when leaping at its target.", "title": "Yd" }, "target_dist": { diff --git a/source/behavior/entities/format/behaviors/look_at_entity.json b/source/behavior/entities/format/behaviors/look_at_entity.json index 347c6cc2..b20a5058 100644 --- a/source/behavior/entities/format/behaviors/look_at_entity.json +++ b/source/behavior/entities/format/behaviors/look_at_entity.json @@ -12,7 +12,7 @@ "look_distance": { "type": "number", "default": 8.0, - "description": "The distance in blocks from which the entity will look at", + "description": "The distance in blocks from which the entity will look at.", "title": "Look Distance" }, "probability": { @@ -23,27 +23,24 @@ }, "look_time": { "$ref": "../types/range_number_type.json", - "default": [ - 2, - 4 - ], - "description": "Time range to look at the entity", + "default": [2, 4], + "description": "Time range to look at the entity.", "title": "Look Time" }, "angle_of_view_vertical": { "type": "integer", "default": 360, - "description": "The angle in degrees that the mob can see in the X-axis (left-right)", + "description": "The angle in degrees that the mob can see in the X-axis (left-right).", "title": "Angle Of View Vertical" }, "angle_of_view_horizontal": { "type": "integer", "default": 360, - "description": "The angle in degrees that the mob can see in the Y-axis (up-down)", + "description": "The angle in degrees that the mob can see in the Y-axis (up-down).", "title": "Angle Of View Horizontal" }, "filters": { - "description": "Filter to determine the conditions for this mob to look at the entity", + "description": "Filter to determine the conditions for this mob to look at the entity.", "$ref": "../../filters/filters.json" } }, @@ -55,4 +52,4 @@ "angle_of_view_horizontal": 360 } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/look_at_player.json b/source/behavior/entities/format/behaviors/look_at_player.json index 62bc6979..9e65b4da 100644 --- a/source/behavior/entities/format/behaviors/look_at_player.json +++ b/source/behavior/entities/format/behaviors/look_at_player.json @@ -12,19 +12,19 @@ "title": "Angle Of View Vertical", "type": "integer", "default": 360, - "description": "The angle in degrees that the mob can see in the X-axis (left-right)" + "description": "The angle in degrees that the mob can see in the X-axis (left-right)." }, "angle_of_view_horizontal": { "title": "Angle Of View Horizontal", "type": "integer", "default": 360, - "description": "The angle in degrees that the mob can see in the Y-axis (up-down)" + "description": "The angle in degrees that the mob can see in the Y-axis (up-down)." }, "look_distance": { "title": "Look Distance", "type": "number", "default": 8.0, - "description": "The distance in blocks from which the entity will look at" + "description": "The distance in blocks from which the entity will look at." }, "probability": { "title": "Probability", @@ -37,17 +37,17 @@ "title": "Look Time", "type": "array", "default": [2, 4], - "description": "Time range to look at the entity", + "description": "Time range to look at the entity.", "items": [ - { "type": "number", "title": "Minimum", "description": "The minimum amount of time to look" }, - { "type": "number", "title": "Maximum", "description": "The maximum amount of time to look" } + { "type": "number", "title": "Minimum", "description": "The minimum amount of time to look." }, + { "type": "number", "title": "Maximum", "description": "The maximum amount of time to look." } ] }, "target_distance": { "title": "Target Distance", "type": "number", "default": 6.0, - "description": "The distance in blocks from which the entity will choose a target" + "description": "The distance in blocks from which the entity will choose a target." } }, "examples": [ diff --git a/source/behavior/entities/format/behaviors/look_at_target.json b/source/behavior/entities/format/behaviors/look_at_target.json index ce84d2b0..ba417a06 100644 --- a/source/behavior/entities/format/behaviors/look_at_target.json +++ b/source/behavior/entities/format/behaviors/look_at_target.json @@ -12,7 +12,7 @@ "look_distance": { "type": "number", "default": 8.0, - "description": "The distance in blocks from which the entity will look at", + "description": "The distance in blocks from which the entity will look at.", "title": "Look Distance" }, "probability": { @@ -23,23 +23,20 @@ }, "look_time": { "$ref": "../types/range_number_type.json", - "default": [ - 2, - 4 - ], - "description": "Time range to look at the entity", + "default": [2, 4], + "description": "Time range to look at the entity.", "title": "Look Time" }, "angle_of_view_vertical": { "type": "integer", "default": 360, - "description": "The angle in degrees that the mob can see in the X-axis (left-right)", + "description": "The angle in degrees that the mob can see in the X-axis (left-right).", "title": "Angle Of View Vertical" }, "angle_of_view_horizontal": { "type": "integer", "default": 360, - "description": "The angle in degrees that the mob can see in the Y-axis (up-down)", + "description": "The angle in degrees that the mob can see in the Y-axis (up-down).", "title": "Angle Of View Horizontal" } }, @@ -51,4 +48,4 @@ "angle_of_view_horizontal": 360 } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/look_at_trading_player.json b/source/behavior/entities/format/behaviors/look_at_trading_player.json index 8153e1bb..35890ee3 100644 --- a/source/behavior/entities/format/behaviors/look_at_trading_player.json +++ b/source/behavior/entities/format/behaviors/look_at_trading_player.json @@ -12,7 +12,7 @@ "look_distance": { "type": "number", "default": 8.0, - "description": "The distance in blocks from which the entity will look at", + "description": "The distance in blocks from which the entity will look at.", "title": "Look Distance" }, "probability": { @@ -23,23 +23,20 @@ }, "look_time": { "$ref": "../types/range_number_type.json", - "default": [ - 2, - 4 - ], - "description": "Time range to look at the entity", + "default": [2, 4], + "description": "Time range to look at the entity.", "title": "Look Time" }, "angle_of_view_vertical": { "type": "integer", "default": 360, - "description": "The angle in degrees that the mob can see in the X-axis (left-right)", + "description": "The angle in degrees that the mob can see in the X-axis (left-right).", "title": "Angle Of View Vertical" }, "angle_of_view_horizontal": { "type": "integer", "default": 360, - "description": "The angle in degrees that the mob can see in the Y-axis (up-down)", + "description": "The angle in degrees that the mob can see in the Y-axis (up-down).", "title": "Angle Of View Horizontal" } }, @@ -51,4 +48,4 @@ "angle_of_view_horizontal": 360 } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/melee_attack.json b/source/behavior/entities/format/behaviors/melee_attack.json index a9b5a68c..69de1394 100644 --- a/source/behavior/entities/format/behaviors/melee_attack.json +++ b/source/behavior/entities/format/behaviors/melee_attack.json @@ -116,7 +116,7 @@ "title": "Set Persistent", "type": "boolean", "default": false, - "description": "Allows the actor to be set to persist upon targeting a player" + "description": "Allows the actor to be set to persist upon targeting a player." }, "target_dist": { "title": "Target Dist", diff --git a/source/behavior/entities/format/behaviors/mingle.json b/source/behavior/entities/format/behaviors/mingle.json index 5ea50687..0ea49b99 100644 --- a/source/behavior/entities/format/behaviors/mingle.json +++ b/source/behavior/entities/format/behaviors/mingle.json @@ -11,13 +11,13 @@ "cooldown_time": { "type": "number", "default": 0, - "description": "Time in seconds the mob has to wait before using the goal again", + "description": "Time in seconds the mob has to wait before using the goal again.", "title": "Cooldown Time" }, "duration": { "type": "number", "default": 1, - "description": "Amount of time in seconds that the entity will chat with another entity", + "description": "Amount of time in seconds that the entity will chat with another entity.", "title": "Duration" }, "mingle_distance": { @@ -27,13 +27,13 @@ "title": "Mingle Distance" }, "mingle_partner_type": { - "description": "The entity type that this entity is allowed to mingle with", + "description": "The entity type that this entity is allowed to mingle with.", "title": "Mingle Partner Type", "oneOf": [ { "type": "array", "items": { - "description": "The entity type that this entity is allowed to mingle with", + "description": "The entity type that this entity is allowed to mingle with.", "type": "string" } }, diff --git a/source/behavior/entities/format/behaviors/mount_pathing.json b/source/behavior/entities/format/behaviors/mount_pathing.json index 31885762..3c962d63 100644 --- a/source/behavior/entities/format/behaviors/mount_pathing.json +++ b/source/behavior/entities/format/behaviors/mount_pathing.json @@ -15,13 +15,13 @@ "target_dist": { "type": "number", "default": 0.0, - "description": "The distance at which this mob wants to be away from its target", + "description": "The distance at which this mob wants to be away from its target.", "title": "Target Dist" }, "track_target": { "type": "boolean", "default": false, - "description": "If true, this mob will chase after the target as long as it's a valid target", + "description": "If true, this mob will chase after the target as long as it's a valid target.", "title": "Track Target" } }, @@ -31,4 +31,4 @@ "track_target": false } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/move_indoors.json b/source/behavior/entities/format/behaviors/move_indoors.json index 56d98ce0..5c72a40b 100644 --- a/source/behavior/entities/format/behaviors/move_indoors.json +++ b/source/behavior/entities/format/behaviors/move_indoors.json @@ -15,7 +15,7 @@ "timeout_cooldown": { "type": "number", "default": 8, - "description": "The cooldown time in seconds before the goal can be reused after pathfinding fails", + "description": "The cooldown time in seconds before the goal can be reused after pathfinding fails.", "title": "Timeout Cooldown" } }, diff --git a/source/behavior/entities/format/behaviors/move_outdoors.json b/source/behavior/entities/format/behaviors/move_outdoors.json index c37eae16..0a385cef 100644 --- a/source/behavior/entities/format/behaviors/move_outdoors.json +++ b/source/behavior/entities/format/behaviors/move_outdoors.json @@ -4,7 +4,7 @@ "type": "object", "title": "Move Outdoors", "$comment": "UNDOCUMENTED", - "description": "Forces the entity to move `outside`, whatever that means", + "description": "Forces the entity to move `outside`, whatever that means.", "properties": { "priority": { "$ref": "types/priority.json" }, "speed_multiplier": { "$ref": "./types/speed_multiplier.json" }, @@ -36,7 +36,7 @@ "title": "Timeout Cooldown", "type": "number", "default": 8000000, - "description": "The cooldown time in seconds before the goal can be reused after pathfinding fails" + "description": "The cooldown time in seconds before the goal can be reused after pathfinding fails." } } } diff --git a/source/behavior/entities/format/behaviors/move_through_village.json b/source/behavior/entities/format/behaviors/move_through_village.json index da5fc1ce..6ae152ad 100644 --- a/source/behavior/entities/format/behaviors/move_through_village.json +++ b/source/behavior/entities/format/behaviors/move_through_village.json @@ -15,7 +15,7 @@ "only_at_night": { "type": "boolean", "default": false, - "description": "If true, the mob will only move through the village during night time", + "description": "If true, the mob will only move through the village during night time.", "title": "Only At Night" } }, @@ -24,4 +24,4 @@ "only_at_night": false } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/move_to_land.json b/source/behavior/entities/format/behaviors/move_to_land.json index f727a6d0..3413fc1c 100644 --- a/source/behavior/entities/format/behaviors/move_to_land.json +++ b/source/behavior/entities/format/behaviors/move_to_land.json @@ -27,13 +27,13 @@ "search_height": { "type": "integer", "default": 1, - "description": "Height in blocks the mob will look for land to move towards", + "description": "Height in blocks the mob will look for land to move towards.", "title": "Search Height" }, "search_range": { "type": "integer", "default": 0, - "description": "The distance in blocks it will look for land to move towards", + "description": "The distance in blocks it will look for land to move towards.", "title": "Search Range" } }, @@ -45,4 +45,4 @@ "search_range": 0 } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/move_to_lava.json b/source/behavior/entities/format/behaviors/move_to_lava.json index d4762e75..6995a540 100644 --- a/source/behavior/entities/format/behaviors/move_to_lava.json +++ b/source/behavior/entities/format/behaviors/move_to_lava.json @@ -22,13 +22,13 @@ "search_height": { "type": "integer", "default": 1, - "description": "Height in blocks the mob will look for lava to move towards", + "description": "Height in blocks the mob will look for lava to move towards.", "title": "Search Height" }, "search_range": { "type": "integer", "default": 0, - "description": "The distance in blocks it will look for lava to move towards", + "description": "The distance in blocks it will look for lava to move towards.", "title": "Search Range" } }, diff --git a/source/behavior/entities/format/behaviors/move_to_liquid.json b/source/behavior/entities/format/behaviors/move_to_liquid.json index 05a6b207..defee19a 100644 --- a/source/behavior/entities/format/behaviors/move_to_liquid.json +++ b/source/behavior/entities/format/behaviors/move_to_liquid.json @@ -22,18 +22,18 @@ "search_height": { "type": "integer", "default": 1, - "description": "Height in blocks the mob will look for lava to move towards", + "description": "Height in blocks the mob will look for lava to move towards.", "title": "Search Height" }, "search_range": { "type": "integer", "default": 0, - "description": "The distance in blocks it will look for lava to move towards", + "description": "The distance in blocks it will look for lava to move towards.", "title": "Search Range" }, "material_type": { "title": "Material Type", - "description": "UNDOCUMENTAED, examples are : Lava", + "description": "UNDOCUMENTAED, examples are : Lava.", "type": "string" } }, diff --git a/source/behavior/entities/format/behaviors/move_to_poi.json b/source/behavior/entities/format/behaviors/move_to_poi.json index b7f84b14..090efd85 100644 --- a/source/behavior/entities/format/behaviors/move_to_poi.json +++ b/source/behavior/entities/format/behaviors/move_to_poi.json @@ -3,7 +3,7 @@ "type": "object", "title": "Move To Poi", "additionalProperties": false, - "description": "Allows the mob to move to a POI if able to", + "description": "Allows the mob to move to a POI if able to.", "required": [], "properties": { "priority": { @@ -14,7 +14,7 @@ }, "poi_type": { "type": "string", - "description": "Tells the goal what POI type it should be looking for", + "description": "Tells the goal what POI type it should be looking for.", "title": "Point Of Interest Type" } }, @@ -23,4 +23,4 @@ "poi_type": "example" } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/move_to_village.json b/source/behavior/entities/format/behaviors/move_to_village.json index 26f1b7ff..a2f94b10 100644 --- a/source/behavior/entities/format/behaviors/move_to_village.json +++ b/source/behavior/entities/format/behaviors/move_to_village.json @@ -15,7 +15,7 @@ "cooldown_time": { "type": "number", "default": 0, - "description": "Time in seconds the mob has to wait before using the goal again", + "description": "Time in seconds the mob has to wait before using the goal again.", "title": "Cooldown Time" }, "goal_radius": { @@ -38,4 +38,4 @@ "search_range": 0 } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/move_to_water.json b/source/behavior/entities/format/behaviors/move_to_water.json index 42ba9774..6808c05b 100644 --- a/source/behavior/entities/format/behaviors/move_to_water.json +++ b/source/behavior/entities/format/behaviors/move_to_water.json @@ -15,13 +15,13 @@ "search_range": { "type": "integer", "default": 0, - "description": "The distance in blocks it will look for water to move towards", + "description": "The distance in blocks it will look for water to move towards.", "title": "Search Range" }, "search_height": { "type": "integer", "default": 1, - "description": "Height in blocks the mob will look for water to move towards", + "description": "Height in blocks the mob will look for water to move towards.", "title": "Search Height" }, "search_count": { @@ -45,4 +45,4 @@ "goal_radius": 0.5 } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/move_towards_restriction.json b/source/behavior/entities/format/behaviors/move_towards_restriction.json index 2e98bbbd..f5c4c2f4 100644 --- a/source/behavior/entities/format/behaviors/move_towards_restriction.json +++ b/source/behavior/entities/format/behaviors/move_towards_restriction.json @@ -16,14 +16,11 @@ "type": "array", "items": { "type": "string", - "enum": [ - "move", - "look" - ], - "description": "UNDOCUMENTED: control flags", + "enum": ["move", "look"], + "description": "UNDOCUMENTED: control flags.", "title": "Control Flags" }, - "description": "UNDOCUMENTED: control flags", + "description": "UNDOCUMENTED: control flags.", "title": "Control Flags" } }, @@ -32,4 +29,4 @@ "control_flags": [] } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/nap.json b/source/behavior/entities/format/behaviors/nap.json index e45cf9b9..a37e5788 100644 --- a/source/behavior/entities/format/behaviors/nap.json +++ b/source/behavior/entities/format/behaviors/nap.json @@ -11,36 +11,36 @@ "title": "Cooldown Max", "type": "number", "default": 0, - "description": "Maximum time in seconds the mob has to wait before using the goal again" + "description": "Maximum time in seconds the mob has to wait before using the goal again." }, "cooldown_min": { "title": "Cooldown Min", "type": "number", "default": 0, - "description": "Minimum time in seconds the mob has to wait before using the goal again" + "description": "Minimum time in seconds the mob has to wait before using the goal again." }, "mob_detect_dist": { "title": "Mob Detect Dist", "type": "number", "default": 6, - "description": "The block distance in x and z that will be checked for mobs that this mob detects" + "description": "The block distance in x and z that will be checked for mobs that this mob detects." }, "mob_detect_height": { "title": "Mob Detect Height", "type": "number", "default": 6, - "description": "The block distance in y that will be checked for mobs that this mob detects" + "description": "The block distance in y that will be checked for mobs that this mob detects." }, "can_nap_filters": { "title": "Can Nap Filters", "$ref": "../../filters/filters.json", - "description": "The filters that need to be met for the nap to take place", + "description": "The filters that need to be met for the nap to take place.", "$comment": "UNDOCUMENTED" }, "wake_mob_exceptions": { "title": "Wake Mob Exceptions", "$ref": "../../filters/filters.json", - "description": "Filters that can trigger the entity to wake up from it nap", + "description": "Filters that can trigger the entity to wake up from it nap.", "$comment": "UNDOCUMENTED" } }, diff --git a/source/behavior/entities/format/behaviors/nearest_attackable_target.json b/source/behavior/entities/format/behaviors/nearest_attackable_target.json index 26e1e7ee..bd6515eb 100644 --- a/source/behavior/entities/format/behaviors/nearest_attackable_target.json +++ b/source/behavior/entities/format/behaviors/nearest_attackable_target.json @@ -7,7 +7,7 @@ "definitions": { "entity_type": { "type": "object", - "description": "A entity type", + "description": "A entity type.", "properties": { "filters": { "$ref": "../../filters/filters.json", @@ -111,7 +111,7 @@ "set_persistent": { "type": "boolean", "default": false, - "description": "Allows the actor to be set to persist upon targeting a player", + "description": "Allows the actor to be set to persist upon targeting a player.", "title": "Set Persistent" }, "target_invisible_multiplier": { @@ -157,4 +157,4 @@ "within_radius": 0 } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/nearest_prioritized_attackable_target.json b/source/behavior/entities/format/behaviors/nearest_prioritized_attackable_target.json index 0fa35a8c..cdadee18 100644 --- a/source/behavior/entities/format/behaviors/nearest_prioritized_attackable_target.json +++ b/source/behavior/entities/format/behaviors/nearest_prioritized_attackable_target.json @@ -9,32 +9,32 @@ "$ref": "./types/priority.json" }, "entity_types": { - "description": "List of entity types that this mob considers valid targets", + "description": "List of entity types that this mob considers valid targets.", "title": "Entity Types", "$ref": "../types/entity_types.json" }, "attack_interval": { "type": "integer", "default": 0, - "description": "Time in seconds before selecting a target", + "description": "Time in seconds before selecting a target.", "title": "Attack Interval" }, "must_reach": { "type": "boolean", "default": false, - "description": "If true, only entities that this mob can path to can be selected as targets", + "description": "If true, only entities that this mob can path to can be selected as targets.", "title": "Must Reach" }, "must_see": { "type": "boolean", "default": false, - "description": "If true, only entities in this mob's viewing range can be selected as targets", + "description": "If true, only entities in this mob's viewing range can be selected as targets.", "title": "Must See" }, "must_see_forget_duration": { "type": "number", "default": 3, - "description": "Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more", + "description": "Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more.", "title": "Must See Forget Duration" }, "persist_time": { @@ -46,7 +46,7 @@ "reselect_targets": { "type": "boolean", "default": false, - "description": "If true, the target will change to the current closest entity whenever a different entity is closer", + "description": "If true, the target will change to the current closest entity whenever a different entity is closer.", "title": "Reselect Targets" }, "scan_interval": { @@ -58,7 +58,7 @@ "set_persistent": { "type": "boolean", "default": false, - "description": "Allows the actor to be set to persist upon targeting a player", + "description": "Allows the actor to be set to persist upon targeting a player.", "title": "Set Persistent" }, "target_search_height": { @@ -70,7 +70,7 @@ "within_radius": { "type": "number", "default": 0, - "description": "Distance in blocks that the target can be within to launch an attack", + "description": "Distance in blocks that the target can be within to launch an attack.", "title": "Within Radius" } }, @@ -88,4 +88,4 @@ "within_radius": 0 } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/open_door.json b/source/behavior/entities/format/behaviors/open_door.json index 309fa810..52f19416 100644 --- a/source/behavior/entities/format/behaviors/open_door.json +++ b/source/behavior/entities/format/behaviors/open_door.json @@ -12,7 +12,7 @@ "close_door_after": { "type": "boolean", "default": true, - "description": "If true, the mob will close the door after opening it and going through it", + "description": "If true, the mob will close the door after opening it and going through it.", "title": "Close Door After" } }, @@ -21,4 +21,4 @@ "close_door_after": true } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/owner_hurt_by_target.json b/source/behavior/entities/format/behaviors/owner_hurt_by_target.json index 86c13e7a..c1453cd4 100644 --- a/source/behavior/entities/format/behaviors/owner_hurt_by_target.json +++ b/source/behavior/entities/format/behaviors/owner_hurt_by_target.json @@ -11,7 +11,7 @@ }, "entity_types": { "$ref": "../types/entity_types.json", - "description": "List of entity types that this mob can target if they hurt their owner", + "description": "List of entity types that this mob can target if they hurt their owner.", "title": "Entity Types" } } diff --git a/source/behavior/entities/format/behaviors/owner_hurt_target.json b/source/behavior/entities/format/behaviors/owner_hurt_target.json index af74ab4e..eb078678 100644 --- a/source/behavior/entities/format/behaviors/owner_hurt_target.json +++ b/source/behavior/entities/format/behaviors/owner_hurt_target.json @@ -11,7 +11,7 @@ }, "entity_types": { "$ref": "../types/entity_types.json", - "description": "List of entity types that this entity can target if the potential target is hurt by this mob's owner", + "description": "List of entity types that this entity can target if the potential target is hurt by this mob's owner.", "title": "Entity TYpes" } } diff --git a/source/behavior/entities/format/behaviors/panic.json b/source/behavior/entities/format/behaviors/panic.json index 0ad12313..e566ece9 100644 --- a/source/behavior/entities/format/behaviors/panic.json +++ b/source/behavior/entities/format/behaviors/panic.json @@ -18,49 +18,45 @@ "items": { "$ref": "../../../../general/entity/damage_source.json" }, - "default": [ - [ - "all" - ] - ], - "description": "The list of Entity Damage Sources that will cause this mob to panic" + "default": [["all"]], + "description": "The list of Entity Damage Sources that will cause this mob to panic." }, "force": { "title": "Force", "type": "boolean", "default": false, - "description": "If true, this mob will not stop panicking until it can't move anymore or the goal is removed from it" + "description": "If true, this mob will not stop panicking until it can't move anymore or the goal is removed from it." }, "ignore_mob_damage": { "title": "Ignore Mob Damage", "type": "boolean", "default": false, - "description": "If true, the mob will not panic in response to damage from other mobs. This overrides the damage types in `damage_sources`" + "description": "If true, the mob will not panic in response to damage from other mobs. This overrides the damage types in `damage_sources`" }, "prefer_water": { "title": "Prefer Water", "type": "boolean", "default": false, - "description": "If true, the mob will prefer water over land" + "description": "If true, the mob will prefer water over land." }, "panic_sound": { "title": "Panic Sound", "type": "string", - "description": "The sound event to play when this mob is in panic" + "description": "The sound event to play when this mob is in panic." }, "sound_interval": { "title": "Sound Interval", "type": "object", - "description": "The range of time in seconds to randomly wait before playing the sound again", + "description": "The range of time in seconds to randomly wait before playing the sound again.", "properties": { "range_min": { "type": "number", - "description": "The minimum time in seconds before the `panic_sound` plays", + "description": "The minimum time in seconds before the `panic_sound` plays.", "title": "Range Minimum" }, "range_max": { "type": "number", - "description": "The maximum time in seconds before the `panic_sound` plays", + "description": "The maximum time in seconds before the `panic_sound` plays.", "title": "Range Maximum" } }, @@ -77,4 +73,4 @@ "sound_interval": {} } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/pickup_items.json b/source/behavior/entities/format/behaviors/pickup_items.json index a833d9e6..4a0327e1 100644 --- a/source/behavior/entities/format/behaviors/pickup_items.json +++ b/source/behavior/entities/format/behaviors/pickup_items.json @@ -50,7 +50,7 @@ "title": "Search Height", "type": "number", "default": 0, - "description": "Height in blocks the mob will look for items to pick up", + "description": "Height in blocks the mob will look for items to pick up.", "$comment": "UNDOCUMENTED" }, "pickup_based_on_chance": { @@ -62,7 +62,7 @@ "pickup_same_items_as_in_hand": { "type": "boolean", "default": false, - "description": "If true, the mob will pickup the same item as the item in its hand", + "description": "If true, the mob will pickup the same item as the item in its hand.", "title": "Pickup Same Items As In Hand", "$comment": "UNDOCUMENTED" }, diff --git a/source/behavior/entities/format/behaviors/play_dead.json b/source/behavior/entities/format/behaviors/play_dead.json index 3bc4fc77..0a1be052 100644 --- a/source/behavior/entities/format/behaviors/play_dead.json +++ b/source/behavior/entities/format/behaviors/play_dead.json @@ -23,7 +23,7 @@ }, "filters": { "title": "Filters", - "description": "The list of other triggers that are required for the mob to activate play dead", + "description": "The list of other triggers that are required for the mob to activate play dead.", "$ref": "../../filters/filters.json" }, "force_below_health": { @@ -43,8 +43,8 @@ "description": "The range of damage that may cause the goal to start depending on randomness. Damage taken below the min will never cause the goal to start. Damage taken above the max will always cause the goal to start.", "type": "array", "items": [ - { "title": "Minimum", "description": "Minimum", "type": "integer", "minimum": 0 }, - { "title": "Maximum", "description": "Maximum", "type": "integer", "minimum": 0 } + { "title": "Minimum", "description": "Minimum.", "type": "integer", "minimum": 0 }, + { "title": "Maximum", "description": "Maximum.", "type": "integer", "minimum": 0 } ] }, "damage_sources": { diff --git a/source/behavior/entities/format/behaviors/raid_garden.json b/source/behavior/entities/format/behaviors/raid_garden.json index dec49328..fcd66e7e 100644 --- a/source/behavior/entities/format/behaviors/raid_garden.json +++ b/source/behavior/entities/format/behaviors/raid_garden.json @@ -11,11 +11,11 @@ "blocks": { "title": "Blocks", "type": "array", - "description": "Blocks that the mob is looking for to eat", + "description": "Blocks that the mob is looking for to eat.", "items": { "type": "string", "title": "Block Id", - "description": "A block identifier", + "description": "A block identifier.", "$ref": "../../../../general/block/identifier.json" } }, @@ -23,20 +23,19 @@ "title": "Eat Delay", "type": "integer", "default": 2, - "description": "Time in seconds between each time it eats" - + "description": "Time in seconds between each time it eats." }, "full_delay": { "title": "Full Delay", "type": "integer", "default": 100, - "description": "Amount of time in seconds before this mob wants to eat again" + "description": "Amount of time in seconds before this mob wants to eat again." }, "initial_eat_delay": { "title": "Initial Eat Delay", "type": "integer", "default": 0, - "description": "Time in seconds before starting to eat/raid once it arrives at it" + "description": "Time in seconds before starting to eat/raid once it arrives at it." }, "goal_radius": { "type": "number", @@ -48,19 +47,19 @@ "title": "Maximum To Eat", "type": "integer", "default": 6, - "description": "Maximum number of things this entity wants to eat" + "description": "Maximum number of things this entity wants to eat." }, "search_range": { "title": "Search Range", "type": "integer", "default": 0, - "description": "Distance in blocks the mob will look for crops to eat" + "description": "Distance in blocks the mob will look for crops to eat." }, "search_height": { "title": "Search Height", "type": "integer", "default": 0, - "description": "Height in blocks the mob will look for crops to eat" + "description": "Height in blocks the mob will look for crops to eat." } }, "examples": [ diff --git a/source/behavior/entities/format/behaviors/ram_attack.json b/source/behavior/entities/format/behaviors/ram_attack.json index adbc0bfe..b38ba6c5 100644 --- a/source/behavior/entities/format/behaviors/ram_attack.json +++ b/source/behavior/entities/format/behaviors/ram_attack.json @@ -42,7 +42,7 @@ "on_start": { "title": "On Start", "$ref": "../types/trigger.json", - "description": "The event to trigger when attacking" + "description": "The event to trigger when attacking." }, "pre_ram_sound": { "title": "Pre Ram Sound", diff --git a/source/behavior/entities/format/behaviors/random_breach.json b/source/behavior/entities/format/behaviors/random_breach.json index 3092e426..94298583 100644 --- a/source/behavior/entities/format/behaviors/random_breach.json +++ b/source/behavior/entities/format/behaviors/random_breach.json @@ -11,7 +11,7 @@ "cooldown_time": { "type": "number", "default": 0, - "description": "Time in seconds the mob has to wait before using the goal again", + "description": "Time in seconds the mob has to wait before using the goal again.", "title": "Cooldown Time" }, "interval": { diff --git a/source/behavior/entities/format/behaviors/random_fly.json b/source/behavior/entities/format/behaviors/random_fly.json index 511c3309..e011a35e 100644 --- a/source/behavior/entities/format/behaviors/random_fly.json +++ b/source/behavior/entities/format/behaviors/random_fly.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.random_fly", - "description": "Allows a mob to randomly fly around", + "description": "Allows a mob to randomly fly around.", "type": "object", "title": "Random Fly", "additionalProperties": false, @@ -9,14 +9,14 @@ "speed_multiplier": { "$ref": "types/speed_multiplier.json" }, "avoid_damage_blocks": { "type": "boolean", - "description": "If true, the mob will avoid blocks that cause damage", + "description": "If true, the mob will avoid blocks that cause damage.", "$comment": "UNDOCUMENTED", "title": "Avoid Damage Blocks" }, "can_land_on_trees": { "type": "boolean", "default": true, - "description": "If true, the mob can stop flying and land on a tree instead of the ground", + "description": "If true, the mob can stop flying and land on a tree instead of the ground.", "title": "Can Land On Trees" }, "xz_dist": { @@ -33,7 +33,7 @@ }, "y_offset": { "type": "integer", - "description": "Height in blocks to add to the selected target position", + "description": "Height in blocks to add to the selected target position.", "$comment": "UNDOCUMENTED", "title": "Y Offset" } diff --git a/source/behavior/entities/format/behaviors/random_hover.json b/source/behavior/entities/format/behaviors/random_hover.json index 0e63c96d..1f99a802 100644 --- a/source/behavior/entities/format/behaviors/random_hover.json +++ b/source/behavior/entities/format/behaviors/random_hover.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.random_hover", - "description": "Allows the mob to hover around randomly, close to the surface", + "description": "Allows the mob to hover around randomly, close to the surface.", "type": "object", "title": "Random Hover", "additionalProperties": false, @@ -10,7 +10,7 @@ "hover_height": { "title": "Hover Height", "type": "array", - "description": "The height above the surface which the mob will try to maintain", + "description": "The height above the surface which the mob will try to maintain.", "items": [ { "type": "number" @@ -41,7 +41,7 @@ "y_offset": { "type": "number", "default": 0, - "description": "Height in blocks to add to the selected target position", + "description": "Height in blocks to add to the selected target position.", "title": "Y Offset" } }, diff --git a/source/behavior/entities/format/behaviors/random_look_around.json b/source/behavior/entities/format/behaviors/random_look_around.json index 4afe05a4..abe21684 100644 --- a/source/behavior/entities/format/behaviors/random_look_around.json +++ b/source/behavior/entities/format/behaviors/random_look_around.json @@ -11,7 +11,7 @@ }, "look_time": { "title": "Look Time", - "description": "The range of time in seconds the mob will stay looking in a random direction before looking elsewhere", + "description": "The range of time in seconds the mob will stay looking in a random direction before looking elsewhere.", "oneOf": [ { "type": "number" @@ -22,12 +22,12 @@ { "type": "number", "title": "Minimum", - "description": "Minimum" + "description": "Minimum." }, { "type": "number", "title": "Maximum", - "description": "Maximum" + "description": "Maximum." } ] } @@ -35,7 +35,7 @@ }, "look_distance": { "title": "Look Distance", - "description": "The distance in blocks from which the mob will look at", + "description": "The distance in blocks from which the mob will look at.", "type": "number", "default": 8.0 }, @@ -49,13 +49,13 @@ "title": "Angle Of View Vertical", "type": "integer", "default": 360, - "description": "The angle in degrees that the mob can see in the X-axis (left-right)" + "description": "The angle in degrees that the mob can see in the X-axis (left-right)." }, "angle_of_view_horizontal": { "title": "Angle Of View Horizontal", "type": "integer", "default": 360, - "description": "The angle in degrees that the mob can see in the Y-axis (up-down)" + "description": "The angle in degrees that the mob can see in the Y-axis (up-down)." } }, "examples": [ @@ -63,4 +63,4 @@ "look_distance": 0.0 } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/random_sitting.json b/source/behavior/entities/format/behaviors/random_sitting.json index 5f75122e..b6d7ef04 100644 --- a/source/behavior/entities/format/behaviors/random_sitting.json +++ b/source/behavior/entities/format/behaviors/random_sitting.json @@ -11,31 +11,31 @@ "cooldown": { "type": "number", "default": 0, - "description": "Time in seconds the mob has to wait before using the goal again", + "description": "Time in seconds the mob has to wait before using the goal again.", "title": "Cooldown" }, "cooldown_time": { "type": "number", "default": 0, - "description": "Time in seconds the mob has to wait before using the goal again", + "description": "Time in seconds the mob has to wait before using the goal again.", "title": "Cooldown Time" }, "min_sit_time": { "type": "number", "default": 10, - "description": "The minimum amount of time in seconds before the mob can stand back up", + "description": "The minimum amount of time in seconds before the mob can stand back up.", "title": "Minimum Sit Time" }, "start_chance": { "type": "number", "default": 0.1, - "description": "This is the chance that the mob will start this goal, from 0 to 1", + "description": "This is the chance that the mob will start this goal, from 0 to 1.", "title": "Start Chance" }, "stop_chance": { "type": "number", "default": 0.3, - "description": "This is the chance that the mob will stop this goal, from 0 to 1", + "description": "This is the chance that the mob will stop this goal, from 0 to 1.", "title": "Stop Chance" } }, diff --git a/source/behavior/entities/format/behaviors/random_swim.json b/source/behavior/entities/format/behaviors/random_swim.json index 1d28c1be..a75375d3 100644 --- a/source/behavior/entities/format/behaviors/random_swim.json +++ b/source/behavior/entities/format/behaviors/random_swim.json @@ -2,7 +2,7 @@ "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.random_swim", "type": "object", "title": "Random Swim", - "description": "Allows an entity to randomly move through water", + "description": "Allows an entity to randomly move through water.", "required": [], "properties": { "priority": { "$ref": "types/priority.json" }, @@ -10,7 +10,7 @@ "avoid_surface": { "type": "boolean", "default": true, - "description": "If true, the mob will avoid surface water blocks by swimming below them", + "description": "If true, the mob will avoid surface water blocks by swimming below them.", "title": "Avoid Surface" }, "interval": { diff --git a/source/behavior/entities/format/behaviors/ranged_attack.json b/source/behavior/entities/format/behaviors/ranged_attack.json index e9fd70ba..33893a83 100644 --- a/source/behavior/entities/format/behaviors/ranged_attack.json +++ b/source/behavior/entities/format/behaviors/ranged_attack.json @@ -72,7 +72,7 @@ "title": "Set Persistent", "type": "boolean", "default": false, - "description": "Allows the actor to be set to persist upon targeting a player" + "description": "Allows the actor to be set to persist upon targeting a player." }, "swing": { "title": "Swing", diff --git a/source/behavior/entities/format/behaviors/rise_to_liquid_level.json b/source/behavior/entities/format/behaviors/rise_to_liquid_level.json index 103cfa0e..ce065774 100644 --- a/source/behavior/entities/format/behaviors/rise_to_liquid_level.json +++ b/source/behavior/entities/format/behaviors/rise_to_liquid_level.json @@ -11,17 +11,17 @@ "liquid_y_offset": { "type": "number", "title": "Liquid Y Offset", - "description": "Vertical offset from the liquid" + "description": "Vertical offset from the liquid." }, "rise_delta": { "type": "number", "title": "Rise Delta", - "description": "Displacement for how much the entity will move up in the vertical axis" + "description": "Displacement for how much the entity will move up in the vertical axis." }, "sink_delta": { "type": "number", "title": "Sink Delta", - "description": "Displacement for how much the entity will move down in the vertical axis" + "description": "Displacement for how much the entity will move down in the vertical axis." } }, "examples": [ @@ -31,4 +31,4 @@ "sink_delta": 0.0 } ] -} \ No newline at end of file +} diff --git a/source/behavior/entities/format/behaviors/roar.json b/source/behavior/entities/format/behaviors/roar.json index 06c6bbfd..3bc24358 100644 --- a/source/behavior/entities/format/behaviors/roar.json +++ b/source/behavior/entities/format/behaviors/roar.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.roar", "additionalProperties": false, - "type": "object", + "type": "object "title": "Roar", "description": "[EXPERIMENTAL BEHAVIOR] Plays the provided sound and activates the `ROARING` actor flag during the specified duration", "properties": { @@ -12,7 +12,7 @@ "title": "Duration", "type": "number", "default": 0.0, - "description": "Goal duration in seconds" + "description": "Goal duration in seconds." } } } diff --git a/source/behavior/entities/format/behaviors/scared.json b/source/behavior/entities/format/behaviors/scared.json index e11bdb9b..bcd795fc 100644 --- a/source/behavior/entities/format/behaviors/scared.json +++ b/source/behavior/entities/format/behaviors/scared.json @@ -12,7 +12,7 @@ "sound_interval": { "type": "integer", "default": 0, - "description": "The interval in which a sound will play when active in a 1/delay chance to kick off", + "description": "The interval in which a sound will play when active in a 1/delay chance to kick off.", "title": "Sound Interval" } }, diff --git a/source/behavior/entities/format/behaviors/send_event.json b/source/behavior/entities/format/behaviors/send_event.json index 0994cd15..2b235226 100644 --- a/source/behavior/entities/format/behaviors/send_event.json +++ b/source/behavior/entities/format/behaviors/send_event.json @@ -7,7 +7,7 @@ "definitions": { "sequence": { "type": "array", - "description": "List of events to send", + "description": "List of events to send.", "items": { "type": "object", "additionalProperties": false, @@ -15,17 +15,17 @@ "base_delay": { "type": "number", "default": 0, - "description": "Amount of time in seconds before starting this step" + "description": "Amount of time in seconds before starting this step." }, "event": { "type": "string", "default": "", - "description": "The event to send to the entity" + "description": "The event to send to the entity." }, "sound_event": { "type": "string", "default": "", - "description": "The sound event to play when this step happens" + "description": "The sound event to play when this step happens." } } } @@ -37,51 +37,51 @@ }, "cast_duration": { "type": "number", - "description": "Time in seconds for the entire event sending process", + "description": "Time in seconds for the entire event sending process.", "title": "Cast Duration" }, "look_at_target": { "title": "Look At Target", "type": "boolean", "default": true, - "description": "If true, the mob will face the entity it sends an event to" + "description": "If true, the mob will face the entity it sends an event to." }, "event_choices": { "type": "array", "title": "Event Choices", - "description": "List of spells for the mob to use", + "description": "List of spells for the mob to use.", "$comment": "UNDOCUMENTED", "items": { "type": "object", "additionalProperties": false, "title": "Event Choice", - "description": "A spell that the mob can cast", + "description": "A spell that the mob can cast.", "$comment": "UNDOCUMENTED", "properties": { "min_activation_range": { "type": "number", "title": "Minimum Activation Range", - "description": "The minimum distance in blocks the target must be for this spell to be cast", + "description": "The minimum distance in blocks the target must be for this spell to be cast.", "$comment": "UNDOCUMENTED", "minimum": 0 }, "max_activation_range": { "type": "number", "title": "Maxmimum Activation Range", - "description": "The maxmimum distance in blocks the target must be for this spell to be cast", + "description": "The maxmimum distance in blocks the target must be for this spell to be cast.", "$comment": "UNDOCUMENTED", "minimum": 0 }, "cooldown_time": { "type": "number", "title": "Cooldown Time", - "description": "Time in seconds before the mob can use this spell again", + "description": "Time in seconds before the mob can use this spell again.", "$comment": "UNDOCUMENTED" }, "cast_duration": { "type": "number", "title": "Cast Duration", - "description": "Time in seconds the spell casting will take", + "description": "Time in seconds the spell casting will take.", "$comment": "UNDOCUMENTED" }, "filters": { @@ -91,7 +91,7 @@ "type": "string", "format": "color-hex", "title": "Particle Color", - "description": "The color of the particles for this spell", + "description": "The color of the particles for this spell.", "$comment": "UNDOCUMENTED" }, "weight": { @@ -103,7 +103,7 @@ "start_sound_event": { "type": "string", "title": "Start Sound Event", - "description": "The sound event to play when using this spell", + "description": "The sound event to play when using this spell.", "$comment": "UNDOCUMENTED" }, "sequence": { @@ -114,7 +114,7 @@ }, "sequence": { "$ref": "#/definitions/sequence", - "description": "List of steps for the spell", + "description": "List of steps for the spell.", "$comment": "UNDOCUMENTED", "title": "Sequence" } diff --git a/source/behavior/entities/format/behaviors/share_items.json b/source/behavior/entities/format/behaviors/share_items.json index e4d85a2b..e6b98293 100644 --- a/source/behavior/entities/format/behaviors/share_items.json +++ b/source/behavior/entities/format/behaviors/share_items.json @@ -10,7 +10,7 @@ "speed_multiplier": { "$ref": "types/speed_multiplier.json" }, "entity_types": { "$ref": "../types/entity_types.json", - "description": "List of entities this mob will share items with", + "description": "List of entities this mob will share items with.", "title": "Entity Types" }, "goal_radius": { @@ -22,7 +22,7 @@ "max_dist": { "type": "number", "default": 0, - "description": "Maximum distance in blocks this mob will look for entities to share items with", + "description": "Maximum distance in blocks this mob will look for entities to share items with.", "title": "Maximum Distance" } }, diff --git a/source/behavior/entities/format/behaviors/skeleton_horse_trap.json b/source/behavior/entities/format/behaviors/skeleton_horse_trap.json index c95dd7a2..8084a7db 100644 --- a/source/behavior/entities/format/behaviors/skeleton_horse_trap.json +++ b/source/behavior/entities/format/behaviors/skeleton_horse_trap.json @@ -18,7 +18,7 @@ "within_radius": { "type": "number", "default": 0, - "description": "Distance in blocks that the player has to be within to trigger the horse trap", + "description": "Distance in blocks that the player has to be within to trigger the horse trap.", "title": "Within Radius" } }, diff --git a/source/behavior/entities/format/behaviors/sleep.json b/source/behavior/entities/format/behaviors/sleep.json index 30bcf753..ecd21a98 100644 --- a/source/behavior/entities/format/behaviors/sleep.json +++ b/source/behavior/entities/format/behaviors/sleep.json @@ -12,37 +12,37 @@ "title": "Can Sleep While Riding", "type": "boolean", "default": false, - "description": "If true, the mob will be able to use the sleep goal if riding something" + "description": "If true, the mob will be able to use the sleep goal if riding something." }, "cooldown_time": { "title": "Cooldown Time", "type": "number", "default": 0.0, - "description": "Time in seconds the mob has to wait before using the goal again" + "description": "Time in seconds the mob has to wait before using the goal again." }, "sleep_collider_height": { "title": "Sleep Collider Height", "type": "number", "default": 1.0, - "description": "The height of the mob's collider while sleeping" + "description": "The height of the mob's collider while sleeping." }, "sleep_collider_width": { "title": "Sleep Collider Width", "type": "number", "default": 1.0, - "description": "The width of the mob's collider while sleeping" + "description": "The width of the mob's collider while sleeping." }, "sleep_y_offset": { "title": "Sleep Y Offset", "type": "number", "default": 1.0, - "description": "The y offset of the mob's collider while sleeping" + "description": "The y offset of the mob's collider while sleeping." }, "timeout_cooldown": { "title": "Timeout Cooldown", "type": "number", "default": 8.0, - "description": "The cooldown time in seconds before the goal can be reused after a internal failure or timeout condition" + "description": "The cooldown time in seconds before the goal can be reused after a internal failure or timeout condition." } }, "examples": [ diff --git a/source/behavior/entities/format/behaviors/slime_attack.json b/source/behavior/entities/format/behaviors/slime_attack.json index 5e793c77..4b905f83 100644 --- a/source/behavior/entities/format/behaviors/slime_attack.json +++ b/source/behavior/entities/format/behaviors/slime_attack.json @@ -11,7 +11,7 @@ "title": "Set Persistent", "type": "boolean", "default": false, - "description": "Allows the actor to be set to persist upon targeting a player" + "description": "Allows the actor to be set to persist upon targeting a player." }, "x_max_rotation": { "title": "X Max Rotation", diff --git a/source/behavior/entities/format/behaviors/snacking.json b/source/behavior/entities/format/behaviors/snacking.json index acd98aa6..d106fc38 100644 --- a/source/behavior/entities/format/behaviors/snacking.json +++ b/source/behavior/entities/format/behaviors/snacking.json @@ -11,7 +11,7 @@ }, "items": { "title": "Items", - "description": "Items that we are interested in snacking on", + "description": "Items that we are interested in snacking on.", "oneOf": [ { "type": "array", @@ -28,18 +28,18 @@ "snacking_cooldown": { "type": "number", "default": 7.5, - "description": "The cooldown time in seconds before the mob is able to snack again", + "description": "The cooldown time in seconds before the mob is able to snack again.", "title": "Snacking Cooldown" }, "snacking_cooldown_min": { "type": "number", "default": 0.5, - "description": "The minimum time in seconds before the mob is able to snack again", + "description": "The minimum time in seconds before the mob is able to snack again.", "title": "Snacking Cooldown Minimum" }, "snacking_stop_chance": { "type": "number", - "description": "This is the chance that the mob will stop snacking, from 0 to 1", + "description": "This is the chance that the mob will stop snacking, from 0 to 1.", "title": "Snacking Stop Chance" } }, diff --git a/source/behavior/entities/format/behaviors/sneeze.json b/source/behavior/entities/format/behaviors/sneeze.json index 3020d941..e3157e48 100644 --- a/source/behavior/entities/format/behaviors/sneeze.json +++ b/source/behavior/entities/format/behaviors/sneeze.json @@ -12,7 +12,7 @@ "cooldown_time": { "type": "number", "default": 0, - "description": "Time in seconds the mob has to wait before using the goal again", + "description": "Time in seconds the mob has to wait before using the goal again.", "title": "Cooldown Time" }, "drop_item_chance": { diff --git a/source/behavior/entities/format/behaviors/sonic_boom.json b/source/behavior/entities/format/behaviors/sonic_boom.json index 47077205..1c58e1f9 100644 --- a/source/behavior/entities/format/behaviors/sonic_boom.json +++ b/source/behavior/entities/format/behaviors/sonic_boom.json @@ -47,7 +47,7 @@ "title": "Duration", "type": "number", "default": 3.0, - "description": "Goal duration in seconds" + "description": "Goal duration in seconds." }, "duration_until_attack_sound": { "title": "Duration Until Attack Sound", diff --git a/source/behavior/entities/format/behaviors/stalk_and_pounce_on_target.json b/source/behavior/entities/format/behaviors/stalk_and_pounce_on_target.json index c154b334..941e0466 100644 --- a/source/behavior/entities/format/behaviors/stalk_and_pounce_on_target.json +++ b/source/behavior/entities/format/behaviors/stalk_and_pounce_on_target.json @@ -17,60 +17,60 @@ "leap_distance": { "type": "number", "default": 0.8, - "description": "The distance in blocks the mob jumps in the direction of its target", + "description": "The distance in blocks the mob jumps in the direction of its target.", "title": "Leap Distance" }, "leap_height": { "type": "number", "default": 0.9, - "description": "The height in blocks the mob jumps when leaping at its target", + "description": "The height in blocks the mob jumps when leaping at its target.", "title": "Leap Height" }, "max_stalk_dist": { "type": "number", "default": 10, - "description": "The maximum distance away a target can be before the mob gives up on stalking", + "description": "The maximum distance away a target can be before the mob gives up on stalking.", "title": "Maximum Stalk Dist" }, "pounce_max_dist": { "type": "number", "default": 5, - "description": "The maximum distance away from the target in blocks to begin pouncing at the target", + "description": "The maximum distance away from the target in blocks to begin pouncing at the target.", "title": "Pounce Maximum Dist" }, "set_persistent": { "type": "boolean", "default": false, - "description": "Allows the actor to be set to persist upon targeting a player", + "description": "Allows the actor to be set to persist upon targeting a player.", "title": "Set Persistent" }, "stalk_speed": { "type": "number", "default": 1.2, - "description": "The movement speed in which you stalk your target", + "description": "The movement speed in which you stalk your target.", "title": "Stalk Speed" }, "strike_dist": { "type": "number", "default": 2, - "description": "The Maximum distance away from the target when landing from the pounce that will still result in damaging the target", + "description": "The Maximum distance away from the target when landing from the pounce that will still result in damaging the target.", "title": "Strike Dist" }, "stuck_time": { "type": "number", "default": 2, - "description": "The amount of time the mob will be stuck if they fail and land on a block they can be stuck on", + "description": "The amount of time the mob will be stuck if they fail and land on a block they can be stuck on.", "title": "Stuck Time" }, "leap_dist": { "type": "number", - "description": "The distance in blocks the mob jumps in the direction of their target", + "description": "The distance in blocks the mob jumps in the direction of their target.", "$comment": "UNDOCUMENTED", "title": "Leap Dist" }, "stuck_blocks": { "$ref": "../../filters/filters.json", - "description": "Filters to apply on the block the mob lands on to determine if it is valid for getting stuck", + "description": "Filters to apply on the block the mob lands on to determine if it is valid for getting stuck.", "$comment": "UNDOCUMENTED", "title": "Stuck Block" } diff --git a/source/behavior/entities/format/behaviors/stomp_attack.json b/source/behavior/entities/format/behaviors/stomp_attack.json index 2602dada..3919f81d 100644 --- a/source/behavior/entities/format/behaviors/stomp_attack.json +++ b/source/behavior/entities/format/behaviors/stomp_attack.json @@ -113,7 +113,7 @@ "title": "Set Persistent", "type": "boolean", "default": false, - "description": "Allows the actor to be set to persist upon targeting a player" + "description": "Allows the actor to be set to persist upon targeting a player." }, "stomp_range_multiplier": { "title": "Stomp Range Multiplier", diff --git a/source/behavior/entities/format/behaviors/stomp_turtle_egg.json b/source/behavior/entities/format/behaviors/stomp_turtle_egg.json index 4589ca8f..7fd456e5 100644 --- a/source/behavior/entities/format/behaviors/stomp_turtle_egg.json +++ b/source/behavior/entities/format/behaviors/stomp_turtle_egg.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.stomp_turtle_egg", - "description": "Allows this mob to stomp turtle eggs", + "description": "Allows this mob to stomp turtle eggs.", "type": "object", "title": "Stomp Turtle Egg", "additionalProperties": false, @@ -28,13 +28,13 @@ "search_height": { "type": "integer", "default": 1, - "description": "Height in blocks the mob will look for turtle eggs to move towards", + "description": "Height in blocks the mob will look for turtle eggs to move towards.", "title": "Search Height" }, "search_range": { "type": "integer", "default": 0, - "description": "The distance in blocks it will look for turtle eggs to move towards", + "description": "The distance in blocks it will look for turtle eggs to move towards.", "title": "Search Range" } }, diff --git a/source/behavior/entities/format/behaviors/stroll_towards_village.json b/source/behavior/entities/format/behaviors/stroll_towards_village.json index c02a3012..118eccd0 100644 --- a/source/behavior/entities/format/behaviors/stroll_towards_village.json +++ b/source/behavior/entities/format/behaviors/stroll_towards_village.json @@ -11,7 +11,7 @@ "cooldown_time": { "type": "number", "default": 0, - "description": "Time in seconds the mob has to wait before using the goal again", + "description": "Time in seconds the mob has to wait before using the goal again.", "title": "Cooldown Time" }, "goal_radius": { @@ -29,13 +29,13 @@ "speed_multiplier": { "type": "number", "default": 1, - "description": "Movement speed multiplier of the mob when using this AI Goal", + "description": "Movement speed multiplier of the mob when using this AI Goal.", "title": "Speed Multiplier" }, "start_chance": { "type": "number", "default": 0.1, - "description": "This is the chance that the mob will start this goal, from 0 to 1", + "description": "This is the chance that the mob will start this goal, from 0 to 1.", "title": "Start Chance" } }, diff --git a/source/behavior/entities/format/behaviors/summon_entity.json b/source/behavior/entities/format/behaviors/summon_entity.json index a7a10c3c..18b25815 100644 --- a/source/behavior/entities/format/behaviors/summon_entity.json +++ b/source/behavior/entities/format/behaviors/summon_entity.json @@ -11,7 +11,7 @@ }, "summon_choices": { "type": "array", - "description": "List of spells for the mob to use to summon entities", + "description": "List of spells for the mob to use to summon entities.", "title": "Summon Choices", "items": { "type": "object", @@ -19,19 +19,19 @@ "properties": { "cast_duration": { "type": "number", - "description": "Time in seconds the spell casting will take", + "description": "Time in seconds the spell casting will take.", "title": "Cast Duration" }, "cooldown_time": { "type": "number", "default": 0, - "description": "Time in seconds the mob has to wait before using the spell again", + "description": "Time in seconds the mob has to wait before using the spell again.", "title": "Cooldown Time" }, "do_casting": { "type": "boolean", "default": true, - "description": "If true, the mob will do the casting animations and render spell particles", + "description": "If true, the mob will do the casting animations and render spell particles.", "title": "Do Casting" }, "filters": { @@ -40,17 +40,17 @@ "max_activation_range": { "type": "number", "default": -1, - "description": "Upper bound of the activation distance in blocks for this spell", + "description": "Upper bound of the activation distance in blocks for this spell.", "title": "Maximum Activation Range" }, "min_activation_range": { "type": "number", "default": 1, - "description": "Lower bound of the activation distance in blocks for this spell", + "description": "Lower bound of the activation distance in blocks for this spell.", "title": "Minimum Activation Range" }, "particle_color": { - "description": "The color of the particles for this spell", + "description": "The color of the particles for this spell.", "title": "Particle Color", "oneOf": [ { @@ -65,7 +65,7 @@ }, "sequence": { "type": "array", - "description": "List of steps for the spell", + "description": "List of steps for the spell.", "title": "Sequence", "items": { "type": "object", @@ -75,14 +75,14 @@ "delay": { "type": "number", "default": 0, - "description": "Amount of time in seconds to wait before this step starts", + "description": "Amount of time in seconds to wait before this step starts.", "title": "Delay" }, "delay_per_summon": { "type": "number", "default": 0, "title": "Delay Per Summon", - "description": "Amount of time in seconds before each entity is summoned in this step" + "description": "Amount of time in seconds before each entity is summoned in this step." }, "entity_lifespan": { "type": "number", @@ -93,18 +93,18 @@ "base_delay": { "type": "number", "default": 0, - "description": "Amount of time in seconds to wait before this step starts", + "description": "Amount of time in seconds to wait before this step starts.", "title": "Base Delay" }, "entity_type": { "type": "string", - "description": "The entity type of the entities we will spawn in this step", + "description": "The entity type of the entities we will spawn in this step.", "title": "Entity Type" }, "num_entities_spawned": { "type": "integer", "default": 1, - "description": "Number of entities that will be spawned in this step", + "description": "Number of entities that will be spawned in this step.", "title": "Number Entities Spawned" }, "shape": { @@ -116,24 +116,24 @@ "size": { "type": "number", "default": 1, - "description": "The base size of the entity", + "description": "The base size of the entity.", "title": "Size" }, "sound_event": { "type": "string", - "description": "The sound event to play for this step", + "description": "The sound event to play for this step.", "title": "Sound Event" }, "summon_cap": { "type": "integer", "default": 0, - "description": "Maximum number of summoned entities at any given time", + "description": "Maximum number of summoned entities at any given time.", "title": "Summon Cap" }, "summon_cap_radius": { "type": "number", "default": 0, - "description": "Maximum radius where the summon entities can spawn", + "description": "Maximum radius where the summon entities can spawn.", "title": "Summon Cap Radius" }, "target": { @@ -147,7 +147,7 @@ }, "start_sound_event": { "type": "string", - "description": "The sound event to play when using this spell", + "description": "The sound event to play when using this spell.", "title": "Start Sound Event" }, "weight": { diff --git a/source/behavior/entities/format/behaviors/swell.json b/source/behavior/entities/format/behaviors/swell.json index d364d2b9..bf11321c 100644 --- a/source/behavior/entities/format/behaviors/swell.json +++ b/source/behavior/entities/format/behaviors/swell.json @@ -12,13 +12,13 @@ "start_distance": { "type": "number", "default": 10, - "description": "This mob starts swelling when a target is at least this many blocks away", + "description": "This mob starts swelling when a target is at least this many blocks away.", "title": "Start Distance" }, "stop_distance": { "type": "number", "default": 2, - "description": "This mob stops swelling when a target has moved away at least this many blocks", + "description": "This mob stops swelling when a target has moved away at least this many blocks.", "title": "Stop Distance" } }, diff --git a/source/behavior/entities/format/behaviors/swim_wander.json b/source/behavior/entities/format/behaviors/swim_wander.json index 552a448c..68b442ef 100644 --- a/source/behavior/entities/format/behaviors/swim_wander.json +++ b/source/behavior/entities/format/behaviors/swim_wander.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.swim_wander", - "description": "Has the fish swim around when they can't pathfind", + "description": "Has the fish swim around when they can't pathfind.", "type": "object", "title": "Swim Wander", "additionalProperties": false, diff --git a/source/behavior/entities/format/behaviors/swim_with_entity.json b/source/behavior/entities/format/behaviors/swim_with_entity.json index e312c96e..03dd5330 100644 --- a/source/behavior/entities/format/behaviors/swim_with_entity.json +++ b/source/behavior/entities/format/behaviors/swim_with_entity.json @@ -36,7 +36,7 @@ "title": "Match Direction Threshold", "type": "number", "default": 2, - "description": "Distance, from the entity being followed, at which this entity will try to match that entity's direction" + "description": "Distance, from the entity being followed, at which this entity will try to match that entity's direction." }, "catch_up_multiplier": { "title": "Catch Up Multiplier", @@ -59,7 +59,7 @@ "entity_types": { "$ref": "../types/entity_types.json", "title": "Entity Types", - "description": "Filters which determine what entites are valid to follow" + "description": "Filters which determine what entites are valid to follow." } }, "examples": [ diff --git a/source/behavior/entities/format/behaviors/target_when_pushed.json b/source/behavior/entities/format/behaviors/target_when_pushed.json index ea69c090..d30435bc 100644 --- a/source/behavior/entities/format/behaviors/target_when_pushed.json +++ b/source/behavior/entities/format/behaviors/target_when_pushed.json @@ -12,7 +12,7 @@ "entity_types": { "title": "Entity Types", "$ref": "../types/entity_types.json", - "description": "The list of conditions the other entity must meet to be a valid target" + "description": "The list of conditions the other entity must meet to be a valid target." }, "percent_chance": { "title": "Percent Chance", diff --git a/source/behavior/entities/format/behaviors/tempt.json b/source/behavior/entities/format/behaviors/tempt.json index ec313945..e8346a46 100644 --- a/source/behavior/entities/format/behaviors/tempt.json +++ b/source/behavior/entities/format/behaviors/tempt.json @@ -28,7 +28,7 @@ "items": { "type": "array", "title": "Items", - "description": "List of items this mob is tempted by", + "description": "List of items this mob is tempted by.", "items": { "$ref": "../../../../general/item/identifier.json" } @@ -57,7 +57,7 @@ "within_radius": { "type": "number", "default": 0, - "description": "Distance in blocks this mob can get tempted by a player holding an item they like", + "description": "Distance in blocks this mob can get tempted by a player holding an item they like.", "title": "Within Radius" } }, diff --git a/source/behavior/entities/format/behaviors/trade_interest.json b/source/behavior/entities/format/behaviors/trade_interest.json index 75742a0d..64b02a2b 100644 --- a/source/behavior/entities/format/behaviors/trade_interest.json +++ b/source/behavior/entities/format/behaviors/trade_interest.json @@ -12,31 +12,31 @@ "carried_item_switch_time": { "type": "number", "default": 2, - "description": "The Maximum time in seconds that the trader will hold an item before attempting to switch for a different item that takes the same trade", + "description": "The Maximum time in seconds that the trader will hold an item before attempting to switch for a different item that takes the same trade.", "title": "Carried Item Switch Time" }, "cooldown": { "type": "number", "default": 2, - "description": "The time in seconds before the trader can use this goal again", + "description": "The time in seconds before the trader can use this goal again.", "title": "Cooldown" }, "interest_time": { "type": "number", "default": 45, - "description": "The Maximum time in seconds that the trader will be interested with showing it's trade items", + "description": "The Maximum time in seconds that the trader will be interested with showing it's trade items.", "title": "Interest_time" }, "remove_item_time": { "type": "number", "default": 1, - "description": "The Maximum time in seconds that the trader will wait when you no longer have items to trade", + "description": "The Maximum time in seconds that the trader will wait when you no longer have items to trade.", "title": "Remove Item Time" }, "within_radius": { "type": "number", "default": 0, - "description": "Distance in blocks this mob can be interested by a player holding an item they like", + "description": "Distance in blocks this mob can be interested by a player holding an item they like.", "title": "Within Radius" } }, diff --git a/source/behavior/entities/format/behaviors/wither_target_highest_damage.json b/source/behavior/entities/format/behaviors/wither_target_highest_damage.json index a4204bdf..3cc90fbd 100644 --- a/source/behavior/entities/format/behaviors/wither_target_highest_damage.json +++ b/source/behavior/entities/format/behaviors/wither_target_highest_damage.json @@ -11,7 +11,7 @@ }, "entity_types": { "$ref": "../types/entity_types.json", - "description": "List of entity types the wither takes into account to find who dealt the most damage to it", + "description": "List of entity types the wither takes into account to find who dealt the most damage to it.", "title": "Entity Types" } } diff --git a/source/behavior/entities/format/behaviors/work.json b/source/behavior/entities/format/behaviors/work.json index 4400ac67..948c726e 100644 --- a/source/behavior/entities/format/behaviors/work.json +++ b/source/behavior/entities/format/behaviors/work.json @@ -2,7 +2,7 @@ "$id": "blockception.minecraft.behavior.entities.minecraft.behavior.work", "type": "object", "title": "Work", - "description": "Allows the NPC to use the POI", + "description": "Allows the NPC to use the POI.", "additionalProperties": false, "required": [], "properties": { @@ -12,7 +12,7 @@ "title": "Active Time", "type": "integer", "default": 0, - "description": "The amount of ticks the NPC will stay in their the work location" + "description": "The amount of ticks the NPC will stay in their the work location." }, "can_work_in_rain": { "title": "Can Work In Rain", @@ -24,7 +24,7 @@ "title": "Goal Cooldown", "type": "integer", "default": 0, - "description": "The amount of ticks the goal will be on cooldown before it can be used again" + "description": "The amount of ticks the goal will be on cooldown before it can be used again." }, "on_arrival": { "title": "On Arrival", diff --git a/source/behavior/entities/format/behaviors/work_composter.json b/source/behavior/entities/format/behaviors/work_composter.json index a7ae2183..730e3482 100644 --- a/source/behavior/entities/format/behaviors/work_composter.json +++ b/source/behavior/entities/format/behaviors/work_composter.json @@ -12,7 +12,7 @@ "title": "Active Time", "type": "integer", "default": 0, - "description": "The amount of ticks the NPC will stay in their the work location" + "description": "The amount of ticks the NPC will stay in their the work location." }, "block_interaction_max": { "title": "Block Interaction Max", @@ -42,7 +42,7 @@ "title": "Goal Cooldown", "type": "integer", "default": 0, - "description": "The amount of ticks the goal will be on cooldown before it can be used again" + "description": "The amount of ticks the goal will be on cooldown before it can be used again." }, "items_per_use_max": { "title": "Items Per Use Max", diff --git a/source/behavior/entities/format/components.json b/source/behavior/entities/format/components.json index 27edb56a..e17225e9 100644 --- a/source/behavior/entities/format/components.json +++ b/source/behavior/entities/format/components.json @@ -3,7 +3,7 @@ "additionalProperties": false, "type": "object", "title": "Components", - "description": "A collection of components", + "description": "A collection of components.", "required": [], "properties": { "minecraft:addrider": { "$ref": "./components/addrider.json" }, diff --git a/source/behavior/entities/format/components/addrider.json b/source/behavior/entities/format/components/addrider.json index cc7f300a..bf23c0b3 100644 --- a/source/behavior/entities/format/components/addrider.json +++ b/source/behavior/entities/format/components/addrider.json @@ -6,8 +6,8 @@ "description": "Adds a rider to the entity. Requires `minecraft:rideable.`", "required": ["entity_type"], "properties": { - "entity_type": { "type": "string", "description": "The entity type that will be riding this entity", "title": "Entity Type" }, - "spawn_event": { "type": "string", "description": "The spawn event that will be used when the riding entity is created", "title": "Spawn Event" } + "entity_type": { "type": "string", "description": "The entity type that will be riding this entity.", "title": "Entity Type" }, + "spawn_event": { "type": "string", "description": "The spawn event that will be used when the riding entity is created.", "title": "Spawn Event" } }, "examples": [{ "entity_type": "minecraft:rabbit" }, { "entity_type": "minecraft:rabbit", "spawn_event": "self:example" }] } diff --git a/source/behavior/entities/format/components/admire_item.json b/source/behavior/entities/format/components/admire_item.json index 83c52484..35400232 100644 --- a/source/behavior/entities/format/components/admire_item.json +++ b/source/behavior/entities/format/components/admire_item.json @@ -8,7 +8,7 @@ "cooldown_after_being_attacked": { "type": "integer", "default": 0, - "description": "Duration, in seconds, for which mob won't admire items if it was hurt", + "description": "Duration, in seconds, for which mob won't admire items if it was hurt.", "title": "Cooldown After Being Attacked" }, "duration": { diff --git a/source/behavior/entities/format/components/ambient_sound_interval.json b/source/behavior/entities/format/components/ambient_sound_interval.json index aa967976..ed30d3a7 100644 --- a/source/behavior/entities/format/components/ambient_sound_interval.json +++ b/source/behavior/entities/format/components/ambient_sound_interval.json @@ -19,7 +19,7 @@ "properties": { "condition": { "type": "string", - "description": "The condition that must be satisfied to select the given ambient sound", + "description": "The condition that must be satisfied to select the given ambient sound.", "title": "Condition" }, "event_name": { diff --git a/source/behavior/entities/format/components/anger_level.json b/source/behavior/entities/format/components/anger_level.json index 807347bb..39fc11e5 100644 --- a/source/behavior/entities/format/components/anger_level.json +++ b/source/behavior/entities/format/components/anger_level.json @@ -17,14 +17,14 @@ "type": "integer", "minimum": 0, "default": 20, - "description": "Anger boost applied to angry threshold when mob gets angry" + "description": "Anger boost applied to angry threshold when mob gets angry." }, "angry_threshold": { "title": "Angry Threshold", "type": "integer", "minimum": 0, "default": 80, - "description": "Threshold that define when the mob is considered angry at a nuisance" + "description": "Threshold that define when the mob is considered angry at a nuisance." }, "default_annoyingness": { "title": "Default Annoyingness", @@ -42,7 +42,7 @@ "nuisance_filter": { "title": "Nuisance Filter", "$ref": "../../filters/filters.json", - "description": "Filter that is applied to determine if a mob can be a nuisance" + "description": "Filter that is applied to determine if a mob can be a nuisance." }, "on_increase_sounds": { "title": "On Increase Sounds", @@ -52,7 +52,7 @@ "title": "Remove Targets Below Angry Threshold", "type": "boolean", "default": true, - "description": "Defines if the mob should remove target if it falls below 'angry' threshold" + "description": "Defines if the mob should remove target if it falls below 'angry' threshold." } }, "examples": [] diff --git a/source/behavior/entities/format/components/angry.json b/source/behavior/entities/format/components/angry.json index fb20e9fb..dba5067a 100644 --- a/source/behavior/entities/format/components/angry.json +++ b/source/behavior/entities/format/components/angry.json @@ -2,7 +2,7 @@ "$id": "blockception.minecraft.behavior.entities.minecraft.angry", "type": "object", "title": "Angry", - "description": "Defines the entity's 'angry' state using a timer", + "description": "Defines the entity's 'angry' state using a timer.", "additionalProperties": false, "required": [], "properties": { @@ -10,72 +10,71 @@ "title": "Broadcast Anger", "type": "boolean", "default": false, - "description": "If true, other entities of the same entity definition within the broadcastRange will also become angry" + "description": "If true, other entities of the same entity definition within the broadcastRange will also become angry." }, "broadcast_filters": { "title": "Broadcast Filters", "$ref": "../../filters/filters.json", - "description": "Conditions that make this entry in the list valid" + "description": "Conditions that make this entry in the list valid." }, "filters": { "$ref": "../../filters/filters.json", - "description": "Filter out mob types that it should not attack while angry (other Piglins)" + "description": "Filter out mob types that it should not attack while angry (other Piglins)." }, "broadcast_range": { "title": "Broadcast Range", "type": "integer", "default": 20, - "description": "Distance in blocks within which other entities of the same entity definition will become angry" + "description": "Distance in blocks within which other entities of the same entity definition will become angry." }, "broadcast_targets": { "title": "Broadcast Targets", "type": "array", - "description": "A list of entity families to broadcast anger to", + "description": "A list of entity families to broadcast anger to.", "items": { "type": "string", - "description": "An entity family", + "description": "An entity family.", "pattern": "^.+$", "title": "Broadcast Targets" - }, - + } }, "calm_event": { - "title": "Calm Event", + "title": "Calm Event", "$ref": "../types/event.json", - "description": "Event to run after the number of seconds specified in duration expires (when the entity stops being \"angry\")" + "description": "Event to run after the number of seconds specified in duration expires (when the entity stops being \"angry\")" }, "angry_sound": { "title": "Angry Sound", "type": "string", "default": "", - "description": "The sound event to play when the mob is angry" + "description": "The sound event to play when the mob is angry." }, "broadcast_anger_on_attack": { "title": "Broadcast Anger On Attack", "type": "boolean", "default": false, - "description": "If true, other entities of the same entity definition within the broadcastRange will also become angry whenever this mob attacks" + "description": "If true, other entities of the same entity definition within the broadcastRange will also become angry whenever this mob attacks." }, "broadcast_anger_on_being_attacked": { "type": "boolean", "default": false, - "description": "If true, other entities of the same entity definition within the broadcastRange will also become angry whenever this mob is attacked", + "description": "If true, other entities of the same entity definition within the broadcastRange will also become angry whenever this mob is attacked.", "title": "Broadcast Anger On Being Attacked" }, "duration": { "title": "Duration", "type": "integer", "default": 25, - "description": "The amount of time in seconds that the entity will be angry" + "description": "The amount of time in seconds that the entity will be angry." }, "duration_delta": { "title": "Duration Delta", "type": "integer", "default": 0, - "description": "Variance in seconds added to the duration [-delta, delta]" + "description": "Variance in seconds added to the duration [-delta, delta]." }, "sound_interval": { - "description": "The range of time in seconds to randomly wait before playing the sound again", + "description": "The range of time in seconds to randomly wait before playing the sound again.", "title": "Sound Interval", "oneOf": [ { @@ -85,14 +84,14 @@ { "type": "integer", "minimum": 0, - "description": "The minimum interval", + "description": "The minimum interval.", "$comment": "UNDOCUMENTED", "title": "Minimum" }, { "type": "integer", "minimum": 0, - "description": "The maximum interval", + "description": "The maximum interval.", "$comment": "UNDOCUMENTED", "title": "Maximum" } @@ -104,13 +103,13 @@ "properties": { "range_min": { "type": "number", - "description": "The minimum interval", + "description": "The minimum interval.", "$comment": "UNDOCUMENTED", "title": "Range Minimum" }, "range_max": { "type": "number", - "description": "The maximum interval", + "description": "The maximum interval.", "$comment": "UNDOCUMENTED", "title": "Range Maximum" } diff --git a/source/behavior/entities/format/components/annotation.break_door.json b/source/behavior/entities/format/components/annotation.break_door.json index 440d0d5a..c53664be 100644 --- a/source/behavior/entities/format/components/annotation.break_door.json +++ b/source/behavior/entities/format/components/annotation.break_door.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.behavior.entities.minecraft.annotation.break_door", "additionalProperties": false, - "description": "Allows the actor to break doors assuming that that flags set up for the component to use in navigation", + "description": "Allows the actor to break doors assuming that that flags set up for the component to use in navigation.", "type": "object", "title": "Annotation.break Door", "required": [], diff --git a/source/behavior/entities/format/components/annotation.open_door.json b/source/behavior/entities/format/components/annotation.open_door.json index 2076ac6e..50d82bca 100644 --- a/source/behavior/entities/format/components/annotation.open_door.json +++ b/source/behavior/entities/format/components/annotation.open_door.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.behavior.entities.minecraft.annotation.open_door", "additionalProperties": false, - "description": "Allows the actor to open doors assuming that that flags set up for the component to use in navigation", + "description": "Allows the actor to open doors assuming that that flags set up for the component to use in navigation.", "type": "object", "title": "Annotation.open Door", "required": [], diff --git a/source/behavior/entities/format/components/area_attack.json b/source/behavior/entities/format/components/area_attack.json index df2012c9..40d507fe 100644 --- a/source/behavior/entities/format/components/area_attack.json +++ b/source/behavior/entities/format/components/area_attack.json @@ -19,12 +19,12 @@ }, "entity_filter": { "$ref": "../../filters/filters.json", - "description": "Filter to see which entities can be affected by the attack", + "description": "Filter to see which entities can be affected by the attack.", "title": "Entity Filter" }, "cause": { "type": "string", - "description": "what causes the attack to occur", + "description": "what causes the attack to occur.", "title": "Cause", "$ref": "../../../../general/entity/damage_source.json" } diff --git a/source/behavior/entities/format/components/attack_damage.json b/source/behavior/entities/format/components/attack_damage.json index e4f65271..dce19762 100644 --- a/source/behavior/entities/format/components/attack_damage.json +++ b/source/behavior/entities/format/components/attack_damage.json @@ -7,11 +7,11 @@ "properties": { "value": { "type": "number", - "description": "UNDOCUMENTED: value", + "description": "UNDOCUMENTED: value.", "title": "Value" } }, - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "examples": [ { "value": 0.0 diff --git a/source/behavior/entities/format/components/balloonable.json b/source/behavior/entities/format/components/balloonable.json index d9e4c106..283d61dd 100644 --- a/source/behavior/entities/format/components/balloonable.json +++ b/source/behavior/entities/format/components/balloonable.json @@ -7,11 +7,11 @@ "properties": { "mass": { "type": "number", - "description": "UNDOCUMENTED: mass", + "description": "UNDOCUMENTED: mass.", "title": "Mass" } }, - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "examples": [ { "mass": 0.0 diff --git a/source/behavior/entities/format/components/barter.json b/source/behavior/entities/format/components/barter.json index aa1938ec..cdc097a6 100644 --- a/source/behavior/entities/format/components/barter.json +++ b/source/behavior/entities/format/components/barter.json @@ -13,7 +13,7 @@ "cooldown_after_being_attacked": { "type": "integer", "default": 0, - "description": "Duration, in seconds, for which mob won't barter items if it was hurt", + "description": "Duration, in seconds, for which mob won't barter items if it was hurt.", "title": "Cooldown After Being Attacked" } }, diff --git a/source/behavior/entities/format/components/block_sensor.json b/source/behavior/entities/format/components/block_sensor.json index f9097325..69e269fc 100644 --- a/source/behavior/entities/format/components/block_sensor.json +++ b/source/behavior/entities/format/components/block_sensor.json @@ -19,7 +19,7 @@ "items": { "title": "On Block Broken", "type": "object", - "description": "Event to run when a block breaks", + "description": "Event to run when a block breaks.", "additionalProperties": false, "properties": { "block_list": { @@ -34,7 +34,7 @@ "on_block_broken": { "title": "On Block Broken", "type": "string", - "description": "Event to run when a block breaks" + "description": "Event to run when a block breaks." } } } @@ -48,9 +48,9 @@ }, "examples": [ { - "test": "has_silk_touch", - "subject": "other", - "value": false + "test": "has_silk_touch", + "subject": "other", + "value": false } ] } diff --git a/source/behavior/entities/format/components/boostable.json b/source/behavior/entities/format/components/boostable.json index 7aa08119..6d7405d4 100644 --- a/source/behavior/entities/format/components/boostable.json +++ b/source/behavior/entities/format/components/boostable.json @@ -3,7 +3,7 @@ "type": "object", "title": "Boostable", "additionalProperties": false, - "description": "Defines the conditions and behavior of a rideable entity's boost", + "description": "Defines the conditions and behavior of a rideable entity's boost.", "properties": { "duration": { "type": "number", @@ -19,7 +19,7 @@ }, "boost_items": { "type": "array", - "description": "List of items that can be used to boost while riding this entity", + "description": "List of items that can be used to boost while riding this entity.", "title": "Boost Items", "items": { "type": "object", diff --git a/source/behavior/entities/format/components/boss.json b/source/behavior/entities/format/components/boss.json index b35ce7cb..e793f026 100644 --- a/source/behavior/entities/format/components/boss.json +++ b/source/behavior/entities/format/components/boss.json @@ -3,7 +3,7 @@ "type": "object", "title": "Boss", "additionalProperties": false, - "description": "The current state of the boss for updating the boss HUD", + "description": "The current state of the boss for updating the boss HUD.", "required": [], "properties": { "hud_range": { diff --git a/source/behavior/entities/format/components/break_blocks.json b/source/behavior/entities/format/components/break_blocks.json index 4e4d2e9f..30ce5d25 100644 --- a/source/behavior/entities/format/components/break_blocks.json +++ b/source/behavior/entities/format/components/break_blocks.json @@ -9,7 +9,7 @@ "breakable_blocks": { "type": "array", "title": "Breakable Blocks", - "description": "A list of the blocks that can be broken as this entity moves around", + "description": "A list of the blocks that can be broken as this entity moves around.", "items": { "$ref": "../../../../general/blocks_item.json" } diff --git a/source/behavior/entities/format/components/breathable.json b/source/behavior/entities/format/components/breathable.json index 3e39e551..89c7190b 100644 --- a/source/behavior/entities/format/components/breathable.json +++ b/source/behavior/entities/format/components/breathable.json @@ -9,54 +9,54 @@ "total_supply": { "type": "integer", "default": 15, - "description": "Time in seconds the entity can hold its breath", + "description": "Time in seconds the entity can hold its breath.", "title": "Total Supply" }, "suffocate_time": { "type": "integer", "default": -20, - "description": "Time in seconds between suffocation damage", + "description": "Time in seconds between suffocation damage.", "title": "Suffocate Time" }, "inhale_time": { "type": "number", "default": 0, - "description": "Time in seconds to recover breath to maximum", + "description": "Time in seconds to recover breath to maximum.", "title": "Inhale Time" }, "breathes_air": { "type": "boolean", "default": true, - "description": "If true, this entity can breathe in air", + "description": "If true, this entity can breathe in air.", "title": "Breathes Air" }, "breathes_water": { "type": "boolean", "default": false, - "description": "If true, this entity can breathe in water", + "description": "If true, this entity can breathe in water.", "title": "Breathes Water" }, "breathes_lava": { "type": "boolean", "default": false, - "description": "If true, this entity can breathe in lava", + "description": "If true, this entity can breathe in lava.", "title": "Breathes Lava" }, "breathes_solids": { "type": "boolean", "default": false, - "description": "If true, this entity can breathe in solid blocks", + "description": "If true, this entity can breathe in solid blocks.", "title": "Breathes Solids" }, "generates_bubbles": { "type": "boolean", "default": true, - "description": "If true, this entity will have visible bubbles while in water", + "description": "If true, this entity will have visible bubbles while in water.", "title": "Generates Bubbles" }, "breathe_blocks": { "type": "array", - "description": "List of blocks this entity can breathe in, in addition to the above", + "description": "List of blocks this entity can breathe in, in addition to the above.", "items": { "$ref": "../../../../general/block/identifier.json" }, @@ -64,7 +64,7 @@ }, "non_breathe_blocks": { "type": "array", - "description": "List of blocks this entity can't breathe in, in addition to the above", + "description": "List of blocks this entity can't breathe in, in addition to the above.", "items": { "$ref": "../../../../general/block/identifier.json" }, diff --git a/source/behavior/entities/format/components/breedable.json b/source/behavior/entities/format/components/breedable.json index 54f3d8a1..028e8783 100644 --- a/source/behavior/entities/format/components/breedable.json +++ b/source/behavior/entities/format/components/breedable.json @@ -87,14 +87,14 @@ "title": "Breed Cooldown" }, "breed_items": { - "description": "The list of items that can be used to get the entity into the `love` state", + "description": "The list of items that can be used to get the entity into the `love` state.", "title": "Breed Items", "oneOf": [ { "type": "array", "items": { "type": "string", - "description": "An item that can be used to get the entity into the `love` state", + "description": "An item that can be used to get the entity into the `love` state.", "$ref": "../../../../general/item/identifier.json", "title": "Breed Item" } @@ -219,7 +219,7 @@ "inherit_tamed": { "type": "boolean", "default": true, - "description": "If true, the babies will be automatically tamed if its parents are", + "description": "If true, the babies will be automatically tamed if its parents are.", "title": "Inherit Tamed" }, "require_full_health": { diff --git a/source/behavior/entities/format/components/bribeable.json b/source/behavior/entities/format/components/bribeable.json index 2f7b0b5a..a70032b2 100644 --- a/source/behavior/entities/format/components/bribeable.json +++ b/source/behavior/entities/format/components/bribeable.json @@ -9,14 +9,14 @@ "bribe_cooldown": { "type": "number", "default": 2, - "description": "Time in seconds before the Entity can be bribed again", + "description": "Time in seconds before the Entity can be bribed again.", "title": "Bribe Cooldown" }, "bribe_items": { "type": "array", - "description": "The list of items that can be used to bribe the entity", + "description": "The list of items that can be used to bribe the entity.", "items": { - "description": "An item that can be used to bribe the entity", + "description": "An item that can be used to bribe the entity.", "$ref": "../../../../general/item/identifier.json", "title": "Bribe Items" }, diff --git a/source/behavior/entities/format/components/celebrate_hunt.json b/source/behavior/entities/format/components/celebrate_hunt.json index 7d43b31d..1ce1cfe6 100644 --- a/source/behavior/entities/format/components/celebrate_hunt.json +++ b/source/behavior/entities/format/components/celebrate_hunt.json @@ -19,13 +19,13 @@ "celebrate_sound": { "type": "string", "default": "", - "description": "The sound event to play when the mob is celebrating", + "description": "The sound event to play when the mob is celebrating.", "title": "Celebrate Sound" }, "duration": { "type": "integer", "default": 4, - "description": "Duration, in seconds, of celebration", + "description": "Duration, in seconds, of celebration.", "title": "Duration" }, "radius": { @@ -36,7 +36,7 @@ }, "sound_interval": { "default": 0, - "description": "The range of time in seconds to randomly wait before playing the sound again", + "description": "The range of time in seconds to randomly wait before playing the sound again.", "title": "Sound Interval", "oneOf": [ { @@ -62,12 +62,12 @@ "range_min": { "type": "number", "title": "Minimum", - "description": "Minimum" + "description": "Minimum." }, "range_max": { "type": "number", "title": "Maximum", - "description": "Maximum" + "description": "Maximum." } } } diff --git a/source/behavior/entities/format/components/color.json b/source/behavior/entities/format/components/color.json index f1357030..75b59e03 100644 --- a/source/behavior/entities/format/components/color.json +++ b/source/behavior/entities/format/components/color.json @@ -9,7 +9,7 @@ "value": { "type": "integer", "default": 0, - "description": "The Palette Color value of the entity", + "description": "The Palette Color value of the entity.", "title": "Value" } }, diff --git a/source/behavior/entities/format/components/color2.json b/source/behavior/entities/format/components/color2.json index 19690c62..f8ce3f5d 100644 --- a/source/behavior/entities/format/components/color2.json +++ b/source/behavior/entities/format/components/color2.json @@ -9,7 +9,7 @@ "value": { "type": "integer", "default": 0, - "description": "The second Palette Color value of the entity", + "description": "The second Palette Color value of the entity.", "title": "Value" } }, diff --git a/source/behavior/entities/format/components/custom_hit_test.json b/source/behavior/entities/format/components/custom_hit_test.json index ab269ecc..31e88d64 100644 --- a/source/behavior/entities/format/components/custom_hit_test.json +++ b/source/behavior/entities/format/components/custom_hit_test.json @@ -28,7 +28,7 @@ "pivot": { "type": "array", "title": "Pivot", - "description": "The offset from the entity's anchor where the hitbox will spawn", + "description": "The offset from the entity's anchor where the hitbox will spawn.", "items": [ { "type": "number", "title": "X" }, { "type": "number", "title": "Y" }, diff --git a/source/behavior/entities/format/components/default_look_angle.json b/source/behavior/entities/format/components/default_look_angle.json index ba468276..40274e9f 100644 --- a/source/behavior/entities/format/components/default_look_angle.json +++ b/source/behavior/entities/format/components/default_look_angle.json @@ -9,7 +9,7 @@ "value": { "type": "number", "default": 0.0, - "description": "Angle in degrees", + "description": "Angle in degrees.", "title": "Value" } }, diff --git a/source/behavior/entities/format/components/despawn.json b/source/behavior/entities/format/components/despawn.json index aac6f65b..41b7f619 100644 --- a/source/behavior/entities/format/components/despawn.json +++ b/source/behavior/entities/format/components/despawn.json @@ -8,7 +8,7 @@ "despawn_from_chance": { "type": "boolean", "default": true, - "description": "Determines if `min_range_random_chance` is used in the standard despawn rules", + "description": "Determines if `min_range_random_chance` is used in the standard despawn rules.", "title": "Despawn From Chance" }, "despawn_from_distance": { diff --git a/source/behavior/entities/format/components/drying_out_timer.json b/source/behavior/entities/format/components/drying_out_timer.json index 2cd96508..6a4535eb 100644 --- a/source/behavior/entities/format/components/drying_out_timer.json +++ b/source/behavior/entities/format/components/drying_out_timer.json @@ -2,7 +2,7 @@ "$id": "blockception.minecraft.behavior.entities.minecraft.drying_out_timer", "type": "object", "title": "Drying Out Timer", - "description": "Adds a timer for drying out that will count down and fire `dried_out_event` or will stop as soon as the entity will get under rain or water and fire `stopped_drying_out_event`", + "description": "Adds a timer for drying out that will count down and fire `dried_out_event` or will stop as soon as the entity will get under rain or water and fire `stopped_drying_out_event`.", "additionalProperties": false, "properties": { "dried_out_event": { diff --git a/source/behavior/entities/format/components/dweller.json b/source/behavior/entities/format/components/dweller.json index b8eae34d..445f0d10 100644 --- a/source/behavior/entities/format/components/dweller.json +++ b/source/behavior/entities/format/components/dweller.json @@ -36,12 +36,12 @@ "first_founding_reward": { "type": "integer", "title": "First Founding Reward", - "description": "How much reputation should the players be rewarded on first founding?" + "description": "How much reputation should the players be rewarded on first founding?." }, "can_migrate": { "type": "boolean", "title": "Can Migrate", - "description": "Can this mob migrate between dwellings? Or does it only have its initial dwelling?" + "description": "Can this mob migrate between dwellings? Or does it only have its initial dwelling?." }, "dwelling_bounds_tolerance": { "title": "Dwelling Bounds Tolerance", diff --git a/source/behavior/entities/format/components/economy_trade_table.json b/source/behavior/entities/format/components/economy_trade_table.json index fcf791cf..d6563310 100644 --- a/source/behavior/entities/format/components/economy_trade_table.json +++ b/source/behavior/entities/format/components/economy_trade_table.json @@ -21,25 +21,25 @@ { "type": "integer", "title": "A", - "description": "Minimum" + "description": "Minimum." }, { "type": "integer", "title": "B", - "description": "Maximum" + "description": "Maximum." } ] }, "display_name": { "type": "string", "default": "", - "description": "Name to be displayed while trading with this entity", + "description": "Name to be displayed while trading with this entity.", "title": "Display Name" }, "hero_demand_discount": { "type": "integer", "default": -4, - "description": "Used in legacy prices to determine how much should Demand be modified by when the player has the Hero of the Village mob effect", + "description": "Used in legacy prices to determine how much should Demand be modified by when the player has the Hero of the Village mob effect.", "title": "Hero Demand Discount" }, "max_cured_discount": { @@ -51,31 +51,31 @@ { "type": "integer", "title": "A", - "description": "Minimum" + "description": "Minimum." }, { "type": "integer", "title": "B", - "description": "Maximum" + "description": "Maximum." } ] }, "max_nearby_cured_discount": { "type": "integer", "default": -200, - "description": "The Maximum the discount can be modified by when the player has cured a nearby Zombie Villager", + "description": "The Maximum the discount can be modified by when the player has cured a nearby Zombie Villager.", "title": "Maximum Nearby Cured Discount" }, "nearby_cured_discount": { "type": "integer", "default": -25, - "description": "How much should the discount be modified by when the player has cured a nearby Zombie Villager", + "description": "How much should the discount be modified by when the player has cured a nearby Zombie Villager.", "title": "Nearby Cured Discount" }, "new_screen": { "type": "boolean", "default": false, - "description": "Used to determine if trading with entity opens the new trade screen", + "description": "Used to determine if trading with entity opens the new trade screen.", "title": "New Screen" }, "persist_trades": { @@ -93,7 +93,7 @@ "table": { "type": "string", "default": "", - "description": "File path relative to the resource pack root for this entity's trades", + "description": "File path relative to the resource pack root for this entity's trades.", "title": "Table" }, "use_legacy_price_formula": { diff --git a/source/behavior/entities/format/components/entity_sensor.json b/source/behavior/entities/format/components/entity_sensor.json index 47d46519..d5671902 100644 --- a/source/behavior/entities/format/components/entity_sensor.json +++ b/source/behavior/entities/format/components/entity_sensor.json @@ -40,7 +40,7 @@ }, "event": { "title": "Event", - "description": "event", + "description": "event.", "type": "string" } }, diff --git a/source/behavior/entities/format/components/equipment.json b/source/behavior/entities/format/components/equipment.json index 3bae563a..f866ae5d 100644 --- a/source/behavior/entities/format/components/equipment.json +++ b/source/behavior/entities/format/components/equipment.json @@ -18,13 +18,13 @@ "drop_chance": { "type": "number", "title": "Drop Chance", - "description": "The chance that the item in this slot will drop", + "description": "The chance that the item in this slot will drop.", "$comment": "UNDOCUMENTED" }, "slot": { "type": "string", "title": "Slot", - "description": "The slot in which the item will drop from", + "description": "The slot in which the item will drop from.", "$comment": "UNDOCUMENTED", "examples": ["slot.weapon.mainhand"] } diff --git a/source/behavior/entities/format/components/equippable.json b/source/behavior/entities/format/components/equippable.json index 8d190a44..cce002e6 100644 --- a/source/behavior/entities/format/components/equippable.json +++ b/source/behavior/entities/format/components/equippable.json @@ -6,11 +6,11 @@ "description": "Defines an entity's behavior for having items equipped to it.", "properties": { "slots": { - "description": "List of slots and the item that can be equipped", + "description": "List of slots and the item that can be equipped.", "type": "array", "title": "Slots", "items": { - "description": "A slot and the item that can be equipped", + "description": "A slot and the item that can be equipped.", "title": "Slots", "type": "object", "properties": { @@ -26,7 +26,7 @@ "title": "Accepted Items", "items": { "type": "string", - "description": "A item name", + "description": "A item name.", "$ref": "../../../../general/item/identifier.json", "title": "Accepted Items" } diff --git a/source/behavior/entities/format/components/fall_damage.json b/source/behavior/entities/format/components/fall_damage.json index 874a6102..543f2d7c 100644 --- a/source/behavior/entities/format/components/fall_damage.json +++ b/source/behavior/entities/format/components/fall_damage.json @@ -3,14 +3,14 @@ "type": "object", "title": "Fall Damage", "additionalProperties": false, - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "required": [], "properties": { "value": { "type": "number", "default": 1, - "description": "UNDOCUMENTED: value", + "description": "UNDOCUMENTED: value.", "title": "Value" } }, diff --git a/source/behavior/entities/format/components/flying_speed.json b/source/behavior/entities/format/components/flying_speed.json index cc858363..99b5b5c8 100644 --- a/source/behavior/entities/format/components/flying_speed.json +++ b/source/behavior/entities/format/components/flying_speed.json @@ -9,7 +9,7 @@ "value": { "type": "number", "default": 0.02, - "description": "Flying speed in blocks per tick", + "description": "Flying speed in blocks per tick.", "title": "Value" } }, diff --git a/source/behavior/entities/format/components/follow_range.json b/source/behavior/entities/format/components/follow_range.json index 556fe9d3..f21e8bdb 100644 --- a/source/behavior/entities/format/components/follow_range.json +++ b/source/behavior/entities/format/components/follow_range.json @@ -7,18 +7,18 @@ "properties": { "value": { "type": "integer", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Value" }, "max": { "type": "integer", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Max" } }, - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "examples": [ { "value": 0, diff --git a/source/behavior/entities/format/components/ground_offset.json b/source/behavior/entities/format/components/ground_offset.json index 9f60e380..2f4260f3 100644 --- a/source/behavior/entities/format/components/ground_offset.json +++ b/source/behavior/entities/format/components/ground_offset.json @@ -9,7 +9,7 @@ "value": { "type": "number", "default": 0.0, - "description": "The value of the entity's offset from the terrain, in blocks", + "description": "The value of the entity's offset from the terrain, in blocks.", "title": "Value" } }, diff --git a/source/behavior/entities/format/components/grows_crop.json b/source/behavior/entities/format/components/grows_crop.json index 150ad9a6..6c9da54a 100644 --- a/source/behavior/entities/format/components/grows_crop.json +++ b/source/behavior/entities/format/components/grows_crop.json @@ -16,7 +16,7 @@ "charges": { "type": "integer", "default": 10, - "description": "Number of charges", + "description": "Number of charges.", "title": "Charges" } }, diff --git a/source/behavior/entities/format/components/healable.json b/source/behavior/entities/format/components/healable.json index a7ea37e8..8fb86d94 100644 --- a/source/behavior/entities/format/components/healable.json +++ b/source/behavior/entities/format/components/healable.json @@ -12,11 +12,11 @@ "force_use": { "type": "boolean", "default": false, - "description": "Determines if item can be used regardless of entity being at full health", + "description": "Determines if item can be used regardless of entity being at full health.", "title": "Force Use" }, "items": { - "description": "The array of items that can be used to heal this entity", + "description": "The array of items that can be used to heal this entity.", "title": "Items", "type": "array", "items": { @@ -24,17 +24,17 @@ "properties": { "filters": { "$ref": "../../filters/filters.json", - "description": "The filter group that defines the conditions for using this item to heal the entity" + "description": "The filter group that defines the conditions for using this item to heal the entity." }, "heal_amount": { "type": "integer", "default": 1, - "description": "The amount of health this entity gains when fed this item", + "description": "The amount of health this entity gains when fed this item.", "title": "Heal Amount" }, "item": { "type": "string", - "description": "Item identifier that can be used to heal this entity", + "description": "Item identifier that can be used to heal this entity.", "title": "Item" } } diff --git a/source/behavior/entities/format/components/health.json b/source/behavior/entities/format/components/health.json index 5927b70c..ffb298b4 100644 --- a/source/behavior/entities/format/components/health.json +++ b/source/behavior/entities/format/components/health.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.behavior.entities.minecraft.health", - "description": "Sets the amount of health this mob has", + "description": "Sets the amount of health this mob has.", "$comment": "UNDOCUMENTED", "type": "object", "title": "Health", @@ -9,11 +9,11 @@ "properties": { "max": { "type": "integer", - "description": "The maximum health the entity can heal", + "description": "The maximum health the entity can heal.", "title": "Maximum" }, "value": { - "description": "Current health of the entity", + "description": "Current health of the entity.", "title": "Value", "oneOf": [ { "type": "integer", "default": 1 }, @@ -24,13 +24,13 @@ "properties": { "range_min": { "title": "Range Minimum", - "description": "The minimum amount of health this mob could have", + "description": "The minimum amount of health this mob could have.", "$comment": "UNDOCUMENTED", "type": "number" }, "range_max": { "title": "Range Maximum", - "description": "The maximum amount of health this mob could have", + "description": "The maximum amount of health this mob could have.", "$comment": "UNDOCUMENTED", "type": "number" } diff --git a/source/behavior/entities/format/components/heartbeat.json b/source/behavior/entities/format/components/heartbeat.json index b4d047c3..1fbff814 100644 --- a/source/behavior/entities/format/components/heartbeat.json +++ b/source/behavior/entities/format/components/heartbeat.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.behavior.entities.minecraft.heartbeat", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "title": "Heartbeat", @@ -9,7 +9,7 @@ "properties": { "interval": { "title": "Interval", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "../../../../molang/number.json" } diff --git a/source/behavior/entities/format/components/hide.json b/source/behavior/entities/format/components/hide.json index 31254318..2b19c6a1 100644 --- a/source/behavior/entities/format/components/hide.json +++ b/source/behavior/entities/format/components/hide.json @@ -2,7 +2,7 @@ "$id": "blockception.minecraft.behavior.entities.minecraft.hide", "type": "object", "title": "Hide", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": {} diff --git a/source/behavior/entities/format/components/home.json b/source/behavior/entities/format/components/home.json index 75887473..a2b5dfd8 100644 --- a/source/behavior/entities/format/components/home.json +++ b/source/behavior/entities/format/components/home.json @@ -7,7 +7,7 @@ "properties": { "restriction_radius": { "title": "Restriction Radius", - "description": "The radius that the entity will be restricted to in relation to its home", + "description": "The radius that the entity will be restricted to in relation to its home.", "type": "integer", "default": -1 }, diff --git a/source/behavior/entities/format/components/horse.jump_strength.json b/source/behavior/entities/format/components/horse.jump_strength.json index 48be2ae8..b9a480a4 100644 --- a/source/behavior/entities/format/components/horse.jump_strength.json +++ b/source/behavior/entities/format/components/horse.jump_strength.json @@ -3,11 +3,11 @@ "type": "object", "title": "Horse Jump Strength", "additionalProperties": false, - "description": "Allows this mob to jump higher when being ridden by a player", + "description": "Allows this mob to jump higher when being ridden by a player.", "$comment": "UNDOCUMENTED", "properties": { "value": { - "description": "The multiplier to apply to the jumping height", + "description": "The multiplier to apply to the jumping height.", "$comment": "UNDOCUMENTED", "title": "Value", "oneOf": [ diff --git a/source/behavior/entities/format/components/hurt_on_condition.json b/source/behavior/entities/format/components/hurt_on_condition.json index 95f4dc2b..3f44f2ff 100644 --- a/source/behavior/entities/format/components/hurt_on_condition.json +++ b/source/behavior/entities/format/components/hurt_on_condition.json @@ -21,7 +21,7 @@ "cause": { "type": "string", "title": "Cause", - "description": "Damage cause", + "description": "Damage cause.", "$ref": "../../../../general/entity/damage_source.json" }, "damage_per_tick": { diff --git a/source/behavior/entities/format/components/inside_block_notifier.json b/source/behavior/entities/format/components/inside_block_notifier.json index cc97acc8..7a526083 100644 --- a/source/behavior/entities/format/components/inside_block_notifier.json +++ b/source/behavior/entities/format/components/inside_block_notifier.json @@ -21,13 +21,13 @@ }, "entered_block_event": { "title": "Entered Block Event", - "description": "Event to run when this mob enters a valid block", + "description": "Event to run when this mob enters a valid block.", "$comment": "UNDOCUMENTED", "$ref": "../types/event.json" }, "exited_block_event": { "title": "Exited Block Event", - "description": "Event to run when this mob leaves a valid block", + "description": "Event to run when this mob leaves a valid block.", "$comment": "UNDOCUMENTED", "$ref": "../types/event.json" } diff --git a/source/behavior/entities/format/components/interact.json b/source/behavior/entities/format/components/interact.json index 0163ac39..2ffb425b 100644 --- a/source/behavior/entities/format/components/interact.json +++ b/source/behavior/entities/format/components/interact.json @@ -153,14 +153,14 @@ "title": "Take Item", "type": "boolean", "$comment": "UNDOCUMENTED", - "description": "UNDOCUMENTED Takes an item from the player" + "description": "UNDOCUMENTED Takes an item from the player." } } } }, "properties": { "interactions": { - "description": "The interactions", + "description": "The interactions.", "title": "Interactions", "oneOf": [ { diff --git a/source/behavior/entities/format/components/inventory.json b/source/behavior/entities/format/components/inventory.json index d4f4df71..b4e32433 100644 --- a/source/behavior/entities/format/components/inventory.json +++ b/source/behavior/entities/format/components/inventory.json @@ -8,13 +8,13 @@ "additional_slots_per_strength": { "type": "integer", "default": 0, - "description": "Number of slots that this entity can gain per extra strength", + "description": "Number of slots that this entity can gain per extra strength.", "title": "Additional Slots Per Strength" }, "can_be_siphoned_from": { "type": "boolean", "default": false, - "description": "If true, the contents of this inventory can be removed by a hopper", + "description": "If true, the contents of this inventory can be removed by a hopper.", "title": "Can Be Siphoned From" }, "container_type": { @@ -27,19 +27,19 @@ "inventory_size": { "type": "integer", "default": 5, - "description": "Number of slots the container has", + "description": "Number of slots the container has.", "title": "Inventory Size" }, "private": { "type": "boolean", "default": false, - "description": "If true, only the entity can access the inventory", + "description": "If true, only the entity can access the inventory.", "title": "Private" }, "restrict_to_owner": { "type": "boolean", "default": false, - "description": "If true, the entity's inventory can only be accessed by its owner or itself", + "description": "If true, the entity's inventory can only be accessed by its owner or itself.", "title": "Restrict To Owner" } }, diff --git a/source/behavior/entities/format/components/is_dyeable.json b/source/behavior/entities/format/components/is_dyeable.json index e3b1be7f..9bcabad4 100644 --- a/source/behavior/entities/format/components/is_dyeable.json +++ b/source/behavior/entities/format/components/is_dyeable.json @@ -8,7 +8,7 @@ "properties": { "interact_text": { "type": "string", - "description": "The text that will display when interacting with this entity with a dye when playing with Touch-screen controls", + "description": "The text that will display when interacting with this entity with a dye when playing with Touch-screen controls.", "title": "Interact Text" } }, diff --git a/source/behavior/entities/format/components/is_stackable.json b/source/behavior/entities/format/components/is_stackable.json index daa92cae..3df63a57 100644 --- a/source/behavior/entities/format/components/is_stackable.json +++ b/source/behavior/entities/format/components/is_stackable.json @@ -7,7 +7,7 @@ "properties": { "value": { "title": "Value", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "type": "boolean" } } diff --git a/source/behavior/entities/format/components/item_controllable.json b/source/behavior/entities/format/components/item_controllable.json index 9722039b..bcc7ad45 100644 --- a/source/behavior/entities/format/components/item_controllable.json +++ b/source/behavior/entities/format/components/item_controllable.json @@ -1,19 +1,19 @@ { "$id": "blockception.minecraft.behavior.entities.minecraft.item_controllable", - "description": "Efines what items can be used to control this entity while ridden", + "description": "Efines what items can be used to control this entity while ridden.", "type": "object", "title": "Item Controllable", "additionalProperties": false, "required": [], "properties": { "control_items": { - "description": "List of items that can be used to control this entity", + "description": "List of items that can be used to control this entity.", "oneOf": [ { "type": "array", "items": { "type": "string", - "description": "An item that can be used to control this entity", + "description": "An item that can be used to control this entity.", "title": "Item" } }, diff --git a/source/behavior/entities/format/components/item_hopper.json b/source/behavior/entities/format/components/item_hopper.json index 24da50e9..ca9e0822 100644 --- a/source/behavior/entities/format/components/item_hopper.json +++ b/source/behavior/entities/format/components/item_hopper.json @@ -5,5 +5,5 @@ "additionalProperties": false, "required": [], "properties": {}, - "description": "Determines that this entity is an item hopper" + "description": "Determines that this entity is an item hopper." } diff --git a/source/behavior/entities/format/components/jump.static.json b/source/behavior/entities/format/components/jump.static.json index 1e3014a4..e7b2ce87 100644 --- a/source/behavior/entities/format/components/jump.static.json +++ b/source/behavior/entities/format/components/jump.static.json @@ -9,7 +9,7 @@ "jump_power": { "type": "number", "default": 0.42, - "description": "The initial vertical velocity for the jump", + "description": "The initial vertical velocity for the jump.", "title": "Jump Power" } }, diff --git a/source/behavior/entities/format/components/lava_movement.json b/source/behavior/entities/format/components/lava_movement.json index 0b919dc7..e4d7b0ca 100644 --- a/source/behavior/entities/format/components/lava_movement.json +++ b/source/behavior/entities/format/components/lava_movement.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.behavior.entities.minecraft.lava_movement", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "title": "Lava Movement", @@ -10,7 +10,7 @@ "value": { "type": "number", "title": "Value", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } }, diff --git a/source/behavior/entities/format/components/lookat.json b/source/behavior/entities/format/components/lookat.json index 51b08425..e13d937c 100644 --- a/source/behavior/entities/format/components/lookat.json +++ b/source/behavior/entities/format/components/lookat.json @@ -13,17 +13,17 @@ }, "filters": { "$ref": "../../filters/filters.json", - "description": "Defines the entities that can trigger this component", + "description": "Defines the entities that can trigger this component.", "title": "Filters" }, "look_cooldown": { "$ref": "../types/range_number_type.json", "default": [0.0, 0.0], - "description": "The range for the random amount of time during which the entity is `cooling down` and won't get angered or look for a target", + "description": "The range for the random amount of time during which the entity is `cooling down` and won't get angered or look for a target.", "title": "Look Cooldown" }, "look_event": { - "description": "The event identifier to run when the entities specified in filters look at this entity", + "description": "The event identifier to run when the entities specified in filters look at this entity.", "title": "Look Event", "$ref": "../types/event.json" }, diff --git a/source/behavior/entities/format/components/managed_wandering_trader.json b/source/behavior/entities/format/components/managed_wandering_trader.json index 9108de3b..98893ffa 100644 --- a/source/behavior/entities/format/components/managed_wandering_trader.json +++ b/source/behavior/entities/format/components/managed_wandering_trader.json @@ -5,5 +5,5 @@ "additionalProperties": false, "required": [], "properties": {}, - "description": "This component is used to implement part of the Wandering Trader behavior" + "description": "This component is used to implement part of the Wandering Trader behavior." } diff --git a/source/behavior/entities/format/components/mob_effect.json b/source/behavior/entities/format/components/mob_effect.json index 3a1400c3..b07bcf0e 100644 --- a/source/behavior/entities/format/components/mob_effect.json +++ b/source/behavior/entities/format/components/mob_effect.json @@ -26,7 +26,7 @@ "entity_filter": { "$ref": "../../filters/filters.json", "title": "Entity Filter", - "description": "Filter to use for conditions" + "description": "Filter to use for conditions." }, "mob_effect": { "title": "Mob Effect", diff --git a/source/behavior/entities/format/components/movement.glide.json b/source/behavior/entities/format/components/movement.glide.json index 4f9018cb..766d8fb8 100644 --- a/source/behavior/entities/format/components/movement.glide.json +++ b/source/behavior/entities/format/components/movement.glide.json @@ -15,13 +15,13 @@ "start_speed": { "type": "number", "title": "Start Speed", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "speed_when_turning": { "type": "number", "title": "Speed When Turning", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } }, diff --git a/source/behavior/entities/format/components/movement.json b/source/behavior/entities/format/components/movement.json index b06f33af..c99c40ab 100644 --- a/source/behavior/entities/format/components/movement.json +++ b/source/behavior/entities/format/components/movement.json @@ -2,14 +2,14 @@ "$id": "blockception.minecraft.behavior.entities.minecraft.movement", "type": "object", "title": "Movement", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "required": [], "properties": { "value": { "title": "Value", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "oneOf": [ { @@ -42,7 +42,7 @@ "max": { "type": "number", "title": "Maximum", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } }, diff --git a/source/behavior/entities/format/components/nameable.json b/source/behavior/entities/format/components/nameable.json index 6c7eeb12..b295a75e 100644 --- a/source/behavior/entities/format/components/nameable.json +++ b/source/behavior/entities/format/components/nameable.json @@ -8,18 +8,18 @@ "name_action": { "type": "object", "additionalProperties": false, - "description": "Describes the special names for this entity and the events to call when the entity acquires those names", + "description": "Describes the special names for this entity and the events to call when the entity acquires those names.", "title": "Name Action", "properties": { "name_filter": { "type": "string", "default": "", - "description": "List of special names that will cause the events defined in `on_named` to fire", + "description": "List of special names that will cause the events defined in `on_named` to fire.", "title": "Name Filter" }, "on_named": { "$ref": "../types/event.json", - "description": "Event to be called when this entity acquires the name specified in `name_filter'", + "description": "Event to be called when this entity acquires the name specified in `name_filter'.", "title": "On Named" } } @@ -29,23 +29,23 @@ "allow_name_tag_renaming": { "type": "boolean", "default": true, - "description": "If true, this entity can be renamed with name tags", + "description": "If true, this entity can be renamed with name tags.", "title": "Allow Name Tag Renaming" }, "always_show": { "type": "boolean", "default": false, - "description": "If true, the name will always be shown", + "description": "If true, the name will always be shown.", "title": "Always Show" }, "default_trigger": { "$ref": "../types/trigger.json", - "description": "Trigger to run when the entity gets named", + "description": "Trigger to run when the entity gets named.", "title": "Default Trigger" }, "name_actions": { "title": "Name Actions", - "description": "Describes the special names for this entity and the events to call when the entity acquires those names", + "description": "Describes the special names for this entity and the events to call when the entity acquires those names.", "oneOf": [ { "type": "array", diff --git a/source/behavior/entities/format/components/navigation.climb.json b/source/behavior/entities/format/components/navigation.climb.json index 6bea834e..5d432a23 100644 --- a/source/behavior/entities/format/components/navigation.climb.json +++ b/source/behavior/entities/format/components/navigation.climb.json @@ -8,119 +8,119 @@ "avoid_damage_blocks": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid blocks that cause damage when finding a path", + "description": "Tells the pathfinder to avoid blocks that cause damage when finding a path.", "title": "Avoid Damage Blocks" }, "avoid_portals": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid portals (like nether portals) when finding a path", + "description": "Tells the pathfinder to avoid portals (like nether portals) when finding a path.", "title": "Avoid Portals" }, "avoid_sun": { "type": "boolean", "default": false, - "description": "Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths", + "description": "Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths.", "title": "Avoid Sun" }, "avoid_water": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid water when creating a path", + "description": "Tells the pathfinder to avoid water when creating a path.", "title": "Avoid Water" }, "blocks_to_avoid": { "type": "array", - "description": "Tells the pathfinder which blocks to avoid when creating a path", + "description": "Tells the pathfinder which blocks to avoid when creating a path.", "title": "Blocks To Avoid", "items": { "title": "Block", - "description": "Tells the pathfinder which blocks to avoid when creating a path", + "description": "Tells the pathfinder which blocks to avoid when creating a path.", "$ref": "../../../../general/block/reference.json" } }, "can_breach": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can jump out of water (like a dolphin)", + "description": "Tells the pathfinder whether or not it can jump out of water (like a dolphin).", "title": "Can Breach" }, "can_break_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed door and break it", + "description": "Tells the pathfinder that it can path through a closed door and break it.", "title": "Can Break Doors" }, "can_jump": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it can jump up blocks", + "description": "Tells the pathfinder whether or not it can jump up blocks.", "title": "Can Jump" }, "can_open_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed door assuming the AI will open the door", + "description": "Tells the pathfinder that it can path through a closed door assuming the AI will open the door.", "title": "Can Open Doors" }, "can_open_iron_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door", + "description": "Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door.", "title": "Can Open Iron Doors" }, "can_pass_doors": { "type": "boolean", "default": true, - "description": "Whether a path can be created through a door", + "description": "Whether a path can be created through a door.", "title": "Can Pass Doors" }, "can_path_from_air": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can start pathing when in the air", + "description": "Tells the pathfinder that it can start pathing when in the air.", "title": "Can Path From Air" }, "can_path_over_lava": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel on the surface of the lava", + "description": "Tells the pathfinder whether or not it can travel on the surface of the lava.", "title": "Can Path Over Lava" }, "can_path_over_water": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel on the surface of the water", + "description": "Tells the pathfinder whether or not it can travel on the surface of the water.", "title": "Can Path Over Water" }, "can_sink": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it will be pulled down by gravity while in water", + "description": "Tells the pathfinder whether or not it will be pulled down by gravity while in water.", "title": "Can Sink" }, "can_swim": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path", + "description": "Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path.", "title": "Can Swim" }, "can_walk": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it can walk on the ground outside water", + "description": "Tells the pathfinder whether or not it can walk on the ground outside water.", "title": "Can Walk" }, "can_walk_in_lava": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel in lava like walking on ground", + "description": "Tells the pathfinder whether or not it can travel in lava like walking on ground.", "title": "Can Walk In Lava" }, "is_amphibious": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can walk on the ground underwater", + "description": "Tells the pathfinder whether or not it can walk on the ground underwater.", "title": "Is Amphibious" } }, diff --git a/source/behavior/entities/format/components/navigation.float.json b/source/behavior/entities/format/components/navigation.float.json index 0190ed04..9e6d86ec 100644 --- a/source/behavior/entities/format/components/navigation.float.json +++ b/source/behavior/entities/format/components/navigation.float.json @@ -8,119 +8,119 @@ "avoid_damage_blocks": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid blocks that cause damage when finding a path", + "description": "Tells the pathfinder to avoid blocks that cause damage when finding a path.", "title": "Avoid Damage Blocks" }, "avoid_portals": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid portals (like nether portals) when finding a path", + "description": "Tells the pathfinder to avoid portals (like nether portals) when finding a path.", "title": "Avoid Portals" }, "avoid_sun": { "type": "boolean", "default": false, - "description": "Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths", + "description": "Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths.", "title": "Avoid Sun" }, "avoid_water": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid water when creating a path", + "description": "Tells the pathfinder to avoid water when creating a path.", "title": "Avoid Water" }, "blocks_to_avoid": { "type": "array", - "description": "Tells the pathfinder which blocks to avoid when creating a path", + "description": "Tells the pathfinder which blocks to avoid when creating a path.", "title": "Blocks To Avoid", "items": { "title": "Block", - "description": "Tells the pathfinder which blocks to avoid when creating a path", + "description": "Tells the pathfinder which blocks to avoid when creating a path.", "$ref": "../../../../general/block/reference.json" } }, "can_breach": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can jump out of water (like a dolphin)", + "description": "Tells the pathfinder whether or not it can jump out of water (like a dolphin).", "title": "Can Breach" }, "can_break_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed door and break it", + "description": "Tells the pathfinder that it can path through a closed door and break it.", "title": "Can Break Doors" }, "can_jump": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it can jump up blocks", + "description": "Tells the pathfinder whether or not it can jump up blocks.", "title": "Can Jump" }, "can_open_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed door assuming the AI will open the door", + "description": "Tells the pathfinder that it can path through a closed door assuming the AI will open the door.", "title": "Can Open Doors" }, "can_open_iron_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door", + "description": "Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door.", "title": "Can Open Iron Doors" }, "can_pass_doors": { "type": "boolean", "default": true, - "description": "Whether a path can be created through a door", + "description": "Whether a path can be created through a door.", "title": "Can Pass Doors" }, "can_path_from_air": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can start pathing when in the air", + "description": "Tells the pathfinder that it can start pathing when in the air.", "title": "Can Path From Air" }, "can_path_over_lava": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel on the surface of the lava", + "description": "Tells the pathfinder whether or not it can travel on the surface of the lava.", "title": "Can Path Over Lava" }, "can_path_over_water": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel on the surface of the water", + "description": "Tells the pathfinder whether or not it can travel on the surface of the water.", "title": "Can Path Over Water" }, "can_sink": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it will be pulled down by gravity while in water", + "description": "Tells the pathfinder whether or not it will be pulled down by gravity while in water.", "title": "Can Sink" }, "can_swim": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path", + "description": "Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path.", "title": "Can Swim" }, "can_walk": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it can walk on the ground outside water", + "description": "Tells the pathfinder whether or not it can walk on the ground outside water.", "title": "Can Walk" }, "can_walk_in_lava": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel in lava like walking on ground", + "description": "Tells the pathfinder whether or not it can travel in lava like walking on ground.", "title": "Can Walk In Lava" }, "is_amphibious": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can walk on the ground underwater", + "description": "Tells the pathfinder whether or not it can walk on the ground underwater.", "title": "Is Amphibious" } }, diff --git a/source/behavior/entities/format/components/navigation.fly.json b/source/behavior/entities/format/components/navigation.fly.json index 0ca239dc..edf61829 100644 --- a/source/behavior/entities/format/components/navigation.fly.json +++ b/source/behavior/entities/format/components/navigation.fly.json @@ -8,119 +8,119 @@ "avoid_damage_blocks": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid blocks that cause damage when finding a path", + "description": "Tells the pathfinder to avoid blocks that cause damage when finding a path.", "title": "Avoid Damage Blocks" }, "avoid_portals": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid portals (like nether portals) when finding a path", + "description": "Tells the pathfinder to avoid portals (like nether portals) when finding a path.", "title": "Avoid Portals" }, "avoid_sun": { "type": "boolean", "default": false, - "description": "Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths", + "description": "Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths.", "title": "Avoid Sun" }, "avoid_water": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid water when creating a path", + "description": "Tells the pathfinder to avoid water when creating a path.", "title": "Avoid Water" }, "blocks_to_avoid": { "type": "array", - "description": "Tells the pathfinder which blocks to avoid when creating a path", + "description": "Tells the pathfinder which blocks to avoid when creating a path.", "title": "Blocks To Avoid", "items": { "title": "Block", - "description": "Tells the pathfinder which blocks to avoid when creating a path", + "description": "Tells the pathfinder which blocks to avoid when creating a path.", "$ref": "../../../../general/block/reference.json" } }, "can_breach": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can jump out of water (like a dolphin)", + "description": "Tells the pathfinder whether or not it can jump out of water (like a dolphin).", "title": "Can Breach" }, "can_break_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed door and break it", + "description": "Tells the pathfinder that it can path through a closed door and break it.", "title": "Can Break Doors" }, "can_jump": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it can jump up blocks", + "description": "Tells the pathfinder whether or not it can jump up blocks.", "title": "Can Jump" }, "can_open_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed door assuming the AI will open the door", + "description": "Tells the pathfinder that it can path through a closed door assuming the AI will open the door.", "title": "Can Open Doors" }, "can_open_iron_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door", + "description": "Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door.", "title": "Can Open Iron Doors" }, "can_pass_doors": { "type": "boolean", "default": true, - "description": "Whether a path can be created through a door", + "description": "Whether a path can be created through a door.", "title": "Can Pass Doors" }, "can_path_from_air": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can start pathing when in the air", + "description": "Tells the pathfinder that it can start pathing when in the air.", "title": "Can Path From Air" }, "can_path_over_lava": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel on the surface of the lava", + "description": "Tells the pathfinder whether or not it can travel on the surface of the lava.", "title": "Can Path Over Lava" }, "can_path_over_water": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel on the surface of the water", + "description": "Tells the pathfinder whether or not it can travel on the surface of the water.", "title": "Can Path Over Water" }, "can_sink": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it will be pulled down by gravity while in water", + "description": "Tells the pathfinder whether or not it will be pulled down by gravity while in water.", "title": "Can Sink" }, "can_swim": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path", + "description": "Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path.", "title": "Can Swim" }, "can_walk": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it can walk on the ground outside water", + "description": "Tells the pathfinder whether or not it can walk on the ground outside water.", "title": "Can Walk" }, "can_walk_in_lava": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel in lava like walking on ground", + "description": "Tells the pathfinder whether or not it can travel in lava like walking on ground.", "title": "Can Walk In Lava" }, "is_amphibious": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can walk on the ground underwater", + "description": "Tells the pathfinder whether or not it can walk on the ground underwater.", "title": "Is Amphibious" } }, diff --git a/source/behavior/entities/format/components/navigation.generic.json b/source/behavior/entities/format/components/navigation.generic.json index a5a46a0f..cfa2f5ae 100644 --- a/source/behavior/entities/format/components/navigation.generic.json +++ b/source/behavior/entities/format/components/navigation.generic.json @@ -8,119 +8,119 @@ "avoid_damage_blocks": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid blocks that cause damage when finding a path", + "description": "Tells the pathfinder to avoid blocks that cause damage when finding a path.", "title": "Avoid Damage Blocks" }, "avoid_portals": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid portals (like nether portals) when finding a path", + "description": "Tells the pathfinder to avoid portals (like nether portals) when finding a path.", "title": "Avoid Portals" }, "avoid_sun": { "type": "boolean", "default": false, - "description": "Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths", + "description": "Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths.", "title": "Avoid Sun" }, "avoid_water": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid water when creating a path", + "description": "Tells the pathfinder to avoid water when creating a path.", "title": "Avoid Water" }, "blocks_to_avoid": { "type": "array", - "description": "Tells the pathfinder which blocks to avoid when creating a path", + "description": "Tells the pathfinder which blocks to avoid when creating a path.", "title": "Blocks To Avoid", "items": { "title": "Block", - "description": "Tells the pathfinder which blocks to avoid when creating a path", + "description": "Tells the pathfinder which blocks to avoid when creating a path.", "$ref": "../../../../general/block/reference.json" } }, "can_breach": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can jump out of water (like a dolphin)", + "description": "Tells the pathfinder whether or not it can jump out of water (like a dolphin).", "title": "Can Breach" }, "can_break_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed door and break it", + "description": "Tells the pathfinder that it can path through a closed door and break it.", "title": "Can Break Doors" }, "can_jump": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it can jump up blocks", + "description": "Tells the pathfinder whether or not it can jump up blocks.", "title": "Can Jump" }, "can_open_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed door assuming the AI will open the door", + "description": "Tells the pathfinder that it can path through a closed door assuming the AI will open the door.", "title": "Can Open Doors" }, "can_open_iron_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door", + "description": "Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door.", "title": "Can Open Iron Doors" }, "can_pass_doors": { "type": "boolean", "default": true, - "description": "Whether a path can be created through a door", + "description": "Whether a path can be created through a door.", "title": "Can Pass Doors" }, "can_path_from_air": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can start pathing when in the air", + "description": "Tells the pathfinder that it can start pathing when in the air.", "title": "Can Path From Air" }, "can_path_over_lava": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel on the surface of the lava", + "description": "Tells the pathfinder whether or not it can travel on the surface of the lava.", "title": "Can Path Over Lava" }, "can_path_over_water": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel on the surface of the water", + "description": "Tells the pathfinder whether or not it can travel on the surface of the water.", "title": "Can Path Over Water" }, "can_sink": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it will be pulled down by gravity while in water", + "description": "Tells the pathfinder whether or not it will be pulled down by gravity while in water.", "title": "Can Sink" }, "can_swim": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path", + "description": "Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path.", "title": "Can Swim" }, "can_walk": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it can walk on the ground outside water", + "description": "Tells the pathfinder whether or not it can walk on the ground outside water.", "title": "Can Walk" }, "can_walk_in_lava": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel in lava like walking on ground", + "description": "Tells the pathfinder whether or not it can travel in lava like walking on ground.", "title": "Can Walk In Lava" }, "is_amphibious": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can walk on the ground underwater", + "description": "Tells the pathfinder whether or not it can walk on the ground underwater.", "title": "Is Amphibious" } }, diff --git a/source/behavior/entities/format/components/navigation.hover.json b/source/behavior/entities/format/components/navigation.hover.json index 3e8cdffc..6ce60fd6 100644 --- a/source/behavior/entities/format/components/navigation.hover.json +++ b/source/behavior/entities/format/components/navigation.hover.json @@ -8,119 +8,119 @@ "avoid_damage_blocks": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid blocks that cause damage when finding a path", + "description": "Tells the pathfinder to avoid blocks that cause damage when finding a path.", "title": "Avoid Damage Blocks" }, "avoid_portals": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid portals (like nether portals) when finding a path", + "description": "Tells the pathfinder to avoid portals (like nether portals) when finding a path.", "title": "Avoid Portals" }, "avoid_sun": { "type": "boolean", "default": false, - "description": "Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths", + "description": "Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths.", "title": "Avoid Sun" }, "avoid_water": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid water when creating a path", + "description": "Tells the pathfinder to avoid water when creating a path.", "title": "Avoid Water" }, "blocks_to_avoid": { "type": "array", - "description": "Tells the pathfinder which blocks to avoid when creating a path", + "description": "Tells the pathfinder which blocks to avoid when creating a path.", "title": "Blocks To Avoid", "items": { "title": "Block", - "description": "Tells the pathfinder which blocks to avoid when creating a path", + "description": "Tells the pathfinder which blocks to avoid when creating a path.", "$ref": "../../../../general/block/reference.json" } }, "can_breach": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can jump out of water (like a dolphin)", + "description": "Tells the pathfinder whether or not it can jump out of water (like a dolphin).", "title": "Can Breach" }, "can_break_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed door and break it", + "description": "Tells the pathfinder that it can path through a closed door and break it.", "title": "Can Break Doors" }, "can_jump": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it can jump up blocks", + "description": "Tells the pathfinder whether or not it can jump up blocks.", "title": "Can Jump" }, "can_open_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed door assuming the AI will open the door", + "description": "Tells the pathfinder that it can path through a closed door assuming the AI will open the door.", "title": "Can Open Doors" }, "can_open_iron_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door", + "description": "Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door.", "title": "Can Open Iron Doors" }, "can_pass_doors": { "type": "boolean", "default": true, - "description": "Whether a path can be created through a door", + "description": "Whether a path can be created through a door.", "title": "Can Pass Doors" }, "can_path_from_air": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can start pathing when in the air", + "description": "Tells the pathfinder that it can start pathing when in the air.", "title": "Can Path From Air" }, "can_path_over_lava": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel on the surface of the lava", + "description": "Tells the pathfinder whether or not it can travel on the surface of the lava.", "title": "Can Path Over Lava" }, "can_path_over_water": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel on the surface of the water", + "description": "Tells the pathfinder whether or not it can travel on the surface of the water.", "title": "Can Path Over Water" }, "can_sink": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it will be pulled down by gravity while in water", + "description": "Tells the pathfinder whether or not it will be pulled down by gravity while in water.", "title": "Can Sink" }, "can_swim": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path", + "description": "Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path.", "title": "Can Swim" }, "can_walk": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it can walk on the ground outside water", + "description": "Tells the pathfinder whether or not it can walk on the ground outside water.", "title": "Can Walk" }, "can_walk_in_lava": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel in lava like walking on ground", + "description": "Tells the pathfinder whether or not it can travel in lava like walking on ground.", "title": "Can Walk In Lava" }, "is_amphibious": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can walk on the ground underwater", + "description": "Tells the pathfinder whether or not it can walk on the ground underwater.", "title": "Is Amphibious" } }, diff --git a/source/behavior/entities/format/components/navigation.swim.json b/source/behavior/entities/format/components/navigation.swim.json index f570f14f..94df67e4 100644 --- a/source/behavior/entities/format/components/navigation.swim.json +++ b/source/behavior/entities/format/components/navigation.swim.json @@ -8,119 +8,119 @@ "avoid_damage_blocks": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid blocks that cause damage when finding a path", + "description": "Tells the pathfinder to avoid blocks that cause damage when finding a path.", "title": "Avoid Damage Blocks" }, "avoid_portals": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid portals (like nether portals) when finding a path", + "description": "Tells the pathfinder to avoid portals (like nether portals) when finding a path.", "title": "Avoid Portals" }, "avoid_sun": { "type": "boolean", "default": false, - "description": "Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths", + "description": "Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths.", "title": "Avoid Sun" }, "avoid_water": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid water when creating a path", + "description": "Tells the pathfinder to avoid water when creating a path.", "title": "Avoid Water" }, "blocks_to_avoid": { "type": "array", - "description": "Tells the pathfinder which blocks to avoid when creating a path", + "description": "Tells the pathfinder which blocks to avoid when creating a path.", "title": "Blocks To Avoid", "items": { "title": "Block", - "description": "Tells the pathfinder which blocks to avoid when creating a path", + "description": "Tells the pathfinder which blocks to avoid when creating a path.", "$ref": "../../../../general/block/reference.json" } }, "can_breach": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can jump out of water (like a dolphin)", + "description": "Tells the pathfinder whether or not it can jump out of water (like a dolphin).", "title": "Can Breach" }, "can_break_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed door and break it", + "description": "Tells the pathfinder that it can path through a closed door and break it.", "title": "Can Break Doors" }, "can_jump": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it can jump up blocks", + "description": "Tells the pathfinder whether or not it can jump up blocks.", "title": "Can Jump" }, "can_open_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed door assuming the AI will open the door", + "description": "Tells the pathfinder that it can path through a closed door assuming the AI will open the door.", "title": "Can Open Doors" }, "can_open_iron_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door", + "description": "Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door.", "title": "Can Open Iron Doors" }, "can_pass_doors": { "type": "boolean", "default": true, - "description": "Whether a path can be created through a door", + "description": "Whether a path can be created through a door.", "title": "Can Pass Doors" }, "can_path_from_air": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can start pathing when in the air", + "description": "Tells the pathfinder that it can start pathing when in the air.", "title": "Can Path From Air" }, "can_path_over_lava": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel on the surface of the lava", + "description": "Tells the pathfinder whether or not it can travel on the surface of the lava.", "title": "Can Path Over Lava" }, "can_path_over_water": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel on the surface of the water", + "description": "Tells the pathfinder whether or not it can travel on the surface of the water.", "title": "Can Path Over Water" }, "can_sink": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it will be pulled down by gravity while in water", + "description": "Tells the pathfinder whether or not it will be pulled down by gravity while in water.", "title": "Can Sink" }, "can_swim": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path", + "description": "Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path.", "title": "Can Swim" }, "can_walk": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it can walk on the ground outside water", + "description": "Tells the pathfinder whether or not it can walk on the ground outside water.", "title": "Can Walk" }, "can_walk_in_lava": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel in lava like walking on ground", + "description": "Tells the pathfinder whether or not it can travel in lava like walking on ground.", "title": "Can Walk In Lava" }, "is_amphibious": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can walk on the ground underwater", + "description": "Tells the pathfinder whether or not it can walk on the ground underwater.", "title": "Is Amphibious" } }, diff --git a/source/behavior/entities/format/components/navigation.walk.json b/source/behavior/entities/format/components/navigation.walk.json index 791a8ca7..48be2343 100644 --- a/source/behavior/entities/format/components/navigation.walk.json +++ b/source/behavior/entities/format/components/navigation.walk.json @@ -8,53 +8,53 @@ "avoid_damage_blocks": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid blocks that cause damage when finding a path", + "description": "Tells the pathfinder to avoid blocks that cause damage when finding a path.", "title": "Avoid Damage Blocks" }, "avoid_portals": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid portals (like nether portals) when finding a path", + "description": "Tells the pathfinder to avoid portals (like nether portals) when finding a path.", "title": "Avoid Portals" }, "avoid_sun": { "type": "boolean", "default": false, - "description": "Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths", + "description": "Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths.", "title": "Avoid Sun" }, "avoid_water": { "type": "boolean", "default": false, - "description": "Tells the pathfinder to avoid water when creating a path", + "description": "Tells the pathfinder to avoid water when creating a path.", "title": "Avoid Water" }, "blocks_to_avoid": { "type": "array", - "description": "Tells the pathfinder which blocks to avoid when creating a path", + "description": "Tells the pathfinder which blocks to avoid when creating a path.", "title": "Blocks To Avoid", "items": { "title": "Block", - "description": "Tells the pathfinder which blocks to avoid when creating a path", + "description": "Tells the pathfinder which blocks to avoid when creating a path.", "$ref": "../../../../general/block/reference.json" } }, "can_breach": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can jump out of water (like a dolphin)", + "description": "Tells the pathfinder whether or not it can jump out of water (like a dolphin).", "title": "Can Breach" }, "can_break_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed door and break it", + "description": "Tells the pathfinder that it can path through a closed door and break it.", "title": "Can Break Doors" }, "can_jump": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it can jump up blocks", + "description": "Tells the pathfinder whether or not it can jump up blocks.", "title": "Can Jump" }, "can_float": { @@ -66,67 +66,67 @@ "can_open_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed door assuming the AI will open the door", + "description": "Tells the pathfinder that it can path through a closed door assuming the AI will open the door.", "title": "Can Open Doors" }, "can_open_iron_doors": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door", + "description": "Tells the pathfinder that it can path through a closed iron door assuming the AI will open the door.", "title": "Can Open Iron Doors" }, "can_pass_doors": { "type": "boolean", "default": true, - "description": "Whether a path can be created through a door", + "description": "Whether a path can be created through a door.", "title": "Can Pass Doors" }, "can_path_from_air": { "type": "boolean", "default": false, - "description": "Tells the pathfinder that it can start pathing when in the air", + "description": "Tells the pathfinder that it can start pathing when in the air.", "title": "Can Path From Air" }, "can_path_over_lava": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel on the surface of the lava", + "description": "Tells the pathfinder whether or not it can travel on the surface of the lava.", "title": "Can Path Over Lava" }, "can_path_over_water": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel on the surface of the water", + "description": "Tells the pathfinder whether or not it can travel on the surface of the water.", "title": "Can Path Over Water" }, "can_sink": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it will be pulled down by gravity while in water", + "description": "Tells the pathfinder whether or not it will be pulled down by gravity while in water.", "title": "Can Sink" }, "can_swim": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path", + "description": "Tells the pathfinder whether or not it can path anywhere through water and plays swimming animation along that path.", "title": "Can Swim" }, "can_walk": { "type": "boolean", "default": true, - "description": "Tells the pathfinder whether or not it can walk on the ground outside water", + "description": "Tells the pathfinder whether or not it can walk on the ground outside water.", "title": "Can Walk" }, "can_walk_in_lava": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can travel in lava like walking on ground", + "description": "Tells the pathfinder whether or not it can travel in lava like walking on ground.", "title": "Can Walk In Lava" }, "is_amphibious": { "type": "boolean", "default": false, - "description": "Tells the pathfinder whether or not it can walk on the ground underwater", + "description": "Tells the pathfinder whether or not it can walk on the ground underwater.", "title": "Is Amphibious" } }, diff --git a/source/behavior/entities/format/components/npc.json b/source/behavior/entities/format/components/npc.json index b25c8b79..59984213 100644 --- a/source/behavior/entities/format/components/npc.json +++ b/source/behavior/entities/format/components/npc.json @@ -27,27 +27,27 @@ "npc_data": { "type": "object", "title": "Npc Data", - "description": "The data belonging to this npc", + "description": "The data belonging to this npc.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { "portrait_offsets": { "type": "object", "title": "Portrait Offsets", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { "translate": { "$ref": "#/definitions/rangeXYZ", "title": "Translate", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "scale": { "$ref": "#/definitions/rangeXYZ", "title": "Scale", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } @@ -55,20 +55,20 @@ "picker_offsets": { "type": "object", "title": "Picker Offsets", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { "translate": { "$ref": "#/definitions/rangeXYZ", "title": "Translate", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "scale": { "$ref": "#/definitions/rangeXYZ", "title": "Scale", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } @@ -76,18 +76,18 @@ "skin_list": { "type": "array", "title": "Skin List", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "items": { "type": "object", "title": "Skin", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { "variant": { "title": "Variant", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 diff --git a/source/behavior/entities/format/components/peek.json b/source/behavior/entities/format/components/peek.json index 61a85eb8..71bb60e9 100644 --- a/source/behavior/entities/format/components/peek.json +++ b/source/behavior/entities/format/components/peek.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.behavior.entities.minecraft.peek", - "description": "Defines the entity's `peek` behavior, defining the events that should be called during it", + "description": "Defines the entity's `peek` behavior, defining the events that should be called during it.", "type": "object", "title": "Peek", "additionalProperties": false, @@ -8,17 +8,17 @@ "properties": { "on_close": { "$ref": "../types/event.json", - "description": "Event to call when the entity is done peeking", + "description": "Event to call when the entity is done peeking.", "title": "On Close" }, "on_open": { "$ref": "../types/event.json", - "description": "Event to call when the entity starts peeking", + "description": "Event to call when the entity starts peeking.", "title": "On Open" }, "on_target_open": { "$ref": "../types/event.json", - "description": "Event to call when the entity's target entity starts peeking", + "description": "Event to call when the entity's target entity starts peeking.", "title": "On Target Open" } } diff --git a/source/behavior/entities/format/components/player.exhaustion.json b/source/behavior/entities/format/components/player.exhaustion.json index cb4beccb..c3eb79cb 100644 --- a/source/behavior/entities/format/components/player.exhaustion.json +++ b/source/behavior/entities/format/components/player.exhaustion.json @@ -3,7 +3,7 @@ "additionalProperties": false, "type": "object", "title": "Player.exhaustion", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "required": [], "properties": { @@ -11,14 +11,14 @@ "type": "number", "default": true, "title": "Value", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "max": { "type": "number", "default": true, "title": "Maximum", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } }, diff --git a/source/behavior/entities/format/components/player.experience.json b/source/behavior/entities/format/components/player.experience.json index 90c087ae..34d7eca6 100644 --- a/source/behavior/entities/format/components/player.experience.json +++ b/source/behavior/entities/format/components/player.experience.json @@ -3,7 +3,7 @@ "additionalProperties": false, "type": "object", "title": "Player.experience", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "required": [], "properties": { @@ -11,14 +11,14 @@ "type": "number", "default": true, "title": "Value", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "max": { "type": "number", "default": true, "title": "Maximum", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } }, diff --git a/source/behavior/entities/format/components/player.level.json b/source/behavior/entities/format/components/player.level.json index e90a878b..0a3d0fd3 100644 --- a/source/behavior/entities/format/components/player.level.json +++ b/source/behavior/entities/format/components/player.level.json @@ -3,7 +3,7 @@ "additionalProperties": false, "type": "object", "title": "Player.level", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "required": [], "properties": { @@ -11,14 +11,14 @@ "type": "number", "default": true, "title": "Value", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "max": { "type": "number", "default": true, "title": "Maximum", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } }, diff --git a/source/behavior/entities/format/components/player.saturation.json b/source/behavior/entities/format/components/player.saturation.json index e68ba9c5..0217b9e1 100644 --- a/source/behavior/entities/format/components/player.saturation.json +++ b/source/behavior/entities/format/components/player.saturation.json @@ -3,7 +3,7 @@ "additionalProperties": false, "type": "object", "title": "Player.saturation", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "required": [], "properties": { @@ -11,7 +11,7 @@ "type": "number", "default": true, "title": "Value", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } }, diff --git a/source/behavior/entities/format/components/preferred_path.json b/source/behavior/entities/format/components/preferred_path.json index fbe8925a..c4fff3eb 100644 --- a/source/behavior/entities/format/components/preferred_path.json +++ b/source/behavior/entities/format/components/preferred_path.json @@ -9,29 +9,29 @@ "default_block_cost": { "type": "number", "default": 0, - "description": "Cost for non-preferred blocks", + "description": "Cost for non-preferred blocks.", "title": "Default Block Cost" }, "jump_cost": { "type": "integer", "default": 0, - "description": "Added cost for jumping up a node", + "description": "Added cost for jumping up a node.", "title": "Jump Cost" }, "max_fall_blocks": { "type": "integer", "default": 3, - "description": "Distance mob can fall without taking damage", + "description": "Distance mob can fall without taking damage.", "title": "Maximum Fall Blocks" }, "preferred_path_blocks": { "type": "array", "title": "Preferred Path Blocks", - "description": "A list of blocks with their associated cost", + "description": "A list of blocks with their associated cost.", "items": { "additionalProperties": false, "type": "object", - "description": "Blocks cost", + "description": "Blocks cost.", "properties": { "cost": { "type": "number" diff --git a/source/behavior/entities/format/components/projectile.json b/source/behavior/entities/format/components/projectile.json index 550c573f..a4cd182a 100644 --- a/source/behavior/entities/format/components/projectile.json +++ b/source/behavior/entities/format/components/projectile.json @@ -110,7 +110,7 @@ "mob_effect": { "title": "Mob Effect", "$comment": "Deprecated", - "description": "SEE on_hit/mob_effect" + "description": "SEE on_hit/mob_effect." }, "offset": { "type": "array", @@ -333,7 +333,7 @@ "title": "Semi Random Diff Damage", "type": "boolean", "default": false, - "description": "If true, damage will be randomized based on damage and speed" + "description": "If true, damage will be randomized based on damage and speed." }, "set_last_hurt_requires_damage": { "title": "Set Last Hurt Requires Damage", @@ -579,7 +579,7 @@ "potion_effect": { "type": "integer", "default": -1, - "description": "Defines the effect the arrow will apply to the entity it hits", + "description": "Defines the effect the arrow will apply to the entity it hits.", "title": "Potion Effect" }, "power": { @@ -597,7 +597,7 @@ "semi_random_diff_damage": { "type": "boolean", "default": false, - "description": "If true, damage will be randomized based on damage and speed", + "description": "If true, damage will be randomized based on damage and speed.", "title": "Semi Random Diff Damage" }, "shoot_sound": { diff --git a/source/behavior/entities/format/components/push_through.json b/source/behavior/entities/format/components/push_through.json index 6c0af8e4..d75ab75c 100644 --- a/source/behavior/entities/format/components/push_through.json +++ b/source/behavior/entities/format/components/push_through.json @@ -9,7 +9,7 @@ "value": { "type": "number", "default": 0.0, - "description": "The value of the entity's push-through, in blocks", + "description": "The value of the entity's push-through, in blocks.", "title": "Value" } }, diff --git a/source/behavior/entities/format/components/rail_movement.json b/source/behavior/entities/format/components/rail_movement.json index cae4e30c..0dd51479 100644 --- a/source/behavior/entities/format/components/rail_movement.json +++ b/source/behavior/entities/format/components/rail_movement.json @@ -9,7 +9,7 @@ "max_speed": { "type": "number", "default": 0.4, - "description": "Maximum speed that this entity will move at when on the rail", + "description": "Maximum speed that this entity will move at when on the rail.", "title": "Maximum Speed" } }, diff --git a/source/behavior/entities/format/components/rail_sensor.json b/source/behavior/entities/format/components/rail_sensor.json index c1077f25..e88ccc00 100644 --- a/source/behavior/entities/format/components/rail_sensor.json +++ b/source/behavior/entities/format/components/rail_sensor.json @@ -9,41 +9,41 @@ "check_block_types": { "type": "boolean", "default": false, - "description": "If true, on tick this entity will trigger its on_deactivate behavior", + "description": "If true, on tick this entity will trigger its on_deactivate behavior.", "title": "Check Block Types" }, "eject_on_activate": { "type": "boolean", "default": true, - "description": "If true, this entity will eject all of its riders when it passes over an activated rail", + "description": "If true, this entity will eject all of its riders when it passes over an activated rail.", "title": "Eject On Activate" }, "eject_on_deactivate": { "type": "boolean", "default": false, - "description": "If true, this entity will eject all of its riders when it passes over a deactivated rail", + "description": "If true, this entity will eject all of its riders when it passes over a deactivated rail.", "title": "Eject On Deactivate" }, "on_activate": { "$ref": "../types/event.json", - "description": "Event to call when the rail is activated", + "description": "Event to call when the rail is activated.", "title": "On Activate" }, "on_deactivate": { "$ref": "../types/event.json", - "description": "Event to call when the rail is deactivated", + "description": "Event to call when the rail is deactivated.", "title": "On Deactivate" }, "tick_command_block_on_activate": { "type": "boolean", "default": true, - "description": "If true, command blocks will start ticking when passing over an activated rail", + "description": "If true, command blocks will start ticking when passing over an activated rail.", "title": "Tick Command Block On Activate" }, "tick_command_block_on_deactivate": { "type": "boolean", "default": false, - "description": "If false, command blocks will stop ticking when passing over a deactivated rail", + "description": "If false, command blocks will stop ticking when passing over a deactivated rail.", "title": "Tick Command Block On Deactivate" } }, diff --git a/source/behavior/entities/format/components/ravager_blocked.json b/source/behavior/entities/format/components/ravager_blocked.json index 2dfc01e4..7ab77640 100644 --- a/source/behavior/entities/format/components/ravager_blocked.json +++ b/source/behavior/entities/format/components/ravager_blocked.json @@ -9,12 +9,12 @@ "knockback_strength": { "type": "number", "default": 3.0, - "description": "The strength with which blocking entities should be knocked back", + "description": "The strength with which blocking entities should be knocked back.", "title": "Knockback Strength" }, "reaction_choices": { "type": "array", - "description": "A list of weighted responses to the melee attack being blocked", + "description": "A list of weighted responses to the melee attack being blocked.", "title": "Reaction Choices", "items": { "additionalProperties": false, @@ -23,12 +23,12 @@ "weight": { "type": "integer", "title": "Weight", - "description": "The chance of this reaction being picked", + "description": "The chance of this reaction being picked.", "$comment": "UNDOCUMENTED" }, "value": { "title": "Value", - "description": "An event that runs when this reaction is picked", + "description": "An event that runs when this reaction is picked.", "$comment": "UNDOCUMENTED", "$ref": "../types/event.json" } diff --git a/source/behavior/entities/format/components/rideable.json b/source/behavior/entities/format/components/rideable.json index 69d212c6..8ae5a647 100644 --- a/source/behavior/entities/format/components/rideable.json +++ b/source/behavior/entities/format/components/rideable.json @@ -17,21 +17,21 @@ "max_rider_count": { "type": "integer", "default": 0, - "description": "Defines the maximum number of riders that can be riding this entity for this seat to be valid" + "description": "Defines the maximum number of riders that can be riding this entity for this seat to be valid." }, "min_rider_count": { "type": "integer", "default": 0, - "description": "Defines the minimum number of riders that need to be riding this entity before this seat can be used" + "description": "Defines the minimum number of riders that need to be riding this entity before this seat can be used." }, "position": { "$ref": "../../../../general/vectors/number3.json", "default": [0.0, 0.0, 0.0], - "description": "Position of this seat relative to this entity's position" + "description": "Position of this seat relative to this entity's position." }, "rotate_rider_by": { "$ref": "../../../../molang/number.json", - "description": "Offset to rotate riders by" + "description": "Offset to rotate riders by." } } } @@ -40,13 +40,13 @@ "controlling_seat": { "type": "integer", "default": 0, - "description": "The seat that designates the driver of the entity", + "description": "The seat that designates the driver of the entity.", "title": "Controlling Seat" }, "crouching_skip_interact": { "type": "boolean", "default": true, - "description": "If true, this entity can't be interacted with if the entity interacting with it is crouching", + "description": "If true, this entity can't be interacted with if the entity interacting with it is crouching.", "title": "Crouching Skip Interact" }, "family_types": { @@ -54,35 +54,35 @@ "items": { "type": "string" }, - "description": "List of entities that can ride this entity", + "description": "List of entities that can ride this entity.", "title": "Family Types" }, "interact_text": { "type": "string", "default": "", - "description": "The text to display when the player can interact with the entity when playing with Touch-screen controls", + "description": "The text to display when the player can interact with the entity when playing with Touch-screen controls.", "title": "Interact Text" }, "pull_in_entities": { "type": "boolean", "default": false, - "description": "If true, this entity will pull in entities that are in the correct family_types into any available seats", + "description": "If true, this entity will pull in entities that are in the correct family_types into any available seats.", "title": "Pull In Entities" }, "rider_can_interact": { "type": "boolean", "default": false, - "description": "If true, this entity will be picked when looked at by the rider", + "description": "If true, this entity will be picked when looked at by the rider.", "title": "Rider Can Interact" }, "seat_count": { "type": "integer", "default": 1, - "description": "The number of entities that can ride this entity at the same time", + "description": "The number of entities that can ride this entity at the same time.", "title": "Seat Count" }, "seats": { - "description": "The list of positions and number of riders for each position for entities riding this entity", + "description": "The list of positions and number of riders for each position for entities riding this entity.", "title": "Seats", "oneOf": [ { diff --git a/source/behavior/entities/format/components/scale_by_age.json b/source/behavior/entities/format/components/scale_by_age.json index 3d9bf096..f4d66f3a 100644 --- a/source/behavior/entities/format/components/scale_by_age.json +++ b/source/behavior/entities/format/components/scale_by_age.json @@ -9,13 +9,13 @@ "end_scale": { "type": "number", "default": 1, - "description": "Ending scale of the entity when it's fully grown", + "description": "Ending scale of the entity when it's fully grown.", "title": "End Scale" }, "start_scale": { "type": "number", "default": 1, - "description": "Initial scale of the newborn entity", + "description": "Initial scale of the newborn entity.", "title": "Start Scale" } }, diff --git a/source/behavior/entities/format/components/shareables.json b/source/behavior/entities/format/components/shareables.json index 22a17e60..e10ae71d 100644 --- a/source/behavior/entities/format/components/shareables.json +++ b/source/behavior/entities/format/components/shareables.json @@ -31,11 +31,11 @@ }, "items": { "type": "array", - "description": "List of items that the entity wants to share", + "description": "List of items that the entity wants to share.", "items": { "type": "object", "title": "Item", - "description": "An Item that the entity wants to share", + "description": "An Item that the entity wants to share.", "additionalProperties": false, "properties": { "admire": { @@ -60,7 +60,7 @@ }, "item": { "type": "string", - "description": "The name of the item", + "description": "The name of the item.", "$ref": "../../../../general/item/identifier.json" }, "item_aux": { diff --git a/source/behavior/entities/format/components/shooter.json b/source/behavior/entities/format/components/shooter.json index ef411fe1..1f9a85a4 100644 --- a/source/behavior/entities/format/components/shooter.json +++ b/source/behavior/entities/format/components/shooter.json @@ -9,7 +9,7 @@ "type": "integer", "title": "Aux Val", "default": -1, - "description": "ID of the Potion effect to be applied on hit" + "description": "ID of the Potion effect to be applied on hit." }, "def": { "title": "Def", @@ -20,7 +20,7 @@ "type": { "title": "Type", "type": "string", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "examples": ["dragonfireball"] } diff --git a/source/behavior/entities/format/components/sittable.json b/source/behavior/entities/format/components/sittable.json index b028b3b3..ee97bff2 100644 --- a/source/behavior/entities/format/components/sittable.json +++ b/source/behavior/entities/format/components/sittable.json @@ -8,12 +8,12 @@ "properties": { "sit_event": { "$ref": "../types/event.json", - "description": "Event to run when the entity enters the `sit` state", + "description": "Event to run when the entity enters the `sit` state.", "title": "Sit Event" }, "stand_event": { "$ref": "../types/event.json", - "description": "Event to run when the entity exits the `sit` state", + "description": "Event to run when the entity exits the `sit` state.", "title": "Stand Event" } } diff --git a/source/behavior/entities/format/components/sound_volume.json b/source/behavior/entities/format/components/sound_volume.json index 34eaba36..477ecd26 100644 --- a/source/behavior/entities/format/components/sound_volume.json +++ b/source/behavior/entities/format/components/sound_volume.json @@ -9,7 +9,7 @@ "value": { "type": "number", "default": 1.0, - "description": "The value of the volume the entity uses for sound effects", + "description": "The value of the volume the entity uses for sound effects.", "title": "Value" } }, diff --git a/source/behavior/entities/format/components/spawn_entity.json b/source/behavior/entities/format/components/spawn_entity.json index 3de130c8..2e6d1de8 100644 --- a/source/behavior/entities/format/components/spawn_entity.json +++ b/source/behavior/entities/format/components/spawn_entity.json @@ -11,7 +11,7 @@ "title": "Entity Spawn", "properties": { "filters": { - "description": "If present, the specified entity will only spawn if the filter evaluates to true", + "description": "If present, the specified entity will only spawn if the filter evaluates to true.", "$ref": "../../filters/filters.json" }, "max_wait_time": { @@ -80,7 +80,7 @@ "properties": { "entities": { "title": "Entities", - "description": "The entities to spawn", + "description": "The entities to spawn.", "oneOf": [ { "type": "object", diff --git a/source/behavior/entities/format/components/spell_effects.json b/source/behavior/entities/format/components/spell_effects.json index b27a25fb..819deef7 100644 --- a/source/behavior/entities/format/components/spell_effects.json +++ b/source/behavior/entities/format/components/spell_effects.json @@ -8,7 +8,7 @@ "properties": { "add_effects": { "type": "array", - "description": "List of effects to add to this entity after adding this component", + "description": "List of effects to add to this entity after adding this component.", "items": { "oneOf": [ { "type": "string" }, @@ -58,14 +58,14 @@ }, "remove_effects": { "title": "Remove Effects", - "description": "List of identifiers of effects to be removed from this entity after adding this component", + "description": "List of identifiers of effects to be removed from this entity after adding this component.", "oneOf": [ { "type": "array", "items": { "type": ["string"], "title": "Spell Effect ID", - "description": "identifier of the effect to be removed from this entity after adding this component" + "description": "identifier of the effect to be removed from this entity after adding this component." } }, { diff --git a/source/behavior/entities/format/components/strength.json b/source/behavior/entities/format/components/strength.json index be170094..8d26ca33 100644 --- a/source/behavior/entities/format/components/strength.json +++ b/source/behavior/entities/format/components/strength.json @@ -8,13 +8,13 @@ "max": { "type": "integer", "default": 5, - "description": "The maximum strength of this entity", + "description": "The maximum strength of this entity.", "title": "Maximum" }, "value": { "type": "integer", "default": 1, - "description": "The initial value of the strength", + "description": "The initial value of the strength.", "title": "Value" } }, diff --git a/source/behavior/entities/format/components/suspect_tracking.json b/source/behavior/entities/format/components/suspect_tracking.json index 5e45c22c..6dda6994 100644 --- a/source/behavior/entities/format/components/suspect_tracking.json +++ b/source/behavior/entities/format/components/suspect_tracking.json @@ -5,5 +5,5 @@ "additionalProperties": false, "required": [], "properties": {}, - "description": "Allows this entity to remember suspicious locations" + "description": "Allows this entity to remember suspicious locations." } diff --git a/source/behavior/entities/format/components/tameable.json b/source/behavior/entities/format/components/tameable.json index 3b0e6894..dcdf9b83 100644 --- a/source/behavior/entities/format/components/tameable.json +++ b/source/behavior/entities/format/components/tameable.json @@ -17,11 +17,11 @@ "tame_event": { "title": "Tame Event", "$ref": "../types/event.json", - "description": "Event to run when this entity becomes tamed" + "description": "Event to run when this entity becomes tamed." }, "tame_items": { "title": "Tame Items", - "description": "The list of items that can be used to tame this entity", + "description": "The list of items that can be used to tame this entity.", "oneOf": [ { "type": "array", diff --git a/source/behavior/entities/format/components/tamemount.json b/source/behavior/entities/format/components/tamemount.json index 12e85753..cc827506 100644 --- a/source/behavior/entities/format/components/tamemount.json +++ b/source/behavior/entities/format/components/tamemount.json @@ -7,17 +7,17 @@ "definitions": { "feed_items": { "type": "object", - "description": "The list of items that can be used to increase the entity's temper and speed up the taming process", + "description": "The list of items that can be used to increase the entity's temper and speed up the taming process.", "properties": { "item": { "$ref": "../../../../general/item/identifier.json", - "description": "Name of the item this entity likes and can be used to increase this entity's temper", + "description": "Name of the item this entity likes and can be used to increase this entity's temper.", "title": "Item" }, "temper_mod": { "type": "number", "default": 0, - "description": "The amount of temper this entity gains when fed this item", + "description": "The amount of temper this entity gains when fed this item.", "title": "Temper Mod" } } @@ -28,7 +28,7 @@ "properties": { "item": { "$ref": "../../../../general/item/identifier.json", - "description": "Name of the item this entity dislikes and will cause it to get angry if used while untamed" + "description": "Name of the item this entity dislikes and will cause it to get angry if used while untamed." } } } @@ -58,11 +58,11 @@ }, "feed_text": { "type": "string", - "description": "The text that shows in the feeding interact button", + "description": "The text that shows in the feeding interact button.", "title": "Feed Text" }, "feed_items": { - "description": "The list of items that can be used to increase the entity's temper and speed up the taming process", + "description": "The list of items that can be used to increase the entity's temper and speed up the taming process.", "title": "Feed Items", "oneOf": [ { @@ -80,23 +80,23 @@ "max_temper": { "type": "integer", "default": 100, - "description": "The maximum value for the entity's random starting temper", + "description": "The maximum value for the entity's random starting temper.", "title": "Maximum Temper" }, "min_temper": { "type": "integer", "default": 0, - "description": "The minimum value for the entity's random starting temper", + "description": "The minimum value for the entity's random starting temper.", "title": "Minimum Temper" }, "ride_text": { "type": "string", - "description": "The text that shows in the riding interact button", + "description": "The text that shows in the riding interact button.", "title": "Ride Text" }, "tame_event": { "$ref": "../types/event.json", - "description": "Event that triggers when the entity becomes tamed", + "description": "Event that triggers when the entity becomes tamed.", "title": "Tame Event" } }, diff --git a/source/behavior/entities/format/components/target_nearby_sensor.json b/source/behavior/entities/format/components/target_nearby_sensor.json index a1116f35..08de749c 100644 --- a/source/behavior/entities/format/components/target_nearby_sensor.json +++ b/source/behavior/entities/format/components/target_nearby_sensor.json @@ -9,13 +9,13 @@ "must_see": { "type": "boolean", "default": false, - "description": "Whether the other entity needs to be visible to trigger `inside` events", + "description": "Whether the other entity needs to be visible to trigger `inside` events.", "title": "Must See" }, "inside_range": { "type": "number", "default": 1, - "description": "Maximum distance in blocks that another entity will be considered in the `inside` range", + "description": "Maximum distance in blocks that another entity will be considered in the `inside` range.", "title": "Inside Range" }, "on_inside_range": { @@ -36,7 +36,7 @@ "outside_range": { "type": "number", "default": 5, - "description": "Maximum distance in blocks that another entity will be considered in the `outside` range", + "description": "Maximum distance in blocks that another entity will be considered in the `outside` range.", "title": "Outside Range" } }, diff --git a/source/behavior/entities/format/components/teleport.json b/source/behavior/entities/format/components/teleport.json index e0b2fcf5..5675f821 100644 --- a/source/behavior/entities/format/components/teleport.json +++ b/source/behavior/entities/format/components/teleport.json @@ -9,30 +9,30 @@ "dark_teleport_chance": { "type": "number", "default": 0.01, - "description": "Modifies the chance that the entity will teleport if the entity is in darkness", + "description": "Modifies the chance that the entity will teleport if the entity is in darkness.", "title": "Dark Teleport Chance" }, "light_teleport_chance": { "type": "number", "default": 0.01, - "description": "Modifies the chance that the entity will teleport if the entity is in daylight", + "description": "Modifies the chance that the entity will teleport if the entity is in daylight.", "title": "Light Teleport Chance" }, "max_random_teleport_time": { "type": "number", "default": 20, - "description": "Maximum amount of time in seconds between random teleports", + "description": "Maximum amount of time in seconds between random teleports.", "title": "Maximum Random Teleport Time" }, "min_random_teleport_time": { "type": "number", "default": 0, - "description": "Minimum amount of time in seconds between random teleports", + "description": "Minimum amount of time in seconds between random teleports.", "title": "Minimum Random Teleport Time" }, "random_teleport_cube": { "title": "Random Teleport Cube", - "description": "Entity will teleport to a random position within the area defined by this cube", + "description": "Entity will teleport to a random position within the area defined by this cube.", "type": "array", "default": [32.0, 16.0, 32.0], "items": [ @@ -53,13 +53,13 @@ "random_teleports": { "type": "boolean", "default": true, - "description": "If true, the entity will teleport randomly", + "description": "If true, the entity will teleport randomly.", "title": "Random Teleports" }, "target_distance": { "type": "number", "default": 16, - "description": "Maximum distance the entity will teleport when chasing a target", + "description": "Maximum distance the entity will teleport when chasing a target.", "title": "Target Distance" }, "target_teleport_chance": { diff --git a/source/behavior/entities/format/components/timer.json b/source/behavior/entities/format/components/timer.json index f63a85b5..89563bee 100644 --- a/source/behavior/entities/format/components/timer.json +++ b/source/behavior/entities/format/components/timer.json @@ -9,13 +9,13 @@ "looping": { "type": "boolean", "default": true, - "description": "If true, the timer will restart every time after it fires", + "description": "If true, the timer will restart every time after it fires.", "title": "Looping" }, "randomInterval": { "type": "boolean", "default": true, - "description": "If true, the amount of time on the timer will be random between the Minimum and Maximum values specified in time", + "description": "If true, the amount of time on the timer will be random between the Minimum and Maximum values specified in time.", "title": "Random Interval" }, "time": { @@ -35,7 +35,7 @@ ] }, "time_down_event": { - "description": "Event to fire when the time on the timer runs out", + "description": "Event to fire when the time on the timer runs out.", "title": "Time Down Event", "$ref": "../types/event.json" }, @@ -52,13 +52,13 @@ "properties": { "weight": { "type": "integer", - "description": "The weight on how likely this section is to trigger", + "description": "The weight on how likely this section is to trigger.", "$comment": "UNDOCUMENTED", "title": "Weight" }, "value": { "type": "integer", - "description": "The value in seconds that would be used if this section was picked", + "description": "The value in seconds that would be used if this section was picked.", "$comment": "UNDOCUMENTED", "title": "Value" } diff --git a/source/behavior/entities/format/components/transformation.json b/source/behavior/entities/format/components/transformation.json index 336ef01c..1d7afb49 100644 --- a/source/behavior/entities/format/components/transformation.json +++ b/source/behavior/entities/format/components/transformation.json @@ -7,13 +7,13 @@ "properties": { "add": { "type": "object", - "description": "List of components to add to the entity after the transformation", + "description": "List of components to add to the entity after the transformation.", "title": "Add", "additionalProperties": false, "properties": { "component_groups": { "type": "array", - "description": "Names of component groups to add", + "description": "Names of component groups to add.", "items": { "type": "string" } @@ -22,11 +22,11 @@ }, "begin_transform_sound": { "type": "string", - "description": "Sound to play when the transformation starts", + "description": "Sound to play when the transformation starts.", "title": "Begin Transform Sound" }, "delay": { - "description": "Defines the properties of the delay for the transformation", + "description": "Defines the properties of the delay for the transformation.", "title": "Delay", "oneOf": [ { "type": "number" }, @@ -41,7 +41,7 @@ "block_chance": { "type": "number", "default": 0, - "description": "Chance that, once a block is found, will help speed up the transformation" + "description": "Chance that, once a block is found, will help speed up the transformation." }, "block_max": { "type": "integer", @@ -51,11 +51,11 @@ "block_radius": { "type": "integer", "default": 0, - "description": "Distance in Blocks that the entity will search for blocks that can help the transformation" + "description": "Distance in Blocks that the entity will search for blocks that can help the transformation." }, "block_types": { "type": "array", - "description": "List of blocks that can help the transformation of this entity", + "description": "List of blocks that can help the transformation of this entity.", "items": { "$ref": "../../../../general/block/identifier.json" } @@ -63,7 +63,7 @@ "value": { "type": "number", "default": 0, - "description": "Time in seconds before the entity transforms" + "description": "Time in seconds before the entity transforms." } } } @@ -72,19 +72,19 @@ "drop_equipment": { "type": "boolean", "default": false, - "description": "Cause the entity to drop all equipment upon transformation", + "description": "Cause the entity to drop all equipment upon transformation.", "title": "Drop Equipment" }, "drop_inventory": { "type": "boolean", "default": false, - "description": "Cause the entity to drop all items in inventory upon transformation", + "description": "Cause the entity to drop all items in inventory upon transformation.", "title": "Drop Inventory" }, "into": { "type": "string", "default": "", - "description": "Entity Definition that this entity will transform into", + "description": "Entity Definition that this entity will transform into.", "title": "Into" }, "keep_level": { @@ -102,13 +102,13 @@ "preserve_equipment": { "type": "boolean", "default": false, - "description": "Cause the entity to keep equipment after going through transformation", + "description": "Cause the entity to keep equipment after going through transformation.", "title": "Preserve Equipment" }, "transformation_sound": { "type": "string", "default": "", - "description": "Sound to play when the entity is done transforming", + "description": "Sound to play when the entity is done transforming.", "title": "Transformation Sound" } }, diff --git a/source/behavior/entities/format/components/trusting.json b/source/behavior/entities/format/components/trusting.json index 328ac335..729ef59a 100644 --- a/source/behavior/entities/format/components/trusting.json +++ b/source/behavior/entities/format/components/trusting.json @@ -14,13 +14,13 @@ }, "trust_event": { "$ref": "../types/event.json", - "description": "Event to run when this entity becomes trusting", + "description": "Event to run when this entity becomes trusting.", "title": "Trust Event" }, "trust_items": { "title": "Trust Items", "type": "array", - "description": "The list of items that can be used to get the entity to trust players", + "description": "The list of items that can be used to get the entity to trust players.", "items": { "$ref": "../../../../general/item/identifier.json", "title": "Trust Item" diff --git a/source/behavior/entities/format/components/type_family.json b/source/behavior/entities/format/components/type_family.json index 74763fdb..b9d6d749 100644 --- a/source/behavior/entities/format/components/type_family.json +++ b/source/behavior/entities/format/components/type_family.json @@ -9,8 +9,8 @@ "properties": { "family": { "type": "array", - "items": { "type": "string", "description": "Family name", "title": "Family", "examples": ["monster", "mob", "animal", "npc"] }, - "description": "List of family names", + "items": { "type": "string", "description": "Family name.", "title": "Family", "examples": ["monster", "mob", "animal", "npc"] }, + "description": "List of family names.", "title": "Family" } } diff --git a/source/behavior/entities/format/components/underwater_movement.json b/source/behavior/entities/format/components/underwater_movement.json index fd0b97d0..33f435a5 100644 --- a/source/behavior/entities/format/components/underwater_movement.json +++ b/source/behavior/entities/format/components/underwater_movement.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.behavior.entities.minecraft.underwater_movement", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "title": "Underwater Movement", @@ -10,7 +10,7 @@ "value": { "type": "number", "title": "Value", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } }, diff --git a/source/behavior/entities/format/components/vibration_listener.json b/source/behavior/entities/format/components/vibration_listener.json index c17727dd..37e9de74 100644 --- a/source/behavior/entities/format/components/vibration_listener.json +++ b/source/behavior/entities/format/components/vibration_listener.json @@ -5,5 +5,5 @@ "additionalProperties": false, "required": [], "properties": {}, - "description": "This entity will respond to vibrations" + "description": "This entity will respond to vibrations." } diff --git a/source/behavior/entities/format/events.json b/source/behavior/entities/format/events.json index 0e8dfd21..76c0b74f 100644 --- a/source/behavior/entities/format/events.json +++ b/source/behavior/entities/format/events.json @@ -2,21 +2,21 @@ "$id": "blockception.minecraft.behavior.entities.events", "type": "object", "title": "Events", - "description": "Events for entities", + "description": "Events for entities.", "additionalProperties": { "$ref": "#/definitions/event_base" }, "definitions": { "addremove": { "additionalProperties": false, "title": "Add Or Remove", - "description": "The components groups to add or remove", + "description": "The components groups to add or remove.", "type": "object", "examples": [{ "component_groups": ["self:variant1"] }], "properties": { "component_groups": { "title": "Component Groups", - "description": "The components groups to add or remove", + "description": "The components groups to add or remove.", "type": "array", - "items": { "type": "string", "description": "A reference to a component group", "title": "Component Groups" } + "items": { "type": "string", "description": "A reference to a component group.", "title": "Component Groups" } } } }, @@ -45,26 +45,26 @@ ], "properties": { "filters": { "$ref": "./../filters/filters.json" }, - "trigger": { "description": "Triggers additional events", "$comment": "UNDOCUMENTED", "title": "Trigger", "$ref": "./types/trigger.json" }, - "add": { "$ref": "#/definitions/addremove", "description": "What gets added when the event gets triggered", "title": "Add" }, - "remove": { "$ref": "#/definitions/addremove", "description": "What gets removed when the event gets triggered", "title": "Remove" }, + "trigger": { "description": "Triggers additional events.", "$comment": "UNDOCUMENTED", "title": "Trigger", "$ref": "./types/trigger.json" }, + "add": { "$ref": "#/definitions/addremove", "description": "What gets added when the event gets triggered.", "title": "Add" }, + "remove": { "$ref": "#/definitions/addremove", "description": "What gets removed when the event gets triggered.", "title": "Remove" }, "randomize": { "type": "array", - "description": "Randomly selects one of the following items based upon their weight and the total weights", + "description": "Randomly selects one of the following items based upon their weight and the total weights.", "title": "Randomize", "items": { - "description": "Randomly selects one of the following items based upon their weight and the total weights", + "description": "Randomly selects one of the following items based upon their weight and the total weights.", "title": "Randomize", "examples": [{ "add": { "component_groups": ["foo:example"] }, "weight": 1 }], "properties": { - "add": { "$ref": "#/definitions/addremove", "description": "What gets added when the event gets triggered", "title": "Add" }, - "remove": { "$ref": "#/definitions/addremove", "description": "What gets removed when the event gets triggered", "title": "Remove" }, - "trigger": { "description": "Triggers additional events", "$comment": "UNDOCUMENTED", "title": "Trigger", "$ref": "./types/trigger.json" }, + "add": { "$ref": "#/definitions/addremove", "description": "What gets added when the event gets triggered.", "title": "Add" }, + "remove": { "$ref": "#/definitions/addremove", "description": "What gets removed when the event gets triggered.", "title": "Remove" }, + "trigger": { "description": "Triggers additional events.", "$comment": "UNDOCUMENTED", "title": "Trigger", "$ref": "./types/trigger.json" }, "weight": { "type": "number", "default": 1, "minimum": 1, - "description": "The weight on how likely this section is to trigger", + "description": "The weight on how likely this section is to trigger.", "$comment": "UNDOCUMENTED", "title": "Weight" } @@ -73,16 +73,16 @@ }, "sequence": { "type": "array", - "description": "A series of filters and components to be added", + "description": "A series of filters and components to be added.", "title": "Sequences", "items": { - "description": "Filters and components to be added", + "description": "Filters and components to be added.", "title": "Sequence", "type": "object", "properties": { - "add": { "$ref": "#/definitions/addremove", "description": "What gets added when the event gets triggered", "title": "Add" }, - "remove": { "$ref": "#/definitions/addremove", "description": "What gets removed when the event gets triggered", "title": "Remove" }, - "trigger": { "description": "Triggers additional events", "$comment": "UNDOCUMENTED", "title": "Trigger", "$ref": "./types/trigger.json" }, + "add": { "$ref": "#/definitions/addremove", "description": "What gets added when the event gets triggered.", "title": "Add" }, + "remove": { "$ref": "#/definitions/addremove", "description": "What gets removed when the event gets triggered.", "title": "Remove" }, + "trigger": { "description": "Triggers additional events.", "$comment": "UNDOCUMENTED", "title": "Trigger", "$ref": "./types/trigger.json" }, "filters": { "$ref": "./../filters/filters.json" } } } diff --git a/source/behavior/entities/format/minecraft.entity.json b/source/behavior/entities/format/minecraft.entity.json index 4cf10fdf..fe9cb8e1 100644 --- a/source/behavior/entities/format/minecraft.entity.json +++ b/source/behavior/entities/format/minecraft.entity.json @@ -9,7 +9,7 @@ "description": { "required": ["identifier"], "title": "Description", - "description": "The description of the this entity", + "description": "The description of the this entity.", "properties": { "animations": { "title": "Animations", @@ -17,7 +17,7 @@ "type": "object", "additionalProperties": { "title": "Animation / Controller", - "description": "The name of the animation controller / animation", + "description": "The name of the animation controller / animation.", "type": "string", "examples": ["animation.", "controller."] } @@ -59,14 +59,14 @@ "animate": { "type": "array", "title": "Animate", - "description": "Tells minecraft to run which animation / animation controllers and under what conditions", + "description": "Tells minecraft to run which animation / animation controllers and under what conditions.", "items": { "oneOf": [ - { "type": "string", "title": "Animation", "description": "The name of an animation controller referenced in animations" }, + { "type": "string", "title": "Animation", "description": "The name of an animation controller referenced in animations." }, { "type": "object", "title": "Conditional Animation", - "description": "A conditional statement to run the animation under a specified condition", + "description": "A conditional statement to run the animation under a specified condition.", "$comment": "UNDOCUMENTED", "additionalProperties": { "type": "string", "title": "Animation" } } @@ -79,27 +79,27 @@ }, "component_groups": { "title": "Component Groups", - "description": "Each group when add / remove the default components", + "description": "Each group when add / remove the default components.", "uniqueItems": true, "type": "object", "propertyNames": { "examples": ["self:"] }, "additionalProperties": { "$ref": "./components.json", "uniqueItems": true, - "description": "The components that are added as the foundation of the entity", + "description": "The components that are added as the foundation of the entity.", "title": "Component" } }, "components": { "$ref": "./components.json", "uniqueItems": true, - "description": "The components that are added as the foundation of the entity", + "description": "The components that are added as the foundation of the entity.", "title": "Component" }, "events": { "$ref": "./events.json", "uniqueItems": true, - "description": "The events that the entity can run, these add or remove components_groups", + "description": "The events that the entity can run, these add or remove components_groups.", "title": "Events" } } diff --git a/source/behavior/entities/format/types/entity_types.json b/source/behavior/entities/format/types/entity_types.json index 5713b91e..5d0ee5e4 100644 --- a/source/behavior/entities/format/types/entity_types.json +++ b/source/behavior/entities/format/types/entity_types.json @@ -3,14 +3,14 @@ "title": "Entity Types", "definitions": { "entity_definition": { - "description": "The entity type", + "description": "The entity type.", "title": "Entity Type", "type": "object", "properties": { "filters": { "type": "object", "$ref": "../../filters/filters.json" }, "max_dist": { "type": "number", - "description": "Maximum distance this mob can be away to be a valid choice", + "description": "Maximum distance this mob can be away to be a valid choice.", "default": 16, "title": "Maximum Dist" }, @@ -28,13 +28,13 @@ }, "must_see": { "type": "boolean", - "description": "If true, the mob has to be visible to be a valid choice", + "description": "If true, the mob has to be visible to be a valid choice.", "default": false, "title": "Must See" }, "must_see_forget_duration": { "type": "number", - "description": "Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more", + "description": "Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more.", "default": 3, "title": "Must See Forget Duration" } diff --git a/source/behavior/entities/format/types/event.json b/source/behavior/entities/format/types/event.json index b1f8b866..d64963c8 100644 --- a/source/behavior/entities/format/types/event.json +++ b/source/behavior/entities/format/types/event.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.entities.event", "title": "Event", - "description": "Minecraft behavior event", + "description": "Minecraft behavior event.", "examples": ["example:foo", { "event": "example:foo", "target": "self" }], "defaultSnippets": [ { @@ -10,14 +10,14 @@ } ], "oneOf": [ - { "type": "string", "pattern": "^[a-zA-Z0-9_\\-:]+$", "description": "The event to fire" }, + { "type": "string", "pattern": "^[a-zA-Z0-9_\\-:]+$", "description": "The event to fire." }, { "type": "object", "properties": { - "event": { "type": "string", "pattern": "^[a-zA-Z0-9_\\-:]+$", "description": "The event to fire", "title": "Event" }, + "event": { "type": "string", "pattern": "^[a-zA-Z0-9_\\-:]+$", "description": "The event to fire.", "title": "Event" }, "target": { "type": "string", - "description": "The target of the event", + "description": "The target of the event.", "title": "Target", "enum": ["baby", "block", "damager", "other", "parent", "player", "self", "target"] } diff --git a/source/behavior/entities/format/types/range_number_type.json b/source/behavior/entities/format/types/range_number_type.json index 79e28274..05bb0966 100644 --- a/source/behavior/entities/format/types/range_number_type.json +++ b/source/behavior/entities/format/types/range_number_type.json @@ -1,15 +1,15 @@ { "$id": "blockception.minecraft.behavior.entities.type.range_number_type", "title": "Range [A, B]", - "description": "A described range", + "description": "A described range.", "examples": [[0.0, 1.0]], "oneOf": [ { "type": "number" }, { "type": "array", "items": [ - { "type": "number", "title": "A", "description": "The first value of the range" }, - { "type": "number", "title": "B", "description": "The second value of the range" } + { "type": "number", "title": "A", "description": "The first value of the range." }, + { "type": "number", "title": "B", "description": "The second value of the range." } ] }, { @@ -19,12 +19,12 @@ "range_min": { "type": "number", "title": "Range Min", - "description": "The minimum value of the range" + "description": "The minimum value of the range." }, "range_max": { "type": "number", "title": "Range Max", - "description": "The maximum value of the range" + "description": "The maximum value of the range." } } } diff --git a/source/behavior/entities/format/types/trigger.json b/source/behavior/entities/format/types/trigger.json index 53c35cd0..f254229b 100644 --- a/source/behavior/entities/format/types/trigger.json +++ b/source/behavior/entities/format/types/trigger.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.behavior.entities.type.trigger", "title": "Trigger", - "description": "Trigger to fire", + "description": "Trigger to fire.", "examples": [ "event:example", { diff --git a/source/behavior/feature_rules/1.13.0/feature_rules.json b/source/behavior/feature_rules/1.13.0/feature_rules.json index 5b0c6752..c257252c 100644 --- a/source/behavior/feature_rules/1.13.0/feature_rules.json +++ b/source/behavior/feature_rules/1.13.0/feature_rules.json @@ -10,7 +10,7 @@ "definitions": { "coord_dist": { "title": "", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "oneOf": [ { @@ -25,14 +25,14 @@ "properties": { "numerator": { "title": "Numerator", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 1 }, "denominator": { "title": "Denominator", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 1 @@ -57,7 +57,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, @@ -124,7 +124,7 @@ }, "iterations": { "title": "Iterations", - "description": "Number of scattered positions to generate", + "description": "Number of scattered positions to generate.", "$ref": "../../../molang/number.json" }, "scatter_chance": { @@ -141,14 +141,14 @@ "properties": { "numerator": { "title": "Numerator", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 1 }, "denominator": { "title": "Denominator", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 1 diff --git a/source/behavior/features/1.13.0/features/minecraft.aggregate_feature.json b/source/behavior/features/1.13.0/features/minecraft.aggregate_feature.json index 9394c300..fdb5385c 100644 --- a/source/behavior/features/1.13.0/features/minecraft.aggregate_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.aggregate_feature.json @@ -7,7 +7,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], @@ -27,7 +27,7 @@ "minItems": 1, "items": { "title": "Feature", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" } diff --git a/source/behavior/features/1.13.0/features/minecraft.beards_and_shavers.json b/source/behavior/features/1.13.0/features/minecraft.beards_and_shavers.json index 5b789865..ae52bf33 100644 --- a/source/behavior/features/1.13.0/features/minecraft.beards_and_shavers.json +++ b/source/behavior/features/1.13.0/features/minecraft.beards_and_shavers.json @@ -7,7 +7,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], @@ -28,7 +28,7 @@ }, "bounding_box_min": { "title": "Bounding Box Min", - "description": "Dimensions of the Bounding Box", + "description": "Dimensions of the Bounding Box.", "type": "array", "items": [ { "type": "number", "title": "X" }, @@ -38,7 +38,7 @@ }, "bounding_box_max": { "title": "Bounding Box Max", - "description": "Dimensions of the Bounding Box", + "description": "Dimensions of the Bounding Box.", "type": "array", "items": [ { "type": "number", "title": "X" }, @@ -48,7 +48,7 @@ }, "y_delta": { "title": "Y Delta", - "description": "Y Delta for BAS", + "description": "Y Delta for BAS.", "type": "number" }, "surface_block_type": { @@ -65,12 +65,12 @@ }, "beard_raggedness_min": { "title": "Beard Raggedness Min", - "description": "Y Delta for BAS", + "description": "Y Delta for BAS.", "type": "number" }, "beard_raggedness_max": { "title": "Beard Raggedness Max", - "description": "Y Delta for BAS", + "description": "Y Delta for BAS.", "type": "number" } } diff --git a/source/behavior/features/1.13.0/features/minecraft.cave_carver_feature.json b/source/behavior/features/1.13.0/features/minecraft.cave_carver_feature.json index dd3c3943..3da71000 100644 --- a/source/behavior/features/1.13.0/features/minecraft.cave_carver_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.cave_carver_feature.json @@ -7,7 +7,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], diff --git a/source/behavior/features/1.13.0/features/minecraft.conditional_list.json b/source/behavior/features/1.13.0/features/minecraft.conditional_list.json index 223dc084..9c0ec219 100644 --- a/source/behavior/features/1.13.0/features/minecraft.conditional_list.json +++ b/source/behavior/features/1.13.0/features/minecraft.conditional_list.json @@ -7,7 +7,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], @@ -38,7 +38,7 @@ }, "condition": { "title": "Condition", - "description": "Condition for placing associated Feature", + "description": "Condition for placing associated Feature.", "$ref": "../../../../molang/string.json" } } diff --git a/source/behavior/features/1.13.0/features/minecraft.geode_feature.json b/source/behavior/features/1.13.0/features/minecraft.geode_feature.json index 253bb251..602e9cfb 100644 --- a/source/behavior/features/1.13.0/features/minecraft.geode_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.geode_feature.json @@ -65,7 +65,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], @@ -115,7 +115,7 @@ "minItems": 1, "items": { "title": "Block reference", - "description": "A block that may be replaced during placement", + "description": "A block that may be replaced during placement.", "$ref": "../../../../general/block/identifier.json" } }, diff --git a/source/behavior/features/1.13.0/features/minecraft.growing_plant_feature.json b/source/behavior/features/1.13.0/features/minecraft.growing_plant_feature.json index 4c1d42a2..73ffae4c 100644 --- a/source/behavior/features/1.13.0/features/minecraft.growing_plant_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.growing_plant_feature.json @@ -7,7 +7,7 @@ "definitions": { "range": { "title": "Range", - "description": "A range", + "description": "A range.", "type": "object", "required": ["range_min", "range_max"], "examples": [{ "range_min": 8, "range_max": 9 }], @@ -15,12 +15,12 @@ "range_max": { "title": "Range Max", "type": "integer", - "description": "The maximum plant height" + "description": "The maximum plant height." }, "range_min": { "title": "Range Min", "type": "integer", - "description": "The minimum plant height" + "description": "The minimum plant height." } } }, @@ -59,7 +59,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], diff --git a/source/behavior/features/1.13.0/features/minecraft.hell_cave_carver_feature.json b/source/behavior/features/1.13.0/features/minecraft.hell_cave_carver_feature.json index 0229cf8e..4d8dd63b 100644 --- a/source/behavior/features/1.13.0/features/minecraft.hell_cave_carver_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.hell_cave_carver_feature.json @@ -7,7 +7,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], diff --git a/source/behavior/features/1.13.0/features/minecraft.multiface_feature.json b/source/behavior/features/1.13.0/features/minecraft.multiface_feature.json index 8206a079..4b1b6173 100644 --- a/source/behavior/features/1.13.0/features/minecraft.multiface_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.multiface_feature.json @@ -3,19 +3,11 @@ "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" - ], + "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", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], @@ -43,22 +35,22 @@ }, "can_place_on_floor": { "title": "Can Place On Floor", - "description": "Can this feature be placed on the ground (top face of a block)?", + "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)?", + "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)?", + "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?", + "description": "For each block placed by this feature, how likely will that block spread to another?.", "type": "number", "minimum": 0.0, "maximum": 1.0 diff --git a/source/behavior/features/1.13.0/features/minecraft.ore_feature.json b/source/behavior/features/1.13.0/features/minecraft.ore_feature.json index 7bb933d7..72f4d044 100644 --- a/source/behavior/features/1.13.0/features/minecraft.ore_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.ore_feature.json @@ -7,7 +7,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], diff --git a/source/behavior/features/1.13.0/features/minecraft.rect_layout.json b/source/behavior/features/1.13.0/features/minecraft.rect_layout.json index fb5436e0..d62c1507 100644 --- a/source/behavior/features/1.13.0/features/minecraft.rect_layout.json +++ b/source/behavior/features/1.13.0/features/minecraft.rect_layout.json @@ -7,7 +7,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], @@ -27,14 +27,14 @@ }, "feature_areas": { "title": "Feature Areas", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "minItems": 1, "maxItems": 4294967295, "items": { "type": "object", "title": "Feature Area", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { diff --git a/source/behavior/features/1.13.0/features/minecraft.scan_surface.json b/source/behavior/features/1.13.0/features/minecraft.scan_surface.json index 06888d38..515abb72 100644 --- a/source/behavior/features/1.13.0/features/minecraft.scan_surface.json +++ b/source/behavior/features/1.13.0/features/minecraft.scan_surface.json @@ -7,7 +7,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], @@ -22,7 +22,7 @@ }, "scan_surface_feature": { "title": "Scan Surface Feature", - "description": "Named reference of feature to be placed", + "description": "Named reference of feature to be placed.", "type": "string", "$ref": "../../../../general/feature/identifier.json" } diff --git a/source/behavior/features/1.13.0/features/minecraft.scatter_feature.json b/source/behavior/features/1.13.0/features/minecraft.scatter_feature.json index 09670095..a146348b 100644 --- a/source/behavior/features/1.13.0/features/minecraft.scatter_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.scatter_feature.json @@ -20,37 +20,37 @@ "properties": { "distribution": { "title": "Distribution", - "description": "Type of distribution - uniform random, gaussian (centered in the range), or grid (either fixed-step or jittered)", + "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", + "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", + "description": "When the distribution type is grid, defines the offset along this axis.", "type": "integer", "minimum": 0 }, "extent": { "title": "Extent", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": [ { "title": "Lower Bound", "$ref": "../../../../molang/number.json", - "description": "Lower bound (inclusive) of the scatter range, as an offset from the input point to scatter around" + "description": "Lower bound (inclusive) of the scatter range, as an offset from the input point to scatter around." }, { "title": "Upper Bound", "$ref": "../../../../molang/number.json", - "description": "Upper bound (inclusive) of the scatter range, as an offset from the input point to scatter around" + "description": "Upper bound (inclusive) of the scatter range, as an offset from the input point to scatter around." } ] } @@ -62,7 +62,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], @@ -77,7 +77,7 @@ }, "places_feature": { "title": "Places Feature", - "description": "Named reference of feature to be placed", + "description": "Named reference of feature to be placed.", "type": "string", "$ref": "../../../../general/feature/identifier.json" }, @@ -88,7 +88,7 @@ }, "iterations": { "title": "Iterations", - "description": "Number of scattered positions to generate", + "description": "Number of scattered positions to generate.", "$ref": "../../../../molang/number.json" }, "scatter_chance": { @@ -101,13 +101,13 @@ "properties": { "numerator": { "title": "Numerator", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "type": "integer", "minimum": 1 }, "denominator": { "title": "Denominator", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "type": "integer", "minimum": 1 } diff --git a/source/behavior/features/1.13.0/features/minecraft.search_feature.json b/source/behavior/features/1.13.0/features/minecraft.search_feature.json index f3f78f8e..4d6b8f59 100644 --- a/source/behavior/features/1.13.0/features/minecraft.search_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.search_feature.json @@ -7,7 +7,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], @@ -22,7 +22,7 @@ }, "places_feature": { "title": "Places Feature", - "description": "Named reference of feature to be placed", + "description": "Named reference of feature to be placed.", "type": "string", "$ref": "../../../../general/feature/identifier.json" }, @@ -35,7 +35,7 @@ "properties": { "max": { "title": "Max", - "description": "Maximum extent of the bounding volume expressed as [ x, y, z ]", + "description": "Maximum extent of the bounding volume expressed as [ x, y, z ].", "type": "array", "items": [ { "title": "Maximum X", "type": "integer" }, @@ -45,7 +45,7 @@ }, "min": { "title": "Min", - "description": "Maxium extent of the bounding volume expressed as [ x, y, z ]", + "description": "Maxium extent of the bounding volume expressed as [ x, y, z ].", "type": "array", "items": [ { "title": "Minimum X", "type": "integer" }, @@ -57,13 +57,13 @@ }, "search_axis": { "title": "Search Axis", - "description": "Axis that the search will sweep along through the `search_volume`", + "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", + "description": "Number of valid positions the search must find in order to place the referenced feature.", "type": "integer", "minimum": 1 } diff --git a/source/behavior/features/1.13.0/features/minecraft.sequence_feature.json b/source/behavior/features/1.13.0/features/minecraft.sequence_feature.json index b50a0389..de72289a 100644 --- a/source/behavior/features/1.13.0/features/minecraft.sequence_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.sequence_feature.json @@ -7,7 +7,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], diff --git a/source/behavior/features/1.13.0/features/minecraft.single_block_feature.json b/source/behavior/features/1.13.0/features/minecraft.single_block_feature.json index 14aab9f3..5d0db636 100644 --- a/source/behavior/features/1.13.0/features/minecraft.single_block_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.single_block_feature.json @@ -6,16 +6,13 @@ "required": ["description", "places_block", "enforce_placement_rules", "enforce_survivability_rules"], "definitions": { "block_side": { - "oneOf": [ - { "type": "string" }, - { "type": "array", "items": { "title": "Block Side", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "string" } } - ] + "oneOf": [{ "type": "string" }, { "type": "array", "items": { "title": "Block Side", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" } }] } }, "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], @@ -46,7 +43,7 @@ }, "may_attach_to": { "title": "May Attach To", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, @@ -54,7 +51,7 @@ "properties": { "min_sides_must_attach": { "title": "Minimum Sides Must Attach", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "minimum": 1, "maximum": 4 @@ -63,14 +60,14 @@ "title": "Auto Rotate", "description": "Automatically rotate the block to attach sensibly." }, - "top": { "title": "Top", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/block_side" }, - "bottom": { "title": "Bottom", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/block_side" }, - "north": { "title": "North", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/block_side" }, - "south": { "title": "South", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/block_side" }, - "east": { "title": "East", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/block_side" }, - "west": { "title": "West", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/block_side" }, - "all": { "title": "All", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/block_side" }, - "sides": { "title": "Sides", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/block_side" } + "top": { "title": "Top", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/block_side" }, + "bottom": { "title": "Bottom", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/block_side" }, + "north": { "title": "North", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/block_side" }, + "south": { "title": "South", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/block_side" }, + "east": { "title": "East", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/block_side" }, + "west": { "title": "West", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/block_side" }, + "all": { "title": "All", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/block_side" }, + "sides": { "title": "Sides", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/block_side" } } }, "may_replace": { diff --git a/source/behavior/features/1.13.0/features/minecraft.snap_to_surface_feature.json b/source/behavior/features/1.13.0/features/minecraft.snap_to_surface_feature.json index 12cd322f..d051b32c 100644 --- a/source/behavior/features/1.13.0/features/minecraft.snap_to_surface_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.snap_to_surface_feature.json @@ -7,7 +7,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], @@ -22,7 +22,7 @@ }, "feature_to_snap": { "title": "Feature to snap", - "description": "Named reference of feature to be snapped", + "description": "Named reference of feature to be snapped.", "type": "string", "$ref": "../../../../general/feature/identifier.json" }, diff --git a/source/behavior/features/1.13.0/features/minecraft.structure_template_feature.json b/source/behavior/features/1.13.0/features/minecraft.structure_template_feature.json index b35688e4..9b4c5496 100644 --- a/source/behavior/features/1.13.0/features/minecraft.structure_template_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.structure_template_feature.json @@ -7,7 +7,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], diff --git a/source/behavior/features/1.13.0/features/minecraft.tree_feature.json b/source/behavior/features/1.13.0/features/minecraft.tree_feature.json index 77345754..abe29b72 100644 --- a/source/behavior/features/1.13.0/features/minecraft.tree_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.tree_feature.json @@ -7,35 +7,35 @@ "definitions": { "branch_canopy": { "title": "branch_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "acacia_canopy": { "title": "acacia_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "canopy_size": { "title": "canopy_size", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "leaf_block": { "title": "leaf_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" }, "simplify_canopy": { "title": "simplify_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "boolean" } @@ -43,27 +43,27 @@ }, "canopy": { "title": "canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "canopy_offset": { "title": "canopy_offset", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "min": { "title": "min", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer" }, "max": { "title": "max", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer" } @@ -71,28 +71,28 @@ }, "min_width": { "title": "min_width", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "canopy_slope": { "title": "canopy_slope", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "rise": { "title": "rise", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "run": { "title": "run", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 @@ -101,7 +101,7 @@ }, "variation_chance": { "title": "variation_chance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "oneOf": [ { "$ref": "../../../../general/1.14.0/chance_information.json" }, @@ -116,41 +116,41 @@ }, "leaf_block": { "title": "leaf_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" }, "canopy_decoration": { "title": "canopy_decoration", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "decoration_chance": { "title": "decoration_chance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "../../../../general/1.14.0/chance_information.json" }, "decoration_block": { "title": "decoration_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" }, "num_steps": { "title": "num_steps", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "step_direction": { "title": "step_direction", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "enum": ["down", "up", "out", "away"] @@ -161,28 +161,28 @@ }, "fancy_canopy": { "title": "fancy_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "height": { "title": "height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "radius": { "title": "radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "leaf_block": { "title": "leaf_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" @@ -191,41 +191,41 @@ }, "mega_canopy": { "title": "mega_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "canopy_height": { "title": "canopy_height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "base_radius": { "title": "base_radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 0 }, "core_width": { "title": "core_width", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 1 }, "simplify_canopy": { "title": "simplify_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "boolean" }, "leaf_block": { "title": "leaf_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" @@ -234,42 +234,42 @@ }, "mega_pine_canopy": { "title": "mega_pine_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "canopy_height": { "title": "canopy_height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "base_radius": { "title": "base_radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "radius_step_modifier": { "title": "radius_step_modifier", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 0.0 }, "core_width": { "title": "core_width", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "leaf_block": { "title": "leaf_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" @@ -278,28 +278,28 @@ }, "pine_canopy": { "title": "pine_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "canopy_height": { "title": "canopy_height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "base_radius": { "title": "base_radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "leaf_block": { "title": "leaf_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" @@ -308,42 +308,42 @@ }, "roofed_canopy": { "title": "roofed_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "canopy_height": { "title": "canopy_height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 3 }, "core_width": { "title": "core_width", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "outer_radius": { "title": "outer_radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "inner_radius": { "title": "inner_radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "leaf_block": { "title": "leaf_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" @@ -352,35 +352,35 @@ }, "spruce_canopy": { "title": "spruce_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "lower_offset": { "title": "lower_offset", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "upper_offset": { "title": "upper_offset", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "max_radius": { "title": "max_radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "leaf_block": { "title": "leaf_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" @@ -393,7 +393,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], @@ -418,7 +418,7 @@ }, "base_cluster": { "title": "base_cluster", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, @@ -426,7 +426,7 @@ "properties": { "may_replace": { "title": "May Replace", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -435,14 +435,14 @@ }, "num_clusters": { "title": "Num Clusters", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "cluster_radius": { "title": "Clusters Radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 @@ -451,7 +451,7 @@ }, "may_grow_on": { "title": "May grow on", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -460,7 +460,7 @@ }, "may_replace": { "title": "May grow on", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -469,7 +469,7 @@ }, "may_grow_through": { "title": "May grow on", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -478,35 +478,35 @@ }, "acacia_trunk": { "title": "Acacia Trunk", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "trunk_width": { "title": "Trunk Width", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "trunk_height": { "title": "Trunk Height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "base": { "title": "Base", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "intervals": { "title": "Intervals", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "minItems": 1, @@ -517,7 +517,7 @@ }, "min_height_for_canopy": { "title": "Minimum Height For Canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 @@ -527,100 +527,100 @@ "trunk_lean": { "allow_diagonal_growth": { "title": "Allow Diagonal Growth", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "lean_height": { "title": "Lean Height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" }, "lean_steps": { "title": "Lean Steps", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" }, "lean_length": { "title": "Lean Length", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" } }, "trunk_block": { "title": "Trunk Block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" }, "branches": { "title": "Branches", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "branch_length": { "title": "Branch Length", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 0 }, "branch_position": { "title": "Branch Position", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 0 }, "branch_chance": { "title": "Branch Chance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "../../../../general/1.14.0/chance_information.json" }, "branch_canopy": { "title": "branch_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/branch_canopy" }, "trunk_decoration": { "title": "trunk_decoration", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "decoration_chance": { "title": "decoration_chance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "../../../../general/1.14.0/chance_information.json" }, "decoration_block": { "title": "decoration_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" }, "num_steps": { "title": "num_steps", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "step_direction": { "title": "step_direction", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "enum": ["down", "up", "out", "away"] @@ -633,75 +633,75 @@ }, "fallen_trunk": { "title": "fallen_trunk", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "log_length": { "title": "log_length", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "stump_height": { "title": "stump_height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "height_modifier": { "title": "height_modifier", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "trunk_block": { "title": "trunk_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" }, "log_decoration_feature": { "title": "log_decoration_feature", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/feature/identifier.json" }, "trunk_decoration": { "title": "trunk_decoration", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "decoration_chance": { "title": "decoration_chance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "../../../../general/1.14.0/chance_information.json" }, "decoration_block": { "title": "decoration_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" }, "num_steps": { "title": "num_steps", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer" }, "step_direction": { "title": "step_direction", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "enum": ["down", "up", "out", "away"] @@ -712,35 +712,35 @@ }, "fancy_trunk": { "title": "fancy_trunk", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "trunk_height": { "title": "trunk_height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "base": { "title": "base", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "variance": { "title": "variance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "scale": { "title": "scale", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number" } @@ -748,33 +748,33 @@ }, "trunk_width": { "title": "trunk_width", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "branches": { "title": "branches", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "slope": { "title": "slope", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number" }, "density": { "title": "density", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number" }, "min_altitude_factor": { "title": "min_altitude_factor", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 0.0, @@ -784,21 +784,21 @@ }, "trunk_block": { "title": "trunk_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" }, "width_scale": { "title": "width_scale", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 0.0 }, "foliage_altitude_factor": { "title": "foliage_altitude_factor", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 0.0, @@ -808,39 +808,39 @@ }, "mega_trunk": { "title": "mega_trunk", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "trunk_width": { "title": "trunk_width", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer" }, "trunk_height": { "title": "trunk_height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "base": { "title": "base", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "intervals": { "title": "intervals", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { "title": "items", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 @@ -850,40 +850,40 @@ }, "trunk_block": { "title": "trunk_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" }, "trunk_decoration": { "title": "trunk_decoration", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "decoration_chance": { "title": "decoration_chance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "../../../../general/1.14.0/chance_information.json" }, "decoration_block": { "title": "decoration_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" }, "num_steps": { "title": "num_steps", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer" }, "step_direction": { "title": "step_direction", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "enum": ["down", "up", "out", "away"] @@ -892,35 +892,35 @@ }, "branches": { "title": "branches", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "branch_length": { "title": "branch_length", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "branch_slope": { "title": "branch_slope", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number" }, - "branch_interval": { "title": "", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, + "branch_interval": { "title": "", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "branch_altitude_factor": { "title": "branch_altitude_factor", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "min": { "title": "min", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 0.0, @@ -928,7 +928,7 @@ }, "max": { "title": "max", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 0.0, @@ -938,7 +938,7 @@ }, "branch_canopy": { "title": "branch_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/branch_canopy" } @@ -948,28 +948,28 @@ }, "trunk": { "title": "trunk", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "trunk_height": { "title": "trunk_height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "height_modifier": { "title": "height_modifier", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "can_be_submerged": { "title": "can_be_submerged", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "oneOf": [ @@ -979,7 +979,7 @@ "properties": { "max_depth": { "title": "max_depth", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 @@ -988,7 +988,7 @@ }, { "title": "can_be_submerged", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "boolean" } @@ -996,40 +996,40 @@ }, "trunk_block": { "title": "trunk_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" }, "trunk_decoration": { "title": "trunk_decoration", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "decoration_chance": { "title": "decoration_chance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "../../../../general/1.14.0/chance_information.json" }, "decoration_block": { "title": "decoration_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" }, "num_steps": { "title": "num_steps", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer" }, "step_direction": { "title": "step_direction", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "enum": ["down", "up", "out", "away"] @@ -1040,28 +1040,28 @@ }, "acacia_canopy": { "title": "acacia_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "canopy_size": { "title": "canopy_size", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "leaf_block": { "title": "leaf_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" }, "simplify_canopy": { "title": "simplify_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "boolean" } @@ -1069,27 +1069,27 @@ }, "canopy": { "title": "canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "canopy_offset": { "title": "canopy_offset", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "min": { "title": "min", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer" }, "max": { "title": "max", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer" } @@ -1097,28 +1097,28 @@ }, "min_width": { "title": "min_width", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "canopy_slope": { "title": "canopy_slope", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "rise": { "title": "rise", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "run": { "title": "run", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 @@ -1127,7 +1127,7 @@ }, "variation_chance": { "title": "variation_chance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "oneOf": [ { "$ref": "../../../../general/1.14.0/chance_information.json" }, @@ -1142,41 +1142,41 @@ }, "leaf_block": { "title": "leaf_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" }, "canopy_decoration": { "title": "canopy_decoration", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "decoration_chance": { "title": "decoration_chance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "../../../../general/1.14.0/chance_information.json" }, "decoration_block": { "title": "decoration_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" }, "num_steps": { "title": "num_steps", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "step_direction": { "title": "step_direction", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "enum": ["down", "up", "out", "away"] @@ -1187,28 +1187,28 @@ }, "fancy_canopy": { "title": "fancy_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "height": { "title": "height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "radius": { "title": "radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "leaf_block": { "title": "leaf_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" @@ -1217,41 +1217,41 @@ }, "mega_canopy": { "title": "mega_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "canopy_height": { "title": "canopy_height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "base_radius": { "title": "base_radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 0 }, "core_width": { "title": "core_width", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 1 }, "simplify_canopy": { "title": "simplify_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "boolean" }, "leaf_block": { "title": "leaf_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" @@ -1260,42 +1260,42 @@ }, "mega_pine_canopy": { "title": "mega_pine_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "canopy_height": { "title": "canopy_height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "base_radius": { "title": "base_radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "radius_step_modifier": { "title": "radius_step_modifier", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 0.0 }, "core_width": { "title": "core_width", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "leaf_block": { "title": "leaf_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" @@ -1304,28 +1304,28 @@ }, "pine_canopy": { "title": "pine_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "canopy_height": { "title": "canopy_height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "base_radius": { "title": "base_radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "leaf_block": { "title": "leaf_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" @@ -1334,42 +1334,42 @@ }, "roofed_canopy": { "title": "roofed_canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "canopy_height": { "title": "canopy_height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 3 }, "core_width": { "title": "core_width", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "outer_radius": { "title": "outer_radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "inner_radius": { "title": "inner_radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "leaf_block": { "title": "leaf_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" @@ -1378,35 +1378,35 @@ }, "spruce_canopy": { "title": "Spruce Canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "lower_offset": { "title": "lower_offset", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "upper_offset": { "title": "upper_offset", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "max_radius": { "title": "max_radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "leaf_block": { "title": "leaf_block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" @@ -1415,41 +1415,41 @@ }, "random_spread_canopy": { "title": "Random Spread Canopy", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "canopy_height": { "title": "canopy_height", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "canopy_radius": { "title": "canopy_radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "leaf_placement_attempts": { "title": "leaf_placement_attempts", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 1 }, "leaf_blocks": { "title": "leaf_blocks", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "additionalProperties": false, "items": { "title": "items", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "additionalProperties": false, diff --git a/source/behavior/features/1.13.0/features/minecraft.underwater_cave_carver_feature.json b/source/behavior/features/1.13.0/features/minecraft.underwater_cave_carver_feature.json index eee600f1..c241ef64 100644 --- a/source/behavior/features/1.13.0/features/minecraft.underwater_cave_carver_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.underwater_cave_carver_feature.json @@ -7,7 +7,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], diff --git a/source/behavior/features/1.13.0/features/minecraft.vegetation_patch_feature.json b/source/behavior/features/1.13.0/features/minecraft.vegetation_patch_feature.json index f6249aca..150c7eb2 100644 --- a/source/behavior/features/1.13.0/features/minecraft.vegetation_patch_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.vegetation_patch_feature.json @@ -7,7 +7,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], @@ -22,7 +22,7 @@ }, "replaceable_blocks": { "title": "Replaceable Blocks", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -33,69 +33,69 @@ }, "ground_block": { "title": "Ground Block", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/block/identifier.json" }, "vegetation_feature": { "title": "Vegetation Feature", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string", "$ref": "../../../../general/feature/identifier.json" }, "surface": { "title": "Surface", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" }, "depth": { "title": "Depth", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "extra_deep_block_chance": { "title": "Extra Deep Block Chance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 0 }, "vertical_range": { "title": "Vertical Range", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "vegetation_chance": { "title": "Vegatation Chance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 0 }, "horizontal_radius": { "title": "Horizontal Radius", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "extra_edge_column_chance": { "title": "Extra Egde Column Chance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number", "minimum": 0 }, "waterlogged": { "title": "Waterlogged", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "boolean" } diff --git a/source/behavior/features/1.13.0/features/minecraft.weighted_random_feature.json b/source/behavior/features/1.13.0/features/minecraft.weighted_random_feature.json index 43345de5..5bdd9903 100644 --- a/source/behavior/features/1.13.0/features/minecraft.weighted_random_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.weighted_random_feature.json @@ -7,7 +7,7 @@ "properties": { "description": { "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "required": ["identifier"], diff --git a/source/behavior/functions/tick.json b/source/behavior/functions/tick.json index 52f51141..38ac8cf8 100644 --- a/source/behavior/functions/tick.json +++ b/source/behavior/functions/tick.json @@ -1,17 +1,17 @@ { "$schema": "http://json-schema.org/draft-07/schema", "title": "Tick", - "description": "Mcfunction that are to be called per game tick (20 times per second)", + "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", + "description": "The collection of function path to execute.", "type": "array", "items": { "title": "Function path", - "description": "The path to the function", + "description": "The path to the function.", "type": "string", "pattern": "[a-zA-Z_\\-\\/ ]+", "examples": ["foo", "folder/foo"] diff --git a/source/behavior/items/format/components/block_placer.json b/source/behavior/items/format/components/block_placer.json index a072dbb5..1149a7aa 100644 --- a/source/behavior/items/format/components/block_placer.json +++ b/source/behavior/items/format/components/block_placer.json @@ -9,8 +9,8 @@ "use_on_item": { "type": "object", "title": "Allowed Block", - "description": "A block descriptor that allows to be placed", - "properties": { "tags": { "title": "Tags", "description": "Tags", "$ref": "../../../../molang/string.json" } } + "description": "A block descriptor that allows to be placed.", + "properties": { "tags": { "title": "Tags", "description": "Tags.", "$ref": "../../../../molang/string.json" } } } }, "properties": { diff --git a/source/behavior/items/format/components/digger.json b/source/behavior/items/format/components/digger.json index 09cf6595..c1e4a9d0 100644 --- a/source/behavior/items/format/components/digger.json +++ b/source/behavior/items/format/components/digger.json @@ -9,7 +9,7 @@ "use_efficiency": { "title": "Use Efficiency", "type": "boolean", - "description": "Toggles if the item will be used efficiently", + "description": "Toggles if the item will be used efficiently.", "default": false }, "destroy_speeds": { @@ -22,21 +22,21 @@ "type": "object", "additionalProperties": false, "properties": { - "speed": { "title": "Speed", "description": "Speed", "type": "number" }, - "on_dig": { "type": "string", "title": "On Dig", "description": "Trigger for when you dig a block that isn't listed in destroy_speeds" }, + "speed": { "title": "Speed", "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": "string", "description": "The block identifier." }, { "type": "object", "additionalProperties": false, - "description": "Block descriptor", + "description": "Block descriptor.", "properties": { "any_tag": { "type": "array", "title": "Any Block Tag", - "description": "The block tag", + "description": "The block tag.", "items": { "type": "string", "title": "Block Tag" } } } @@ -46,6 +46,6 @@ } } }, - "on_dig": { "type": "string", "title": "On Dig", "description": "Trigger for when you dig a block that isn't listed in destroy_speeds" } + "on_dig": { "type": "string", "title": "On Dig", "description": "Trigger for when you dig a block that isn't listed in destroy_speeds." } } } diff --git a/source/behavior/items/format/components/durability.json b/source/behavior/items/format/components/durability.json index 7a4334d0..907a520a 100644 --- a/source/behavior/items/format/components/durability.json +++ b/source/behavior/items/format/components/durability.json @@ -9,12 +9,12 @@ "damage_chance": { "type": "object", "title": "Damange Chance", - "description": "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" } + "min": { "title": "Min", "type": "integer", "description": "The minimum." }, + "max": { "title": "Max", "type": "integer", "description": "The minimum." } } }, "max_durability": { diff --git a/source/behavior/items/format/components/entity_placer.json b/source/behavior/items/format/components/entity_placer.json index 19232cf7..9e349ba7 100644 --- a/source/behavior/items/format/components/entity_placer.json +++ b/source/behavior/items/format/components/entity_placer.json @@ -11,13 +11,13 @@ "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" } + "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" } + "items": { "title": "Use On", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } } } diff --git a/source/behavior/items/format/components/food.json b/source/behavior/items/format/components/food.json index 5dce0647..3cbccd58 100644 --- a/source/behavior/items/format/components/food.json +++ b/source/behavior/items/format/components/food.json @@ -14,13 +14,13 @@ "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", + "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"] } + "event": { "type": "string", "title": "Event", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, + "target": { "type": "string", "title": "Target", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["self"] } } }, "is_meat": { @@ -48,19 +48,19 @@ }, "effects": { "title": "Effects", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { "title": "Effect", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "name": { "title": "Name", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" }, diff --git a/source/behavior/items/format/components/max_damage.json b/source/behavior/items/format/components/max_damage.json index 433e7ea5..c3e04e89 100644 --- a/source/behavior/items/format/components/max_damage.json +++ b/source/behavior/items/format/components/max_damage.json @@ -3,7 +3,7 @@ "additionalProperties": false, "type": "integer", "title": "Max Damage", - "description": "Maximum Damage", + "description": "Maximum Damage.", "$comment": "UNDOCUMENTED", "minimum": 0 } diff --git a/source/behavior/items/format/components/on_use.json b/source/behavior/items/format/components/on_use.json index e676f6f8..67ad14ca 100644 --- a/source/behavior/items/format/components/on_use.json +++ b/source/behavior/items/format/components/on_use.json @@ -12,8 +12,8 @@ "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"] } + "event": { "type": "string", "title": "Event", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, + "target": { "type": "string", "title": "Target", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["self"] } } } } diff --git a/source/behavior/items/format/components/on_use_on.json b/source/behavior/items/format/components/on_use_on.json index d3ae9387..f3a1124a 100644 --- a/source/behavior/items/format/components/on_use_on.json +++ b/source/behavior/items/format/components/on_use_on.json @@ -12,8 +12,8 @@ "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"] } + "event": { "type": "string", "title": "Event", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, + "target": { "type": "string", "title": "Target", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["block"] } } } } diff --git a/source/behavior/items/format/components/render_offsets.json b/source/behavior/items/format/components/render_offsets.json index f5259978..0334db39 100644 --- a/source/behavior/items/format/components/render_offsets.json +++ b/source/behavior/items/format/components/render_offsets.json @@ -8,19 +8,19 @@ "offset_spec": { "type": "object", "title": "Offset", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { "first_person": { "title": "First Person", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/mode" }, "thrid_person": { "title": "Thrid Person", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/mode" } @@ -29,23 +29,23 @@ "mode": { "type": "object", "title": "Mode", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { "position": { "title": "Position", - "description": "The position transformation", + "description": "The position transformation.", "$ref": "#/definitions/vec3" }, "rotation": { "title": "Rotation", - "description": "The rotation transformation", + "description": "The rotation transformation.", "$ref": "#/definitions/vec3" }, "scale": { "title": "Scale", - "description": "The scale transformation", + "description": "The scale transformation.", "$ref": "#/definitions/vec3" } } @@ -53,11 +53,11 @@ "vec3": { "type": "array", "title": "Vector", - "description": "X Y Z", + "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" } + { "title": "X", "description": "The X tranformation.", "type": "number" }, + { "title": "Y", "description": "The Y tranformation.", "type": "number" }, + { "title": "Z", "description": "The Z tranformation.", "type": "number" } ] } }, diff --git a/source/behavior/items/format/components/repairable.json b/source/behavior/items/format/components/repairable.json index d4c3a1e8..b4f3fed4 100644 --- a/source/behavior/items/format/components/repairable.json +++ b/source/behavior/items/format/components/repairable.json @@ -13,20 +13,20 @@ "items": { "type": "object", "title": "Repar Item", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { "items": { "title": "Items", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", - "items": { "type": "string", "title": "Item", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED" } + "items": { "type": "string", "title": "Item", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } }, "repair_amount": { "title": "Repair Amount", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "../../../../molang/number.json" } diff --git a/source/behavior/items/format/components/shooter.json b/source/behavior/items/format/components/shooter.json index 1d9febcd..bf74c13a 100644 --- a/source/behavior/items/format/components/shooter.json +++ b/source/behavior/items/format/components/shooter.json @@ -7,19 +7,19 @@ "properties": { "ammunition": { "title": "Ammunition", - "description": "Ammunition", + "description": "Ammunition.", "type": "array", "items": { "type": "object", "title": "Ammunition", - "description": "UNDOCUMENTED", + "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" } + "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" } } } }, diff --git a/source/behavior/items/format/components/weapon.json b/source/behavior/items/format/components/weapon.json index dac0eca6..b65ea671 100644 --- a/source/behavior/items/format/components/weapon.json +++ b/source/behavior/items/format/components/weapon.json @@ -7,27 +7,27 @@ "properties": { "on_hit_block": { "title": "On Hit Block", - "description": "Trigger for letting you know when this item is used to hit a 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"] } + "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", + "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"] } + "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", + "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"] } + "event": { "type": "string", "title": "Event", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, + "target": { "type": "string", "title": "Target", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["self"] } } } } diff --git a/source/behavior/items/format/components/wearable.json b/source/behavior/items/format/components/wearable.json index 2f79452a..a5a0f1bc 100644 --- a/source/behavior/items/format/components/wearable.json +++ b/source/behavior/items/format/components/wearable.json @@ -5,7 +5,7 @@ "type": "object", "additionalProperties": false, "properties": { - "dispensable": { "title": "Dispensable", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "boolean" }, + "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", diff --git a/source/behavior/items/format/events.json b/source/behavior/items/format/events.json index 567fcff1..288d2366 100644 --- a/source/behavior/items/format/events.json +++ b/source/behavior/items/format/events.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.behavior.items.events", "title": "Events", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "properties": { "on_consume": { "$ref": "#/definitions/event_base" } }, @@ -9,7 +9,7 @@ "definitions": { "event_base": { "title": "Event", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, @@ -17,12 +17,12 @@ "properties": { "sequence": { "title": "Sequence", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { "title": "Sequence", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "$ref": "#/definitions/event_functions" @@ -30,43 +30,43 @@ }, "randomize": { "title": "Randomize", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { "title": "Randomize", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "$ref": "#/definitions/event_functions", "required": ["weight"], "properties": { - "weight": { "title": "Weight", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 } + "weight": { "title": "Weight", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 } } } }, "run_command": { "title": "Run Command", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "command": { "title": "Command", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", - "items": { "type": "string", "title": "Command", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED" } + "items": { "type": "string", "title": "Command", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } }, - "target": { "type": "string", "title": "Target", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "enum": ["other"] } + "target": { "type": "string", "title": "Target", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["other"] } } } } }, "event_functions": { "title": "Event", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "properties": { diff --git a/source/behavior/items/format/events/add_mob_effect.json b/source/behavior/items/format/events/add_mob_effect.json index 277fd3c9..4280a08b 100644 --- a/source/behavior/items/format/events/add_mob_effect.json +++ b/source/behavior/items/format/events/add_mob_effect.json @@ -1,14 +1,14 @@ { "$id": "blockception.minecraft.behavior.items.events.add_mob_effect", "title": "Add Mob Effect", - "description": "UNDOCUMENTED", + "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" } + "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" } } } diff --git a/source/behavior/items/format/events/damage.json b/source/behavior/items/format/events/damage.json index 9decf2c3..50adc0c6 100644 --- a/source/behavior/items/format/events/damage.json +++ b/source/behavior/items/format/events/damage.json @@ -1,12 +1,12 @@ { "$id": "blockception.minecraft.behavior.items.events.shoot", "title": "Shoot", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { - "type": { "type": "string", "title": "Type", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "enum": ["magic"] }, - "amount": { "type": "number", "title": "Amount", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED" } + "type": { "type": "string", "title": "Type", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["magic"] }, + "amount": { "type": "number", "title": "Amount", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } } diff --git a/source/behavior/items/format/events/decrement_stack.json b/source/behavior/items/format/events/decrement_stack.json index 5db44215..b294ee51 100644 --- a/source/behavior/items/format/events/decrement_stack.json +++ b/source/behavior/items/format/events/decrement_stack.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.behavior.items.events.decrement_stack", "title": "Decrement Stack", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false diff --git a/source/behavior/items/format/events/remove_mob_effect.json b/source/behavior/items/format/events/remove_mob_effect.json index 1f18fe2f..b8ef6262 100644 --- a/source/behavior/items/format/events/remove_mob_effect.json +++ b/source/behavior/items/format/events/remove_mob_effect.json @@ -1,12 +1,12 @@ { "$id": "blockception.minecraft.behavior.items.events.remove_mob_effect", "title": "Remove Mob Effect", - "description": "UNDOCUMENTED", + "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"] } + "effect": { "type": "string", "title": "Effect", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, + "target": { "type": "string", "title": "Target", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["holder"] } } } diff --git a/source/behavior/items/format/events/shoot.json b/source/behavior/items/format/events/shoot.json index 8a8a42a7..f93adebe 100644 --- a/source/behavior/items/format/events/shoot.json +++ b/source/behavior/items/format/events/shoot.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.behavior.items.events.shoot", "title": "Shoot", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, @@ -9,15 +9,15 @@ "angle_offset": { "type": "number", "title": "Angle Offset", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "launch_power": { "type": "number", "title": "Launch Power", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, - "projectile": { "type": "string", "title": "Projectile", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED" } + "projectile": { "type": "string", "title": "Projectile", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } } diff --git a/source/behavior/items/format/events/swing.json b/source/behavior/items/format/events/swing.json index df2be5b8..1cd6300d 100644 --- a/source/behavior/items/format/events/swing.json +++ b/source/behavior/items/format/events/swing.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.behavior.items.events.swing", "title": "Swing", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false diff --git a/source/behavior/items/format/events/teleport.json b/source/behavior/items/format/events/teleport.json index d0ac4cc5..d1a15745 100644 --- a/source/behavior/items/format/events/teleport.json +++ b/source/behavior/items/format/events/teleport.json @@ -1,21 +1,21 @@ { "$id": "blockception.minecraft.behavior.items.events.teleport", "title": "Teleport", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { - "target": { "type": "string", "title": "Target", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "enum": ["holder"] }, + "target": { "type": "string", "title": "Target", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["holder"] }, "max_range": { "type": "array", "title": "Maximum Range", - "description": "UNDOCUMENTED", + "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" } + { "type": "number", "title": "X", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, + { "type": "number", "title": "Y", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, + { "type": "number", "title": "Z", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } ] } } diff --git a/source/behavior/items/format/events/transform_item.json b/source/behavior/items/format/events/transform_item.json index b94676b0..84740821 100644 --- a/source/behavior/items/format/events/transform_item.json +++ b/source/behavior/items/format/events/transform_item.json @@ -1,9 +1,9 @@ { "$id": "blockception.minecraft.behavior.items.events.transform_item", "title": "Transform Item", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, - "properties": { "transform": { "title": "Transform", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "string" } } + "properties": { "transform": { "title": "Transform", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" } } } diff --git a/source/behavior/items/format/minecraft.item.json b/source/behavior/items/format/minecraft.item.json index 963aca93..fa0959cc 100644 --- a/source/behavior/items/format/minecraft.item.json +++ b/source/behavior/items/format/minecraft.item.json @@ -3,7 +3,7 @@ "additionalProperties": false, "required": ["description"], "type": "object", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Item", "properties": { @@ -11,7 +11,7 @@ "additionalProperties": false, "type": "object", "title": "Description", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "properties": { "identifier": { @@ -38,7 +38,7 @@ "components": { "additionalProperties": { "type": "object" }, "type": "object", - "description": "The components of this item", + "description": "The components of this item.", "properties": { "minecraft:armor": { "$ref": "./components/armor.json" }, "minecraft:block_placer": { "$ref": "./components/block_placer.json" }, diff --git a/source/behavior/loot_tables/conditions.json b/source/behavior/loot_tables/conditions.json index 83ec0208..aca112c4 100644 --- a/source/behavior/loot_tables/conditions.json +++ b/source/behavior/loot_tables/conditions.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.behavior.loot_tables.conditions", - "description": "A minecraft loot table condition", + "description": "A minecraft loot table condition.", "title": "Condition", "allOf": [ { diff --git a/source/behavior/loot_tables/conditions/entity_properties.json b/source/behavior/loot_tables/conditions/entity_properties.json index d9a008d5..e9f7bef6 100644 --- a/source/behavior/loot_tables/conditions/entity_properties.json +++ b/source/behavior/loot_tables/conditions/entity_properties.json @@ -16,13 +16,13 @@ "properties": { "on_fire": { "title": "On Fire", - "description": "Checks if the entity is on fire or not", + "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", + "description": "Checks if the entity is on the ground or not.", "$comment": "UNDOCUMENTED", "type": "boolean" } diff --git a/source/behavior/loot_tables/conditions/has_mark_variant.json b/source/behavior/loot_tables/conditions/has_mark_variant.json index 7a2770a2..82756690 100644 --- a/source/behavior/loot_tables/conditions/has_mark_variant.json +++ b/source/behavior/loot_tables/conditions/has_mark_variant.json @@ -14,7 +14,7 @@ "value": { "type": "integer", "default": "0", - "description": "Tests for the actor's mark variant (if it has one)", + "description": "Tests for the actor's mark variant (if it has one).", "title": "Value" } } diff --git a/source/behavior/loot_tables/conditions/killed_by_player.json b/source/behavior/loot_tables/conditions/killed_by_player.json index b7c970fc..f853a2d2 100644 --- a/source/behavior/loot_tables/conditions/killed_by_player.json +++ b/source/behavior/loot_tables/conditions/killed_by_player.json @@ -5,6 +5,6 @@ "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" } + "condition": { "type": "string", "title": "Condition", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } } diff --git a/source/behavior/loot_tables/conditions/killed_by_player_or_pets.json b/source/behavior/loot_tables/conditions/killed_by_player_or_pets.json index c50216a6..9a73f65c 100644 --- a/source/behavior/loot_tables/conditions/killed_by_player_or_pets.json +++ b/source/behavior/loot_tables/conditions/killed_by_player_or_pets.json @@ -5,6 +5,6 @@ "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" } + "condition": { "type": "string", "title": "Condition", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } } diff --git a/source/behavior/loot_tables/conditions/random_chance.json b/source/behavior/loot_tables/conditions/random_chance.json index 42efbe56..5d4a0514 100644 --- a/source/behavior/loot_tables/conditions/random_chance.json +++ b/source/behavior/loot_tables/conditions/random_chance.json @@ -5,8 +5,8 @@ "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" }, + "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" } } } diff --git a/source/behavior/loot_tables/conditions/random_chance_with_looting.json b/source/behavior/loot_tables/conditions/random_chance_with_looting.json index 9d3db8d8..0c280ebb 100644 --- a/source/behavior/loot_tables/conditions/random_chance_with_looting.json +++ b/source/behavior/loot_tables/conditions/random_chance_with_looting.json @@ -5,7 +5,7 @@ "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" }, + "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", diff --git a/source/behavior/loot_tables/conditions/random_difficulty_chance.json b/source/behavior/loot_tables/conditions/random_difficulty_chance.json index 18b2991c..0a1d6efd 100644 --- a/source/behavior/loot_tables/conditions/random_difficulty_chance.json +++ b/source/behavior/loot_tables/conditions/random_difficulty_chance.json @@ -5,7 +5,7 @@ "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" }, + "condition": { "type": "string", "title": "Condition", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "default_chance": { "type": "number", "default": 0, diff --git a/source/behavior/loot_tables/conditions/random_regional_difficulty_chance.json b/source/behavior/loot_tables/conditions/random_regional_difficulty_chance.json index 94308999..85163da0 100644 --- a/source/behavior/loot_tables/conditions/random_regional_difficulty_chance.json +++ b/source/behavior/loot_tables/conditions/random_regional_difficulty_chance.json @@ -5,14 +5,14 @@ "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" }, + "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" }, + "max_chance": { "title": "Maximum Chance", "type": "number", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "easy": { "type": "number", "default": 0, diff --git a/source/behavior/loot_tables/functions.json b/source/behavior/loot_tables/functions.json index 6fde58a5..eb632257 100644 --- a/source/behavior/loot_tables/functions.json +++ b/source/behavior/loot_tables/functions.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.behavior.loot_tables.Functions", - "description": "A minecraft loot table condition", + "description": "A minecraft loot table condition.", "title": "Functions", "type": "object", "properties": { @@ -56,7 +56,7 @@ }, "add": { "title": "Add", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "type": "boolean", "default": false } diff --git a/source/behavior/loot_tables/functions/enchant_book_for_trading.json b/source/behavior/loot_tables/functions/enchant_book_for_trading.json index c16a243c..2fa606b9 100644 --- a/source/behavior/loot_tables/functions/enchant_book_for_trading.json +++ b/source/behavior/loot_tables/functions/enchant_book_for_trading.json @@ -2,7 +2,7 @@ "$id": "blockception.minecraft.behavior.loot_tables.enchant_book_for_trading", "additionalProperties": false, "type": "object", - "description": "The function enchant_book_for_trading", + "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": { @@ -10,26 +10,26 @@ "type": "string", "const": "enchant_book_for_trading", "title": "Function", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, - "base_cost": { "type": "integer", "title": "Base Cost", "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", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "per_level_random_cost": { "type": "integer", "title": "Base Cost", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "per_level_cost": { "type": "integer", "title": "Base Cost", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } diff --git a/source/behavior/loot_tables/functions/enchant_random_gear.json b/source/behavior/loot_tables/functions/enchant_random_gear.json index 63168b70..aead0d18 100644 --- a/source/behavior/loot_tables/functions/enchant_random_gear.json +++ b/source/behavior/loot_tables/functions/enchant_random_gear.json @@ -2,14 +2,14 @@ "$id": "blockception.minecraft.behavior.loot_tables.enchant_random_gear", "additionalProperties": false, "type": "object", - "description": "The function enchant_random_gear", + "description": "The function enchant_random_gear.", "title": "Enchant Random Gear", "properties": { "function": { "type": "string", "const": "enchant_random_gear", "title": "Function", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "chance": { diff --git a/source/behavior/loot_tables/functions/enchant_randomly.json b/source/behavior/loot_tables/functions/enchant_randomly.json index cd62ea3d..e421e59e 100644 --- a/source/behavior/loot_tables/functions/enchant_randomly.json +++ b/source/behavior/loot_tables/functions/enchant_randomly.json @@ -2,14 +2,14 @@ "$id": "blockception.minecraft.behavior.loot_tables.enchant_randomly", "additionalProperties": false, "type": "object", - "description": "The function enchant_randomly", + "description": "The function enchant_randomly.", "title": "Enchant Randomly", "properties": { "function": { "type": "string", "const": "enchant_randomly", "title": "Function", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "treasure": { diff --git a/source/behavior/loot_tables/functions/enchant_with_levels.json b/source/behavior/loot_tables/functions/enchant_with_levels.json index 3aa784f3..68fb7e26 100644 --- a/source/behavior/loot_tables/functions/enchant_with_levels.json +++ b/source/behavior/loot_tables/functions/enchant_with_levels.json @@ -1,20 +1,20 @@ { "$id": "blockception.minecraft.behavior.loot_tables.enchant_with_levels", "additionalProperties": false, - "description": "The function enchant_with_levels", + "description": "The function enchant_with_levels.", "title": "Enchant With Levels", "type": "object", "properties": { "function": { "type": "string", "const": "enchant_with_levels", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Function" }, "levels": { "title": "Levels", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "oneOf": [ { "type": "integer" }, @@ -26,6 +26,6 @@ } ] }, - "treasure": { "type": "boolean", "title": "Treasure", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED" } + "treasure": { "type": "boolean", "title": "Treasure", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } } diff --git a/source/behavior/loot_tables/functions/exploration_map.json b/source/behavior/loot_tables/functions/exploration_map.json index 3c191f7a..3609ce4b 100644 --- a/source/behavior/loot_tables/functions/exploration_map.json +++ b/source/behavior/loot_tables/functions/exploration_map.json @@ -1,14 +1,14 @@ { "$id": "blockception.minecraft.behavior.loot_tables.exploration_map", "additionalProperties": false, - "description": "Transforms a normal map into a treasure map that marks the location of hidden treasure", + "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", + "description": "Transforms a normal map into a treasure map that marks the location of hidden treasure.", "title": "Function" }, "destination": { diff --git a/source/behavior/loot_tables/functions/fill_container.json b/source/behavior/loot_tables/functions/fill_container.json index 86c91316..2db8a7f9 100644 --- a/source/behavior/loot_tables/functions/fill_container.json +++ b/source/behavior/loot_tables/functions/fill_container.json @@ -2,21 +2,21 @@ "$id": "blockception.minecraft.behavior.loot_tables.fill_container", "additionalProperties": false, "type": "object", - "description": "The function fill_container", + "description": "The function fill_container.", "title": "Fill Container", "properties": { "function": { "type": "string", "const": "fill_container", "title": "Function", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "loot_table": { "type": "string", "title": "Loot Table", "pattern": "^loot_tables/.*\\.json$", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } diff --git a/source/behavior/loot_tables/functions/furnace_smelt.json b/source/behavior/loot_tables/functions/furnace_smelt.json index f2014285..affe8f5b 100644 --- a/source/behavior/loot_tables/functions/furnace_smelt.json +++ b/source/behavior/loot_tables/functions/furnace_smelt.json @@ -5,10 +5,10 @@ "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" }, + "function": { "type": "string", "const": "furnace_smelt", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Function" }, "conditions": { "title": "Conditions", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { "$ref": "../conditions.json" } diff --git a/source/behavior/loot_tables/functions/looting_enchant.json b/source/behavior/loot_tables/functions/looting_enchant.json index aa0edecc..fc1e43c3 100644 --- a/source/behavior/loot_tables/functions/looting_enchant.json +++ b/source/behavior/loot_tables/functions/looting_enchant.json @@ -1,15 +1,15 @@ { "$id": "blockception.minecraft.behavior.loot_tables.looting_enchant", "additionalProperties": false, - "description": "The function looting_enchant", + "description": "The function looting_enchant.", "title": "Looting Enchant", "type": "object", "properties": { - "function": { "type": "string", "const": "looting_enchant", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Function" }, + "function": { "type": "string", "const": "looting_enchant", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Function" }, "count": { "type": "object", "properties": { "min": { "type": "integer" }, "max": { "type": "integer" } }, - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Count", "additionalProperties": false diff --git a/source/behavior/loot_tables/functions/random_aux_value.json b/source/behavior/loot_tables/functions/random_aux_value.json index 85d5fd5c..a4f428e6 100644 --- a/source/behavior/loot_tables/functions/random_aux_value.json +++ b/source/behavior/loot_tables/functions/random_aux_value.json @@ -1,20 +1,20 @@ { "$id": "blockception.minecraft.behavior.loot_tables.random_aux_value", "additionalProperties": false, - "description": "The function random_aux_value", + "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" }, + "function": { "type": "string", "const": "random_aux_value", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Function" }, "values": { - "description": "UNDOCUMENTED", + "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" } + "min": { "type": "integer", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Minimum" }, + "max": { "type": "integer", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Maximum" } } } } diff --git a/source/behavior/loot_tables/functions/random_block_state.json b/source/behavior/loot_tables/functions/random_block_state.json index 196a149d..905ec01c 100644 --- a/source/behavior/loot_tables/functions/random_block_state.json +++ b/source/behavior/loot_tables/functions/random_block_state.json @@ -1,16 +1,16 @@ { "$id": "blockception.minecraft.behavior.loot_tables.random_block_state", "additionalProperties": false, - "description": "The function random_block_state", + "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" }, + "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", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Values", "additionalProperties": false diff --git a/source/behavior/loot_tables/functions/random_dye.json b/source/behavior/loot_tables/functions/random_dye.json index bac9b2fa..9ecd3caf 100644 --- a/source/behavior/loot_tables/functions/random_dye.json +++ b/source/behavior/loot_tables/functions/random_dye.json @@ -1,10 +1,10 @@ { "$id": "blockception.minecraft.behavior.loot_tables.random_dye", "additionalProperties": false, - "description": "The function random_dye", + "description": "The function random_dye.", "title": "Trader Material Type", "type": "object", "properties": { - "function": { "type": "string", "const": "random_dye", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Function" } + "function": { "type": "string", "const": "random_dye", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Function" } } } diff --git a/source/behavior/loot_tables/functions/set_actor_id.json b/source/behavior/loot_tables/functions/set_actor_id.json index 1ab065d9..829727e0 100644 --- a/source/behavior/loot_tables/functions/set_actor_id.json +++ b/source/behavior/loot_tables/functions/set_actor_id.json @@ -1,11 +1,11 @@ { "$id": "blockception.minecraft.behavior.loot_tables.set_actor_id", "additionalProperties": false, - "description": "The function set_actor_id", + "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" } + "function": { "type": "string", "const": "set_actor_id", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Function" }, + "id": { "type": "string", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Id" } } } diff --git a/source/behavior/loot_tables/functions/set_banner_details.json b/source/behavior/loot_tables/functions/set_banner_details.json index 6a23b289..a61ee6e5 100644 --- a/source/behavior/loot_tables/functions/set_banner_details.json +++ b/source/behavior/loot_tables/functions/set_banner_details.json @@ -1,11 +1,11 @@ { "$id": "blockception.minecraft.behavior.loot_tables.set_banner_details", "additionalProperties": false, - "description": "The function set_banner_details", + "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" } + "function": { "type": "string", "const": "set_banner_details", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Function" }, + "type": { "type": "integer", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Type" } } } diff --git a/source/behavior/loot_tables/functions/set_book_contents.json b/source/behavior/loot_tables/functions/set_book_contents.json index 86c49d30..58d38bcb 100644 --- a/source/behavior/loot_tables/functions/set_book_contents.json +++ b/source/behavior/loot_tables/functions/set_book_contents.json @@ -1,18 +1,18 @@ { "$id": "blockception.minecraft.behavior.loot_tables.set_book_contents", "additionalProperties": false, - "description": "The function set_book_contents", + "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" }, + "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", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Pages" } diff --git a/source/behavior/loot_tables/functions/set_count.json b/source/behavior/loot_tables/functions/set_count.json index c1a46707..08f52efb 100644 --- a/source/behavior/loot_tables/functions/set_count.json +++ b/source/behavior/loot_tables/functions/set_count.json @@ -2,20 +2,20 @@ "$id": "blockception.minecraft.behavior.loot_tables.set_count", "additionalProperties": false, "type": "object", - "description": "The function set_count", + "description": "The function set_count.", "title": "Set Count", "properties": { "function": { "type": "string", "const": "set_count", "title": "Function", - "description": "UNDOCUMENTED", + "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", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } diff --git a/source/behavior/loot_tables/functions/set_damage.json b/source/behavior/loot_tables/functions/set_damage.json index 46ae4aa8..613f6f06 100644 --- a/source/behavior/loot_tables/functions/set_damage.json +++ b/source/behavior/loot_tables/functions/set_damage.json @@ -1,13 +1,13 @@ { "$id": "blockception.minecraft.behavior.loot_tables.set_damage", "additionalProperties": false, - "description": "The function set_damage", + "description": "The function set_damage.", "title": "Set Damage", "type": "object", "properties": { - "function": { "type": "string", "const": "set_damage", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Function" }, + "function": { "type": "string", "const": "set_damage", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Function" }, "damage": { - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Damage", "oneOf": [ @@ -15,8 +15,8 @@ { "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 } + "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 } } } ] diff --git a/source/behavior/loot_tables/functions/set_data.json b/source/behavior/loot_tables/functions/set_data.json index 842b7842..fb123f89 100644 --- a/source/behavior/loot_tables/functions/set_data.json +++ b/source/behavior/loot_tables/functions/set_data.json @@ -1,22 +1,22 @@ { "$id": "blockception.minecraft.behavior.loot_tables.set_data", "additionalProperties": false, - "description": "The function set_data", + "description": "The function set_data.", "title": "Set Data", "type": "object", "properties": { - "function": { "type": "string", "const": "set_data", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Function" }, + "function": { "type": "string", "const": "set_data", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Function" }, "data": { "title": "Data", - "description": "UNDOCUMENTED", + "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" } + "min": { "type": "integer", "title": "Minimum", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, + "max": { "type": "integer", "title": "Maximum", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } } ] diff --git a/source/behavior/loot_tables/functions/set_data_from_color_index.json b/source/behavior/loot_tables/functions/set_data_from_color_index.json index 4ad35b22..27e72957 100644 --- a/source/behavior/loot_tables/functions/set_data_from_color_index.json +++ b/source/behavior/loot_tables/functions/set_data_from_color_index.json @@ -1,14 +1,14 @@ { "$id": "blockception.minecraft.behavior.loot_tables.set_data_from_color_index", "additionalProperties": false, - "description": "The function set_data_from_color_index", + "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", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Function" } diff --git a/source/behavior/loot_tables/functions/set_lore.json b/source/behavior/loot_tables/functions/set_lore.json index d1833163..15974e21 100644 --- a/source/behavior/loot_tables/functions/set_lore.json +++ b/source/behavior/loot_tables/functions/set_lore.json @@ -1,11 +1,11 @@ { "$id": "blockception.minecraft.behavior.loot_tables.set_lore", "additionalProperties": false, - "description": "The function set_lore", + "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" } + "function": { "type": "string", "const": "set_lore", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Function" }, + "lore": { "type": "array", "items": { "type": "string" }, "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Lore" } } } diff --git a/source/behavior/loot_tables/functions/set_name.json b/source/behavior/loot_tables/functions/set_name.json index fb0fa215..f49293d0 100644 --- a/source/behavior/loot_tables/functions/set_name.json +++ b/source/behavior/loot_tables/functions/set_name.json @@ -1,11 +1,11 @@ { "$id": "blockception.minecraft.behavior.loot_tables.set_name", "additionalProperties": false, - "description": "The function set_name", + "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" } + "function": { "type": "string", "const": "set_name", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Function" }, + "name": { "type": "string", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "name" } } } diff --git a/source/behavior/loot_tables/functions/specific_enchants.json b/source/behavior/loot_tables/functions/specific_enchants.json index 9fc93471..ba33d054 100644 --- a/source/behavior/loot_tables/functions/specific_enchants.json +++ b/source/behavior/loot_tables/functions/specific_enchants.json @@ -2,7 +2,7 @@ "$id": "blockception.minecraft.behavior.loot_tables.specific_enchants", "additionalProperties": false, "type": "object", - "description": "The function specific_enchants", + "description": "The function specific_enchants.", "title": "Specific Enchants", "definitions": { "IDEnchant": { @@ -71,10 +71,10 @@ } }, "properties": { - "function": { "type": "string", "const": "specific_enchants", "description": "Specific enchants", "title": "Specific Enchants" }, + "function": { "type": "string", "const": "specific_enchants", "description": "Specific enchants.", "title": "Specific Enchants" }, "enchants": { "title": "Enchants", - "description": "A enchanting specification", + "description": "A enchanting specification.", "oneOf": [ { "type": "string", "$ref": "#/definitions/IDEnchant" }, { "type": "object", "$ref": "#/definitions/Enchant" }, diff --git a/source/behavior/loot_tables/functions/trader_material_type.json b/source/behavior/loot_tables/functions/trader_material_type.json index 13a922bb..4381e1ed 100644 --- a/source/behavior/loot_tables/functions/trader_material_type.json +++ b/source/behavior/loot_tables/functions/trader_material_type.json @@ -1,10 +1,10 @@ { "$id": "blockception.minecraft.behavior.loot_tables.trader_material_type", "additionalProperties": false, - "description": "The function trader_material_type", + "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" } + "function": { "type": "string", "const": "trader_material_type", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Function" } } } diff --git a/source/behavior/loot_tables/loot_tables.json b/source/behavior/loot_tables/loot_tables.json index a2365f31..20fc44d7 100644 --- a/source/behavior/loot_tables/loot_tables.json +++ b/source/behavior/loot_tables/loot_tables.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/draft-07/schema", "$id": "blockception.minecraft.behavior.loot_tables", "additionalProperties": false, - "description": "A minecraft loot table", + "description": "A minecraft loot table.", "title": "Loot Table", "type": "object", "examples": [ @@ -25,7 +25,7 @@ "definitions": { "pools_spec": { "title": "Pools", - "description": "A collection of items where the system will choice one or more from", + "description": "A collection of items where the system will choice one or more from.", "$comment": "UNDOCUMENTED", "type": "array", "additionalProperties": false, @@ -36,7 +36,7 @@ "properties": { "rolls": { "title": "Rolls", - "description": "Determines how many items, will be selected", + "description": "Determines how many items, will be selected.", "$comment": "UNDOCUMENTED", "oneOf": [ { "type": "integer", "minimum": 0 }, @@ -44,8 +44,8 @@ "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" } + "min": { "title": "Minimum", "type": "number", "minimum": 0, "description": "The minimum amount." }, + "max": { "title": "Maximum", "type": "number", "minimum": 1, "description": "The maximum amount." } } } ] @@ -53,13 +53,13 @@ "type": { "title": "Type", "type": "string", - "description": "Whenever this pool item is an item or another table", + "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", + "description": "Possible conditions that need to have been met before selecting this item.", "$comment": "UNDOCUMENTED", "type": "array", "items": { "$ref": "./conditions.json" } @@ -67,44 +67,44 @@ "entries": { "title": "Entries", "type": "array", - "description": "The items specifiation of this pool", + "description": "The items specifiation of this pool.", "$comment": "UNDOCUMENTED", "items": { "additionalProperties": false, "type": "object", "required": ["type"], "title": "Entry", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "properties": { "type": { "title": "Type", "type": "string", "enum": ["item", "empty", "loot_table"], - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "count": { "type": "integer", "title": "Count", - "description": "The amount of the item" + "description": "The amount of the item." }, - "name": { "title": "Name", "type": "string", "description": "An item or loottable", "pattern": "^([\\w]+:|loot_tables/)" }, + "name": { "title": "Name", "type": "string", "description": "An item or loottable.", "pattern": "^([\\w]+:|loot_tables/)" }, "weight": { "title": "Weight", "type": "integer", "minimum": 1, - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "functions": { "title": "Functions", "type": "array", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "items": { "type": "object", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "required": ["function"], "title": "Function", @@ -112,25 +112,25 @@ } }, "pools": { "$ref": "#/definitions/pools_spec" }, - "quality": { "title": "Quality", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "integer" } + "quality": { "title": "Quality", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer" } } } }, "tiers": { "title": "Tiers", - "description": "UNDOCUMENTED", + "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_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", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0, @@ -141,7 +141,7 @@ } }, "properties": { - "pools": { "$ref": "#/definitions/pools_spec", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Pools" }, - "type": { "title": "Type", "type": "string", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "enum": ["minecraft:chest"] } + "pools": { "$ref": "#/definitions/pools_spec", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Pools" }, + "type": { "title": "Type", "type": "string", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["minecraft:chest"] } } } diff --git a/source/behavior/recipes/1.12.0/types/base types/definition.json b/source/behavior/recipes/1.12.0/types/base types/definition.json index 447aabbf..f8cd61f3 100644 --- a/source/behavior/recipes/1.12.0/types/base types/definition.json +++ b/source/behavior/recipes/1.12.0/types/base types/definition.json @@ -8,7 +8,7 @@ "type": "string", "pattern": "[a-z0-9_:\\-]+", "title": "Recipe Identifier", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } }, diff --git a/source/behavior/recipes/1.12.0/types/recipe_shaped.json b/source/behavior/recipes/1.12.0/types/recipe_shaped.json index c7d6a880..e2161f66 100644 --- a/source/behavior/recipes/1.12.0/types/recipe_shaped.json +++ b/source/behavior/recipes/1.12.0/types/recipe_shaped.json @@ -15,7 +15,7 @@ "minProperties": 1, "additionalProperties": { "$ref": "./base types/item.json" } }, - "group": { "type": "string", "title": "Group", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED" }, + "group": { "type": "string", "title": "Group", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "pattern": { "type": "array", "description": "Characters that represent a pattern to be defined by keys.", diff --git a/source/behavior/recipes/1.12.0/types/recipe_shapeless.json b/source/behavior/recipes/1.12.0/types/recipe_shapeless.json index b95e7590..327eb601 100644 --- a/source/behavior/recipes/1.12.0/types/recipe_shapeless.json +++ b/source/behavior/recipes/1.12.0/types/recipe_shapeless.json @@ -13,7 +13,7 @@ "title": "Ingredients", "oneOf": [{ "$ref": "./base types/item.json" }, { "type": "array", "items": { "$ref": "./base types/item.json" } }] }, - "group": { "type": "string", "title": "Group", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED" }, + "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.", diff --git a/source/behavior/spawn_rules/components/biome_filter.json b/source/behavior/spawn_rules/components/biome_filter.json index 644d06f2..705e92f6 100644 --- a/source/behavior/spawn_rules/components/biome_filter.json +++ b/source/behavior/spawn_rules/components/biome_filter.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.behavior.spawn_rules.minecraft.biome_filter", "title": "Biome Filter", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "oneOf": [ { "type": "array", "items": { "$ref": "../../entities/filters/filters.json" } }, diff --git a/source/behavior/spawn_rules/components/brightness_filter.json b/source/behavior/spawn_rules/components/brightness_filter.json index 6a6c76ee..d2c47c0b 100644 --- a/source/behavior/spawn_rules/components/brightness_filter.json +++ b/source/behavior/spawn_rules/components/brightness_filter.json @@ -3,11 +3,11 @@ "additionalProperties": false, "type": "object", "title": "Brightness Filter", - "description": "UNDOCUMENTED", + "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" }, + "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.)", diff --git a/source/behavior/spawn_rules/components/delay_filter.json b/source/behavior/spawn_rules/components/delay_filter.json index 792c582c..ecd2da6f 100644 --- a/source/behavior/spawn_rules/components/delay_filter.json +++ b/source/behavior/spawn_rules/components/delay_filter.json @@ -3,12 +3,12 @@ "additionalProperties": false, "type": "object", "title": "Delay Filter", - "description": "UNDOCUMENTED", + "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" } + "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" } } } diff --git a/source/behavior/spawn_rules/components/density_limit.json b/source/behavior/spawn_rules/components/density_limit.json index 06cbec4d..e5587f94 100644 --- a/source/behavior/spawn_rules/components/density_limit.json +++ b/source/behavior/spawn_rules/components/density_limit.json @@ -3,13 +3,13 @@ "additionalProperties": false, "type": "object", "title": "Density Limit", - "description": "UNDOCUMENTED", + "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" }, + "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", + "description": "This is the maximum number of mobs of this type spawnable underground.", "title": "Underground" } } diff --git a/source/behavior/spawn_rules/components/difficulty_filter.json b/source/behavior/spawn_rules/components/difficulty_filter.json index 21b95832..d6d5a436 100644 --- a/source/behavior/spawn_rules/components/difficulty_filter.json +++ b/source/behavior/spawn_rules/components/difficulty_filter.json @@ -3,11 +3,11 @@ "additionalProperties": false, "type": "object", "title": "Difficulty Filter", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "definitions": { "difficulty": { "type": "string", "enum": ["easy", "normal", "hard", "peaceful"] } }, "properties": { - "min": { "$ref": "#/definitions/difficulty", "description": "This is the minimum difficulty level that a mob spawns", "title": "Min" }, - "max": { "$ref": "#/definitions/difficulty", "description": "This is the maximum difficulty level that a mob spawns", "title": "Max" } + "min": { "$ref": "#/definitions/difficulty", "description": "This is the minimum difficulty level that a mob spawns.", "title": "Min" }, + "max": { "$ref": "#/definitions/difficulty", "description": "This is the maximum difficulty level that a mob spawns.", "title": "Max" } } } diff --git a/source/behavior/spawn_rules/components/disallow_spawns_in_bubble.json b/source/behavior/spawn_rules/components/disallow_spawns_in_bubble.json index 138c1f84..e6fb9373 100644 --- a/source/behavior/spawn_rules/components/disallow_spawns_in_bubble.json +++ b/source/behavior/spawn_rules/components/disallow_spawns_in_bubble.json @@ -3,6 +3,6 @@ "additionalProperties": false, "type": "object", "title": "Disallow Spawns In Bubble", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } diff --git a/source/behavior/spawn_rules/components/distance_filter.json b/source/behavior/spawn_rules/components/distance_filter.json index 431ef932..6fea755c 100644 --- a/source/behavior/spawn_rules/components/distance_filter.json +++ b/source/behavior/spawn_rules/components/distance_filter.json @@ -3,10 +3,10 @@ "additionalProperties": false, "type": "object", "title": "Distance Filter", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "properties": { - "min": { "type": "integer", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Min" }, - "max": { "type": "integer", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Max" } + "min": { "type": "integer", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Min" }, + "max": { "type": "integer", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Max" } } } diff --git a/source/behavior/spawn_rules/components/height_filter.json b/source/behavior/spawn_rules/components/height_filter.json index 9c732b7f..918fdd60 100644 --- a/source/behavior/spawn_rules/components/height_filter.json +++ b/source/behavior/spawn_rules/components/height_filter.json @@ -3,10 +3,10 @@ "additionalProperties": false, "type": "object", "title": "Height Filter", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "properties": { - "min": { "type": "integer", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Min" }, - "max": { "type": "integer", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Max" } + "min": { "type": "integer", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Min" }, + "max": { "type": "integer", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Max" } } } diff --git a/source/behavior/spawn_rules/components/herd.json b/source/behavior/spawn_rules/components/herd.json index ee73f0e1..a3c2fbc6 100644 --- a/source/behavior/spawn_rules/components/herd.json +++ b/source/behavior/spawn_rules/components/herd.json @@ -1,23 +1,23 @@ { "$id": "blockception.minecraft.behavior.spawn_rules.minecraft.height_filter", "title": "Height Filter", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "definitions": { "herd": { "type": "object", "title": "Herd", - "description": "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" }, + "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", + "description": "This is the number of mobs spawned before the specified event is triggered.", "title": "Event Skip Count" } } diff --git a/source/behavior/spawn_rules/components/mob_event_filter.json b/source/behavior/spawn_rules/components/mob_event_filter.json index ba6889f4..3c89b834 100644 --- a/source/behavior/spawn_rules/components/mob_event_filter.json +++ b/source/behavior/spawn_rules/components/mob_event_filter.json @@ -1,9 +1,9 @@ { "$id": "blockception.minecraft.behavior.spawn_rules.minecraft.mob_event_filter", "title": "Mob Event Filter", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "type": "object", - "properties": { "event": { "type": "string", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Event" } } + "properties": { "event": { "type": "string", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Event" } } } diff --git a/source/behavior/spawn_rules/components/permute_type.json b/source/behavior/spawn_rules/components/permute_type.json index 92c3edc6..c5ffcce1 100644 --- a/source/behavior/spawn_rules/components/permute_type.json +++ b/source/behavior/spawn_rules/components/permute_type.json @@ -3,20 +3,20 @@ "additionalProperties": false, "type": "array", "title": "Permute Type", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "items": { "type": "object", "additionalProperties": false, "title": "Permute Type", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "properties": { - "weight": { "type": "integer", "title": "Weight", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED" }, + "weight": { "type": "integer", "title": "Weight", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "entity_type": { "type": "string", "title": "Entity Type", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } diff --git a/source/behavior/spawn_rules/components/player_in_village_filter.json b/source/behavior/spawn_rules/components/player_in_village_filter.json index 48ac8fed..42147b82 100644 --- a/source/behavior/spawn_rules/components/player_in_village_filter.json +++ b/source/behavior/spawn_rules/components/player_in_village_filter.json @@ -3,14 +3,14 @@ "additionalProperties": false, "type": "object", "title": "Player In Village Filter", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "properties": { - "distance": { "type": "integer", "title": "Distance", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED" }, + "distance": { "type": "integer", "title": "Distance", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "village_border_tolerance": { "type": "integer", "title": "Village Border Tolerance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } diff --git a/source/behavior/spawn_rules/components/spawn_event.json b/source/behavior/spawn_rules/components/spawn_event.json index 2f6c069c..00e469d7 100644 --- a/source/behavior/spawn_rules/components/spawn_event.json +++ b/source/behavior/spawn_rules/components/spawn_event.json @@ -1,11 +1,11 @@ { "$id": "blockception.minecraft.behavior.spawn_rules.minecraft.spawn_event", "title": "Spawn Event", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { - "event": { "type": "string", "title": "Event", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED" } + "event": { "type": "string", "title": "Event", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } } diff --git a/source/behavior/spawn_rules/components/spawns_above_block_filter.json b/source/behavior/spawn_rules/components/spawns_above_block_filter.json index 4d01d82b..8731d16b 100644 --- a/source/behavior/spawn_rules/components/spawns_above_block_filter.json +++ b/source/behavior/spawn_rules/components/spawns_above_block_filter.json @@ -1,21 +1,21 @@ { "$id": "blockception.minecraft.behavior.spawn_rules.minecraft.spawns_above_block_filter", "title": "Spawns Underwater", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, "properties": { "blocks": { "title": "Blocks", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "oneOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" } }] }, "distance": { "title": "Distance", "type": "number", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "minimum": 0 } diff --git a/source/behavior/spawn_rules/components/spawns_lava.json b/source/behavior/spawn_rules/components/spawns_lava.json index 76f02eab..b56a0006 100644 --- a/source/behavior/spawn_rules/components/spawns_lava.json +++ b/source/behavior/spawn_rules/components/spawns_lava.json @@ -3,7 +3,7 @@ "additionalProperties": false, "type": "object", "title": "Spawns On Lava", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "properties": {} } diff --git a/source/behavior/spawn_rules/components/spawns_on_block_filter.json b/source/behavior/spawn_rules/components/spawns_on_block_filter.json index 00102ea4..eb288b3a 100644 --- a/source/behavior/spawn_rules/components/spawns_on_block_filter.json +++ b/source/behavior/spawn_rules/components/spawns_on_block_filter.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.behavior.spawn_rules.minecraft.spawns_on_block_filter", "title": "Spawns On Block Filter", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "oneOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" } }] } diff --git a/source/behavior/spawn_rules/components/spawns_on_block_prevented_filter.json b/source/behavior/spawn_rules/components/spawns_on_block_prevented_filter.json index 4b02ade6..c7f3ff3c 100644 --- a/source/behavior/spawn_rules/components/spawns_on_block_prevented_filter.json +++ b/source/behavior/spawn_rules/components/spawns_on_block_prevented_filter.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.behavior.spawn_rules.minecraft.spawns_on_block_prevented_filter", "title": "Spawns On Block Prevented Filter", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "oneOf": [{ "type": "string" }, { "type": "array", "items": { "type": "string" } }] } diff --git a/source/behavior/spawn_rules/components/spawns_on_surface.json b/source/behavior/spawn_rules/components/spawns_on_surface.json index 73476de5..06eb27fc 100644 --- a/source/behavior/spawn_rules/components/spawns_on_surface.json +++ b/source/behavior/spawn_rules/components/spawns_on_surface.json @@ -3,7 +3,7 @@ "additionalProperties": false, "type": "object", "title": "Spawns On Surface", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "properties": {} } diff --git a/source/behavior/spawn_rules/components/spawns_underground.json b/source/behavior/spawn_rules/components/spawns_underground.json index 109e9c32..f5fe50cc 100644 --- a/source/behavior/spawn_rules/components/spawns_underground.json +++ b/source/behavior/spawn_rules/components/spawns_underground.json @@ -3,7 +3,7 @@ "additionalProperties": false, "type": "object", "title": "Spawns Underground", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "properties": {} } diff --git a/source/behavior/spawn_rules/components/spawns_underwater.json b/source/behavior/spawn_rules/components/spawns_underwater.json index ea372fee..92558019 100644 --- a/source/behavior/spawn_rules/components/spawns_underwater.json +++ b/source/behavior/spawn_rules/components/spawns_underwater.json @@ -1,7 +1,7 @@ { "$id": "blockception.minecraft.behavior.spawn_rules.minecraft.spawns_underwater", "title": "Spawns Underwater", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false diff --git a/source/behavior/spawn_rules/components/weight.json b/source/behavior/spawn_rules/components/weight.json index 2ba5c0a8..72c7a520 100644 --- a/source/behavior/spawn_rules/components/weight.json +++ b/source/behavior/spawn_rules/components/weight.json @@ -3,7 +3,7 @@ "additionalProperties": false, "type": "object", "title": "Weight", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", - "properties": { "default": { "type": "integer", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Default" } } + "properties": { "default": { "type": "integer", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Default" } } } diff --git a/source/behavior/spawn_rules/components/world_age_filter.json b/source/behavior/spawn_rules/components/world_age_filter.json index 98c38399..303d77fa 100644 --- a/source/behavior/spawn_rules/components/world_age_filter.json +++ b/source/behavior/spawn_rules/components/world_age_filter.json @@ -1,8 +1,8 @@ { "$id": "blockception.minecraft.behavior.spawn_rules.minecraft.world_age_filter", "title": "World Age Filter", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, - "properties": { "min": { "type": "integer", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Min" } } + "properties": { "min": { "type": "integer", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Min" } } } diff --git a/source/behavior/spawn_rules/spawn_rules.json b/source/behavior/spawn_rules/spawn_rules.json index c165e2eb..f89e57d1 100644 --- a/source/behavior/spawn_rules/spawn_rules.json +++ b/source/behavior/spawn_rules/spawn_rules.json @@ -9,7 +9,7 @@ ], "type": "object", "title": "Spawn Rules", - "description": "Data-Driven spawning allows you to adjust the spawn conditions of mobs", + "description": "Data-Driven spawning allows you to adjust the spawn conditions of mobs.", "additionalProperties": false, "required": ["format_version", "minecraft:spawn_rules"], "properties": { @@ -17,20 +17,20 @@ "minecraft:spawn_rules": { "type": "object", "title": "Spawn Rules", - "description": "Data-Driven spawning allows you to adjust the spawn conditions of mobs", + "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", + "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", + "description": "The entity identifier this spawn rule will apply to, entity must exist.", "$comment": "UNDOCUMENTED", "$ref": "../../general/entity/identifier.json" }, @@ -46,13 +46,13 @@ "conditions": { "type": "array", "title": "Conditions", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "items": { "additionalProperties": false, "type": "object", "title": "Condition", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "properties": { "minecraft:biome_filter": { "$ref": "./components/biome_filter.json" }, diff --git a/source/behavior/trading/trading.json b/source/behavior/trading/trading.json index 8997f17d..6589ce66 100644 --- a/source/behavior/trading/trading.json +++ b/source/behavior/trading/trading.json @@ -3,7 +3,7 @@ "$id": "blockception.minecraft.behavior.trading", "type": "object", "additionalProperties": false, - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Trading", "examples": [ @@ -29,7 +29,7 @@ "functions": { "$ref": "#/definitions/Functions" }, "biomes": { "title": "Biomes", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "type": "array", "items": { "$ref": "../../general/biome_item.json" @@ -98,7 +98,7 @@ "functions": { "$ref": "#/definitions/Functions" }, "choice": { "title": "Choice", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { "$ref": "#/definitions/Item" } @@ -135,11 +135,11 @@ } ] }, - "price_multiplier": { "title": "Price Multiplier", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "number" }, + "price_multiplier": { "title": "Price Multiplier", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number" }, "functions": { "$ref": "#/definitions/Functions" }, "choice": { "title": "Choice", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { "$ref": "#/definitions/Item" } @@ -162,7 +162,7 @@ "tiers": { "type": "array", "title": "Tiers", - "description": "A collection of tiers", + "description": "A collection of tiers.", "items": { "additionalProperties": false, "type": "object", @@ -173,7 +173,7 @@ "groups": { "type": "array", "title": "Groups", - "description": "A collection of groups", + "description": "A collection of groups.", "items": { "type": "object", "title": "Group", diff --git a/source/behavior/volumes/1.17.0/volumes.json b/source/behavior/volumes/1.17.0/volumes.json index ec176fa3..7cf488c1 100644 --- a/source/behavior/volumes/1.17.0/volumes.json +++ b/source/behavior/volumes/1.17.0/volumes.json @@ -2,7 +2,7 @@ "$id": "blockception.minecraft.behavior.volumes.1.17.0", "type": "object", "title": "Spawn Rules 1.17.0", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "required": ["format_version", "minecraft:volume"], @@ -15,14 +15,14 @@ "minecraft:volume": { "type": "object", "title": "Spawn Rules", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { "description": { "type": "object", "title": "Description", - "description": "The description contains a single `identifier` string", + "description": "The description contains a single `identifier` string.", "additionalProperties": false, "properties": { "identifier": { @@ -35,7 +35,7 @@ "components": { "type": "object", "title": "Components", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { @@ -106,7 +106,7 @@ "type": "array", "items": { "title": "On Enter Trigger", - "description": "Trigger", + "description": "Trigger.", "type": "object", "additionalProperties": false, "properties": { @@ -145,7 +145,7 @@ "type": "array", "items": { "title": "On Enter Trigger", - "description": "Trigger", + "description": "Trigger.", "type": "object", "additionalProperties": false, "properties": { diff --git a/source/general/1.14.0/chance_information.json b/source/general/1.14.0/chance_information.json index a751ba47..eeb4c81b 100644 --- a/source/general/1.14.0/chance_information.json +++ b/source/general/1.14.0/chance_information.json @@ -3,10 +3,10 @@ "additionalProperties": false, "type": "object", "title": "Chance Information", - "description": "UNDOCUMENTED", + "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" } + "numerator": { "type": "number", "minimum": 1, "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Numerator" }, + "denominator": { "type": "number", "minimum": 1, "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Denominator" } } } diff --git a/source/general/UUIDV4.json b/source/general/UUIDV4.json index c52e2cfa..225de8f3 100644 --- a/source/general/UUIDV4.json +++ b/source/general/UUIDV4.json @@ -1,6 +1,6 @@ { "$id": "UUIDV4", - "description": "A valid uuid v4", + "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", diff --git a/source/general/Version.json b/source/general/Version.json index cf44b0a3..2d9a9ca8 100644 --- a/source/general/Version.json +++ b/source/general/Version.json @@ -2,7 +2,7 @@ "$id": "Version", "type": "array", "title": "Version Numbering", - "description": "A version made of 3 numbers", + "description": "A version made of 3 numbers.", "examples": [[1, 0, 0]], "items": [ { "type": "number", "minimum": 1, "title": "" }, diff --git a/source/general/biome_item.json b/source/general/biome_item.json index 77e5162a..627c54e1 100644 --- a/source/general/biome_item.json +++ b/source/general/biome_item.json @@ -2,7 +2,7 @@ "$id": "blockception.minecraft.general.1.8.0.biome.item", "type": "string", "title": "Biome Name", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": [ "animal", diff --git a/source/general/block/identifier.json b/source/general/block/identifier.json index 9abc7431..214107d1 100644 --- a/source/general/block/identifier.json +++ b/source/general/block/identifier.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.block.identifier", - "description": "A minecraft block identifier", + "description": "A minecraft block identifier.", "examples": ["namespace:block"], "pattern": "^[0-9a-zA-Z:_\\.\\-]+$", "title": "Block Identifier", diff --git a/source/general/block/reference.json b/source/general/block/reference.json index ace5413e..eaf10b50 100644 --- a/source/general/block/reference.json +++ b/source/general/block/reference.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.block.reference", - "description": "A minecraft block reference", + "description": "A minecraft block reference.", "examples": ["namespace:block", { "name": "namespace:block" }], "title": "Block Reference", "defaultSnippets": [{ "label": "New Identifier", "body": "$1:$2" }], @@ -24,7 +24,7 @@ "additionalProperties": { "type": ["boolean", "integer", "string"], "title": "State Value", - "description": "The key of property is the name of the block state/property, the value must be the same as the block properties accepted values" + "description": "The key of property is the name of the block state/property, the value must be the same as the block properties accepted values." } } } diff --git a/source/general/block_definition.json b/source/general/block_definition.json index dcf04d5e..222806e7 100644 --- a/source/general/block_definition.json +++ b/source/general/block_definition.json @@ -3,14 +3,14 @@ "type": "object", "additionalProperties": false, "properties": { - "name": { "title": "Name", "description": "The block id, for example: `minecraft:air'", "type": "string" }, + "name": { "title": "Name", "description": "The block id, for example: `minecraft:air'.", "type": "string" }, "states": { "title": "States", - "description": "The block states", + "description": "The block states.", "type": "object", "additionalProperties": { "title": "State", - "description": "A single state of a block", + "description": "A single state of a block.", "oneOf": [{ "type": "string" }, { "type": "boolean" }, { "type": "number" }] } } diff --git a/source/general/blocks_item.json b/source/general/blocks_item.json index 325c6d0a..e8d6c4e6 100644 --- a/source/general/blocks_item.json +++ b/source/general/blocks_item.json @@ -2,6 +2,6 @@ "$id": "blockception.minecraft.general.1.8.0.blocks.item", "type": "string", "title": "Block Name", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } diff --git a/source/general/entity/damage_source.json b/source/general/entity/damage_source.json index cf11f9ed..b517d767 100644 --- a/source/general/entity/damage_source.json +++ b/source/general/entity/damage_source.json @@ -1,6 +1,6 @@ { "title": "Entity Damage Source", - "description": "The types of damage an entity can receive", + "description": "The types of damage an entity can receive.", "type": "string", "enum": [ "all", diff --git a/source/general/entity/identifier.json b/source/general/entity/identifier.json index 28633e72..87a450af 100644 --- a/source/general/entity/identifier.json +++ b/source/general/entity/identifier.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.entity.identifier", - "description": "A minecraft entity identifier", + "description": "A minecraft entity identifier.", "examples": ["namespace:entity_name"], "pattern": "^[0-9a-zA-Z:_\\.\\-]+$", "title": "Entity Identifier", diff --git a/source/general/feature/identifier.json b/source/general/feature/identifier.json index 7516a018..d2a91860 100644 --- a/source/general/feature/identifier.json +++ b/source/general/feature/identifier.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.feature.identifier", - "description": "A minecraft feature identifier", + "description": "A minecraft feature identifier.", "examples": ["namespace:feature"], "pattern": "^[0-9a-zA-Z:_\\.\\-]+$", "title": "Feature Identifier", diff --git a/source/general/fog/identifier.json b/source/general/fog/identifier.json index 7345244e..04e3d656 100644 --- a/source/general/fog/identifier.json +++ b/source/general/fog/identifier.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.fog.identifier", - "description": "A minecraft fog identifier", + "description": "A minecraft fog identifier.", "examples": ["namespace:fog_name"], "pattern": "^[0-9a-zA-Z:_\\.\\-]+$", "title": "Fog Identifier", diff --git a/source/general/item/identifier.json b/source/general/item/identifier.json index 3d1cfaf1..82f78e0a 100644 --- a/source/general/item/identifier.json +++ b/source/general/item/identifier.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.item.identifier", - "description": "A minecraft item identifier", + "description": "A minecraft item identifier.", "pattern": "^[0-9a-zA-Z:_\\-\\.]+$", "title": "Item Identifier", "type": "string", diff --git a/source/general/loot_table/identifier.json b/source/general/loot_table/identifier.json index ec615bcb..4ec98c6a 100644 --- a/source/general/loot_table/identifier.json +++ b/source/general/loot_table/identifier.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.loot_table.identifier", - "description": "A minecraft loot_table identifier", + "description": "A minecraft loot_table identifier.", "examples": ["loot_tables/"], "pattern": "^loot_tables/.*\\.json$", "title": "Loot Table Identifier", diff --git a/source/general/manifest.json b/source/general/manifest.json index 51d40030..c50de891 100644 --- a/source/general/manifest.json +++ b/source/general/manifest.json @@ -3,7 +3,7 @@ "$id": "blockception.minecraft.manifest", "type": "object", "title": "Manifest Schema", - "description": "The minecraft manifest schema", + "description": "The minecraft manifest schema.", "required": ["format_version", "header"], "examples": [ { diff --git a/source/general/manifest/manifest.1.json b/source/general/manifest/manifest.1.json index beb7ad5b..72d42ccd 100644 --- a/source/general/manifest/manifest.1.json +++ b/source/general/manifest/manifest.1.json @@ -15,7 +15,7 @@ "header": { "required": ["name", "uuid", "version"], "properties": { - "name": { "type": "string", "default": 0, "description": "This is the name of the pack as it appears within Minecraft", "title": "Name" }, + "name": { "type": "string", "default": 0, "description": "This is the name of the pack as it appears within Minecraft.", "title": "Name" }, "description": { "type": "string", "default": 0, @@ -39,10 +39,10 @@ "description": "This is the minimum version of the game that this pack was written for. This helps the game identify whether any backwards compatibility is needed for your pack. You should always use the highest version currently available when creating packs", "title": "Minimum Engine Version" }, - "lock_template_options": { "type": "boolean", "description": "UNDOCUMENTED: lock template options", "title": "Lock Template Options" }, - "base_game_version": { "$ref": "#/definitions/version", "description": "UNDOCUMENTED: base game version", "title": "Base Game Version" } + "lock_template_options": { "type": "boolean", "description": "UNDOCUMENTED: lock template options.", "title": "Lock Template Options" }, + "base_game_version": { "$ref": "#/definitions/version", "description": "UNDOCUMENTED: base game version.", "title": "Base Game Version" } }, - "description": "UNDOCUMENTED: header", + "description": "UNDOCUMENTED: header.", "title": "Header" }, "modules": { @@ -51,7 +51,7 @@ "items": { "additionalProperties": false, "type": "object", - "description": "UNDOCUMENTED: modules", + "description": "UNDOCUMENTED: modules.", "title": "Modules", "required": ["type", "uuid", "version"], "properties": { @@ -79,7 +79,7 @@ } } }, - "description": "UNDOCUMENTED: modules" + "description": "UNDOCUMENTED: modules." }, "dependencies": { "type": "array", @@ -100,7 +100,7 @@ "title": "Version" } }, - "description": "UNDOCUMENTED: dependencies", + "description": "UNDOCUMENTED: dependencies.", "title": "Dependencies" }, "title": "Dependencies" @@ -112,22 +112,22 @@ "properties": { "experimental_custom_ui": { "type": "boolean", - "description": "Allows HTML files in the pack to be used for custom UI, and scripts in the pack to call and manipulate custom UI", + "description": "Allows HTML files in the pack to be used for custom UI, and scripts in the pack to call and manipulate custom UI.", "title": "Experimental Custom Ui" }, - "chemistry": { "type": "boolean", "description": "Allows the pack to add, change or replace Chemistry functionality", "title": "Chemistry" } + "chemistry": { "type": "boolean", "description": "Allows the pack to add, change or replace Chemistry functionality.", "title": "Chemistry" } } }, "metadata": { "authors": { "title": "Authors", - "description": "Name of the author(s) of the pack", + "description": "Name of the author(s) of the pack.", "type": "array", - "items": { "type": "string", "title": "Name", "description": "Name of the author of the pack" } + "items": { "type": "string", "title": "Name", "description": "Name of the author of the pack." } }, - "license": { "type": "string", "description": "The license of the pack", "title": "License" }, - "url": { "type": "string", "description": "The home website of your pack", "title": "Url" }, - "description": "UNDOCUMENTED: metadata", + "license": { "type": "string", "description": "The license of the pack.", "title": "License" }, + "url": { "type": "string", "description": "The home website of your pack.", "title": "Url" }, + "description": "UNDOCUMENTED: metadata.", "title": "Metadata" } } diff --git a/source/general/manifest/manifest.2.json b/source/general/manifest/manifest.2.json index f43f2ba3..0149be9a 100644 --- a/source/general/manifest/manifest.2.json +++ b/source/general/manifest/manifest.2.json @@ -9,7 +9,7 @@ "uuidv4": { "type": "string", "title": "An UUID V4", - "description": "A valid uuid v4", + "description": "A valid uuid v4.", "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", "format": "uuid" }, @@ -28,17 +28,17 @@ "properties": { "experimental_custom_ui": { "type": "boolean", - "description": "Allows HTML files in the pack to be used for custom UI, and scripts in the pack to call and manipulate custom UI", + "description": "Allows HTML files in the pack to be used for custom UI, and scripts in the pack to call and manipulate custom UI.", "title": "Experimental Custom Ui" }, "chemistry": { "type": "boolean", - "description": "Allows the pack to add, change or replace Chemistry functionality", + "description": "Allows the pack to add, change or replace Chemistry functionality.", "title": "Chemistry" }, "raytraced": { "type": "boolean", - "description": "Indicates that this pack contains Raytracing Enhanced or Physical Based Materials for rendering", + "description": "Indicates that this pack contains Raytracing Enhanced or Physical Based Materials for rendering.", "title": "Raytraced" } } @@ -135,7 +135,7 @@ "language": { "type": "string", "title": "Language", - "description": "The programming language to use", + "description": "The programming language to use.", "enum": ["javascript"] }, "uuid": { @@ -151,7 +151,7 @@ "entry": { "type": "string", "title": "Entry", - "description": "The javascript entry point for tests, only works if types has been set to `javascript`" + "description": "The javascript entry point for tests, only works if types has been set to `javascript`." } } } @@ -164,15 +164,15 @@ "properties": { "authors": { "title": "Authors", - "description": "Name of the author(s) of the pack", + "description": "Name of the author(s) of the pack.", "type": "array", - "items": { "type": "string", "title": "Name", "description": "Name of the author of the pack" } + "items": { "type": "string", "title": "Name", "description": "Name of the author of the pack." } }, - "license": { "type": "string", "title": "License", "description": "The license of the pack" }, - "url": { "type": "string", "format": "uri", "title": "Url", "description": "The home website of your pack" }, + "license": { "type": "string", "title": "License", "description": "The license of the pack." }, + "url": { "type": "string", "format": "uri", "title": "Url", "description": "The home website of your pack." }, "generated_with": { "title": "Generated With", - "description": "A list of tools and their version that have modified this pack", + "description": "A list of tools and their version that have modified this pack.", "type": "object", "propertyNames": { "pattern": "^[a-zA-Z0-9\\_\\-]+$", @@ -183,7 +183,7 @@ "type": "array", "examples": [["1.0.0"]], "title": "Tool", - "description": "The tool and the version used to modified this pack", + "description": "The tool and the version used to modified this pack.", "items": { "type": "string", "title": "Version", @@ -197,11 +197,11 @@ "subpacks": { "type": "array", "title": "Subpacks", - "description": "A list of subpacks that are applied per memory tier", + "description": "A list of subpacks that are applied per memory tier.", "items": { "type": "object", "additionalProperties": false, - "description": "A single definition of a subpack", + "description": "A single definition of a subpack.", "title": "Subpacks", "required": ["folder_name", "name", "memory_tier"], "example": [{ "folder_name": "tier1", "name": "low", "memory_tier": 1 }], diff --git a/source/general/particle/identifier.json b/source/general/particle/identifier.json index 6c2f6026..3b6ae0f9 100644 --- a/source/general/particle/identifier.json +++ b/source/general/particle/identifier.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.particle.identifier", - "description": "The minecraft particle identifier", + "description": "The minecraft particle identifier.", "examples": ["namespace:particle_name"], "pattern": "^[0-9a-zA-Z:_\\.\\-]+$", "title": "Particle Identifier", diff --git a/source/general/rawtext/rawtext.json b/source/general/rawtext/rawtext.json index 69661f7e..79924efe 100644 --- a/source/general/rawtext/rawtext.json +++ b/source/general/rawtext/rawtext.json @@ -1,6 +1,6 @@ { "title": "RawText", - "description": "A json structure that allows for translations, or go from scores and selectors to text", + "description": "A json structure that allows for translations, or go from scores and selectors to text.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, @@ -9,7 +9,7 @@ "definitions": { "rawtext": { "title": "Rawtext", - "description": "The raw text component, which consists of an array of text components", + "description": "The raw text component, which consists of an array of text components.", "$comment": "UNDOCUMENTED", "type": "array", "default": [], @@ -20,7 +20,7 @@ }, "selector": { "title": "Selector", - "description": "A text component that turns a selector into text, will usually display like: `Player1, Player2 and Player3`", + "description": "A text component that turns a selector into text, will usually display like: `Player1, Player2 and Player3`.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, @@ -29,7 +29,7 @@ "properties": { "selector": { "title": "Selector", - "description": "The selector to target, for dialogue files, you can use @initiator", + "description": "The selector to target, for dialogue files, you can use @initiator.", "$comment": "UNDOCUMENTED", "type": "string", "examples": ["@a", "@s", "@r", "@p", "@e", "@initiator"], @@ -39,7 +39,7 @@ }, "score": { "title": "Score", - "description": "A text component that grabs the score from an given target and turns its value of a specified 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, @@ -48,7 +48,7 @@ "properties": { "score": { "title": "Score", - "description": "The score text component", + "description": "The score text component.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, @@ -60,13 +60,13 @@ "properties": { "name": { "title": "Selector", - "description": "A selector, player name (can be fake), or * to target who is reading the message", + "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", + "description": "The scoreboard objective to retrieve the value of.", "$comment": "UNDOCUMENTED", "type": "string" } @@ -76,7 +76,7 @@ }, "text": { "title": "Text", - "description": "A simple text component, will display the text raw (without processing)", + "description": "A simple text component, will display the text raw (without processing).", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, @@ -85,7 +85,7 @@ "properties": { "text": { "title": "Text", - "description": "The text to display", + "description": "The text to display.", "$comment": "UNDOCUMENTED", "type": "string" } @@ -93,7 +93,7 @@ }, "translate": { "title": "Translate", - "description": "A text component that will attempt to translate the given key through the languages files", + "description": "A text component that will attempt to translate the given key through the languages files.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, @@ -102,7 +102,7 @@ "properties": { "translate": { "title": "Translate", - "description": "The key to translate", + "description": "The key to translate.", "$comment": "UNDOCUMENTED", "type": "string", "examples": ["example.translation.key"] @@ -114,7 +114,7 @@ }, "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", + "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": { @@ -122,7 +122,7 @@ { "type": "string" }, { "title": "Rawtext", - "description": "Specifies that this 'with' component needs to be processed", + "description": "Specifies that this 'with' component needs to be processed.", "$comment": "UNDOCUMENTED", "type": "object", "additionalProperties": false, diff --git a/source/general/vectors/integer2.json b/source/general/vectors/integer2.json index 4ba895c2..7c6c7dd8 100644 --- a/source/general/vectors/integer2.json +++ b/source/general/vectors/integer2.json @@ -1,11 +1,11 @@ { "type": "array", "title": "Vector Of 2 Items", - "description": "An vector of 2 integers", + "description": "An vector of 2 integers.", "examples": [[0, 0]], "items": [ - { "type": "integer", "description": "The X component", "title": "X", "default": 0 }, - { "type": "integer", "description": "The Y component", "title": "Y", "default": 0 } + { "type": "integer", "description": "The X component.", "title": "X", "default": 0 }, + { "type": "integer", "description": "The Y component.", "title": "Y", "default": 0 } ], "defaultSnippets": [{ "label": "New Array 2", "body": ["^$1", "^$2"] }] } diff --git a/source/general/vectors/integer3.json b/source/general/vectors/integer3.json index b02721ec..bb1038f7 100644 --- a/source/general/vectors/integer3.json +++ b/source/general/vectors/integer3.json @@ -1,12 +1,12 @@ { "type": "array", "title": "Vector Of 3 Items", - "description": "An vector of 3 integers", + "description": "An vector of 3 integers.", "examples": [[0, 0, 0]], "items": [ - { "type": "integer", "description": "The X component", "title": "X", "default": 0 }, - { "type": "integer", "description": "The Y component", "title": "Y", "default": 0 }, - { "type": "integer", "description": "The Z component", "title": "Z", "default": 0 } + { "type": "integer", "description": "The X component.", "title": "X", "default": 0 }, + { "type": "integer", "description": "The Y component.", "title": "Y", "default": 0 }, + { "type": "integer", "description": "The Z component.", "title": "Z", "default": 0 } ], "defaultSnippets": [{ "label": "New Array 3", "body": ["^$1", "^$2", "^$3"] }] } diff --git a/source/general/vectors/number2.json b/source/general/vectors/number2.json index 17933f59..9f8506fe 100644 --- a/source/general/vectors/number2.json +++ b/source/general/vectors/number2.json @@ -1,11 +1,11 @@ { "type": "array", "title": "Vector Of 2 Items", - "description": "An vector of 2 number", + "description": "An vector of 2 number.", "examples": [[0, 0]], "items": [ - { "type": "number", "description": "The X component", "title": "X", "default": 0 }, - { "type": "number", "description": "The Y component", "title": "Y", "default": 0 } + { "type": "number", "description": "The X component.", "title": "X", "default": 0 }, + { "type": "number", "description": "The Y component.", "title": "Y", "default": 0 } ], "defaultSnippets": [{ "label": "New Array 2", "body": ["^$1", "^$2"] }] } diff --git a/source/general/vectors/number3.json b/source/general/vectors/number3.json index d571d844..5bd23852 100644 --- a/source/general/vectors/number3.json +++ b/source/general/vectors/number3.json @@ -1,12 +1,12 @@ { "type": "array", "title": "Vector Of 3 Items", - "description": "An vector of 3 number", + "description": "An vector of 3 number.", "examples": [[0.0, 0.0, 0.0]], "items": [ - { "type": "number", "description": "The X component", "title": "X", "default": 0 }, - { "type": "number", "description": "The Y component", "title": "Y", "default": 0 }, - { "type": "number", "description": "The Z component", "title": "Z", "default": 0 } + { "type": "number", "description": "The X component.", "title": "X", "default": 0 }, + { "type": "number", "description": "The Y component.", "title": "Y", "default": 0 }, + { "type": "number", "description": "The Z component.", "title": "Z", "default": 0 } ], "defaultSnippets": [{ "label": "New Array 3", "body": ["^$1", "^$2", "^$3"] }] } diff --git a/source/general/volume/identifier.json b/source/general/volume/identifier.json index f7ed7b53..0310f2c6 100644 --- a/source/general/volume/identifier.json +++ b/source/general/volume/identifier.json @@ -1,6 +1,6 @@ { "$id": "blockception.minecraft.entity.volume", - "description": "A minecraft entity volume", + "description": "A minecraft entity volume.", "examples": ["namespace:volume_name"], "pattern": "^[0-9a-zA-Z:_\\.\\-]+$", "title": "Volume Identifier", diff --git a/source/general/world_x_packs.json b/source/general/world_x_packs.json index 83cec674..84fcb96e 100644 --- a/source/general/world_x_packs.json +++ b/source/general/world_x_packs.json @@ -3,16 +3,16 @@ "$id": "blockception.minecraft.world_x_packs", "type": "array", "title": "World X Pack Schema", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "examples": [[{ "pack_id": "UUID", "version": [1, 0, 0] }]], "items": { "title": "Items", - "description": "A reference to a pack", + "description": "A reference to a pack.", "type": "object", "properties": { - "pack_id": { "description": "The uuid of the pack to include", "$ref": "./UUIDV4.json", "title": "Pack Id" }, - "version": { "description": "The version of the pack", "$ref": "./Version.json", "title": "Version" } + "pack_id": { "description": "The uuid of the pack to include.", "$ref": "./UUIDV4.json", "title": "Pack Id" }, + "version": { "description": "The version of the pack.", "$ref": "./Version.json", "title": "Version" } } } } diff --git a/source/language/language_names.json b/source/language/language_names.json index 905ed2e7..845b022c 100644 --- a/source/language/language_names.json +++ b/source/language/language_names.json @@ -37,13 +37,13 @@ "additionalProperties": false, "type": "array", "title": "Language Names", - "description": "A language names definitions file", + "description": "A language names definitions file.", "items": { "type": "array", - "description": "A language name identifier", + "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" } + { "type": "string", "description": "A language identifier.", "pattern": "^[a-z]{2}_[A-Z]{2}$" }, + { "type": "string", "description": "The name of the language." } ] } } diff --git a/source/language/languages.json b/source/language/languages.json index 17d2b6f8..fa0caa60 100644 --- a/source/language/languages.json +++ b/source/language/languages.json @@ -37,10 +37,10 @@ ], "type": "array", "title": "Languages", - "description": "A language definitions file", + "description": "A language definitions file.", "items": { "type": "string", - "description": "A language identifier", + "description": "A language identifier.", "pattern": "^[a-z]{2}_[A-Z]{2}$", "enum": [ "en_US", diff --git a/source/molang/arraynumber3.json b/source/molang/arraynumber3.json index 51e1dfbc..859ca71d 100644 --- a/source/molang/arraynumber3.json +++ b/source/molang/arraynumber3.json @@ -1,6 +1,6 @@ { "title": "Molang Array Of 3 Numbers", - "description": "The minecraft molang definition that results in a 3 floats", + "description": "The minecraft molang definition that results in a 3 floats.", "items": [ { "$ref": "./number.json", "minLength": 0 }, { "$ref": "./number.json", "minLength": 0 }, diff --git a/source/molang/number.json b/source/molang/number.json index 6937dd05..be612679 100644 --- a/source/molang/number.json +++ b/source/molang/number.json @@ -1,7 +1,7 @@ { "$id": "molang_number1.8.0", "title": "Molang Number", - "description": "The minecraft molang definition that results in a float", + "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" }] diff --git a/source/molang/string.json b/source/molang/string.json index 658597e3..6a3c6df8 100644 --- a/source/molang/string.json +++ b/source/molang/string.json @@ -2,7 +2,7 @@ "$id": "molang.string.1.8.0", "type": "string", "title": "Molang", - "description": "Molang definition", + "description": "Molang definition.", "format": "molang", "examples": ["query.variant", "(1.0)", "query.", "variable.=;"], "defaultSnippets": [{ "label": "New Molang", "body": "$1" }] diff --git a/source/resource/animation_controllers/animation_controller.json b/source/resource/animation_controllers/animation_controller.json index 0820d6a8..340bebe0 100644 --- a/source/resource/animation_controllers/animation_controller.json +++ b/source/resource/animation_controllers/animation_controller.json @@ -16,22 +16,22 @@ ], "type": "object", "title": "Animation Controller", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "definitions": { "animationspec": { "anyOf": [ - { "title": "Animation Specification", "description": "A single string that specifies which animation there are", "type": "string" }, + { "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", + "description": "A object specification on how to transition.", "maxProperties": 1, "minProperties": 1, "additionalProperties": { "oneOf": [ { "type": "string", "$ref": "../../molang/string.json" }, - { "type": "number", "description": "A blend weight" } + { "type": "number", "description": "A blend weight." } ] } } @@ -48,17 +48,17 @@ "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" }, + "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", + "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 .+|/.+)$" } + "commands": { "type": "string", "description": "The event or commands to execute.", "pattern": "^(@s .+|/.+)$" } }, "required": ["format_version", "animation_controllers"], "additionalProperties": false, @@ -67,7 +67,7 @@ "animation_controllers": { "type": "object", "title": "Animation Controllers Schema", - "description": "The animation controllers schema for", + "description": "The animation controllers schema for.", "propertyNames": { "pattern": "^controller\\.animation\\.[a-z\\.]+", "examples": ["controller.animation.example", "controller.animation.example.foo"] @@ -76,20 +76,20 @@ "additionalProperties": false, "type": "object", "title": "A Animation Controller", - "description": "A single animation controller", + "description": "A single animation controller.", "required": ["states"], "minProperties": 1, "properties": { "states": { "title": "States", - "description": "The states of this animation controller", + "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", + "description": "Animation state.", "type": "object", "examples": [ { @@ -100,7 +100,7 @@ "properties": { "animations": { "title": "Animations", - "description": "The animations definition for", + "description": "The animations definition for.", "type": "array", "items": { "$ref": "#/definitions/animationspec", "title": "Animations" } }, @@ -111,11 +111,11 @@ "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" + "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", + "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." @@ -124,16 +124,16 @@ ] }, "blend_via_shortest_path": { - "description": "When blending a transition to another state, animate each euler axis through the shortest rotation, instead of by value", + "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", + "description": "The effects to be emitted.", "type": "array", "items": { "$ref": "#/definitions/particle_effect_spec", - "description": "UNDOCUMENTED: particle effects", + "description": "UNDOCUMENTED: particle effects.", "title": "Particle Effects" }, "title": "Particle Effects" @@ -155,12 +155,12 @@ }, "transitions": { "title": "Transition", - "description": "The transition definition for", + "description": "The transition definition for.", "minProperties": 1, "type": "array", "items": { "$ref": "#/definitions/animationspec", - "description": "The specification on when to transition to a new state", + "description": "The specification on when to transition to a new state.", "title": "Transitions" } }, @@ -182,24 +182,24 @@ }, "on_entry": { "title": "On Entry", - "description": "Sets molang on data on entry", + "description": "Sets molang on data on entry.", "$comment": "UNDOCUMENTED", "type": "array", - "items": { "pattern": "^.+=.+;$", "title": "Molang", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "string" } + "items": { "pattern": "^.+=.+;$", "title": "Molang", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" } }, "on_exit": { "title": "On Exit", - "description": "Sets molang on data on exit", + "description": "Sets molang on data on exit.", "$comment": "UNDOCUMENTED", "type": "array", - "items": { "pattern": "^.+=.+;$", "title": "Molang", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "string" } + "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", + "description": "The state to start with, if not specified state at position 0 in the array is used.", "title": "Initial State" } } diff --git a/source/resource/animations/actor_animation.json b/source/resource/animations/actor_animation.json index 7bbd1130..0fb7edae 100644 --- a/source/resource/animations/actor_animation.json +++ b/source/resource/animations/actor_animation.json @@ -14,11 +14,11 @@ "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" }, + "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", + "description": "A molang script that will be run when the particle emitter is initialized.", "$ref": "../../molang/string.json" }, "bind_to_actor": { @@ -31,7 +31,7 @@ }, "PositionV3": { "title": "Position Array", - "description": "An array of 3 items that describe the bones position", + "description": "An array of 3 items that describe the bones position.", "type": "array", "examples": [[0, 0, 0]], "maxItems": 3, @@ -44,7 +44,7 @@ }, "RotationV3": { "title": "Rotation Array", - "description": "An array of 3 items that describe the bones rotation", + "description": "An array of 3 items that describe the bones rotation.", "type": "array", "examples": [[0, 0, 0]], "maxItems": 3, @@ -57,7 +57,7 @@ }, "ScaleV3": { "title": "Scale Array", - "description": "An array of 3 items that describe the bones scale", + "description": "An array of 3 items that describe the bones scale.", "type": "array", "examples": [[0, 0, 0]], "maxItems": 3, @@ -86,14 +86,14 @@ "format_version": { "$ref": "../../general/format_version.json" }, "animations": { "title": "Animations Schema", - "description": "The animation specification", + "description": "The animation specification.", "propertyNames": { "pattern": "^animation\\.[a-z\\.]+" }, "type": "object", "additionalProperties": { "additionalProperties": false, "type": "object", "title": "Animation", - "description": "The animation specification", + "description": "The animation specification.", "properties": { "anim_time_update": { "title": "Start Delay", @@ -113,19 +113,19 @@ }, "bones": { "title": "Bones", - "description": "Defines how the bones in an animation move or transform", + "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", + "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", + "description": "The Position transformation during this animation.", "oneOf": [ { "type": "array", "$ref": "#/definitions/PositionV3" }, { @@ -133,9 +133,9 @@ "propertyNames": { "pattern": "^(\\d+\\.\\d+|\\d+)$", "examples": ["0.0", "1.0"] }, "additionalProperties": { "title": "Timeline Object", - "description": "A single point in time", + "description": "A single point in time.", "oneOf": [ - { "$ref": "../../molang/number.json", "description": "Uniform position" }, + { "$ref": "../../molang/number.json", "description": "Uniform position." }, { "type": "array", "$ref": "#/definitions/PositionV3" }, { "additionalProperties": false, @@ -144,19 +144,19 @@ "lerp_mode": { "type": "string", "title": "Lerp Mode", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["linear", "catmullrom"] }, "pre": { "title": "Pre", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/PositionV3" }, "post": { "title": "Pre", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/PositionV3" } @@ -169,7 +169,7 @@ }, "rotation": { "title": "Rotation", - "description": "The rotation transformation during this animation", + "description": "The rotation transformation during this animation.", "oneOf": [ { "type": "array", "$ref": "#/definitions/RotationV3" }, { @@ -177,12 +177,12 @@ "propertyNames": { "pattern": "^(\\d+\\.\\d+|\\d+)$", "examples": ["0.0", "1.0"] }, "additionalProperties": { "title": "Timeline Object", - "description": "A single point in time", + "description": "A single point in time.", "oneOf": [ - { "$ref": "../../molang/number.json", "description": "Uniform rotation" }, + { "$ref": "../../molang/number.json", "description": "Uniform rotation." }, { "type": "array", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/RotationV3" }, @@ -193,19 +193,19 @@ "lerp_mode": { "type": "string", "title": "Lerp Mode", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["linear", "catmullrom"] }, "pre": { "title": "Pre", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/RotationV3" }, "post": { "title": "Pre", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/RotationV3" } @@ -218,33 +218,33 @@ }, "relative_to": { "title": "Relative To", - "description": "If set, makes the bone rotation relative to the entity instead of the bone's parent", + "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", + "description": "If set, makes the bone rotation relative to the entity instead of the bone's parent.", "type": "string" } } }, "scale": { "title": "Scale", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "oneOf": [ - { "$ref": "../../molang/number.json", "description": "Uniform scale" }, + { "$ref": "../../molang/number.json", "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", + "description": "A single point in time.", "oneOf": [ - { "$ref": "../../molang/number.json", "description": "Uniform rotation" }, + { "$ref": "../../molang/number.json", "description": "Uniform rotation." }, { "type": "array", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/ScaleV3" }, @@ -255,19 +255,19 @@ "lerp_mode": { "type": "string", "title": "Lerp Mode", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["linear", "catmullrom"] }, "pre": { "title": "Pre", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/ScaleV3" }, "post": { "title": "Pre", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/ScaleV3" } @@ -283,7 +283,7 @@ }, "loop": { "title": "Loop", - "description": "Should this animation stop, loop, or stay on the last frame when finished (true, false, hold_on_last_frame)", + "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": { @@ -298,14 +298,14 @@ }, "particle_effects": { "title": "Particle Effects", - "description": "UNDOCUMENTED", + "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", + "description": "A single point in time.", "oneOf": [ { "type": "object", "$ref": "#/definitions/ParticleEffect" }, { "type": "array", "items": { "$ref": "#/definitions/ParticleEffect" } } @@ -319,13 +319,13 @@ }, "sound_effects": { "title": "Sound Effect", - "description": "UNDOCUMENTED", + "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", + "description": "A single point in time.", "oneOf": [ { "type": "object", "$ref": "#/definitions/SoundEffect" }, { "type": "array", "items": { "$ref": "#/definitions/SoundEffect" } } @@ -334,17 +334,17 @@ }, "timeline": { "title": "Timeline", - "description": "The time line", + "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": "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)\\..*=.*;$" } + "items": { "type": "string", "title": "Molang", "description": "Variable definition.", "pattern": "^(v|variable)\\..*=.*;$" } } ] } diff --git a/source/resource/attachables/1.10.0/attachables.json b/source/resource/attachables/1.10.0/attachables.json index 277fa179..6eec5a8b 100644 --- a/source/resource/attachables/1.10.0/attachables.json +++ b/source/resource/attachables/1.10.0/attachables.json @@ -2,7 +2,7 @@ "$id": "blockception.minecraft.resource.1.10.0.attachables", "type": "object", "title": "Actor Animation 1.10.0", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "required": ["format_version", "minecraft:attachable"], "properties": { @@ -15,7 +15,7 @@ "minecraft:attachable": { "type": "object", "title": "Attachables", - "description": "The attachables definition", + "description": "The attachables definition.", "required": ["description"], "properties": { "description": { @@ -26,89 +26,89 @@ "properties": { "animations": { "type": "object", - "additionalProperties": { "type": "string", "description": "A single animation reference", "title": "Animation" }, - "description": "The collection of animations references", + "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", + "description": "A collection of animation controller references.", "title": "Animation Controller", "additionalProperties": { "type": "string", - "description": "A single Animation controller reference", + "description": "A single Animation controller reference.", "title": "Animation Controller Reference" } }, - "description": "The specification of animation controllers", + "description": "The specification of animation controllers.", "title": "Animation Controllers" }, - "enable_attachables": { "type": "boolean", "description": "UNDOCUMENTED: enable attachables", "title": "Enable Attachables" }, + "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" + "additionalProperties": { "type": "string", "description": "A single geometry reference.", "title": "Geometry" }, + "description": "The geometry specification." }, "identifier": { "type": "string", - "description": "UNDOCUMENTED: identifier", + "description": "UNDOCUMENTED: identifier.", "title": "Identifier", "$ref": "../../../general/item/identifier.json" }, "item": { "type": "object", "title": "Item", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": { "type": "string", "title": "Item", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } }, "materials": { "type": "object", - "additionalProperties": { "type": "string", "description": "A single material reference", "title": "Material" }, - "description": "A collection of material references", + "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", + "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", + "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", + "additionalProperties": { "type": "string", "description": "UNDOCUMENTED: additionalProperties.", "title": "Particle Emitters" }, + "description": "UNDOCUMENTED: particle emitters.", "title": "Particle Emitters" }, "render_controllers": { "type": "array", - "description": "UNDOCUMENTED: render controllers", + "description": "UNDOCUMENTED: render controllers.", "title": "Render Controllers", "minItems": 1, - "items": { "type": "string", "description": "UNDOCUMENTED: render controllers", "title": "Render Controllers" } + "items": { "type": "string", "description": "UNDOCUMENTED: render controllers.", "title": "Render Controllers" } }, "scripts": { "additionalProperties": false, "type": "object", - "description": "UNDOCUMENTED: scripts", + "description": "UNDOCUMENTED: scripts.", "title": "Scripts", "properties": { "animate": { @@ -117,61 +117,61 @@ "minItems": 1, "items": { "oneOf": [ - { "type": "string", "description": "UNDOCUMENTED: oneOf[0]", "title": "Animate" }, + { "type": "string", "description": "UNDOCUMENTED: oneOf[0].", "title": "Animate" }, { "type": "object", "minProperties": 1, - "additionalProperties": { "type": "string", "description": "UNDOCUMENTED: additionalProperties", "title": "Animate" }, - "description": "UNDOCUMENTED: oneOf[1]", + "additionalProperties": { "type": "string", "description": "UNDOCUMENTED: additionalProperties.", "title": "Animate" }, + "description": "UNDOCUMENTED: oneOf[1].", "title": "Animate" } ], - "description": "UNDOCUMENTED: animate", + "description": "UNDOCUMENTED: animate.", "title": "Animate" }, - "description": "UNDOCUMENTED: animate" + "description": "UNDOCUMENTED: animate." }, "initialize": { "type": "array", - "description": "UNDOCUMENTED: initialize", + "description": "UNDOCUMENTED: initialize.", "title": "Initialize", "items": { "pattern": ";$", "$ref": "../../../molang/number.json", - "description": "UNDOCUMENTED: initialize", + "description": "UNDOCUMENTED: initialize.", "title": "Initialize" } }, "pre_animation": { "type": "array", - "description": "UNDOCUMENTED: pre aninamtion", + "description": "UNDOCUMENTED: pre aninamtion.", "title": "Pre Animation", "items": { "pattern": ";$", "$ref": "../../../molang/number.json", - "description": "UNDOCUMENTED: pre aninamtion", + "description": "UNDOCUMENTED: pre aninamtion.", "title": "Pre Animation" } }, "parent_setup": { "type": "string", - "description": "UNDOCUMENTED: parent setup", + "description": "UNDOCUMENTED: parent setup.", "title": "Parent Setup", "$ref": "../../../molang/number.json" }, - "scale": { "type": "string", "description": "UNDOCUMENTED: scale", "title": "Scale", "$ref": "../../../molang/number.json" } + "scale": { "type": "string", "description": "UNDOCUMENTED: scale.", "title": "Scale", "$ref": "../../../molang/number.json" } } }, "sound_effects": { "type": "array", - "description": "UNDOCUMENTED: sound effects", + "description": "UNDOCUMENTED: sound effects.", "title": "Sound Effects", "minItems": 1, - "items": { "type": "string", "description": "UNDOCUMENTED: sound effects", "title": "Sound Effects" } + "items": { "type": "string", "description": "UNDOCUMENTED: sound effects.", "title": "Sound Effects" } }, "spawn_egg": { "type": "object", - "description": "UNDOCUMENTED: spawn egg", + "description": "UNDOCUMENTED: spawn egg.", "title": "Spawn Egg", "dependencies": { "texture": ["texture_index"], @@ -180,20 +180,20 @@ "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" } + "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", + "additionalProperties": { "type": "string", "description": "UNDOCUMENTED: additionalProperties.", "title": "Texture" }, + "description": "UNDOCUMENTED: textures.", "title": "Textures" } }, - "description": "UNDOCUMENTED: description" + "description": "UNDOCUMENTED: description." } }, "additionalProperties": false diff --git a/source/resource/attachables/1.8.0/attachables.json b/source/resource/attachables/1.8.0/attachables.json index e8073c8a..3155a15e 100644 --- a/source/resource/attachables/1.8.0/attachables.json +++ b/source/resource/attachables/1.8.0/attachables.json @@ -2,7 +2,7 @@ "$id": "blockception.minecraft.resource.1.8.0.attachables", "type": "object", "title": "Actor Animation 1.8.0", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "required": ["format_version", "minecraft:attachable"], "properties": { @@ -21,98 +21,98 @@ "description": { "additionalProperties": false, "title": "Description", - "description": "UNDOCUMENTED: 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", + "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" } + "additionalProperties": { "type": "string", "description": "UNDOCUMENTED: additionalProperties.", "title": "Animation" } }, "animation_controllers": { "type": "array", "minItems": 1, - "description": "UNDOCUMENTED: animation controllers", + "description": "UNDOCUMENTED: animation controllers.", "title": "Animation Controllers", "items": { "type": "object", - "additionalProperties": { "type": "string", "description": "UNDOCUMENTED: additionalProperties", "title": "Animation Controller" }, - "description": "UNDOCUMENTED: animation controllers", + "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" }, + "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" + "additionalProperties": { "type": "string", "description": "UNDOCUMENTED: additionalProperties.", "title": "Geometry" }, + "description": "UNDOCUMENTED: geometry." }, "identifier": { "type": "string", - "description": "UNDOCUMENTED: identifier", + "description": "UNDOCUMENTED: identifier.", "title": "Identifier", "$ref": "../../../general/item/identifier.json" }, "item": { "type": "object", "title": "Item", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": { "type": "string", "title": "Item", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } }, "materials": { "type": "object", - "description": "UNDOCUMENTED: materials", + "description": "UNDOCUMENTED: materials.", "title": "Materials", - "additionalProperties": { "type": "string", "description": "UNDOCUMENTED: additionalProperties", "title": "Material" } + "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", + "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", + "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", + "additionalProperties": { "type": "string", "description": "UNDOCUMENTED: additionalProperties.", "title": "Particle Emitter" }, + "description": "UNDOCUMENTED: particle emitters.", "title": "Particle Emitters" }, "render_controllers": { "type": "array", - "description": "UNDOCUMENTED: render controllers", + "description": "UNDOCUMENTED: render controllers.", "title": "Render Controllers", "minItems": 1, - "items": { "type": "string", "description": "UNDOCUMENTED: render controllers", "title": "Render Controllers" } + "items": { "type": "string", "description": "UNDOCUMENTED: render controllers.", "title": "Render Controllers" } }, "sound_effects": { "type": "array", - "description": "UNDOCUMENTED: sound effects", + "description": "UNDOCUMENTED: sound effects.", "title": "Sound Effects", "minItems": 1, - "items": { "type": "string", "description": "UNDOCUMENTED: sound effects", "title": "Sound Effects" } + "items": { "type": "string", "description": "UNDOCUMENTED: sound effects.", "title": "Sound Effects" } }, "spawn_egg": { "type": "object", - "description": "UNDOCUMENTED: spawn egg", + "description": "UNDOCUMENTED: spawn egg.", "title": "Spawn Egg", "dependencies": { "texture": ["texture_index"], @@ -121,15 +121,15 @@ "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" } + "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", + "description": "UNDOCUMENTED: scripts.", "title": "Scripts", "properties": { "pre_animation": { @@ -137,39 +137,39 @@ "items": { "pattern": ";$", "$ref": "../../../molang/number.json", - "description": "UNDOCUMENTED: pre aninamtion", + "description": "UNDOCUMENTED: pre aninamtion.", "title": "Pre Animation" }, - "description": "UNDOCUMENTED: pre aninamtion", + "description": "UNDOCUMENTED: pre aninamtion.", "title": "Pre Animation" }, - "scale": { "type": "string", "description": "UNDOCUMENTED: scale", "title": "Scale" }, + "scale": { "type": "string", "description": "UNDOCUMENTED: scale.", "title": "Scale" }, "animate": { "type": "array", "title": "Animate", "items": { "oneOf": [ - { "type": "string", "description": "UNDOCUMENTED: oneOf[0]", "title": "Animate" }, + { "type": "string", "description": "UNDOCUMENTED: oneOf[0].", "title": "Animate" }, { "type": "object", "minProperties": 1, - "additionalProperties": { "type": "string", "description": "UNDOCUMENTED: additionalProperties", "title": "Animate" }, - "description": "UNDOCUMENTED: oneOf[1]", + "additionalProperties": { "type": "string", "description": "UNDOCUMENTED: additionalProperties.", "title": "Animate" }, + "description": "UNDOCUMENTED: oneOf[1].", "title": "Animate" } ], - "description": "UNDOCUMENTED: animate", + "description": "UNDOCUMENTED: animate.", "title": "Animate" }, - "description": "UNDOCUMENTED: animate" + "description": "UNDOCUMENTED: animate." }, "parent_setup": { "$ref": "../../../molang/number.json" } } }, "textures": { "type": "object", - "additionalProperties": { "type": "string", "description": "UNDOCUMENTED: additionalProperties", "title": "Textures" }, - "description": "UNDOCUMENTED: textures", + "additionalProperties": { "type": "string", "description": "UNDOCUMENTED: additionalProperties.", "title": "Textures" }, + "description": "UNDOCUMENTED: textures.", "title": "Textures" } } diff --git a/source/resource/biomes_client.json b/source/resource/biomes_client.json index 3e396664..fa21fd16 100644 --- a/source/resource/biomes_client.json +++ b/source/resource/biomes_client.json @@ -3,24 +3,24 @@ "$id": "blockception.minecraft.biomes_client.json", "type": "object", "title": "Biomes Client", - "description": "The minecraft biomes definition file", + "description": "The minecraft biomes definition file.", "additionalProperties": false, "definitions": { "biomespec": { "additionalProperties": false, - "description": "The specification of colors in a given biome", + "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_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", + "description": "The fog to be associated to this biome.", "$ref": "../general/fog/identifier.json" }, "fog_ids_to_merge": { "title": "Fog Ids To Merge", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -31,34 +31,34 @@ }, "inherit_from_prior_fog": { "title": "Inherit From Prior Fog", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "boolean" }, "remove_all_prior_fog": { "title": "Remove All Prior Fog", - "description": "UNDOCUMENTED", + "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_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" + "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"] } + "colorhex": { "description": "The colouration of this object.", "title": "Colorhex", "format": "color-hex", "examples": ["#FFFFFF"] } }, "properties": { "biomes": { "type": "object", "title": "Biomes", "additionalProperties": false, - "description": "A collection of predefined biomes", + "description": "A collection of predefined biomes.", "properties": { "bamboo_jungle_hills": { "$ref": "#/definitions/biomespec" }, "bamboo_jungle": { "$ref": "#/definitions/biomespec" }, diff --git a/source/resource/blocks.json b/source/resource/blocks.json index ccc250d2..b23a9006 100644 --- a/source/resource/blocks.json +++ b/source/resource/blocks.json @@ -3,7 +3,7 @@ "$id": "blockception.minecraft.block.json", "type": "object", "title": "Blocks", - "description": "The minecraft block definition file", + "description": "The minecraft block definition file.", "definitions": { "texture": { "oneOf": [ @@ -31,24 +31,24 @@ "additionalProperties": { "additionalProperties": false, "title": "Block", - "description": "Block texture definition", + "description": "Block texture definition.", "type": "object", "properties": { "brightness_gamma": { "type": "number", "title": "Brightness Gamma", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "carried_textures": { "$ref": "#/definitions/texture", "title": "Carried Textures", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "isotropic": { "title": "Isotropic", - "description": "Marks if this block is isotropic or not, or which side are", + "description": "Marks if this block is isotropic or not, or which side are.", "oneOf": [ { "type": "boolean" }, { @@ -66,8 +66,8 @@ } ] }, - "sound": { "type": "string", "title": "Sound", "description": "The sound definition of this block" }, - "textures": { "$ref": "#/definitions/texture", "title": "Sound", "description": "Textures" } + "sound": { "type": "string", "title": "Sound", "description": "The sound definition of this block." }, + "textures": { "$ref": "#/definitions/texture", "title": "Sound", "description": "Textures." } } } } diff --git a/source/resource/entity/1.10.0/entity.json b/source/resource/entity/1.10.0/entity.json index 05d600d1..02288d51 100644 --- a/source/resource/entity/1.10.0/entity.json +++ b/source/resource/entity/1.10.0/entity.json @@ -2,7 +2,7 @@ "$id": "blockception.minecraft.resource.1.10.0.entity", "type": "object", "title": "Actor Entity 1.10.0", - "description": "A client side entity definition", + "description": "A client side entity definition.", "additionalProperties": false, "required": ["format_version", "minecraft:client_entity"], "properties": { @@ -11,13 +11,13 @@ "type": "object", "additionalProperties": false, "title": "Client Entity", - "description": "The entity description for clientside rendering, animations and models", + "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", + "description": "The entity description for clientside rendering, animations and models.", "type": "object", "required": ["identifier"], "properties": { @@ -34,25 +34,25 @@ "examples": ["controller.", "animation."] } }, - "enable_attachables": { "type": "boolean", "description": "Whether or not attachables are enaboled", "title": "Enable Attachables" }, + "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/'", + "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" } + "additionalProperties": { "type": "string", "description": "The reference to the geometry.", "title": "Geometry Reference" } }, "queryable_geometry": { "title": "Queryable Geometry", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "type": "string" }, "hide_armor": { "type": "boolean", "default": true, "title": "Hide Armor", - "description": "Hides or shows the possible armor" + "description": "Hides or shows the possible armor." }, "held_item_ignores_lighting": { "type": "boolean", @@ -62,7 +62,7 @@ }, "identifier": { "type": "string", - "description": "The entity indentifier", + "description": "The entity indentifier.", "title": "Identifier", "$ref": "../../../general/entity/identifier.json" }, @@ -70,7 +70,7 @@ "type": "object", "additionalProperties": { "type": "string", - "description": "Material reference", + "description": "Material reference.", "title": "Material", "examples": [ "agent", @@ -438,42 +438,42 @@ "zombie_villager_v2_masked" ] }, - "description": "A collection of material definitions", + "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", + "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", + "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", + "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", + "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": "string", "title": "Render Controller", "description": "A single render controller definition." }, { "type": "object", "additionalProperties": { "type": "string", - "description": "A render controller activate on conditional", + "description": "A render controller activate on conditional.", "title": "Render Controller" } } @@ -484,26 +484,26 @@ "additionalProperties": false, "type": "object", "title": "Scripts", - "description": "The place where variables, and animations / controller to be run is specified", + "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", + "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": "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", + "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" } + { "type": "string", "description": "A molang condition.", "title": "Molang" }, + { "type": "number", "description": "Blend weight.", "title": "Blend Weight" } ] } } @@ -512,30 +512,30 @@ }, "initialize": { "type": "array", - "description": "Clientside molang variables that are to be evualated during the creation of the entity", + "description": "Clientside molang variables that are to be evualated during the creation of the entity.", "title": "Initialize", "minItems": 1, "items": { "pattern": ";$", "$ref": "../../../molang/string.json", - "description": "Clientside molang variables that are to be evualated during the creation of the entity", + "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", + "description": "Clientside molang variables that are to be evualated during the animation.", "title": "Pre Animation", "items": { "pattern": ";$", "$ref": "../../../molang/string.json", - "description": "Clientside molang variables that are to be evualated during the animation", + "description": "Clientside molang variables that are to be evualated during the animation.", "title": "Pre Animation" } }, "parent_setup": { "type": "string", - "description": "UNDOCUMENTED: parent setup", + "description": "UNDOCUMENTED: parent setup.", "title": "Parent Setup", "$ref": "../../../molang/number.json" }, @@ -575,15 +575,15 @@ }, "sound_effects": { "title": "Sound Effects", - "description": "A collection of sound effect definition", + "description": "A collection of sound effect definition.", "type": "object", "minProperties": 1, - "additionalProperties": { "type": "string", "description": "A sound effect definition", "title": "Sound Effect" } + "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", + "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": [ @@ -593,26 +593,26 @@ "properties": { "base_color": { "type": "string", - "description": "The basic color of the egg", + "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", + "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 } + "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", + "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" } } diff --git a/source/resource/entity/1.8.0/entity.json b/source/resource/entity/1.8.0/entity.json index 737b74ce..83a9e014 100644 --- a/source/resource/entity/1.8.0/entity.json +++ b/source/resource/entity/1.8.0/entity.json @@ -2,7 +2,7 @@ "$id": "blockception.minecraft.resource.1.8.0.entity", "type": "object", "title": "Actor Entity 1.8.0", - "description": "A client side entity definition", + "description": "A client side entity definition.", "additionalProperties": false, "required": ["format_version", "minecraft:client_entity"], "properties": { @@ -16,13 +16,13 @@ "type": "object", "additionalProperties": false, "title": "Client Entity", - "description": "The entity description for clientside rendering, animations and models", + "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", + "description": "The entity description for clientside rendering, animations and models.", "type": "object", "required": ["identifier"], "properties": { @@ -42,34 +42,34 @@ "animation_controllers": { "type": "array", "minItems": 1, - "description": "A reference to an animation controller", + "description": "A reference to an animation controller.", "title": "Animation Controllers", "items": { "type": "object", - "description": "A collection of animation controllers", + "description": "A collection of animation controllers.", "title": "Animation Controllers", "additionalProperties": { "type": "string", - "description": "A reference to an animation", + "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" }, + "enable_attachables": { "type": "boolean", "description": "UNDOCUMENTED: enable attachables.", "title": "Enable Attachables" }, "geometry": { "title": "Geometry", - "description": "The reference to defined geometries in `/models/'", + "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" } + "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" + "description": "Hides or shows the possible armor." }, "held_item_ignores_lighting": { "type": "boolean", @@ -79,34 +79,34 @@ }, "identifier": { "type": "string", - "description": "The entity indentifier", + "description": "The entity indentifier.", "title": "Identifier", "$ref": "../../../general/entity/identifier.json" }, "materials": { "type": "object", - "additionalProperties": { "type": "string", "description": "Material reference", "title": "Material" }, - "description": "A collection of material definitions", + "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", + "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" }, + "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", + "additionalProperties": { "type": "string", "description": "Particle emitter reference.", "title": "Particle Emitter" }, + "description": "A collection of particle emitters definitions.", "title": "Particle Emitters" }, "render_controllers": { @@ -116,12 +116,12 @@ "minItems": 1, "items": { "oneOf": [ - { "type": "string", "title": "Render Controller", "description": "A single render controller definition" }, + { "type": "string", "title": "Render Controller", "description": "A single render controller definition." }, { "type": "object", "additionalProperties": { "type": "string", - "description": "A render controller activate on conditional", + "description": "A render controller activate on conditional.", "title": "Render Controller" } } @@ -132,7 +132,7 @@ "additionalProperties": false, "type": "object", "title": "Scripts", - "description": "The place where variables, and animations / controller to be run is specified", + "description": "The place where variables, and animations / controller to be run is specified.", "properties": { "pre_animation": { "type": "array", @@ -141,13 +141,13 @@ "items": { "pattern": ";$", "$ref": "../../../molang/string.json", - "description": "Clientside molang variables that are to be evualated during the animation", + "description": "Clientside molang variables that are to be evualated during the animation.", "title": "Pre Animation" } }, "parent_setup": { "type": "string", - "description": "UNDOCUMENTED: parent setup", + "description": "UNDOCUMENTED: parent setup.", "title": "Parent Setup", "$ref": "../../../molang/number.json" }, @@ -164,15 +164,15 @@ }, "sound_effects": { "title": "Sound Effects", - "description": "A collection of sound effect definition", + "description": "A collection of sound effect definition.", "type": "object", "minProperties": 1, - "additionalProperties": { "type": "string", "description": "A sound effect definition", "title": "Sound Effect" } + "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", + "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": [ @@ -182,26 +182,26 @@ "properties": { "base_color": { "type": "string", - "description": "The basic color of the egg", + "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", + "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 } + "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", + "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" } } diff --git a/source/resource/fog/fog.json b/source/resource/fog/fog.json index 644c814a..864f554b 100644 --- a/source/resource/fog/fog.json +++ b/source/resource/fog/fog.json @@ -5,7 +5,7 @@ "type": "object", "additionalProperties": false, "title": "Fog", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "definitions": { "colorHexOrArray": { @@ -171,13 +171,13 @@ "format_version": { "$ref": "../../general/format_version.json" }, "minecraft:fog_settings": { "title": "Fog Settings", - "description": "The definition of a single fog", + "description": "The definition of a single fog.", "type": "object", "additionalProperties": false, "properties": { "description": { "title": "Description", - "description": "The identifying description of this fog settings", + "description": "The identifying description of this fog settings.", "type": "object", "additionalProperties": false, "properties": { diff --git a/source/resource/items/1.10.0/items.json b/source/resource/items/1.10.0/items.json index b2faeca8..93311c05 100644 --- a/source/resource/items/1.10.0/items.json +++ b/source/resource/items/1.10.0/items.json @@ -12,36 +12,36 @@ }, "minecraft:item": { "title": "Item", - "description": "A resource pack definition of an 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", + "description": "The description of an item.", "required": ["identifier"], "type": "object", "additionalProperties": false, "properties": { "identifier": { "title": "Identifier", - "description": "The item identifier", + "description": "The item identifier.", "$ref": "../../../general/item/identifier.json", "examples": ["namespace:example"] }, - "category": { "title": "Category", "description": "The category this item belongs in", "type": "string" } + "category": { "title": "Category", "description": "The category this item belongs in.", "type": "string" } } }, "components": { "title": "Components", - "description": "The components that describe this item", + "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", + "description": "The render offset used for the item.", "title": "Render Offsets", "enum": ["apple"] } diff --git a/source/resource/materials/materials.json b/source/resource/materials/materials.json index a936091b..f55ed2c1 100644 --- a/source/resource/materials/materials.json +++ b/source/resource/materials/materials.json @@ -3,7 +3,7 @@ "$id": "blockception.minecraft.materials", "type": "object", "title": "Material", - "description": "A collection of material specifications for the render engine of minecraft", + "description": "A collection of material specifications for the render engine of minecraft.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "required": ["materials"], @@ -11,12 +11,12 @@ "DefinesSpecification": { "type": "array", "title": "Defines", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "items": { "type": "string", "title": "Definition", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": [ "ALLOW_FADE", @@ -102,43 +102,43 @@ "FailOperation": { "type": "string", "title": "Fail Operation", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["Keep", "Replace"] }, "FaceSpecification": { "type": "object", "title": "Face", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { "stencilDepthFailOp": { "type": "string", "title": "Stencil Depth Fail Operation", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/FailOperation" }, "stencilFailOp": { "type": "string", "title": "Stencil Fail Operation", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/FailOperation" }, "stencilFunc": { "type": "string", "title": "Stencil Function", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["Always", "Equal", "NotEqual"] }, - "stencilPass": { "type": "string", "title": "Stencil Pass", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "enum": ["Replace"] }, + "stencilPass": { "type": "string", "title": "Stencil Pass", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["Replace"] }, "stencilPassOp": { "type": "string", "title": "Stencil Depth Fail Operation", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/FailOperation" } @@ -147,12 +147,12 @@ "StatesSpecification": { "type": "array", "title": "States", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "items": { "type": "string", "title": "State", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": [ "Blending", @@ -171,32 +171,32 @@ "SamplerStatesSpecification": { "type": "array", "title": "Sampler States", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "items": { "type": "object", "title": "Sample State", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { "samplerIndex": { "type": "integer", "title": "Sample State", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "textureFilter": { "type": "string", "title": "Texture Filter", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["Point", "Bilinear", "TexelAA"] }, "textureWrap": { "type": "string", "title": "Texture Wrap", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["Repeat", "Clamp"] } @@ -206,19 +206,19 @@ "VertexFieldsSpecification": { "type": "array", "title": "Vertex Fields", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "items": { "type": "object", "title": "Vertex Field", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { "field": { "type": "string", "title": "Vertex Field", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } @@ -227,17 +227,17 @@ "VariantSpecification": { "type": "array", "title": "Variants", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "items": { "type": "object", "title": "Variant", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "propertyNames": { "enum": ["fading", "fog", "fog.underwater", "lit", "skinning", "skinning_color", "underlava", "underwater"] }, "additionalProperties": { "title": "Variant Item", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/VariantsItemSpecificaiton" } @@ -246,20 +246,20 @@ "VariantsItemSpecificaiton": { "type": "object", "title": "Variant Item", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { - "+defines": { "title": "Defines", "description": "UNDOCUMENTED, Add definitions???", "$ref": "#/definitions/DefinesSpecification" }, + "+defines": { "title": "Defines", "description": "UNDOCUMENTED, Add definitions???.", "$ref": "#/definitions/DefinesSpecification" }, "vertexFields": { "title": "Vertex Fields", - "description": "UNDOCUMENTED", + "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" } + "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" } } } }, @@ -267,7 +267,7 @@ "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", + "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": { @@ -275,13 +275,13 @@ "type": "string", "const": "1.0.0", "title": "Version", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } }, "additionalProperties": { "title": "Material Definitions", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "type": "object", @@ -289,151 +289,151 @@ "alphaDst": { "type": "string", "title": "Alpha Distance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["DestColor", "OneMinusSrcAlpha"] }, - "backFace": { "title": "Back Face", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/FaceSpecification" }, + "backFace": { "title": "Back Face", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/FaceSpecification" }, "blendDst": { "type": "string", "title": "Blend Distance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["SourceAlpha", "OneMinusSrcAlpha", "OneMinusSrcColor", "SourceColor", "Zero", "One"] }, "blendSrc": { "type": "string", "title": "Blend Source", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["DestColor", "One", "OneMinusDestColor", "SourceAlpha", "SourceColor"] }, "defines": { "title": "Defines", - "description": "UNDOCUMENTED, sets or starts definitions???", + "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" }, + "+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", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "depthBiasOGL": { "type": "number", "title": "Depth Bias OGL", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "depthFunc": { "type": "string", "title": "Depth Function", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["LessEqual", "Always", "Equal"] }, "fragmentShader": { "type": "string", "title": "Fragment Shader", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "pattern": "^shaders/.*\\.fragment$" }, "frontFace": { "title": "Front Face", - "description": "UNDOCUMENTED", + "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????" + "description": "UNDOCUMENTED, think its a boolean value as a number, so 1 and 0????." }, "msaaSupport": { "type": "string", "title": "MSAA Support", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["Both", "MSAA"] }, "primitiveMode": { "type": "string", "title": "Primitive Mode", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "enum": ["Line"] }, "samplerStates": { "title": "Sampler States", - "description": "UNDOCUMENTED, set or start samplerStates???", + "description": "UNDOCUMENTED, set or start samplerStates???.", "$ref": "#/definitions/SamplerStatesSpecification" }, "+samplerStates": { "title": "Sampler States", - "description": "UNDOCUMENTED, Add samplerStates???", + "description": "UNDOCUMENTED, Add samplerStates???.", "$ref": "#/definitions/SamplerStatesSpecification" }, "slopeScaledDepthBias": { "type": "number", "title": "Slope Scaled Depth Bias", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "slopeScaledDepthBiasOGL": { "type": "number", "title": "Slope Scaled Depth Bias OGL", - "description": "UNDOCUMENTED", + "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" }, + "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", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "stencilRefOverride": { "type": "integer", "title": "Stencil Ref Override", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "stencilReadMask": { "type": "integer", "title": "Stencil Read Mask", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "stencilWriteMask": { "type": "integer", "title": "Stencil Write Mask", - "description": "UNDOCUMENTED", + "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" }, + "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", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "$ref": "#/definitions/VertexFieldsSpecification" }, "vertexShader": { "type": "string", "title": "Vertex Shader", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "pattern": "^shaders/.*\\.vertex$" }, "vrGeometryShader": { "type": "string", "title": "VR Geometry Shader", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "pattern": "^shaders/.*\\.geometry$" } diff --git a/source/resource/models/entity/1.16.0/model_entity.json b/source/resource/models/entity/1.16.0/model_entity.json index 062990fe..41bd4ad9 100644 --- a/source/resource/models/entity/1.16.0/model_entity.json +++ b/source/resource/models/entity/1.16.0/model_entity.json @@ -9,8 +9,8 @@ "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" } + { "type": "number", "title": "X", "description": "The x component of the uv." }, + { "type": "number", "title": "Y", "description": "The y component of the uv." } ] }, "direction_uv": { @@ -27,21 +27,21 @@ "description": "The face maps this many texels from the uv origin. If not specified, the box dimensions are used instead.", "$ref": "#/definitions/uv" }, - "material_instance": { "type": "string", "title": "Material Instance", "description": "Specifies the UV's for the face that stretches" } + "material_instance": { "type": "string", "title": "Material Instance", "description": "Specifies the UV's for the face that stretches." } } } }, "properties": { - "debug": { "title": "Debug", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "boolean", "default": false }, + "debug": { "title": "Debug", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "boolean", "default": false }, "format_version": { "$ref": "../../../../general/format_version.json" }, "minecraft:geometry": { "type": "array", "title": "Geometry", - "description": "The collection of geometries", + "description": "The collection of geometries.", "minItems": 1, "items": { "additionalProperties": false, - "description": "Model specification", + "description": "Model specification.", "title": "Model", "type": "object", "required": ["description"], @@ -49,7 +49,7 @@ "description": { "type": "object", "additionalProperties": false, - "description": "The descriptions of the geometry", + "description": "The descriptions of the geometry.", "title": "Description", "required": ["identifier"], "properties": { @@ -96,7 +96,7 @@ "items": { "additionalProperties": false, "type": "object", - "description": "A bones specification", + "description": "A bones specification.", "required": ["name"], "properties": { "binding": { @@ -111,7 +111,7 @@ "items": { "additionalProperties": false, "type": "object", - "description": "A single cube", + "description": "A single cube.", "properties": { "inflate": { "type": "number", @@ -154,7 +154,7 @@ }, "reset": { "title": "Reset", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "boolean" }, @@ -206,35 +206,35 @@ "south": { "title": "South", "$ref": "#/definitions/direction_uv", - "description": "Specifies the UV's for the face that stretches along the x and y axes, and faces the z axis" + "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/direction_uv", - "description": "Specifies the UV's for the face that stretches along the z and y axes, and faces the x axis" + "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/direction_uv", - "description": "Specifies the UV's for the face that stretches along the z and y axes, and faces the -x axis" + "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/direction_uv", - "description": "Specifies the UV's for the face that stretches along the x and z axes, and faces the y axis" + "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/direction_uv", - "description": "Specifies the UV's for the face that stretches along the x and z axes, and faces the -y axis" + "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" } + { "type": "number", "title": "X", "description": "The x component of the uv." }, + { "type": "number", "title": "Y", "description": "The y component of the uv." } ] } ] @@ -329,7 +329,7 @@ "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`", + "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"] }, { @@ -345,9 +345,9 @@ "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" } + { "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." } ] } } @@ -388,15 +388,15 @@ "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" } + { "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", + "description": "***EXPERIMENTAL*** Adds a mesh to the bone's geometry by converting texels in a texture into boxes.", "items": { "type": "object", "additionalProperties": false, @@ -404,37 +404,37 @@ "properties": { "local_pivot": { "type": "array", - "description": "The pivot point on the texture (in *texture space* not entity or bone space) of the texture geometry", + "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" + "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", + "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" + "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", + "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" } + "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", + "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" } + "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." } } @@ -443,7 +443,7 @@ } } }, - "cape": { "title": "Cape", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "string" } + "cape": { "title": "Cape", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" } } } } diff --git a/source/resource/models/entity/1.8.0/model_entity.json b/source/resource/models/entity/1.8.0/model_entity.json index bf7ca4a9..ee93d9f5 100644 --- a/source/resource/models/entity/1.8.0/model_entity.json +++ b/source/resource/models/entity/1.8.0/model_entity.json @@ -2,11 +2,11 @@ "$id": "blockception.minecraft.resource.model.1.8.0", "type": "object", "title": "Model Schema For 1.8.0", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "required": ["format_version"], "properties": { - "debug": { "type": "boolean", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Debug" }, + "debug": { "type": "boolean", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Debug" }, "format_version": { "title": "1.8.0 Format Version", "type": "string", @@ -18,17 +18,17 @@ "additionalProperties": { "additionalProperties": false, "type": "object", - "description": "Geometry specification", + "description": "Geometry specification.", "title": "Geometry", "properties": { "bones": { "type": "array", - "description": "The bones definitions", + "description": "The bones definitions.", "title": "Bones", "items": { "additionalProperties": false, "type": "object", - "description": "The bone definition", + "description": "The bone definition.", "title": "Bone", "required": ["name"], "properties": { @@ -59,28 +59,28 @@ "type": "object", "required": ["polys"], "title": "Poly Mesh", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { - "normalized_uvs": { "title": "Normalized Uvs", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "boolean" }, + "normalized_uvs": { "title": "Normalized Uvs", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "boolean" }, "positions": { "title": "Positions", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] }, "normals": { "title": "Normals", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] }, "polys": { "title": "Polys", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": { @@ -94,20 +94,20 @@ }, "render_group_id": { "title": "Render Group Id", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "integer", "minimum": 0 }, "reset": { "title": "Reset", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "boolean" }, "rotation": { "title": "Rotation", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "array", "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] @@ -115,7 +115,7 @@ "texture_meshes": { "type": "array", "title": "Texture Meshes", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "items": { "type": "object", @@ -132,15 +132,15 @@ } } }, - "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" }, + "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", + "description": "UNDOCUMENTED: visible bounds offset.", "title": "Visible Bounds Offset", "items": [{ "type": "number" }, { "type": "number" }, { "type": "number" }] } diff --git a/source/resource/particles/components/emitter_lifetime_events.json b/source/resource/particles/components/emitter_lifetime_events.json index b1425447..b826bf5e 100644 --- a/source/resource/particles/components/emitter_lifetime_events.json +++ b/source/resource/particles/components/emitter_lifetime_events.json @@ -2,18 +2,18 @@ "$id": "blockception.minecraft.resource.particle.1.10.0.emitter_lifetime_events", "type": "object", "title": "Emitter Lifetime Events Component For 1.10.0", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { "creation_event": { "title": "Creation Event", - "description": "Fires when the emitter is created", + "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)", + "description": "Fires when the emitter expires (does not wait for particles to expire too).", "oneOf": [{ "type": "array", "items": { "type": "string" } }, { "type": "string" }] }, "timeline": { @@ -23,7 +23,7 @@ "propertyNames": { "pattern": "^[\\d\\.]+$" }, "additionalProperties": { "title": "Timeline Object", - "description": "A single point in time that executes commands/molang/events", + "description": "A single point in time that executes commands/molang/events.", "oneOf": [{ "type": "array", "items": { "type": "string" } }, { "type": "string" }] } }, @@ -41,10 +41,10 @@ "title": "Distance Event", "additionalProperties": false, "properties": { - "distance": { "title": "Distance", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "type": "number" }, + "distance": { "title": "Distance", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "number" }, "effects": { "title": "Effects", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "oneOf": [{ "type": "array", "items": { "type": "string" } }, { "type": "string" }] } diff --git a/source/resource/particles/components/emitter_lifetime_expression.json b/source/resource/particles/components/emitter_lifetime_expression.json index 31f85aea..e6a84dd9 100644 --- a/source/resource/particles/components/emitter_lifetime_expression.json +++ b/source/resource/particles/components/emitter_lifetime_expression.json @@ -2,7 +2,7 @@ "$id": "blockception.minecraft.resource.particle.1.10.0.emitter_rate_manual", "type": "object", "title": "Emitter Rate Manual Component 1.10.0", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "additionalProperties": false, "properties": { "activation_expression": { diff --git a/source/resource/particles/components/emitter_lifetime_looping.json b/source/resource/particles/components/emitter_lifetime_looping.json index 52848b42..c3227210 100644 --- a/source/resource/particles/components/emitter_lifetime_looping.json +++ b/source/resource/particles/components/emitter_lifetime_looping.json @@ -6,14 +6,14 @@ "properties": { "active_time": { "$ref": "../../../molang/number.json", - "description": "Emitter will emit particles for this time per loop evaluated once per particle emitter loop", + "description": "Emitter will emit particles for this time per loop evaluated once per particle emitter loop.", "title": "Active Time" }, "sleep_time": { "$ref": "../../../molang/number.json", - "description": "Emitter will pause emitting particles for this time per loop evaluated once per particle emitter loop", + "description": "Emitter will pause emitting particles for this time per loop evaluated once per particle emitter loop.", "title": "Sleep Time" } }, - "description": "UNDOCUMENTED" + "description": "UNDOCUMENTED." } diff --git a/source/resource/particles/components/emitter_lifetime_once.json b/source/resource/particles/components/emitter_lifetime_once.json index 1e612580..4619bacd 100644 --- a/source/resource/particles/components/emitter_lifetime_once.json +++ b/source/resource/particles/components/emitter_lifetime_once.json @@ -6,9 +6,9 @@ "properties": { "active_time": { "$ref": "../../../molang/number.json", - "description": "How long the particles emit for evaluated once", + "description": "How long the particles emit for evaluated once.", "title": "Active Time" } }, - "description": "UNDOCUMENTED" + "description": "UNDOCUMENTED." } diff --git a/source/resource/particles/components/emitter_local_space.json b/source/resource/particles/components/emitter_local_space.json index 7a027c4c..31ba0167 100644 --- a/source/resource/particles/components/emitter_local_space.json +++ b/source/resource/particles/components/emitter_local_space.json @@ -2,11 +2,11 @@ "$id": "blockception.minecraft.resource.particle.1.10.0.emitter_local_space", "type": "object", "title": "Emitter Local Space Component For 1.10.0", - "description": "UNDOCUMENTED:", + "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" } + "position": { "type": "boolean", "description": "UNDOCUMENTED: position.", "title": "Position" }, + "rotation": { "type": "boolean", "description": "UNDOCUMENTED: rotation.", "title": "Rotation" }, + "velocity": { "type": "boolean", "description": "UNDOCUMENTED: rotation.", "title": "Rotation" } } } diff --git a/source/resource/particles/components/emitter_rate_instant.json b/source/resource/particles/components/emitter_rate_instant.json index bd619f38..f212f1d3 100644 --- a/source/resource/particles/components/emitter_rate_instant.json +++ b/source/resource/particles/components/emitter_rate_instant.json @@ -11,5 +11,5 @@ "default": 10 } }, - "description": "UNDOCUMENTED" + "description": "UNDOCUMENTED." } diff --git a/source/resource/particles/components/emitter_rate_manual.json b/source/resource/particles/components/emitter_rate_manual.json index d43ef60f..572bc066 100644 --- a/source/resource/particles/components/emitter_rate_manual.json +++ b/source/resource/particles/components/emitter_rate_manual.json @@ -6,9 +6,9 @@ "properties": { "max_particles": { "$ref": "../../../molang/number.json", - "description": "Evaluated once per particle emitted", + "description": "Evaluated once per particle emitted.", "title": "Maximum Particles" } }, - "description": "UNDOCUMENTED" + "description": "UNDOCUMENTED." } diff --git a/source/resource/particles/components/emitter_rate_steady.json b/source/resource/particles/components/emitter_rate_steady.json index d4f49fd9..ba0c120a 100644 --- a/source/resource/particles/components/emitter_rate_steady.json +++ b/source/resource/particles/components/emitter_rate_steady.json @@ -6,14 +6,14 @@ "properties": { "max_particles": { "$ref": "../../../molang/number.json", - "description": "Maximum number of particles that can be active at once for this emitter, evaluated once per particle emitter loop", + "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": "../../../molang/number.json", - "description": "How often a particle is emitted, in particles/sec evaluated once per particle emitted", + "description": "How often a particle is emitted, in particles/sec evaluated once per particle emitted.", "title": "Spawn Rate" } }, - "description": "UNDOCUMENTED" + "description": "UNDOCUMENTED." } diff --git a/source/resource/particles/components/emitter_shape_box.json b/source/resource/particles/components/emitter_shape_box.json index 1bebf9b4..5a037a41 100644 --- a/source/resource/particles/components/emitter_shape_box.json +++ b/source/resource/particles/components/emitter_shape_box.json @@ -16,32 +16,32 @@ ] } ], - "description": "UNDOCUMENTED: direction", + "description": "UNDOCUMENTED: direction.", "title": "Direction" }, - "radius": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: radius", "title": "Radius" }, + "radius": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: radius.", "title": "Radius" }, "offset": { "type": "array", "items": [ - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "X" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Y" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Z" } + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "X" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Y" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Z" } ], - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Offset" }, "half_dimensions": { "type": "array", "items": [ - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "X" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Y" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Z" } + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "X" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Y" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Z" } ], - "description": "UNDOCUMENTED: half dimensions", + "description": "UNDOCUMENTED: half dimensions.", "title": "Half Dimensions" }, - "surface_only": { "type": "boolean", "description": "UNDOCUMENTED: surface only", "title": "Surface Only" } + "surface_only": { "type": "boolean", "description": "UNDOCUMENTED: surface only.", "title": "Surface Only" } }, - "description": "UNDOCUMENTED" + "description": "UNDOCUMENTED." } diff --git a/source/resource/particles/components/emitter_shape_custom.json b/source/resource/particles/components/emitter_shape_custom.json index 58c7e8fe..eaef64ea 100644 --- a/source/resource/particles/components/emitter_shape_custom.json +++ b/source/resource/particles/components/emitter_shape_custom.json @@ -7,24 +7,24 @@ "direction": { "type": "array", "items": [ - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "X" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Y" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Z" } + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "X" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Y" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Z" } ], - "description": "UNDOCUMENTED: direction", + "description": "UNDOCUMENTED: direction.", "title": "Direction" }, "offset": { "type": "array", "items": [ - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "X" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Y" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Z" } + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "X" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Y" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Z" } ], - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Offset" } }, - "description": "UNDOCUMENTED" + "description": "UNDOCUMENTED." } diff --git a/source/resource/particles/components/emitter_shape_disc.json b/source/resource/particles/components/emitter_shape_disc.json index 40f8f69c..18e2a8ef 100644 --- a/source/resource/particles/components/emitter_shape_disc.json +++ b/source/resource/particles/components/emitter_shape_disc.json @@ -16,38 +16,38 @@ ] } ], - "description": "UNDOCUMENTED: direction", + "description": "UNDOCUMENTED: direction.", "title": "Direction" }, - "radius": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: radius", "title": "Radius" }, + "radius": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: radius.", "title": "Radius" }, "offset": { "type": "array", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Offset", "items": [ - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "X" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Y" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Z" } + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "X" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Y" }, + { "$ref": "../../../molang/number.json", "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", + "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": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "X" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Y" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Z" } + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "X" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Y" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Z" } ] } ] }, - "surface_only": { "type": "boolean", "description": "UNDOCUMENTED: surface only", "title": "Surface Only" } + "surface_only": { "type": "boolean", "description": "UNDOCUMENTED: surface only.", "title": "Surface Only" } }, - "description": "UNDOCUMENTED" + "description": "UNDOCUMENTED." } diff --git a/source/resource/particles/components/emitter_shape_entity_aabb.json b/source/resource/particles/components/emitter_shape_entity_aabb.json index 5b4fca89..57790bce 100644 --- a/source/resource/particles/components/emitter_shape_entity_aabb.json +++ b/source/resource/particles/components/emitter_shape_entity_aabb.json @@ -2,28 +2,28 @@ "$id": "blockception.minecraft.resource.particle.1.10.0.emitter_shape_entity_aabb", "type": "object", "title": "Emitter Shape Entity Aabb Component For 1.10.0", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "properties": { "direction": { "type": "array", "items": [ - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "X" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Y" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Z" } + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "X" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Y" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Z" } ], - "description": "UNDOCUMENTED: direction", + "description": "UNDOCUMENTED: direction.", "title": "Direction" }, "offset": { "type": "array", "items": [ - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "X" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Y" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Z" } + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "X" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Y" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Z" } ], - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Offset" } diff --git a/source/resource/particles/components/emitter_shape_point.json b/source/resource/particles/components/emitter_shape_point.json index 22011565..5f15e52a 100644 --- a/source/resource/particles/components/emitter_shape_point.json +++ b/source/resource/particles/components/emitter_shape_point.json @@ -2,27 +2,27 @@ "$id": "blockception.minecraft.resource.particle.1.10.0.emitter_shape_point", "type": "object", "title": "Emitter Shape Point Component For 1.10.0", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "additionalProperties": false, "properties": { "direction": { "type": "array", "items": [ - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "X" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Y" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Z" } + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "X" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Y" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Z" } ], - "description": "UNDOCUMENTED: direction", + "description": "UNDOCUMENTED: direction.", "title": "Direction" }, "offset": { "type": "array", "items": [ - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "X" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Y" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Z" } + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "X" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Y" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Z" } ], - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Offset" } diff --git a/source/resource/particles/components/emitter_shape_sphere.json b/source/resource/particles/components/emitter_shape_sphere.json index 1813f9ac..f24aa710 100644 --- a/source/resource/particles/components/emitter_shape_sphere.json +++ b/source/resource/particles/components/emitter_shape_sphere.json @@ -2,7 +2,7 @@ "$id": "blockception.minecraft.resource.particle.1.10.0.emitter_shape_sphere", "type": "object", "title": "Emitter Shape Sphere Component For 1.10.0", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "additionalProperties": false, "properties": { "direction": { @@ -11,27 +11,27 @@ { "type": "array", "items": [ - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "X" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Y" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Z" } + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "X" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Y" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Z" } ] } ], - "description": "UNDOCUMENTED: direction", + "description": "UNDOCUMENTED: direction.", "title": "Direction" }, "offset": { "type": "array", "items": [ - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "X" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Y" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Z" } + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "X" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Y" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Z" } ], - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Offset" }, - "radius": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: radius", "title": "Radius" }, - "surface_only": { "type": "boolean", "description": "UNDOCUMENTED: surface only", "title": "Surface Only" } + "radius": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: radius.", "title": "Radius" }, + "surface_only": { "type": "boolean", "description": "UNDOCUMENTED: surface only.", "title": "Surface Only" } } } diff --git a/source/resource/particles/components/particle_appearance_billboard.json b/source/resource/particles/components/particle_appearance_billboard.json index c9d20439..6e932802 100644 --- a/source/resource/particles/components/particle_appearance_billboard.json +++ b/source/resource/particles/components/particle_appearance_billboard.json @@ -8,8 +8,8 @@ "type": "array", "minItems": 2, "maxItems": 2, - "items": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: size", "title": "Size" }, - "description": "UNDOCUMENTED: size", + "items": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: size.", "title": "Size" }, + "description": "UNDOCUMENTED: size.", "title": "Size" }, "facing_camera_mode": { @@ -22,8 +22,8 @@ "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" }, + "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", @@ -33,58 +33,58 @@ "type": "array", "minItems": 2, "maxItems": 2, - "items": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: base UV", "title": "Base U V" }, - "description": "UNDOCUMENTED: base UV", + "items": { "$ref": "../../../molang/number.json", "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": "../../../molang/number.json", "description": "UNDOCUMENTED: size UV", "title": "Size U V" }, - "description": "UNDOCUMENTED: size UV", + "items": { "$ref": "../../../molang/number.json", "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": "../../../molang/number.json", "description": "UNDOCUMENTED: step UV", "title": "Step U V" }, - "description": "UNDOCUMENTED: step UV", + "items": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: step UV.", "title": "Step U V" }, + "description": "UNDOCUMENTED: step UV.", "title": "Step U V" }, "frames_per_second": { "$ref": "../../../molang/number.json", - "description": "UNDOCUMENTED: frames per second", + "description": "UNDOCUMENTED: frames per second.", "title": "Frames Per Second" }, - "max_frame": { "$ref": "../../../molang/number.json", "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" } + "max_frame": { "$ref": "../../../molang/number.json", "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", + "description": "UNDOCUMENTED: flipbook.", "title": "Flipbook" }, "uv": { "type": "array", "minItems": 2, "maxItems": 2, - "items": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: uv", "title": "Uv" }, - "description": "UNDOCUMENTED: uv", + "items": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: uv.", "title": "Uv" }, + "description": "UNDOCUMENTED: uv.", "title": "Uv" }, "uv_size": { "type": "array", "minItems": 2, "maxItems": 2, - "items": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: uv size", "title": "Uv Size" }, - "description": "UNDOCUMENTED: uv size", + "items": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: uv size.", "title": "Uv Size" }, + "description": "UNDOCUMENTED: uv size.", "title": "Uv Size" } }, - "description": "UNDOCUMENTED: uv", + "description": "UNDOCUMENTED: uv.", "title": "Uv" } }, - "description": "UNDOCUMENTED" + "description": "UNDOCUMENTED." } diff --git a/source/resource/particles/components/particle_appearance_lighting.json b/source/resource/particles/components/particle_appearance_lighting.json index 902f41f7..b74ebaee 100644 --- a/source/resource/particles/components/particle_appearance_lighting.json +++ b/source/resource/particles/components/particle_appearance_lighting.json @@ -3,6 +3,6 @@ "type": "object", "title": "Particle Appearance Lighting Component For 1.10.0", "additionalProperties": false, - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } diff --git a/source/resource/particles/components/particle_appearance_tinting.json b/source/resource/particles/components/particle_appearance_tinting.json index 3e3a8fdf..427c2165 100644 --- a/source/resource/particles/components/particle_appearance_tinting.json +++ b/source/resource/particles/components/particle_appearance_tinting.json @@ -7,13 +7,13 @@ "properties": { "color": { "title": "Color", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "anyOf": [ - { "type": "array", "description": "Direct color field", "items": { "$ref": "../../../molang/number.json" } }, - { "type": "string", "format": "color-hex", "description": "Direct color field" }, + { "type": "array", "description": "Direct color field.", "items": { "$ref": "../../../molang/number.json" } }, + { "type": "string", "format": "color-hex", "description": "Direct color field." }, { - "description": "Interpolation based color", + "description": "Interpolation based color.", "type": "object", "additionalProperties": false, "properties": { @@ -21,25 +21,25 @@ "title": "Gradient", "oneOf": [ { - "description": "An array of colors", + "description": "An array of colors.", "type": "array", - "items": { "type": "string", "description": "Color", "title": "Color", "format": "color-hex", "examples": ["#FFFFFF"] } + "items": { "type": "string", "description": "Color.", "title": "Color", "format": "color-hex", "examples": ["#FFFFFF"] } }, { - "description": "An object of colors", + "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"] } + "additionalProperties": { "type": "string", "description": "Color.", "format": "color-hex", "examples": ["#FFFFFF"] } }, { - "description": "An array of colors", + "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": "number", "description": "Color.", "title": "Color", "minimum": 0, "maximum": 1 }, { "type": "string", "title": "Molang" } ] } @@ -47,7 +47,7 @@ } ] }, - "interpolant": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: interpolant", "title": "Interpolant" } + "interpolant": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: interpolant.", "title": "Interpolant" } } } ] diff --git a/source/resource/particles/components/particle_expire_if_in_blocks.json b/source/resource/particles/components/particle_expire_if_in_blocks.json index 77864c5b..c8ace05f 100644 --- a/source/resource/particles/components/particle_expire_if_in_blocks.json +++ b/source/resource/particles/components/particle_expire_if_in_blocks.json @@ -3,7 +3,7 @@ "type": "array", "title": "Particle Expire If Not In Blocks Component For 1.10.0", "additionalProperties": false, - "items": { "$ref": "../../../general/block/identifier.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Block" }, - "description": "UNDOCUMENTED", + "items": { "$ref": "../../../general/block/identifier.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Block" }, + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } diff --git a/source/resource/particles/components/particle_expire_if_not_in_blocks.json b/source/resource/particles/components/particle_expire_if_not_in_blocks.json index 91144d1c..83a151c7 100644 --- a/source/resource/particles/components/particle_expire_if_not_in_blocks.json +++ b/source/resource/particles/components/particle_expire_if_not_in_blocks.json @@ -3,7 +3,7 @@ "type": "array", "title": "Particle Expire If Not In Blocks Component For 1.10.0", "additionalProperties": false, - "items": { "$ref": "../../../general/block/identifier.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Block" }, - "description": "UNDOCUMENTED", + "items": { "$ref": "../../../general/block/identifier.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Block" }, + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } diff --git a/source/resource/particles/components/particle_initial_speed.json b/source/resource/particles/components/particle_initial_speed.json index 79bece68..b6240bda 100644 --- a/source/resource/particles/components/particle_initial_speed.json +++ b/source/resource/particles/components/particle_initial_speed.json @@ -1,16 +1,16 @@ { "$id": "blockception.minecraft.resource.particle.1.10.0.particle_initial_speed", "title": "Particle Initial Speed Component For 1.10.0", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "anyOf": [ { "$ref": "../../../molang/number.json" }, { "type": "array", "items": [ - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "X" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Y" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Z" } + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "X" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Y" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Z" } ] } ] diff --git a/source/resource/particles/components/particle_initial_spin.json b/source/resource/particles/components/particle_initial_spin.json index 372e4e0b..1994fd07 100644 --- a/source/resource/particles/components/particle_initial_spin.json +++ b/source/resource/particles/components/particle_initial_spin.json @@ -5,10 +5,10 @@ "additionalProperties": false, "type": "object", "properties": { - "rotation": { "$ref": "../../../molang/number.json", "description": "Specifies the initial rotation in degrees", "title": "Rotation" }, + "rotation": { "$ref": "../../../molang/number.json", "description": "Specifies the initial rotation in degrees.", "title": "Rotation" }, "rotation_rate": { "$ref": "../../../molang/number.json", - "description": "Specifies the spin rate in degrees/second", + "description": "Specifies the spin rate in degrees/second.", "title": "Rotation Rate" } } diff --git a/source/resource/particles/components/particle_initialization.json b/source/resource/particles/components/particle_initialization.json index 3da2d62a..08ca1dff 100644 --- a/source/resource/particles/components/particle_initialization.json +++ b/source/resource/particles/components/particle_initialization.json @@ -6,14 +6,14 @@ "properties": { "per_update_expression": { "$ref": "../../../molang/number.json", - "description": "UNDOCUMENTED: per update expression", + "description": "UNDOCUMENTED: per update expression.", "title": "Per Update Expression" }, "per_render_expression": { "$ref": "../../../molang/number.json", - "description": "UNDOCUMENTED: per render expression", + "description": "UNDOCUMENTED: per render expression.", "title": "Per Render Expression" } }, - "description": "UNDOCUMENTED" + "description": "UNDOCUMENTED." } diff --git a/source/resource/particles/components/particle_kill_plane.json b/source/resource/particles/components/particle_kill_plane.json index f80b3266..2ee2a43e 100644 --- a/source/resource/particles/components/particle_kill_plane.json +++ b/source/resource/particles/components/particle_kill_plane.json @@ -2,11 +2,11 @@ "$id": "blockception.minecraft.resource.particle.1.10.0.particle_kill_plane", "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 ]", + "description": "A*x + B*y + C*z + D = 0\nwith the parameters being [ A, B, C, D ].", "items": [ - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "A" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "B" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "C" }, - { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "D" } + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "A" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "B" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "C" }, + { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "D" } ] } diff --git a/source/resource/particles/components/particle_lifetime_events.json b/source/resource/particles/components/particle_lifetime_events.json index 577720bc..ada61ed9 100644 --- a/source/resource/particles/components/particle_lifetime_events.json +++ b/source/resource/particles/components/particle_lifetime_events.json @@ -6,16 +6,16 @@ "properties": { "creation_event": { "title": "Creation Event", - "description": "Fires when the particle is created", + "description": "Fires when the particle is created.", "oneOf": [{ "type": "array", "items": { "type": "string" } }, { "type": "string" }] }, - "custom_events": { "title": "Custom Events", "description": "UNDOCUMENTED, unclear structure :(" }, + "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)", + "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" } + "timeline": { "propertyNames": { "pattern": "[0-9]*.[0-9]*" }, "description": "UNDOCUMENTED: timeline.", "title": "Timeline" } }, - "description": "UNDOCUMENTED" + "description": "UNDOCUMENTED." } diff --git a/source/resource/particles/components/particle_lifetime_expression.json b/source/resource/particles/components/particle_lifetime_expression.json index 33232ad9..0c81fbeb 100644 --- a/source/resource/particles/components/particle_lifetime_expression.json +++ b/source/resource/particles/components/particle_lifetime_expression.json @@ -1,18 +1,18 @@ { "$id": "blockception.minecraft.resource.particle.1.10.0.particle_lifetime_expression", "type": "object", - "description": "UNDOCUMENTED:", + "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", + "description": "This expression makes the particle expire when true (non-zero), The float/expr is evaluated once per particle, evaluated every frame.", "$ref": "../../../molang/number.json" }, "max_lifetime": { "$ref": "../../../molang/number.json", - "description": "Alternate way to express lifetime, particle will expire after this much time, evaluated once", + "description": "Alternate way to express lifetime, particle will expire after this much time, evaluated once.", "title": "Maximum Lifetime" } } diff --git a/source/resource/particles/components/particle_motion_collision.json b/source/resource/particles/components/particle_motion_collision.json index 65a33ae6..42ce1faf 100644 --- a/source/resource/particles/components/particle_motion_collision.json +++ b/source/resource/particles/components/particle_motion_collision.json @@ -4,29 +4,29 @@ "title": "Particle Motion Collision Component For 1.10.0", "additionalProperties": false, "properties": { - "collision_drag": { "type": "number", "description": "UNDOCUMENTED: collision drag", "title": "Collision Drag" }, + "collision_drag": { "type": "number", "description": "UNDOCUMENTED: collision drag.", "title": "Collision Drag" }, "coefficient_of_restitution": { "type": "number", - "description": "UNDOCUMENTED: coefficient of restitution", + "description": "UNDOCUMENTED: coefficient of restitution.", "title": "Coefficient Of Restitution" }, - "collision_radius": { "type": "number", "description": "UNDOCUMENTED: collision radius", "title": "Collision Radius" }, - "enabled": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: enabled", "title": "Enabled" }, - "expire_on_contact": { "type": "boolean", "description": "UNDOCUMENTED: expire on contact", "title": "Expire On Contact" }, + "collision_radius": { "type": "number", "description": "UNDOCUMENTED: collision radius.", "title": "Collision Radius" }, + "enabled": { "$ref": "../../../molang/number.json", "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" } + "event": { "type": "string", "description": "UNDOCUMENTED: event.", "title": "Event" }, + "min_speed": { "type": "number", "description": "UNDOCUMENTED: Minimum speed.", "title": "Minimum Speed" } }, - "description": "UNDOCUMENTED: events", + "description": "UNDOCUMENTED: events.", "title": "Events" }, - "description": "UNDOCUMENTED: events", + "description": "UNDOCUMENTED: events.", "title": "Events" } }, - "description": "UNDOCUMENTED" + "description": "UNDOCUMENTED." } diff --git a/source/resource/particles/components/particle_motion_dynamic.json b/source/resource/particles/components/particle_motion_dynamic.json index bd76f512..a932d647 100644 --- a/source/resource/particles/components/particle_motion_dynamic.json +++ b/source/resource/particles/components/particle_motion_dynamic.json @@ -22,13 +22,13 @@ }, "rotation_acceleration": { "$ref": "../../../molang/number.json", - "description": "Acceleration applies to the rotation speed of the particle", + "description": "Acceleration applies to the rotation speed of the particle.", "title": "Rotation Acceleration", "default": 0 }, "rotation_drag_coefficient": { "$ref": "../../../molang/number.json", - "description": "Drag applied to rotation", + "description": "Drag applied to rotation.", "title": "Rotation Drag Coefficient", "default": 0 } diff --git a/source/resource/particles/components/particle_motion_parametric.json b/source/resource/particles/components/particle_motion_parametric.json index bdd21988..d9acf456 100644 --- a/source/resource/particles/components/particle_motion_parametric.json +++ b/source/resource/particles/components/particle_motion_parametric.json @@ -8,19 +8,19 @@ "type": "array", "minItems": 3, "maxItems": 3, - "items": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: relative position", "title": "Relative Position" }, - "description": "UNDOCUMENTED: relative position", + "items": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: relative position.", "title": "Relative Position" }, + "description": "UNDOCUMENTED: relative position.", "title": "Relative Position" }, - "rotation": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: rotation", "title": "Rotation" }, + "rotation": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: rotation.", "title": "Rotation" }, "direction": { "type": "array", "minItems": 3, "maxItems": 3, - "items": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: relative position", "title": "Direction" }, - "description": "UNDOCUMENTED: relative position", + "items": { "$ref": "../../../molang/number.json", "description": "UNDOCUMENTED: relative position.", "title": "Direction" }, + "description": "UNDOCUMENTED: relative position.", "title": "Direction" } }, - "description": "UNDOCUMENTED" + "description": "UNDOCUMENTED." } diff --git a/source/resource/particles/particles.json b/source/resource/particles/particles.json index f81fc6d6..bf94a980 100644 --- a/source/resource/particles/particles.json +++ b/source/resource/particles/particles.json @@ -16,14 +16,14 @@ ], "type": "object", "additionalProperties": false, - "description": "A particle definition file", + "description": "A particle definition file.", "title": "Particle", "properties": { "format_version": { "$ref": "../../general/format_version.json" }, "particle_effect": { "type": "object", "additionalProperties": false, - "description": "UNDOCUMENTED: particle effect", + "description": "UNDOCUMENTED: particle effect.", "title": "Particle Effect", "properties": { "description": { @@ -33,27 +33,27 @@ "properties": { "identifier": { "type": "string", - "description": "UNDOCUMENTED: identifier", + "description": "UNDOCUMENTED: identifier.", "title": "Identifier", "$ref": "../../general/particle/identifier.json" }, "basic_render_parameters": { "additionalProperties": false, "type": "object", - "description": "UNDOCUMENTED: basic render parameters", + "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", + "description": " Minecraft material to use for emitter.", "title": "Material" }, - "texture": { "type": "string", "pattern": "^.+$", "description": "Minecraft texture to use for emitter", "title": "Texture" } + "texture": { "type": "string", "pattern": "^.+$", "description": "Minecraft texture to use for emitter.", "title": "Texture" } } } }, - "description": "UNDOCUMENTED: description", + "description": "UNDOCUMENTED: description.", "title": "Description" }, "curves": { @@ -65,10 +65,10 @@ "type": "object", "additionalProperties": false, "title": "Curve", - "description": "The curve definitions, conists out of a couple of nodes", + "description": "The curve definitions, conists out of a couple of nodes.", "$comment": "UNDOCUMENTED", "properties": { - "input": { "$ref": "../../molang/number.json", "title": "Input", "description": "What is the input value to use" }, + "input": { "$ref": "../../molang/number.json", "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", @@ -84,12 +84,12 @@ "type": { "type": "string", "title": "Type", - "description": "The type of curve", + "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", + "description": "What is the range the input is mapped onto.", "$ref": "../../molang/number.json" } } @@ -134,10 +134,10 @@ }, "events": { "type": "object", - "description": "UNDOCUMENTED: events", + "description": "UNDOCUMENTED: events.", "title": "Events", "additionalProperties": { - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Event", "type": "object", @@ -145,19 +145,19 @@ "properties": { "particle_effect": { "title": "Particle Effect", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "properties": { - "effect": { "type": "string", "description": "UNDOCUMENTED: effect", "title": "Effect" }, - "type": { "type": "string", "description": "UNDOCUMENTED: type", "title": "Type" } + "effect": { "type": "string", "description": "UNDOCUMENTED: effect.", "title": "Effect" }, + "type": { "type": "string", "description": "UNDOCUMENTED: type.", "title": "Type" } } }, "sound_effect": { "title": "Sound Effect", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "properties": { - "event_name": { "type": "string", "description": "UNDOCUMENTED: effect", "title": "Event Name" } + "event_name": { "type": "string", "description": "UNDOCUMENTED: effect.", "title": "Event Name" } } } } diff --git a/source/resource/render_controllers/render_controllers.json b/source/resource/render_controllers/render_controllers.json index 5965dfac..d9773d1e 100644 --- a/source/resource/render_controllers/render_controllers.json +++ b/source/resource/render_controllers/render_controllers.json @@ -12,12 +12,12 @@ "additionalProperties": false, "type": "object", "title": "Render Controllers", - "description": "A collection of render controllers to apply", + "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" } + { "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" } ] } }, @@ -25,70 +25,70 @@ "format_version": { "$ref": "../../general/format_version.json" }, "render_controllers": { "title": "Render Controllers", - "description": "The collection of render controllers, each property is the identifier of a render controller", + "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", + "description": "A single render_controller.", "required": ["geometry", "materials"], "properties": { "arrays": { "type": "object", "title": "Arrays", "additionalProperties": false, - "description": "A collection of definition of arrays", + "description": "A collection of definition of arrays.", "properties": { "geometries": { "type": "object", "minProperties": 1, - "description": "A collection of Geometry array", + "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", + "description": "A geometry item, must be defined in the entity.", "title": "Geometry Reference" }, - "description": "A geometry array definition", + "description": "A geometry array definition.", "title": "Geometries" } }, "materials": { "type": "object", "minProperties": 1, - "description": "A collection of materials array", + "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", + "description": "A material item, must be defined in the entity.", "title": "Material" }, - "description": "A material array definition", + "description": "A material array definition.", "title": "Materials" } }, "textures": { "type": "object", "minProperties": 1, - "description": "A collection of texture array", + "description": "A collection of texture array.", "title": "Textures", "additionalProperties": { "type": "array", - "description": "Textures", + "description": "Textures.", "title": "Texture", "items": { "type": "string", "pattern": "^[Tt]exture\\..+", "default": "texture.", - "description": "An texture item", + "description": "An texture item.", "title": "Texture" } } @@ -99,56 +99,56 @@ "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" } + "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", + "description": "The color to apply.", "title": "Color" }, "filter_lighting": { "type": "boolean", - "description": "Whenever or not to apply enviroment lighting to this object", + "description": "Whenever or not to apply enviroment lighting to this object.", "title": "Filter Lighting" }, "geometry": { "$ref": "../../molang/string.json", - "description": "The model data to use", + "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" }, + "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", + "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" } + "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": "../../molang/number.json", - "description": "The amount of light that blends into what is being rendered, lower values gives darker rendering, (1 = 100%)", + "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", + "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", + "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", + "description": "The material to apply, or patterns using * as a wildcard.", "$comment": "UNDOCUMENTED", "title": "Material" } @@ -156,35 +156,35 @@ }, "on_fire_color": { "title": "On Fire Color", - "description": "The color that will be overlayed when the object is on fire", + "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" } + "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", + "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" } + "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", + "description": "Determines what part of the object to show or hide.", "type": "array", "minItems": 1, "items": { - "description": "The object that describe different bone visibility", + "description": "The object that describe different bone visibility.", "title": "Part Visibility", "type": "object", "additionalProperties": { "oneOf": [{ "type": "string" }, { "type": "boolean" }, { "type": "number" }] } @@ -196,7 +196,7 @@ "type": "array", "minItems": 1, "items": { - "description": "The texture definition to apply", + "description": "The texture definition to apply.", "title": "Textures", "$ref": "../../molang/string.json", "examples": ["texture.default", "Array.skins[query.variant]"] @@ -204,7 +204,7 @@ }, "uv_anim": { "title": "Uv Anim", - "description": "The UV animation to apply to the render texture", + "description": "The UV animation to apply to the render texture.", "additionalProperties": false, "type": "object", "required": ["offset", "scale"], @@ -215,15 +215,15 @@ "type": "array", "minItems": 2, "maxItems": 2, - "items": { "$ref": "../../molang/number.json", "description": "The offset to apply on the texture, can be molang", "title": "Offset" } + "items": { "$ref": "../../molang/number.json", "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", + "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": "../../molang/number.json", "description": "The scale to apply on the texture, can be molang", "title": "Scale" } + "items": { "$ref": "../../molang/number.json", "description": "The scale to apply on the texture, can be molang.", "title": "Scale" } } } } diff --git a/source/resource/sounds.json b/source/resource/sounds.json index ed02880a..b1efd478 100644 --- a/source/resource/sounds.json +++ b/source/resource/sounds.json @@ -3,15 +3,15 @@ "$id": "blockception.minecraft.resource.sounds.json", "type": "object", "title": "Sounds.json", - "description": "Sound definitions", + "description": "Sound definitions.", "additionalProperties": false, "definitions": { "pitch": { "title": "Pitch", "oneOf": [ - { "default": 1, "type": "number", "description": "A defined pitch" }, + { "default": 1, "type": "number", "description": "A defined pitch." }, { - "description": "A random selection between a minimum and maximum", + "description": "A random selection between a minimum and maximum.", "type": "array", "items": [ { "type": "number", "minimum": 0, "title": "Minimum" }, @@ -23,9 +23,9 @@ "volume": { "title": "Volume", "oneOf": [ - { "default": 1, "type": "number", "description": "A defined volume" }, + { "default": 1, "type": "number", "description": "A defined volume." }, { - "description": "A random selection between a minimum and maximum", + "description": "A random selection between a minimum and maximum.", "type": "array", "items": [ { "type": "number", "minimum": 0, "title": "Minimum" }, @@ -36,7 +36,7 @@ }, "sound_event": { "title": "Sound Event", - "description": "A single sound event definition", + "description": "A single sound event definition.", "oneOf": [ { "type": "string" }, { @@ -54,7 +54,7 @@ "entity_event": { "type": "object", "title": "Entity Sound", - "description": "Entity sound definitions", + "description": "Entity sound definitions.", "properties": { "volume": { "$ref": "#/definitions/volume" }, "pitch": { "$ref": "#/definitions/pitch" }, @@ -71,11 +71,11 @@ "block_sounds": { "type": "object", "title": "Block Sounds", - "description": "Block sound definitions", + "description": "Block sound definitions.", "additionalProperties": { "type": "object", "title": "Block Sound", - "description": "A single block sound definition", + "description": "A single block sound definition.", "additionalProperties": false, "properties": { "volume": { "$ref": "#/definitions/volume" }, @@ -92,14 +92,14 @@ "entity_sounds": { "type": "object", "title": "Entity Sounds", - "description": "Entity sounds definitions", + "description": "Entity sounds definitions.", "additionalProperties": false, "properties": { "defaults": { "$ref": "#/definitions/entity_event" }, "entities": { "type": "object", "title": "Entities", - "description": "Entities definitions", + "description": "Entities definitions.", "additionalProperties": { "$ref": "#/definitions/entity_event" } } } @@ -107,26 +107,26 @@ "individual_event_sounds": { "type": "object", "title": "Individual Event Sounds", - "description": "Individual event sounds definitions", + "description": "Individual event sounds definitions.", "additionalProperties": false, "properties": { - "events": { "type": "object", "title": "Events", "description": "Events", "additionalProperties": { "$ref": "#/definitions/sound_event" } } + "events": { "type": "object", "title": "Events", "description": "Events.", "additionalProperties": { "$ref": "#/definitions/sound_event" } } } }, "interactive_sounds": { "type": "object", "title": "Interactive Sounds", - "description": "Interactive sounds definitions", + "description": "Interactive sounds definitions.", "additionalProperties": false, "properties": { "block_sounds": { "type": "object", "title": "Block Sounds", - "description": "Block sound definitions", + "description": "Block sound definitions.", "additionalProperties": { "type": "object", "title": "Block Sound", - "description": "A single block sound definition", + "description": "A single block sound definition.", "additionalProperties": false, "properties": { "volume": { "$ref": "#/definitions/volume" }, @@ -137,7 +137,7 @@ "propertyNames": { "enum": ["default", "fall", "step", "hit", "jump", "land"] }, "additionalProperties": { "title": "Sound Event", - "description": "A single sound event definition", + "description": "A single sound event definition.", "oneOf": [ { "type": "string" }, { @@ -159,13 +159,13 @@ "entity_sounds": { "type": "object", "title": "Entity Sounds", - "description": "Entity sound definitions", + "description": "Entity sound definitions.", "additionalProperties": false, "properties": { "defaults": { "type": "object", "title": "Defaults", - "description": "Default sound definitions", + "description": "Default sound definitions.", "additionalProperties": { "type": "object", "title": "Entity Sounds", @@ -177,7 +177,7 @@ "additionalProperties": { "type": "object", "title": "Entity Event", - "description": "A single entity event", + "description": "A single entity event.", "additionalProperties": { "type": "string", "title": "A Sound Interaction" } } } @@ -188,7 +188,7 @@ "entities": { "type": "object", "title": "Entites Sounds", - "description": "Entities sound definitions", + "description": "Entities sound definitions.", "additionalProperties": { "type": "object", "title": "Entity Sounds", @@ -202,7 +202,7 @@ "additionalProperties": { "type": "object", "title": "Entity Event", - "description": "A single entity event", + "description": "A single entity event.", "additionalProperties": { "type": "string", "title": "A Sound Interaction" } } } diff --git a/source/resource/sounds/music_definitions.json b/source/resource/sounds/music_definitions.json index 041a880d..ca4383ab 100644 --- a/source/resource/sounds/music_definitions.json +++ b/source/resource/sounds/music_definitions.json @@ -4,32 +4,23 @@ "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", + "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", + "description": "A music defintion.", "required": ["event_name"], "properties": { "event_name": { - "description": "The name of the minecraft music event", + "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" - ], + "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" } + "min_delay": { "type": "integer", "description": "UNDOCUMENTED: Minimum delay.", "title": "Minimum Delay" }, + "max_delay": { "type": "integer", "description": "UNDOCUMENTED: Maximum delay.", "title": "Maximum Delay" } }, "title": "Music" } diff --git a/source/resource/sounds/sound_definitions.json b/source/resource/sounds/sound_definitions.json index 030580c0..b37156df 100644 --- a/source/resource/sounds/sound_definitions.json +++ b/source/resource/sounds/sound_definitions.json @@ -4,14 +4,14 @@ "type": "object", "additionalProperties": false, "title": "Sound Definitions", - "description": "The collection of sound definitions this resourcepack has defined", + "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/'", + "description": "The filepath to the sound, starts with `sounds/'.", "pattern": "(^sounds/.*$|^$)", "additionalItems": true, "examples": ["sounds/"] @@ -26,25 +26,25 @@ "__use_legacy_max_distance": { "type": "boolean", "title": "Use Legacy Max Distance", - "description": "Whenever or not use legacy distance checking" + "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" + "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", + "description": "The collection of sounds minecraft can choice from.", "items": { "title": "Sounds", - "description": "UNDOCUMENTED: sounds", + "description": "UNDOCUMENTED: sounds.", "anyOf": [ { "type": "string", "$ref": "#/definitions/SoundPath" }, { "title": "Sounds", - "description": "A collection of sounds to choice from", + "description": "A collection of sounds to choice from.", "$comment": "UNDOCUMENTED", "additionalProperties": false, "type": "object", @@ -52,28 +52,28 @@ "examples": [{ "load_on_low_memory": false, "name": "sounds/fx/example" }], "properties": { "is3D": { - "description": "UNDOCUMENTED", + "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" }, + "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", + "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" }, + "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", + "description": "UNDOCUMENTED: name.", "title": "Name" }, "weight": { - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Weight", "type": "integer", @@ -86,7 +86,7 @@ }, "max_distance": { "title": "Max Distance", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "type": "number", "minimum": 0 } @@ -98,11 +98,11 @@ "sound_definitions": { "type": "object", "additionalProperties": { "$ref": "#/definitions/SoundSpec" }, - "description": "UNDOCUMENTED: sound definitions", + "description": "UNDOCUMENTED: sound definitions.", "title": "Sound Definitions" }, "__use_legacy_max_distance": { - "description": "UNDOCUMENTED: use legacy Maximum distance", + "description": "UNDOCUMENTED: use legacy Maximum distance.", "title": "Use Legacy Maximum Distance", "type": "string", "enum": ["true", "false"] diff --git a/source/resource/textures/flipbook_textures.json b/source/resource/textures/flipbook_textures.json index bbb80a4a..f49359ab 100644 --- a/source/resource/textures/flipbook_textures.json +++ b/source/resource/textures/flipbook_textures.json @@ -2,51 +2,51 @@ "$schema": "http://json-schema.org/draft-07/schema", "$id": "blockception.minecraft.resource.texture.flipbook", "additionalProperties": false, - "description": "The file that specifies animated textures", + "description": "The file that specifies animated textures.", "title": "Flipbook Texture File", "type": "array", "items": { "additionalProperties": false, - "description": "A single flipbook texture", + "description": "A single flipbook texture.", "title": "Flipbook Texture", "type": "object", "properties": { "atlas_index": { - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Atlas Index", "type": "integer" }, "atlas_tile": { - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "pattern": "^[a-z0-9_\\-]*$", "title": "Atlas Index", "type": "string" }, "atlas_tile_variant": { - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Atlas Index", "type": "integer" }, "blend_frames": { - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Atlas Index", "type": "boolean" }, "flipbook_texture": { - "description": "A texture file", + "description": "A texture file.", "pattern": "^textures/.+$", "title": "Flipbook Texture", "type": "string" }, "frames": { "title": "Frames", - "description": "The collection of frame index to display", + "description": "The collection of frame index to display.", "items": { - "description": "The index of the frame", + "description": "The index of the frame.", "minimum": 0, "title": "Frame Index", "type": "integer" @@ -54,13 +54,13 @@ "type": "array" }, "replicate": { - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Atlas Index", "type": "integer" }, "ticks_per_frame": { - "description": "The amount of ticks to wait between frames", + "description": "The amount of ticks to wait between frames.", "title": "Ticks Per Frame", "type": "integer" } diff --git a/source/resource/textures/item_texture.json b/source/resource/textures/item_texture.json index 35681f50..93bd42b6 100644 --- a/source/resource/textures/item_texture.json +++ b/source/resource/textures/item_texture.json @@ -4,28 +4,28 @@ "additionalProperties": false, "type": "object", "title": "Item Texture File", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "definitions": { "texture": { "oneOf": [ - { "description": "A texture file", "type": "string", "pattern": "^textures/.+$", "title": "Texture" }, + { "description": "A texture file.", "type": "string", "pattern": "^textures/.+$", "title": "Texture" }, { "type": "object", "additionalProperties": false, - "description": "A collection of texture files", + "description": "A collection of texture files.", "title": "Texture", "properties": { "overlay_color": { - "description": "The color to apply to the texture", + "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" }, + "path": { "description": "A texture file.", "type": "string", "pattern": "^textures/.+$", "title": "Path" }, "tint_color": { "title": "Tint Color", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "format": "color-hex", "examples": ["#FFFFFF"], @@ -34,20 +34,20 @@ "variations": { "type": "array", "title": "Variantions", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "items": { "type": "object", "title": "Variantion", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "required": ["path"], "properties": { - "path": { "description": "A texture file", "type": "string", "pattern": "^textures/.+$", "title": "Path" }, + "path": { "description": "A texture file.", "type": "string", "pattern": "^textures/.+$", "title": "Path" }, "weight": { "type": "integer", "title": "Weight", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" } } @@ -62,31 +62,28 @@ "resource_pack_name": { "type": "string", "title": "Resource Pack Name", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED" }, "texture_data": { "title": "Texture Data", - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "object", "propertyNames": { "pattern": "^[\\w_\\-\\.]+$" }, "additionalProperties": { "title": "Texture Data", - "description": "UNDOCUMENTED", + "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" } } - ] + "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" } + "texture_name": { "title": "Texture Name", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "type": "string" } } } diff --git a/source/resource/textures/terrain_texture.json b/source/resource/textures/terrain_texture.json index 718e1e70..2a5ff8e8 100644 --- a/source/resource/textures/terrain_texture.json +++ b/source/resource/textures/terrain_texture.json @@ -4,28 +4,28 @@ "additionalProperties": false, "type": "object", "title": "Terrain Texture File", - "description": "An collection of texture definitions", + "description": "An collection of texture definitions.", "$comment": "UNDOCUMENTED", "definitions": { "texture": { "oneOf": [ - { "description": "A texture file", "type": "string", "pattern": "^textures/.+$", "title": "Texture" }, + { "description": "A texture file.", "type": "string", "pattern": "^textures/.+$", "title": "Texture" }, { "type": "object", "additionalProperties": false, - "description": "A collection of texture files", + "description": "A collection of texture files.", "title": "Texture", "properties": { "overlay_color": { - "description": "The color to apply to the texture", + "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" }, + "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", + "description": "The tint color to be applied to the texture.", "$comment": "UNDOCUMENTED", "format": "color-hex", "examples": ["#FFFFFF"], @@ -34,17 +34,17 @@ "variations": { "type": "array", "title": "Variantions", - "description": "The possible variations to use for this texture", + "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", + "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" } + "path": { "description": "A texture file.", "type": "string", "pattern": "^textures/.+$", "title": "Path" }, + "weight": { "type": "integer", "title": "Weight", "description": "The weight of the texture.", "$comment": "UNDOCUMENTED" } } } } @@ -54,25 +54,25 @@ } }, "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" }, + "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", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "properties": { "textures": { "oneOf": [{ "$ref": "#/definitions/texture" }, { "type": "array", "items": { "$ref": "#/definitions/texture" } }] } } }, - "description": "UNDOCUMENTED", + "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Texture Data" }, - "texture_name": { "type": "string", "description": "UNDOCUMENTED", "$comment": "UNDOCUMENTED", "title": "Texture Name" } + "texture_name": { "type": "string", "description": "UNDOCUMENTED.", "$comment": "UNDOCUMENTED", "title": "Texture Name" } } } diff --git a/source/resource/textures/texture_list.json b/source/resource/textures/texture_list.json index 2e82c438..626b9433 100644 --- a/source/resource/textures/texture_list.json +++ b/source/resource/textures/texture_list.json @@ -1,7 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema", "title": "Texture List", - "description": "A list of texture to load in", + "description": "A list of texture to load in.", "type": "array", "items": { "title": "Filepath", "type": "string", "pattern": "^textures/", "examples": ["textures/blocks/"] } } diff --git a/source/skinpacks/skins.json b/source/skinpacks/skins.json index 0933fd27..f2445a86 100644 --- a/source/skinpacks/skins.json +++ b/source/skinpacks/skins.json @@ -1,21 +1,21 @@ { "$schema": "http://json-schema.org/draft-07/schema", "title": "Skip Pack", - "description": "Skin pack definition", + "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", + "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" }, + "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", + "description": "An array of item.", "examples": [ { "localization_name": "TemplateSkin1", @@ -26,25 +26,25 @@ ], "items": { "title": "Skin", - "description": "A single skin definition", + "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", + "description": "The key in the language file to use to display text.", "type": "string" }, "geometry": { "title": "Geometry", - "description": "The type of geometry to use", + "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"] } + "texture": { "title": "Texture", "description": "The filename of the skin.", "pattern": "^.*\\.png$" }, + "type": { "title": "Type", "description": "The type of skin.", "enum": ["free", "paid"] } } } }