diff --git a/behavior/animation_controllers/animation_controller.json b/behavior/animation_controllers/animation_controller.json index 3ae52dab..c90c035b 100644 --- a/behavior/animation_controllers/animation_controller.json +++ b/behavior/animation_controllers/animation_controller.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.behavior.animation_controller","examples":[{"format_version":"1.17.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"]},"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.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","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 +{"$id":"blockception.minecraft.behavior.animation_controller","examples":[{"format_version":"1.17.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"]},"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.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","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 1b820310..9d2df7c8 100644 --- a/behavior/animations/animations.json +++ b/behavior/animations/animations.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.behavior.animations","examples":[{"format_version":"1.10.0","animations":{"animation.example":{}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/C"}},{"properties":{"format_version":{"$ref":"#/definitions/D"}}}],"definitions":{"A_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/B"}}]},"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"}}},"A_commands":{"type":"string","description":"The event or commands to execute","title":"Commands","anyOf":[{"pattern":"^.*=.*;$","title":"Variable"},{"pattern":"^/[a-z].*$","title":"Minecraft Command"},{"pattern":"[A-Za-z][a-z]*\\.[a-z_0-9]*","title":"Molang"},{"pattern":"^@s .*$","title":"Event"}]},"B":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"A":{"type":"object","title":"Animation 1.8.0","description":"Animation for behaviors 1.8.0","required":["format_version","animations"],"additionalProperties":false,"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."},"animations":{"title":"Animations","description":"The animation 1.8.0 specification","type":"object","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"additionalProperties":{"title":"Animation","type":"object","description":"A single animation definition for 1.8.0","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":"Wheter or not to loop this animation","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":[{"$ref":"#/definitions/A_commands"},{"type":"array","title":"Collection Timelime Items","items":{"$ref":"#/definitions/A_commands"}}]}}}}}}},"C_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/B"}}]},"C_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"}}},"C_commands":{"type":"string","description":"The event or commands to execute","title":"Commands","anyOf":[{"pattern":"^.*=.*;$","title":"Variable"},{"pattern":"^/[a-z].*$","title":"Minecraft Command"},{"pattern":"[A-Za-z][a-z]*\\.[a-z_0-9]*","title":"Molang"},{"pattern":"^@s .*$","title":"Event"}]},"C":{"type":"object","title":"Animation 1.10.0","description":"Animation for behavior for 1.10.0","required":["format_version","animations"],"additionalProperties":false,"properties":{"format_version":{"title":"1.10.0 Format Version","type":"string","pattern":"^1.10.0$","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"animations":{"title":"Animations Schema","description":"The animation 1.10.0 specification","type":"object","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"additionalProperties":{"title":"Animation","type":"object","description":"A single animation definition for 1.10.0","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/C_commands"},{"type":"array","title":"Collection Timelime Items","items":{"$ref":"#/definitions/C_commands"}}]}}}}}}},"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file +{"$id":"blockception.minecraft.behavior.animations","examples":[{"format_version":"1.10.0","animations":{"animation.example":{}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/C"}},{"properties":{"format_version":{"$ref":"#/definitions/D"}}}],"definitions":{"A_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/B"}}]},"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"}}},"A_commands":{"type":"string","description":"The event or commands to execute","title":"Commands","anyOf":[{"pattern":"^.*=.*;$","title":"Variable"},{"pattern":"^/[a-z].*$","title":"Minecraft Command"},{"pattern":"[A-Za-z][a-z]*\\.[a-z_0-9]*","title":"Molang"},{"pattern":"^@s .*$","title":"Event"}]},"B":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"A":{"type":"object","title":"Animation 1.8.0","description":"Animation for behaviors 1.8.0","required":["format_version","animations"],"additionalProperties":false,"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."},"animations":{"title":"Animations","description":"The animation 1.8.0 specification","type":"object","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"additionalProperties":{"title":"Animation","type":"object","description":"A single animation definition for 1.8.0","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":"Wheter or not to loop this animation","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":[{"$ref":"#/definitions/A_commands"},{"type":"array","title":"Collection Timelime Items","items":{"$ref":"#/definitions/A_commands"}}]}}}}}}},"C_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/B"}}]},"C_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"}}},"C_commands":{"type":"string","description":"The event or commands to execute","title":"Commands","anyOf":[{"pattern":"^.*=.*;$","title":"Variable"},{"pattern":"^/[a-z].*$","title":"Minecraft Command"},{"pattern":"[A-Za-z][a-z]*\\.[a-z_0-9]*","title":"Molang"},{"pattern":"^@s .*$","title":"Event"}]},"C":{"type":"object","title":"Animation 1.10.0","description":"Animation for behavior for 1.10.0","required":["format_version","animations"],"additionalProperties":false,"properties":{"format_version":{"title":"1.10.0 Format Version","type":"string","pattern":"^1.10.0$","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"animations":{"title":"Animations Schema","description":"The animation 1.10.0 specification","type":"object","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"additionalProperties":{"title":"Animation","type":"object","description":"A single animation definition for 1.10.0","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/C_commands"},{"type":"array","title":"Collection Timelime Items","items":{"$ref":"#/definitions/C_commands"}}]}}}}}}},"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file diff --git a/behavior/biomes/biomes.json b/behavior/biomes/biomes.json index 2ccf01c5..3cf64142 100644 --- a/behavior/biomes/biomes.json +++ b/behavior/biomes/biomes.json @@ -1 +1 @@ -{"$id":"minecraft.behavior.biomes","type":"object","examples":[{"plains":{"format_version":"1.12.0"}}],"additionalProperties":{"type":"object","title":"Biome","description":"A biome definition","allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.12.0"}}},"then":{"$ref":"#/definitions/A"}},{"properties":{"format_version":{"$ref":"#/definitions/BI"}}}]},"definitions":{"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","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,"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"]},"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}},"floor_materials":{"title":"Floor Materials","description":"Materials used for the surface floor.","minItems":1,"items":{"title":"Block Reference","description":"UNDOCUMENTED","$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":{}},"A":{"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":{"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"}}},"BI":{"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file +{"$id":"minecraft.behavior.biomes","type":"object","examples":[{"plains":{"format_version":"1.12.0"}}],"additionalProperties":{"type":"object","title":"Biome","description":"A biome definition","allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.12.0"}}},"then":{"$ref":"#/definitions/A"}},{"properties":{"format_version":{"$ref":"#/definitions/BI"}}}]},"definitions":{"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","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,"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"]},"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}},"floor_materials":{"title":"Floor Materials","description":"Materials used for the surface floor.","minItems":1,"items":{"title":"Block Reference","description":"UNDOCUMENTED","$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":{}},"A":{"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":{"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"}}},"BI":{"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file diff --git a/behavior/blocks/blocks.json b/behavior/blocks/blocks.json index d36619e2..edd64293 100644 --- a/behavior/blocks/blocks.json +++ b/behavior/blocks/blocks.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.behavior.blocks","examples":[{"format_version":"1.16.200","minecraft:block":{"description":{"identifier":"namespace:block","properties":{}},"components":{},"events":{}}}],"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"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.12.0"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.16.0"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.16.100"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.16.200"}}},"then":{"$ref":"#/definitions/HI"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.17.0"}}},"then":{"$ref":"#/definitions/BCH"}},{"properties":{"format_version":{"$ref":"#/definitions/BHH"}}}],"definitions":{"B":{"description":"A minecraft block identifier","examples":["namespace:block"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Block Identifier","type":"string"},"D":{"additionalProperties":false,"type":"integer","title":"Block Light Absorption 1.10.0","description":"The amount of light this block will absorb.","default":0},"E":{"additionalProperties":false,"type":"number","title":"Block Light Emission 1.10.0","description":"The amount of light this block will emit in a range [0.0, 1.0].","minimum":0,"maximum":1,"default":0.0},"F":{"additionalProperties":false,"type":"boolean","title":"Break On Push 1.10.0","description":"When pushed by a piston the block breaks."},"G":{"additionalProperties":false,"type":"string","title":"Breathability 1.10.0","description":"Property describing the breathability of this block and whether it is treated as a solid or as air.","enum":["solid","air"],"default":"solid"},"H":{"additionalProperties":false,"type":"number","title":"Destroy Time 1.10.0","description":"Sets the destroy time property for the block. Greater numbers result in greater mining times. Time is measured in seconds with base equipment."},"I":{"additionalProperties":false,"type":"string","title":"Display Name 1.10.0","description":"Specifies the language file key that maps to what text will be displayed when you hover over the block."},"J":{"additionalProperties":false,"title":"Entity Collision 1.10.0","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"}]}}}]},"BA":{"additionalProperties":false,"type":"number","title":"Explosion Resistance 1.10.0","description":"Sets the explosion resistance for this block.","default":0.0},"BB":{"additionalProperties":false,"type":"object","title":"Flammable 1.10.0","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 1.10.0","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 1.10.0","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 1.10.0","description":"An Immovable block cannot be pushed by pistons"},"BF":{"additionalProperties":false,"type":"string","title":"Loot 1.10.0","description":"The path of the loot table that this component will use when the block is destroyed.","pattern":"loot_tables/.*\\.json$"},"BG":{"additionalProperties":false,"type":"string","title":"Map Color 1.10.0","description":"A color represented as a hex value. This will be the color rendered to a map.","format":"color-hex"},"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 1.10.0","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 1.10.0","description":"Blocks with those components won't stick to stickyPistons"},"BJ":{"title":"Pick Collision 1.10.0","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"}]}}}]},"CA":{"title":"Placement Filter 1.10.0","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"}}}}}}},"CB":{"title":"Prevents Jumping 1.10.0","description":"This component makes it so actors can't jump when walking on this block","type":"boolean"},"CC":{"title":"Random Ticking 1.10.0","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","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."},"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"]}}}}},"CD":{"title":"Rotation 1.10.0","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"}]},"CE":{"title":"Ticking 1.10.0","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"]}}}},"CF":{"title":"Unit Cube 1.10.0","description":"Specifies that a unit cube is to be used with tessellation.","type":"string"},"CG":{"title":"Unwalkable 1.10.0","description":"this component sets a block as unwalkable. Most mobs will not try to jump over it if the value is set to true","type":"boolean"},"C":{"title":"Components","description":"The components of that define this block","type":"object","additionalProperties":false,"properties":{"minecraft:block_light_absorption":{"$ref":"#/definitions/D"},"minecraft:block_light_emission":{"$ref":"#/definitions/E"},"minecraft:breakonpush":{"$ref":"#/definitions/F"},"minecraft:breathability":{"$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:pick_collision":{"$ref":"#/definitions/BJ"},"minecraft:placement_filter":{"$ref":"#/definitions/CA"},"minecraft:preventsjumping":{"$ref":"#/definitions/CB"},"minecraft:random_ticking":{"$ref":"#/definitions/CC"},"minecraft:rotation":{"$ref":"#/definitions/CD"},"minecraft:ticking":{"$ref":"#/definitions/CE"},"minecraft:unit_cube":{"$ref":"#/definitions/CF"},"minecraft:unwalkable":{"$ref":"#/definitions/CG"}}},"A":{"description":"Minecraft blocks 1.10.0","required":["format_version","minecraft:block"],"title":"Block","type":"object","additionalProperties":false,"properties":{"format_version":{"title":"1.10.0 Format Version","type":"string","const":"1.10.0","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:block":{"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/B"},"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"}}},"components":{"$ref":"#/definitions/C"}}}}},"CH":{"description":"Minecraft blocks 1.12.0","required":["format_version","minecraft:block"],"title":"Block","type":"object","additionalProperties":false,"properties":{"format_version":{"title":"1.12.0 Format Version","type":"string","const":"1.12.0","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:block":{"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/B"},"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"}}},"components":{"$ref":"#/definitions/C"}}}}},"CI":{"description":"Minecraft blocks 1.16.0","required":["format_version","minecraft:block"],"title":"Block","type":"object","additionalProperties":false,"properties":{"format_version":{"title":"1.16.0 Format Version","type":"string","const":"1.16.0","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:block":{"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/B"},"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_\\-]+)$"},"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"}]}}}},"components":{"$ref":"#/definitions/C"}}}}},"CJ_components_ref":{"type":"object","title":"Component","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","propertyNames":{"examples":["tag:foo"]},"properties":{"minecraft:block_light_absorption":{"$ref":"#/definitions/DA"},"minecraft:block_light_emission":{"$ref":"#/definitions/DB"},"minecraft:breakonpush":{"$ref":"#/definitions/DC"},"minecraft:breathability":{"$ref":"#/definitions/DD"},"minecraft:destroy_time":{"$ref":"#/definitions/DE"},"minecraft:display_name":{"$ref":"#/definitions/DF"},"minecraft:entity_collision":{"$ref":"#/definitions/DG"},"minecraft:explosion_resistance":{"$ref":"#/definitions/DH"},"minecraft:flammable":{"$ref":"#/definitions/DI"},"minecraft:friction":{"$ref":"#/definitions/DJ"},"minecraft:geometry":{"$ref":"#/definitions/EA"},"minecraft:immovable":{"$ref":"#/definitions/EB"},"minecraft:loot":{"$ref":"#/definitions/EC"},"minecraft:map_color":{"$ref":"#/definitions/ED"},"minecraft:material_instances":{"$ref":"#/definitions/EE"},"minecraft:onlypistonpush":{"$ref":"#/definitions/EF"},"minecraft:on_fall_on":{"$ref":"#/definitions/EG"},"minecraft:on_interact":{"$ref":"#/definitions/EH"},"minecraft:on_placed":{"$ref":"#/definitions/EI"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/EJ"},"minecraft:on_player_placing":{"$ref":"#/definitions/FA"},"minecraft:on_step_off":{"$ref":"#/definitions/FB"},"minecraft:on_step_on":{"$ref":"#/definitions/FC"},"minecraft:pick_collision":{"$ref":"#/definitions/FD"},"minecraft:placement_filter":{"$ref":"#/definitions/FE"},"minecraft:preventsjumping":{"$ref":"#/definitions/FF"},"minecraft:random_ticking":{"$ref":"#/definitions/FG"},"minecraft:rotation":{"$ref":"#/definitions/FH"},"minecraft:ticking":{"$ref":"#/definitions/FI"},"minecraft:unit_cube":{"$ref":"#/definitions/FJ"},"minecraft:unwalkable":{"$ref":"#/definitions/GA"}},"additionalProperties":{"type":"object"}},"DA":{"additionalProperties":false,"type":"integer","title":"Block Light Absorption 1.16.100","description":"The amount of light this block will absorb.","default":0},"DB":{"additionalProperties":false,"type":"number","title":"Block Light Emission 1.16.100","description":"The amount of light this block will emit in a range [0.0, 1.0].","minimum":0,"maximum":1,"default":0.0},"DC":{"additionalProperties":false,"type":"boolean","title":"Break On Push 1.16.100","description":"When pushed by a piston the block breaks."},"DD":{"additionalProperties":false,"type":"string","title":"Breathability 1.16.100","description":"Property describing the breathability of this block and whether it is treated as a solid or as air.","enum":["solid","air"],"default":"solid"},"DE":{"additionalProperties":false,"type":"number","title":"Destroy Time 1.16.100","description":"Sets the destroy time property for the block. Greater numbers result in greater mining times. Time is measured in seconds with base equipment."},"DF":{"additionalProperties":false,"type":"string","title":"Display Name 1.16.100","description":"Specifies the language file key that maps to what text will be displayed when you hover over the block."},"DG":{"title":"Entity Collision 1.16.100","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"}]}}}]},"DH":{"additionalProperties":false,"type":"number","title":"Explosion Resistance 1.16.100","description":"Sets the explosion resistance for this block.","default":0.0},"DI":{"additionalProperties":false,"type":"object","title":"Flammable 1.16.100","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"}}},"DJ":{"additionalProperties":false,"type":"number","title":"Friction 1.16.100","description":"Property describing the friction for this block. Friction effects an entities movements when it walks on the block.","default":0.1},"EA":{"additionalProperties":false,"type":"string","title":"Geometry 1.16.100","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_\\-\\.]+$"},"EB":{"additionalProperties":false,"type":"boolean","title":"Immovable 1.16.100","description":"An Immovable block cannot be pushed by pistons"},"EC":{"additionalProperties":false,"type":"string","title":"Loot 1.16.100","description":"The path of the loot table that this component will use when the block is destroyed.","pattern":"loot_tables/.*\\.json$"},"ED":{"additionalProperties":false,"type":"string","title":"Map Color 1.16.100","description":"A color represented as a hex value. This will be the color rendered to a map.","format":"color-hex"},"EE_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"}}},"EE":{"type":"object","title":"Material Instances 1.16.100","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/EE_material_instance"}},"additionalProperties":{"$ref":"#/definitions/EE_material_instance"}},"EF":{"type":"boolean","title":"Only Piston Push 1.16.100","description":"Blocks with those components won't stick to stickyPistons"},"EG":{"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"}}},"EH":{"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"}}},"EI":{"type":"object","title":"On Placed 1.16.100","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"}}},"EJ":{"type":"object","title":"On Player Destroyed 1.16.100","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"}}},"FA":{"type":"object","title":"On Player Placing 1.16.100","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"}}},"FB":{"type":"object","title":"On Step Off 1.16.100","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"}}},"FC":{"type":"object","title":"On Step On 1.16.100","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"}}},"FD":{"title":"Pick Collision 1.16.100","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"}]}}}]},"FE":{"title":"Placement Filter 1.16.100","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"}}}}}}},"FF":{"title":"Prevents Jumping 1.16.100","description":"This component makes it so actors can't jump when walking on this block","type":"boolean"},"FG":{"title":"Random Ticking 1.16.100","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"}}},"FH":{"title":"Rotation 1.16.100","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"}]},"FI":{"title":"Ticking 1.16.100","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"]}}}},"FJ":{"title":"Unit Cube 1.16.100","description":"Specifies that a unit cube is to be used with tessellation.","type":"string"},"GA":{"title":"Unwalkable 1.16.100","description":"this component sets a block as unwalkable. Most mobs will not try to jump over it if the value is set to true","type":"boolean"},"GB_event_base":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"$ref":"#/definitions/GB_event_functions","properties":{"sequence":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/GB_event_functions"}},"randomize":{"title":"Randomize","description":"Randomly selects one of the following items based upon their weight and the total weights","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Randomize","description":"Randomly selects one of the following items based upon their weight and the total weights","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/GB_event_functions","required":["weight"],"properties":{"weight":{"title":"Weight","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}}},"add_mob_effect":{"$ref":"#/definitions/GC"},"damage":{"$ref":"#/definitions/GD"},"decrement_stack":{"$ref":"#/definitions/GE"},"die":{"$ref":"#/definitions/GF"},"play_effect":{"$ref":"#/definitions/GG"},"play_sound":{"$ref":"#/definitions/GH"},"remove_mob_effect":{"$ref":"#/definitions/GI"},"run_command":{"$ref":"#/definitions/GJ"},"set_block":{"$ref":"#/definitions/HA"},"set_block_at_pos":{"$ref":"#/definitions/HB"},"set_block_property":{"$ref":"#/definitions/HC"},"spawn_loot":{"$ref":"#/definitions/HD"},"swing":{"$ref":"#/definitions/HE"},"teleport":{"$ref":"#/definitions/HF"},"transform_item":{"$ref":"#/definitions/HG"}}},"GB_event_functions":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":true,"properties":{"add_mob_effect":{"$ref":"#/definitions/GC"},"damage":{"$ref":"#/definitions/GD"},"decrement_stack":{"$ref":"#/definitions/GE"},"die":{"$ref":"#/definitions/GF"},"play_effect":{"$ref":"#/definitions/GG"},"play_sound":{"$ref":"#/definitions/GH"},"remove_mob_effect":{"$ref":"#/definitions/GI"},"run_command":{"$ref":"#/definitions/GJ"},"set_block":{"$ref":"#/definitions/HA"},"set_block_at_pos":{"$ref":"#/definitions/HB"},"set_block_property":{"$ref":"#/definitions/HC"},"spawn_loot":{"$ref":"#/definitions/HD"},"swing":{"$ref":"#/definitions/HE"},"teleport":{"$ref":"#/definitions/HF"},"transform_item":{"$ref":"#/definitions/HG"}}},"GC":{"type":"object","description":"Apply mob effect to target.","title":"Add Mob Effect","additionalProperties":false,"properties":{"amplifier":{"type":"integer","default":0,"description":"The amplifier for the mob effect.","title":"Amplifier"},"duration":{"type":"number","default":0,"description":"The duration of the mob effect.","title":"Duration"},"effect":{"type":"string","default":"","description":"The mob effect to apply.","title":"Effect"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"GD":{"type":"object","description":"Deals damage to the target.","title":"Damage","additionalProperties":false,"properties":{"amount":{"type":"integer","default":0,"description":"The amount of damage to deal.","title":"Amount"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"},"type":{"type":"string","default":"","description":"The type of damage to deal.","title":"Type"}}},"GE":{"type":"object","description":"Decrement item stack.","title":"Decrement Stack","additionalProperties":false,"properties":{}},"GF":{"type":"object","description":"Kill target. If target is self and this is run from a block then destroy the block.","title":"Die","additionalProperties":false,"properties":{"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"GG":{"type":"object","description":"Spawns a particle effect relative to target position.","title":"Play Effect","additionalProperties":false,"properties":{"data":{"type":"integer","default":0,"description":"Particle data value.","title":"Data"},"effect":{"type":"string","default":"","description":"The name of the particle effect to create.","title":"Effect"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"GH":{"type":"object","description":"Play a sound relative to target position.","title":"Playsound","additionalProperties":false,"properties":{"sound":{"type":"string","default":"","description":"The name of the sound to play.","title":"Sound"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"GI":{"type":"object","description":"Removes mob effect from target.","title":"Remove Mob Effect","additionalProperties":false,"properties":{"effect":{"type":"string","default":"","description":"The mob effect to remove. Use `all` to remove all mob effects from target.","title":"Effect"},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"GJ":{"type":"object","description":"Triggers a slash command or a list of slash commands.","title":"Run Command","additionalProperties":false,"properties":{"command":{"default":"","description":"Slash command to run.","title":"Command","oneof":[{"type":"string"},{"type":"array","items":{"type":"string","title":"Command","description":"Slash command to run."}}]},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"HA":{"type":"object","description":"Sets this block to another block type.","title":"Set Block","additionalProperties":false,"properties":{"block_type":{"type":"string","default":"","description":"The type of block to set.","title":"Block Type"}}},"HB":{"type":"object","description":"Sets a block relative to this block to another block type.","title":"Set Block At Pos","additionalProperties":false,"properties":{"block_offset":{"type":"array","default":[0.0,0.0,0.0],"description":"The offset from the block's center.","title":"Block Offset","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"block_type":{"type":"string","default":"","description":"The type of block to set.","title":"Block Type"}}},"HC":{"type":"object","description":"Sets a block property on this block","title":"Set Block Property","propertyNames":{"examples":["self:foo"]},"additionalProperties":{"type":"string","description":"Block property to set on the block.","title":"Property"}},"HD":{"type":"object","description":"Spawn loot from block.","title":"Spawn Loot","required":["table"],"additionalProperties":false,"properties":{"table":{"type":"string","description":"File path, relative to the Behavior Pack's path, to the loot table file.","title":"Table"}}},"HE":{"type":"object","description":"Event causes the actor to swing.","title":"Swing","additionalProperties":false,"properties":{}},"HF":{"type":"object","description":"Teleport target randomly around destination point.","title":"Teleport","additionalProperties":false,"properties":{"avoid_water":{"type":"boolean","default":true,"description":"Determines if the teleport avoids putting the target in water.","title":"Avoid Water"},"destination":{"default":[0.0,0.0,0.0],"description":"Origin destination of the teleport.","title":"Destination","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"land_on_block":{"type":"boolean","default":true,"description":"Determines if the teleport places the target on a block.","title":"Land On Block"},"max_range":{"default":[8.0,8.0,8.0],"description":"Maximum range the target can teleport relative to the origin destination.","title":"Maximum Range","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"HG":{"type":"object","description":"Transforms item into another item.","title":"Transform Item 1.16.100","additionalProperties":false,"properties":{"transform":{"type":"string","description":"Name of the item it should transform into","title":"Transform"}}},"GB":{"title":"Events","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","properties":{"minecraft:on_interact":{"$ref":"#/definitions/GB_event_base"},"minecraft:on_step_on":{"$ref":"#/definitions/GB_event_base"},"minecraft:on_step_off":{"$ref":"#/definitions/GB_event_base"},"minecraft:on_fall_on":{"$ref":"#/definitions/GB_event_base"},"minecraft:on_placed":{"$ref":"#/definitions/GB_event_base"},"minecraft:on_player_placing":{"$ref":"#/definitions/GB_event_base"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/GB_event_base"},"minecraft:ticking":{"$ref":"#/definitions/GB_event_base"},"minecraft:random_ticking":{"$ref":"#/definitions/GB_event_base"}},"additionalProperties":{"$ref":"#/definitions/GB_event_base"}},"HH":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"CJ":{"description":"Minecraft blocks 1.16.100","required":["format_version","minecraft:block"],"title":"Block","type":"object","additionalProperties":false,"properties":{"format_version":{"title":"1.16.100 Format Version","type":"string","const":"1.16.100","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:block":{"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/B"},"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_\\-]+)$","examples":["self:foo"]},"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/GB"},"components":{"type":"object","title":"Component","$ref":"#/definitions/CJ_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/HH"},"components":{"type":"object","title":"Component","$ref":"#/definitions/CJ_components_ref"}}}}}}}},"HI_components_ref":{"type":"object","title":"Component","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"minecraft:block_light_absorption":{"$ref":"#/definitions/HJ"},"minecraft:block_light_emission":{"$ref":"#/definitions/IA"},"minecraft:breakonpush":{"$ref":"#/definitions/IB"},"minecraft:breathability":{"$ref":"#/definitions/IC"},"minecraft:creative_category":{"$ref":"#/definitions/ID"},"minecraft:destroy_time":{"$ref":"#/definitions/IE"},"minecraft:display_name":{"$ref":"#/definitions/IF"},"minecraft:entity_collision":{"$ref":"#/definitions/IG"},"minecraft:explosion_resistance":{"$ref":"#/definitions/IH"},"minecraft:flammable":{"$ref":"#/definitions/II"},"minecraft:friction":{"$ref":"#/definitions/IJ"},"minecraft:geometry":{"$ref":"#/definitions/JA"},"minecraft:immovable":{"$ref":"#/definitions/JB"},"minecraft:loot":{"$ref":"#/definitions/JC"},"minecraft:map_color":{"$ref":"#/definitions/JD"},"minecraft:material_instances":{"$ref":"#/definitions/JE"},"minecraft:onlypistonpush":{"$ref":"#/definitions/JF"},"minecraft:on_fall_on":{"$ref":"#/definitions/JG"},"minecraft:on_interact":{"$ref":"#/definitions/JH"},"minecraft:on_placed":{"$ref":"#/definitions/JI"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/JJ"},"minecraft:on_player_placing":{"$ref":"#/definitions/BAA"},"minecraft:on_step_off":{"$ref":"#/definitions/BAB"},"minecraft:on_step_on":{"$ref":"#/definitions/BAC"},"minecraft:pick_collision":{"$ref":"#/definitions/BAD"},"minecraft:placement_filter":{"$ref":"#/definitions/BAE"},"minecraft:preventsjumping":{"$ref":"#/definitions/BAF"},"minecraft:random_ticking":{"$ref":"#/definitions/BAG"},"minecraft:rotation":{"$ref":"#/definitions/BAH"},"minecraft:ticking":{"$ref":"#/definitions/BAI"},"minecraft:unit_cube":{"$ref":"#/definitions/BAJ"},"minecraft:unwalkable":{"$ref":"#/definitions/BBA"}}},"HJ":{"additionalProperties":false,"type":"integer","title":"Block Light Absorption 1.16.200","description":"The amount of light this block will absorb.","default":0},"IA":{"additionalProperties":false,"type":"number","title":"Block Light Emission 1.16.200","description":"The amount of light this block will emit in a range [0.0, 1.0].","minimum":0,"maximum":1,"default":0.0},"IB":{"additionalProperties":false,"type":"boolean","title":"Break On Push 1.16.200","description":"When pushed by a piston the block breaks."},"IC":{"additionalProperties":false,"type":"string","title":"Breathability 1.16.200","description":"Property describing the breathability of this block and whether it is treated as a solid or as air.","enum":["solid","air"],"default":"solid"},"ID":{"additionalProperties":false,"type":"boolean","title":"Creative Category 1.17.0","description":"Specifies the creative group for the block."},"IE":{"additionalProperties":false,"type":"number","title":"Destroy Time 1.16.200","description":"Sets the destroy time property for the block. Greater numbers result in greater mining times. Time is measured in seconds with base equipment."},"IF":{"additionalProperties":false,"type":"string","title":"Display Name 1.16.200","description":"Specifies the language file key that maps to what text will be displayed when you hover over the block."},"IG":{"title":"Entity Collision 1.16.200","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"}]}}}]},"IH":{"additionalProperties":false,"type":"number","title":"Explosion Resistance 1.16.200","description":"Sets the explosion resistance for this block.","default":0.0},"II":{"additionalProperties":false,"type":"object","title":"Flammable 1.16.200","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"}}},"IJ":{"additionalProperties":false,"type":"number","title":"Friction 1.16.200","description":"Property describing the friction for this block. Friction effects an entities movements when it walks on the block.","default":0.1},"JA":{"additionalProperties":false,"type":"string","title":"Geometry 1.16.200","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_\\-\\.]+$"},"JB":{"additionalProperties":false,"type":"boolean","title":"Immovable 1.16.200","description":"An Immovable block cannot be pushed by pistons"},"JC":{"additionalProperties":false,"type":"string","title":"Loot 1.16.200","description":"The path of the loot table that this component will use when the block is destroyed.","pattern":"loot_tables/.*\\.json$"},"JD":{"additionalProperties":false,"type":"string","title":"Map Color 1.16.200","description":"A color represented as a hex value. This will be the color rendered to a map.","format":"color-hex"},"JE_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"}}},"JE":{"type":"object","title":"Material Instances 1.16.200","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/JE_material_instance"}},"additionalProperties":{"$ref":"#/definitions/JE_material_instance"}},"JF":{"type":"boolean","title":"Only Piston Push 1.16.200","description":"Blocks with those components won't stick to stickyPistons"},"JG":{"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"}}},"JH":{"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"}}},"JI":{"type":"object","title":"On Placed 1.16.200","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"}}},"JJ":{"type":"object","title":"On Player Destroyed 1.16.200","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"}}},"BAA":{"type":"object","title":"On Player Placing 1.16.200","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"}}},"BAB":{"type":"object","title":"On Step Off 1.16.200","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"}}},"BAC":{"type":"object","title":"On Step On 1.16.200","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"}}},"BAD":{"title":"Pick Collision 1.16.200","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"}]}}}]},"BAE":{"title":"Placement Filter 1.16.200","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"}}}}}}},"BAF":{"title":"Prevents Jumping 1.16.200","description":"This component makes it so actors can't jump when walking on this block","type":"boolean"},"BAG":{"title":"Random Ticking 1.16.200","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"}}},"BAH":{"title":"Rotation 1.16.200","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"}]},"BAI":{"title":"Ticking 1.16.200","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"]}}}},"BAJ":{"title":"Unit Cube 1.16.200","description":"Specifies that a unit cube is to be used with tessellation.","type":"string"},"BBA":{"title":"Unwalkable 1.16.200","description":"this component sets a block as unwalkable. Most mobs will not try to jump over it if the value is set to true","type":"boolean"},"BBB_event_base":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"$ref":"#/definitions/BBB_event_functions","properties":{"sequence":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/BBB_event_functions"}},"randomize":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/BBB_event_functions","required":["weight"],"properties":{"weight":{"title":"Weight","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}}},"add_mob_effect":{"$ref":"#/definitions/BBC"},"damage":{"$ref":"#/definitions/BBD"},"decrement_stack":{"$ref":"#/definitions/BBE"},"die":{"$ref":"#/definitions/BBF"},"play_effect":{"$ref":"#/definitions/BBG"},"play_sound":{"$ref":"#/definitions/BBH"},"remove_mob_effect":{"$ref":"#/definitions/BBI"},"run_command":{"$ref":"#/definitions/BBJ"},"set_block":{"$ref":"#/definitions/BCA"},"set_block_at_pos":{"$ref":"#/definitions/BCB"},"set_block_property":{"$ref":"#/definitions/BCC"},"spawn_loot":{"$ref":"#/definitions/BCD"},"swing":{"$ref":"#/definitions/BCE"},"teleport":{"$ref":"#/definitions/BCF"},"transform_item":{"$ref":"#/definitions/BCG"}}},"BBB_event_functions":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":true,"properties":{"add_mob_effect":{"$ref":"#/definitions/BBC"},"damage":{"$ref":"#/definitions/BBD"},"decrement_stack":{"$ref":"#/definitions/BBE"},"die":{"$ref":"#/definitions/BBF"},"play_effect":{"$ref":"#/definitions/BBG"},"play_sound":{"$ref":"#/definitions/BBH"},"remove_mob_effect":{"$ref":"#/definitions/BBI"},"run_command":{"$ref":"#/definitions/BBJ"},"set_block":{"$ref":"#/definitions/BCA"},"set_block_at_pos":{"$ref":"#/definitions/BCB"},"set_block_property":{"$ref":"#/definitions/BCC"},"spawn_loot":{"$ref":"#/definitions/BCD"},"swing":{"$ref":"#/definitions/BCE"},"teleport":{"$ref":"#/definitions/BCF"},"transform_item":{"$ref":"#/definitions/BCG"}}},"BBC":{"type":"object","description":"Apply mob effect to target.","title":"Add Mob Effect 1.16.200","additionalProperties":false,"properties":{"amplifier":{"type":"integer","default":0,"description":"The amplifier for the mob effect.","title":"Amplifier"},"duration":{"type":"number","default":0,"description":"The duration of the mob effect.","title":"Duration"},"effect":{"type":"string","default":"","description":"The mob effect to apply.","title":"Effect"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"BBD":{"type":"object","description":"Deals damage to the target.","title":"Damage 1.16.200","additionalProperties":false,"properties":{"amount":{"type":"integer","default":0,"description":"The amount of damage to deal.","title":"Amount"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"},"type":{"type":"string","default":"","description":"The type of damage to deal.","title":"Type"}}},"BBE":{"type":"object","description":"Decrement item stack.","title":"Decrement Stack 1.16.200","additionalProperties":false,"properties":{}},"BBF":{"type":"object","description":"Kill target. If target is self and this is run from a block then destroy the block.","title":"Die 1.16.200","additionalProperties":false,"properties":{"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"BBG":{"type":"object","description":"Spawns a particle effect relative to target position.","title":"Play Effect 1.16.200","additionalProperties":false,"properties":{"data":{"type":"integer","default":0,"description":"Particle data value.","title":"Data"},"effect":{"type":"string","default":"","description":"The name of the particle effect to create.","title":"Effect"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"BBH":{"type":"object","description":"Play a sound relative to target position.","title":"Playsound 1.16.200","additionalProperties":false,"properties":{"sound":{"type":"string","default":"","description":"The name of the sound to play.","title":"Sound"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"BBI":{"type":"object","description":"Removes mob effect from target.","title":"Remove Mob Effect 1.16.200","additionalProperties":false,"properties":{"effect":{"type":"string","default":"","description":"The mob effect to remove. Use `all` to remove all mob effects from target.","title":"Effect"},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"BBJ":{"type":"object","description":"Triggers a slash command or a list of slash commands.","title":"Run Command 1.16.200","additionalProperties":false,"properties":{"command":{"default":"","description":"Slash command to run.","title":"Command","oneof":[{"type":"string"},{"type":"array","items":{"type":"string","title":"Command","description":"Slash command to run."}}]},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"BCA":{"type":"object","description":"Sets this block to another block type.","title":"Set Block 1.16.200","additionalProperties":false,"properties":{"block_type":{"type":"string","default":"","description":"The type of block to set.","title":"Block Type"}}},"BCB":{"type":"object","description":"Sets a block relative to this block to another block type.","title":"Set Block At Pos 1.16.200","additionalProperties":false,"properties":{"block_offset":{"type":"array","default":[0.0,0.0,0.0],"description":"The offset from the block's center.","title":"Block Offset","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"block_type":{"type":"string","default":"","description":"The type of block to set.","title":"Block Type"}}},"BCC":{"type":"object","description":"Sets a block property on this block","title":"Set Block Property 1.16.200","additionalProperties":false,"properties":{"property":{"type":"string","description":"Block property to set on the block.","title":"Property"}}},"BCD":{"type":"object","description":"Spawn loot from block.","title":"Spawn Loot 1.16.200","required":["table"],"additionalProperties":false,"properties":{"table":{"type":"string","description":"File path, relative to the Behavior Pack's path, to the loot table file.","title":"Table"}}},"BCE":{"type":"object","description":"Event causes the actor to swing.","title":"Swing 1.16.200","additionalProperties":false,"properties":{}},"BCF":{"type":"object","description":"Teleport target randomly around destination point.","title":"Teleport 1.16.200","additionalProperties":false,"properties":{"avoid_water":{"type":"boolean","default":true,"description":"Determines if the teleport avoids putting the target in water.","title":"Avoid Water"},"destination":{"default":[0.0,0.0,0.0],"description":"Origin destination of the teleport.","title":"Destination","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"land_on_block":{"type":"boolean","default":true,"description":"Determines if the teleport places the target on a block.","title":"Land On Block"},"max_range":{"default":[8.0,8.0,8.0],"description":"Maximum range the target can teleport relative to the origin destination.","title":"Maximum Range","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"BCG":{"type":"object","description":"Transforms item into another item.","title":"Transform Item 1.16.200","additionalProperties":false,"properties":{"transform":{"type":"string","description":"Name of the item it should transform into","title":"Transform"}}},"BBB":{"title":"Events","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","properties":{"minecraft:on_interact":{"$ref":"#/definitions/BBB_event_base"},"minecraft:on_step_on":{"$ref":"#/definitions/BBB_event_base"},"minecraft:on_step_off":{"$ref":"#/definitions/BBB_event_base"},"minecraft:on_fall_on":{"$ref":"#/definitions/BBB_event_base"},"minecraft:on_placed":{"$ref":"#/definitions/BBB_event_base"},"minecraft:on_player_placing":{"$ref":"#/definitions/BBB_event_base"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/BBB_event_base"},"minecraft:ticking":{"$ref":"#/definitions/BBB_event_base"},"minecraft:random_ticking":{"$ref":"#/definitions/BBB_event_base"}},"additionalProperties":{"$ref":"#/definitions/BBB_event_base"}},"HI":{"description":"Minecraft blocks 1.16.200","required":["format_version","minecraft:block"],"title":"Block","type":"object","additionalProperties":false,"properties":{"format_version":{"title":"1.16.200 Format Version","type":"string","const":"1.16.200","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:block":{"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/B"},"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_\\-]+)$"},"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/BBB"},"components":{"type":"object","title":"Component","$ref":"#/definitions/HI_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/HH"},"components":{"type":"object","title":"Component","$ref":"#/definitions/HI_components_ref"}}}}}}}},"BCH_components_ref":{"type":"object","title":"Component","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"minecraft:block_light_absorption":{"$ref":"#/definitions/BCI"},"minecraft:block_light_emission":{"$ref":"#/definitions/BCJ"},"minecraft:breakonpush":{"$ref":"#/definitions/BDA"},"minecraft:breathability":{"$ref":"#/definitions/BDB"},"minecraft:creative_category":{"$ref":"#/definitions/BDC"},"minecraft:destroy_time":{"$ref":"#/definitions/BDD"},"minecraft:display_name":{"$ref":"#/definitions/BDE"},"minecraft:entity_collision":{"$ref":"#/definitions/BDF"},"minecraft:explosion_resistance":{"$ref":"#/definitions/BDG"},"minecraft:flammable":{"$ref":"#/definitions/BDH"},"minecraft:friction":{"$ref":"#/definitions/BDI"},"minecraft:geometry":{"$ref":"#/definitions/BDJ"},"minecraft:immovable":{"$ref":"#/definitions/BEA"},"minecraft:loot":{"$ref":"#/definitions/BEB"},"minecraft:map_color":{"$ref":"#/definitions/BEC"},"minecraft:material_instances":{"$ref":"#/definitions/BED"},"minecraft:onlypistonpush":{"$ref":"#/definitions/BEE"},"minecraft:part_visibility.json":{"$ref":"#/definitions/BEF"},"minecraft:on_fall_on":{"$ref":"#/definitions/BEG"},"minecraft:on_interact":{"$ref":"#/definitions/BEH"},"minecraft:on_placed":{"$ref":"#/definitions/BEI"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/BEJ"},"minecraft:on_player_placing":{"$ref":"#/definitions/BFA"},"minecraft:on_step_off":{"$ref":"#/definitions/BFB"},"minecraft:on_step_on":{"$ref":"#/definitions/BFC"},"minecraft:pick_collision":{"$ref":"#/definitions/BFD"},"minecraft:placement_filter":{"$ref":"#/definitions/BFE"},"minecraft:preventsjumping":{"$ref":"#/definitions/BFF"},"minecraft:random_ticking":{"$ref":"#/definitions/BFG"},"minecraft:rotation":{"$ref":"#/definitions/BFH"},"minecraft:ticking":{"$ref":"#/definitions/BFI"},"minecraft:unit_cube":{"$ref":"#/definitions/BFJ"},"minecraft:unwalkable":{"$ref":"#/definitions/BGA"}}},"BCI":{"additionalProperties":false,"type":"integer","title":"Block Light Absorption 1.17.0","description":"The amount of light this block will absorb.","default":0},"BCJ":{"additionalProperties":false,"type":"number","title":"Block Light Emission 1.17.0","description":"The amount of light this block will emit in a range [0.0, 1.0].","minimum":0,"maximum":1,"default":0.0},"BDA":{"additionalProperties":false,"type":"boolean","title":"Break On Push 1.17.0","description":"When pushed by a piston the block breaks."},"BDB":{"additionalProperties":false,"type":"string","title":"Breathability 1.17.0","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"},"BDC":{"additionalProperties":false,"type":"boolean","title":"Creative Category 1.17.0","description":"Specifies the creative group for the block."},"BDD":{"additionalProperties":false,"type":"number","title":"Destroy Time 1.17.0","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},"BDE":{"additionalProperties":false,"type":"string","title":"Display Name 1.17.0","description":"Specifies the language file key that maps to what text will be displayed when you hover over the block."},"BDF":{"title":"Entity Collision 1.17.0","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"}]}}}]},"BDG":{"additionalProperties":false,"type":"number","title":"Explosion Resistance 1.17.0","description":"Sets the explosion resistance for this block.","default":0.0},"BDH":{"additionalProperties":false,"type":"object","title":"Flammable 1.17.0","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"}}},"BDI":{"additionalProperties":false,"type":"number","title":"Friction 1.17.0","description":"Property describing the friction for this block. Friction effects an entities movements when it walks on the block.","default":0.1},"BDJ":{"additionalProperties":false,"type":"string","title":"Geometry 1.17.0","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_\\-\\.]+$"},"BEA":{"additionalProperties":false,"type":"boolean","title":"Immovable 1.17.0","description":"An Immovable block cannot be pushed by pistons"},"BEB":{"additionalProperties":false,"type":"string","title":"Loot 1.17.0","description":"The path to the loot table, relative to the behavior pack.","pattern":"loot_tables/.*\\.json$"},"BEC":{"additionalProperties":false,"type":"string","title":"Map Color 1.17.0","description":"A color represented as a hex value. This will be the color rendered to a map.","format":"color-hex","examples":["#FFFFFF"]},"BED_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"}}},"BED":{"type":"object","title":"Material Instances 1.17.0","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/BED_material_instance"}},"additionalProperties":{"$ref":"#/definitions/BED_material_instance"}},"BEE":{"type":"boolean","title":"Only Piston Push 1.17.0","description":"Blocks with those components won't stick to stickyPistons"},"BEF":{"title":"Part Visibility 1.17.0","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"}},"BEG":{"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"}}},"BEH":{"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"}}},"BEI":{"type":"object","title":"On Placed 1.17.0","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"}}},"BEJ":{"type":"object","title":"On Player Destroyed 1.17.0","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"}}},"BFA":{"type":"object","title":"On Player Placing 1.17.0","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"}}},"BFB":{"type":"object","title":"On Step Off 1.17.0","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"}}},"BFC":{"type":"object","title":"On Step On 1.17.0","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"}}},"BFD":{"title":"Pick Collision 1.17.0","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"}]}}}]},"BFE":{"title":"Placement Filter 1.17.0","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"}}}}}}},"BFF":{"title":"Prevents Jumping 1.17.0","description":"This component makes it so actors can't jump when walking on this block","type":"boolean"},"BFG":{"title":"Random Ticking 1.17.0","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"}}},"BFH":{"title":"Rotation 1.17.0","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"}]},"BFI":{"title":"Ticking 1.17.0","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"]}}}},"BFJ":{"title":"Unit Cube 1.17.0","description":"Specifies that a unit cube is to be used with tessellation.","type":"object"},"BGA":{"title":"Unwalkable 1.17.0","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"},"BGB_event_base":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"$ref":"#/definitions/BGB_event_functions","properties":{"sequence":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/BGB_event_functions"}},"randomize":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/BGB_event_functions","required":["weight"],"properties":{"weight":{"title":"Weight","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}}},"add_mob_effect":{"$ref":"#/definitions/BGC"},"damage":{"$ref":"#/definitions/BGD"},"decrement_stack":{"$ref":"#/definitions/BGE"},"die":{"$ref":"#/definitions/BGF"},"play_effect":{"$ref":"#/definitions/BGG"},"play_sound":{"$ref":"#/definitions/BGH"},"remove_mob_effect":{"$ref":"#/definitions/BGI"},"run_command":{"$ref":"#/definitions/BGJ"},"set_block":{"$ref":"#/definitions/BHA"},"set_block_at_pos":{"$ref":"#/definitions/BHB"},"set_block_property":{"$ref":"#/definitions/BHC"},"spawn_loot":{"$ref":"#/definitions/BHD"},"swing":{"$ref":"#/definitions/BHE"},"teleport":{"$ref":"#/definitions/BHF"},"transform_item":{"$ref":"#/definitions/BHG"}}},"BGB_event_functions":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":true,"properties":{"add_mob_effect":{"$ref":"#/definitions/BGC"},"damage":{"$ref":"#/definitions/BGD"},"decrement_stack":{"$ref":"#/definitions/BGE"},"die":{"$ref":"#/definitions/BGF"},"play_effect":{"$ref":"#/definitions/BGG"},"play_sound":{"$ref":"#/definitions/BGH"},"remove_mob_effect":{"$ref":"#/definitions/BGI"},"run_command":{"$ref":"#/definitions/BGJ"},"set_block":{"$ref":"#/definitions/BHA"},"set_block_at_pos":{"$ref":"#/definitions/BHB"},"set_block_property":{"$ref":"#/definitions/BHC"},"spawn_loot":{"$ref":"#/definitions/BHD"},"swing":{"$ref":"#/definitions/BHE"},"teleport":{"$ref":"#/definitions/BHF"},"transform_item":{"$ref":"#/definitions/BHG"}}},"BGC":{"type":"object","description":"Apply mob effect to target.","title":"Add Mob Effect 1.17.0","additionalProperties":false,"properties":{"amplifier":{"type":"integer","default":0,"description":"The amplifier for the mob effect.","title":"Amplifier"},"duration":{"type":"number","default":0,"description":"The duration of the mob effect.","title":"Duration"},"effect":{"type":"string","default":"","description":"The mob effect to apply.","title":"Effect"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"BGD":{"type":"object","description":"Deals damage to the target.","title":"Damage 1.17.0","additionalProperties":false,"properties":{"amount":{"type":"integer","default":0,"description":"The amount of damage to deal.","title":"Amount"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"},"type":{"type":"string","default":"","description":"The type of damage to deal.","title":"Type"}}},"BGE":{"type":"object","description":"Decrement item stack.","title":"Decrement Stack 1.17.0","additionalProperties":false,"properties":{}},"BGF":{"type":"object","description":"Kill target. If target is self and this is run from a block then destroy the block.","title":"Die 1.17.0","additionalProperties":false,"properties":{"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"BGG":{"type":"object","description":"Spawns a particle effect relative to target position.","title":"Play Effect 1.17.0","additionalProperties":false,"properties":{"data":{"type":"integer","default":0,"description":"Particle data value.","title":"Data"},"effect":{"type":"string","default":"","description":"The name of the particle effect to create.","title":"Effect"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"BGH":{"type":"object","description":"Play a sound relative to target position.","title":"Playsound 1.17.0","additionalProperties":false,"properties":{"sound":{"type":"string","default":"","description":"The name of the sound to play.","title":"Sound"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"BGI":{"type":"object","description":"Removes mob effect from target.","title":"Remove Mob Effect 1.17.0","additionalProperties":false,"properties":{"effect":{"type":"string","default":"","description":"The mob effect to remove. Use `all` to remove all mob effects from target.","title":"Effect"},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"BGJ":{"type":"object","description":"Triggers a slash command or a list of slash commands.","title":"Run Command 1.17.0","additionalProperties":false,"properties":{"command":{"default":"","description":"Slash command to run.","title":"Command","oneof":[{"type":"string"},{"type":"array","items":{"type":"string","title":"Command","description":"Slash command to run."}}]},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"BHA":{"type":"object","description":"Sets this block to another block type.","title":"Set Block 1.17.0","additionalProperties":false,"properties":{"block_type":{"type":"string","default":"","description":"The type of block to set.","title":"Block Type"}}},"BHB":{"type":"object","description":"Sets a block relative to this block to another block type.","title":"Set Block At Pos 1.17.0","additionalProperties":false,"properties":{"block_offset":{"type":"array","default":[0.0,0.0,0.0],"description":"The offset from the block's center.","title":"Block Offset","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"block_type":{"type":"string","default":"","description":"The type of block to set.","title":"Block Type"}}},"BHC":{"type":"object","description":"Sets a block property on this block","title":"Set Block Property 1.17.0","additionalProperties":false,"properties":{"property":{"type":"string","description":"Block property to set on the block.","title":"Property"}}},"BHD":{"type":"object","description":"Spawn loot from block.","title":"Spawn Loot 1.17.0","required":["table"],"additionalProperties":false,"properties":{"table":{"type":"string","description":"File path, relative to the Behavior Pack's path, to the loot table file.","title":"Table"}}},"BHE":{"type":"object","description":"Event causes the actor to swing.","title":"Swing 1.17.0","additionalProperties":false,"properties":{}},"BHF":{"type":"object","description":"Teleport target randomly around destination point.","title":"Teleport 1.17.0","additionalProperties":false,"properties":{"avoid_water":{"type":"boolean","default":true,"description":"Determines if the teleport avoids putting the target in water.","title":"Avoid Water"},"destination":{"default":[0.0,0.0,0.0],"description":"Origin destination of the teleport.","title":"Destination","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"land_on_block":{"type":"boolean","default":true,"description":"Determines if the teleport places the target on a block.","title":"Land On Block"},"max_range":{"default":[8.0,8.0,8.0],"description":"Maximum range the target can teleport relative to the origin destination.","title":"Maximum Range","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"BHG":{"type":"object","description":"Transforms item into another item.","title":"Transform Item 1.17.0","additionalProperties":false,"properties":{"transform":{"type":"string","description":"Name of the item it should transform into","title":"Transform"}}},"BGB":{"title":"Events","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","properties":{"minecraft:on_interact":{"$ref":"#/definitions/BGB_event_base"},"minecraft:on_step_on":{"$ref":"#/definitions/BGB_event_base"},"minecraft:on_step_off":{"$ref":"#/definitions/BGB_event_base"},"minecraft:on_fall_on":{"$ref":"#/definitions/BGB_event_base"},"minecraft:on_placed":{"$ref":"#/definitions/BGB_event_base"},"minecraft:on_player_placing":{"$ref":"#/definitions/BGB_event_base"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/BGB_event_base"},"minecraft:ticking":{"$ref":"#/definitions/BGB_event_base"},"minecraft:random_ticking":{"$ref":"#/definitions/BGB_event_base"}},"additionalProperties":{"$ref":"#/definitions/BGB_event_base"}},"BCH":{"description":"Minecraft blocks 1.17.0","required":["format_version","minecraft:block"],"title":"Block","type":"object","additionalProperties":false,"properties":{"format_version":{"title":"1.17.0 Format Version","type":"string","const":"1.17.0","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:block":{"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/B"},"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/BGB"},"components":{"type":"object","title":"Component","$ref":"#/definitions/BCH_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/HH"},"components":{"type":"object","title":"Component","$ref":"#/definitions/BCH_components_ref"}}}}}}}},"BHH":{"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file +{"$id":"blockception.minecraft.behavior.blocks","examples":[{"format_version":"1.16.200","minecraft:block":{"description":{"identifier":"namespace:block","properties":{}},"components":{},"events":{}}}],"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"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.12.0"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.16.0"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.16.100"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.16.200"}}},"then":{"$ref":"#/definitions/HI"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.17.0"}}},"then":{"$ref":"#/definitions/BCH"}},{"properties":{"format_version":{"$ref":"#/definitions/BHH"}}}],"definitions":{"B":{"description":"A minecraft block identifier","examples":["namespace:block"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Block Identifier","type":"string"},"D":{"additionalProperties":false,"type":"integer","title":"Block Light Absorption 1.10.0","description":"The amount of light this block will absorb.","default":0},"E":{"additionalProperties":false,"type":"number","title":"Block Light Emission 1.10.0","description":"The amount of light this block will emit in a range [0.0, 1.0].","minimum":0,"maximum":1,"default":0.0},"F":{"additionalProperties":false,"type":"boolean","title":"Break On Push 1.10.0","description":"When pushed by a piston the block breaks."},"G":{"additionalProperties":false,"type":"string","title":"Breathability 1.10.0","description":"Property describing the breathability of this block and whether it is treated as a solid or as air.","enum":["solid","air"],"default":"solid"},"H":{"additionalProperties":false,"type":"number","title":"Destroy Time 1.10.0","description":"Sets the destroy time property for the block. Greater numbers result in greater mining times. Time is measured in seconds with base equipment."},"I":{"additionalProperties":false,"type":"string","title":"Display Name 1.10.0","description":"Specifies the language file key that maps to what text will be displayed when you hover over the block."},"J":{"additionalProperties":false,"title":"Entity Collision 1.10.0","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"}]}}}]},"BA":{"additionalProperties":false,"type":"number","title":"Explosion Resistance 1.10.0","description":"Sets the explosion resistance for this block.","default":0.0},"BB":{"additionalProperties":false,"type":"object","title":"Flammable 1.10.0","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 1.10.0","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 1.10.0","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 1.10.0","description":"An Immovable block cannot be pushed by pistons"},"BF":{"additionalProperties":false,"type":"string","title":"Loot 1.10.0","description":"The path of the loot table that this component will use when the block is destroyed.","pattern":"loot_tables/.*\\.json$"},"BG":{"additionalProperties":false,"type":"string","title":"Map Color 1.10.0","description":"A color represented as a hex value. This will be the color rendered to a map.","format":"color-hex"},"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 1.10.0","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 1.10.0","description":"Blocks with those components won't stick to stickyPistons"},"BJ":{"title":"Pick Collision 1.10.0","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"}]}}}]},"CA":{"title":"Placement Filter 1.10.0","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"}}}}}}},"CB":{"title":"Prevents Jumping 1.10.0","description":"This component makes it so actors can't jump when walking on this block","type":"boolean"},"CC":{"title":"Random Ticking 1.10.0","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","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."},"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"]}}}}},"CD":{"title":"Rotation 1.10.0","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"}]},"CE":{"title":"Ticking 1.10.0","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"]}}}},"CF":{"title":"Unit Cube 1.10.0","description":"Specifies that a unit cube is to be used with tessellation.","type":"string"},"CG":{"title":"Unwalkable 1.10.0","description":"this component sets a block as unwalkable. Most mobs will not try to jump over it if the value is set to true","type":"boolean"},"C":{"title":"Components","description":"The components of that define this block","type":"object","additionalProperties":false,"properties":{"minecraft:block_light_absorption":{"$ref":"#/definitions/D"},"minecraft:block_light_emission":{"$ref":"#/definitions/E"},"minecraft:breakonpush":{"$ref":"#/definitions/F"},"minecraft:breathability":{"$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:pick_collision":{"$ref":"#/definitions/BJ"},"minecraft:placement_filter":{"$ref":"#/definitions/CA"},"minecraft:preventsjumping":{"$ref":"#/definitions/CB"},"minecraft:random_ticking":{"$ref":"#/definitions/CC"},"minecraft:rotation":{"$ref":"#/definitions/CD"},"minecraft:ticking":{"$ref":"#/definitions/CE"},"minecraft:unit_cube":{"$ref":"#/definitions/CF"},"minecraft:unwalkable":{"$ref":"#/definitions/CG"}}},"A":{"description":"Minecraft blocks 1.10.0","required":["format_version","minecraft:block"],"title":"Block","type":"object","additionalProperties":false,"properties":{"format_version":{"title":"1.10.0 Format Version","type":"string","const":"1.10.0","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:block":{"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/B"},"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"}}},"components":{"$ref":"#/definitions/C"}}}}},"CH":{"description":"Minecraft blocks 1.12.0","required":["format_version","minecraft:block"],"title":"Block","type":"object","additionalProperties":false,"properties":{"format_version":{"title":"1.12.0 Format Version","type":"string","const":"1.12.0","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:block":{"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/B"},"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"}}},"components":{"$ref":"#/definitions/C"}}}}},"CI":{"description":"Minecraft blocks 1.16.0","required":["format_version","minecraft:block"],"title":"Block","type":"object","additionalProperties":false,"properties":{"format_version":{"title":"1.16.0 Format Version","type":"string","const":"1.16.0","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:block":{"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/B"},"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_\\-]+)$"},"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"}]}}}},"components":{"$ref":"#/definitions/C"}}}}},"CJ_components_ref":{"type":"object","title":"Component","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","propertyNames":{"examples":["tag:foo"]},"properties":{"minecraft:block_light_absorption":{"$ref":"#/definitions/DA"},"minecraft:block_light_emission":{"$ref":"#/definitions/DB"},"minecraft:breakonpush":{"$ref":"#/definitions/DC"},"minecraft:breathability":{"$ref":"#/definitions/DD"},"minecraft:destroy_time":{"$ref":"#/definitions/DE"},"minecraft:display_name":{"$ref":"#/definitions/DF"},"minecraft:entity_collision":{"$ref":"#/definitions/DG"},"minecraft:explosion_resistance":{"$ref":"#/definitions/DH"},"minecraft:flammable":{"$ref":"#/definitions/DI"},"minecraft:friction":{"$ref":"#/definitions/DJ"},"minecraft:geometry":{"$ref":"#/definitions/EA"},"minecraft:immovable":{"$ref":"#/definitions/EB"},"minecraft:loot":{"$ref":"#/definitions/EC"},"minecraft:map_color":{"$ref":"#/definitions/ED"},"minecraft:material_instances":{"$ref":"#/definitions/EE"},"minecraft:onlypistonpush":{"$ref":"#/definitions/EF"},"minecraft:on_fall_on":{"$ref":"#/definitions/EG"},"minecraft:on_interact":{"$ref":"#/definitions/EH"},"minecraft:on_placed":{"$ref":"#/definitions/EI"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/EJ"},"minecraft:on_player_placing":{"$ref":"#/definitions/FA"},"minecraft:on_step_off":{"$ref":"#/definitions/FB"},"minecraft:on_step_on":{"$ref":"#/definitions/FC"},"minecraft:pick_collision":{"$ref":"#/definitions/FD"},"minecraft:placement_filter":{"$ref":"#/definitions/FE"},"minecraft:preventsjumping":{"$ref":"#/definitions/FF"},"minecraft:random_ticking":{"$ref":"#/definitions/FG"},"minecraft:rotation":{"$ref":"#/definitions/FH"},"minecraft:ticking":{"$ref":"#/definitions/FI"},"minecraft:unit_cube":{"$ref":"#/definitions/FJ"},"minecraft:unwalkable":{"$ref":"#/definitions/GA"}},"additionalProperties":{"type":"object"}},"DA":{"additionalProperties":false,"type":"integer","title":"Block Light Absorption 1.16.100","description":"The amount of light this block will absorb.","default":0},"DB":{"additionalProperties":false,"type":"number","title":"Block Light Emission 1.16.100","description":"The amount of light this block will emit in a range [0.0, 1.0].","minimum":0,"maximum":1,"default":0.0},"DC":{"additionalProperties":false,"type":"boolean","title":"Break On Push 1.16.100","description":"When pushed by a piston the block breaks."},"DD":{"additionalProperties":false,"type":"string","title":"Breathability 1.16.100","description":"Property describing the breathability of this block and whether it is treated as a solid or as air.","enum":["solid","air"],"default":"solid"},"DE":{"additionalProperties":false,"type":"number","title":"Destroy Time 1.16.100","description":"Sets the destroy time property for the block. Greater numbers result in greater mining times. Time is measured in seconds with base equipment."},"DF":{"additionalProperties":false,"type":"string","title":"Display Name 1.16.100","description":"Specifies the language file key that maps to what text will be displayed when you hover over the block."},"DG":{"title":"Entity Collision 1.16.100","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"}]}}}]},"DH":{"additionalProperties":false,"type":"number","title":"Explosion Resistance 1.16.100","description":"Sets the explosion resistance for this block.","default":0.0},"DI":{"additionalProperties":false,"type":"object","title":"Flammable 1.16.100","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"}}},"DJ":{"additionalProperties":false,"type":"number","title":"Friction 1.16.100","description":"Property describing the friction for this block. Friction effects an entities movements when it walks on the block.","default":0.1},"EA":{"additionalProperties":false,"type":"string","title":"Geometry 1.16.100","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_\\-\\.]+$"},"EB":{"additionalProperties":false,"type":"boolean","title":"Immovable 1.16.100","description":"An Immovable block cannot be pushed by pistons"},"EC":{"additionalProperties":false,"type":"string","title":"Loot 1.16.100","description":"The path of the loot table that this component will use when the block is destroyed.","pattern":"loot_tables/.*\\.json$"},"ED":{"additionalProperties":false,"type":"string","title":"Map Color 1.16.100","description":"A color represented as a hex value. This will be the color rendered to a map.","format":"color-hex"},"EE_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"}}},"EE":{"type":"object","title":"Material Instances 1.16.100","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/EE_material_instance"}},"additionalProperties":{"$ref":"#/definitions/EE_material_instance"}},"EF":{"type":"boolean","title":"Only Piston Push 1.16.100","description":"Blocks with those components won't stick to stickyPistons"},"EG":{"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"}}},"EH":{"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"}}},"EI":{"type":"object","title":"On Placed 1.16.100","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"}}},"EJ":{"type":"object","title":"On Player Destroyed 1.16.100","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"}}},"FA":{"type":"object","title":"On Player Placing 1.16.100","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"}}},"FB":{"type":"object","title":"On Step Off 1.16.100","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"}}},"FC":{"type":"object","title":"On Step On 1.16.100","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"}}},"FD":{"title":"Pick Collision 1.16.100","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"}]}}}]},"FE":{"title":"Placement Filter 1.16.100","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"}}}}}}},"FF":{"title":"Prevents Jumping 1.16.100","description":"This component makes it so actors can't jump when walking on this block","type":"boolean"},"FG":{"title":"Random Ticking 1.16.100","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"}}},"FH":{"title":"Rotation 1.16.100","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"}]},"FI":{"title":"Ticking 1.16.100","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"]}}}},"FJ":{"title":"Unit Cube 1.16.100","description":"Specifies that a unit cube is to be used with tessellation.","type":"string"},"GA":{"title":"Unwalkable 1.16.100","description":"this component sets a block as unwalkable. Most mobs will not try to jump over it if the value is set to true","type":"boolean"},"GB_event_base":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"$ref":"#/definitions/GB_event_functions","properties":{"sequence":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/GB_event_functions"}},"randomize":{"title":"Randomize","description":"Randomly selects one of the following items based upon their weight and the total weights","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Randomize","description":"Randomly selects one of the following items based upon their weight and the total weights","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/GB_event_functions","required":["weight"],"properties":{"weight":{"title":"Weight","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}}},"add_mob_effect":{"$ref":"#/definitions/GC"},"damage":{"$ref":"#/definitions/GD"},"decrement_stack":{"$ref":"#/definitions/GE"},"die":{"$ref":"#/definitions/GF"},"play_effect":{"$ref":"#/definitions/GG"},"play_sound":{"$ref":"#/definitions/GH"},"remove_mob_effect":{"$ref":"#/definitions/GI"},"run_command":{"$ref":"#/definitions/GJ"},"set_block":{"$ref":"#/definitions/HA"},"set_block_at_pos":{"$ref":"#/definitions/HB"},"set_block_property":{"$ref":"#/definitions/HC"},"spawn_loot":{"$ref":"#/definitions/HD"},"swing":{"$ref":"#/definitions/HE"},"teleport":{"$ref":"#/definitions/HF"},"transform_item":{"$ref":"#/definitions/HG"}}},"GB_event_functions":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":true,"properties":{"add_mob_effect":{"$ref":"#/definitions/GC"},"damage":{"$ref":"#/definitions/GD"},"decrement_stack":{"$ref":"#/definitions/GE"},"die":{"$ref":"#/definitions/GF"},"play_effect":{"$ref":"#/definitions/GG"},"play_sound":{"$ref":"#/definitions/GH"},"remove_mob_effect":{"$ref":"#/definitions/GI"},"run_command":{"$ref":"#/definitions/GJ"},"set_block":{"$ref":"#/definitions/HA"},"set_block_at_pos":{"$ref":"#/definitions/HB"},"set_block_property":{"$ref":"#/definitions/HC"},"spawn_loot":{"$ref":"#/definitions/HD"},"swing":{"$ref":"#/definitions/HE"},"teleport":{"$ref":"#/definitions/HF"},"transform_item":{"$ref":"#/definitions/HG"}}},"GC":{"type":"object","description":"Apply mob effect to target.","title":"Add Mob Effect","additionalProperties":false,"properties":{"amplifier":{"type":"integer","default":0,"description":"The amplifier for the mob effect.","title":"Amplifier"},"duration":{"type":"number","default":0,"description":"The duration of the mob effect.","title":"Duration"},"effect":{"type":"string","default":"","description":"The mob effect to apply.","title":"Effect"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"GD":{"type":"object","description":"Deals damage to the target.","title":"Damage","additionalProperties":false,"properties":{"amount":{"type":"integer","default":0,"description":"The amount of damage to deal.","title":"Amount"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"},"type":{"type":"string","default":"","description":"The type of damage to deal.","title":"Type"}}},"GE":{"type":"object","description":"Decrement item stack.","title":"Decrement Stack","additionalProperties":false,"properties":{}},"GF":{"type":"object","description":"Kill target. If target is self and this is run from a block then destroy the block.","title":"Die","additionalProperties":false,"properties":{"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"GG":{"type":"object","description":"Spawns a particle effect relative to target position.","title":"Play Effect","additionalProperties":false,"properties":{"data":{"type":"integer","default":0,"description":"Particle data value.","title":"Data"},"effect":{"type":"string","default":"","description":"The name of the particle effect to create.","title":"Effect"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"GH":{"type":"object","description":"Play a sound relative to target position.","title":"Playsound","additionalProperties":false,"properties":{"sound":{"type":"string","default":"","description":"The name of the sound to play.","title":"Sound"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"GI":{"type":"object","description":"Removes mob effect from target.","title":"Remove Mob Effect","additionalProperties":false,"properties":{"effect":{"type":"string","default":"","description":"The mob effect to remove. Use `all` to remove all mob effects from target.","title":"Effect"},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"GJ":{"type":"object","description":"Triggers a slash command or a list of slash commands.","title":"Run Command","additionalProperties":false,"properties":{"command":{"default":"","description":"Slash command to run.","title":"Command","oneof":[{"type":"string"},{"type":"array","items":{"type":"string","title":"Command","description":"Slash command to run."}}]},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"HA":{"type":"object","description":"Sets this block to another block type.","title":"Set Block","additionalProperties":false,"properties":{"block_type":{"type":"string","default":"","description":"The type of block to set.","title":"Block Type"}}},"HB":{"type":"object","description":"Sets a block relative to this block to another block type.","title":"Set Block At Pos","additionalProperties":false,"properties":{"block_offset":{"type":"array","default":[0.0,0.0,0.0],"description":"The offset from the block's center.","title":"Block Offset","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"block_type":{"type":"string","default":"","description":"The type of block to set.","title":"Block Type"}}},"HC":{"type":"object","description":"Sets a block property on this block","title":"Set Block Property","propertyNames":{"examples":["self:foo"]},"additionalProperties":{"type":"string","description":"Block property to set on the block.","title":"Property"}},"HD":{"type":"object","description":"Spawn loot from block.","title":"Spawn Loot","required":["table"],"additionalProperties":false,"properties":{"table":{"type":"string","description":"File path, relative to the Behavior Pack's path, to the loot table file.","title":"Table"}}},"HE":{"type":"object","description":"Event causes the actor to swing.","title":"Swing","additionalProperties":false,"properties":{}},"HF":{"type":"object","description":"Teleport target randomly around destination point.","title":"Teleport","additionalProperties":false,"properties":{"avoid_water":{"type":"boolean","default":true,"description":"Determines if the teleport avoids putting the target in water.","title":"Avoid Water"},"destination":{"default":[0.0,0.0,0.0],"description":"Origin destination of the teleport.","title":"Destination","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"land_on_block":{"type":"boolean","default":true,"description":"Determines if the teleport places the target on a block.","title":"Land On Block"},"max_range":{"default":[8.0,8.0,8.0],"description":"Maximum range the target can teleport relative to the origin destination.","title":"Maximum Range","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"HG":{"type":"object","description":"Transforms item into another item.","title":"Transform Item 1.16.100","additionalProperties":false,"properties":{"transform":{"type":"string","description":"Name of the item it should transform into","title":"Transform"}}},"GB":{"title":"Events","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","properties":{"minecraft:on_interact":{"$ref":"#/definitions/GB_event_base"},"minecraft:on_step_on":{"$ref":"#/definitions/GB_event_base"},"minecraft:on_step_off":{"$ref":"#/definitions/GB_event_base"},"minecraft:on_fall_on":{"$ref":"#/definitions/GB_event_base"},"minecraft:on_placed":{"$ref":"#/definitions/GB_event_base"},"minecraft:on_player_placing":{"$ref":"#/definitions/GB_event_base"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/GB_event_base"},"minecraft:ticking":{"$ref":"#/definitions/GB_event_base"},"minecraft:random_ticking":{"$ref":"#/definitions/GB_event_base"}},"additionalProperties":{"$ref":"#/definitions/GB_event_base"}},"HH":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"CJ":{"description":"Minecraft blocks 1.16.100","required":["format_version","minecraft:block"],"title":"Block","type":"object","additionalProperties":false,"properties":{"format_version":{"title":"1.16.100 Format Version","type":"string","const":"1.16.100","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:block":{"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/B"},"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_\\-]+)$","examples":["self:foo"]},"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/GB"},"components":{"type":"object","title":"Component","$ref":"#/definitions/CJ_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/HH"},"components":{"type":"object","title":"Component","$ref":"#/definitions/CJ_components_ref"}}}}}}}},"HI_components_ref":{"type":"object","title":"Component","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"minecraft:block_light_absorption":{"$ref":"#/definitions/HJ"},"minecraft:block_light_emission":{"$ref":"#/definitions/IA"},"minecraft:breakonpush":{"$ref":"#/definitions/IB"},"minecraft:breathability":{"$ref":"#/definitions/IC"},"minecraft:creative_category":{"$ref":"#/definitions/ID"},"minecraft:destroy_time":{"$ref":"#/definitions/IE"},"minecraft:display_name":{"$ref":"#/definitions/IF"},"minecraft:entity_collision":{"$ref":"#/definitions/IG"},"minecraft:explosion_resistance":{"$ref":"#/definitions/IH"},"minecraft:flammable":{"$ref":"#/definitions/II"},"minecraft:friction":{"$ref":"#/definitions/IJ"},"minecraft:geometry":{"$ref":"#/definitions/JA"},"minecraft:immovable":{"$ref":"#/definitions/JB"},"minecraft:loot":{"$ref":"#/definitions/JC"},"minecraft:map_color":{"$ref":"#/definitions/JD"},"minecraft:material_instances":{"$ref":"#/definitions/JE"},"minecraft:onlypistonpush":{"$ref":"#/definitions/JF"},"minecraft:on_fall_on":{"$ref":"#/definitions/JG"},"minecraft:on_interact":{"$ref":"#/definitions/JH"},"minecraft:on_placed":{"$ref":"#/definitions/JI"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/JJ"},"minecraft:on_player_placing":{"$ref":"#/definitions/BAA"},"minecraft:on_step_off":{"$ref":"#/definitions/BAB"},"minecraft:on_step_on":{"$ref":"#/definitions/BAC"},"minecraft:pick_collision":{"$ref":"#/definitions/BAD"},"minecraft:placement_filter":{"$ref":"#/definitions/BAE"},"minecraft:preventsjumping":{"$ref":"#/definitions/BAF"},"minecraft:random_ticking":{"$ref":"#/definitions/BAG"},"minecraft:rotation":{"$ref":"#/definitions/BAH"},"minecraft:ticking":{"$ref":"#/definitions/BAI"},"minecraft:unit_cube":{"$ref":"#/definitions/BAJ"},"minecraft:unwalkable":{"$ref":"#/definitions/BBA"}}},"HJ":{"additionalProperties":false,"type":"integer","title":"Block Light Absorption 1.16.200","description":"The amount of light this block will absorb.","default":0},"IA":{"additionalProperties":false,"type":"number","title":"Block Light Emission 1.16.200","description":"The amount of light this block will emit in a range [0.0, 1.0].","minimum":0,"maximum":1,"default":0.0},"IB":{"additionalProperties":false,"type":"boolean","title":"Break On Push 1.16.200","description":"When pushed by a piston the block breaks."},"IC":{"additionalProperties":false,"type":"string","title":"Breathability 1.16.200","description":"Property describing the breathability of this block and whether it is treated as a solid or as air.","enum":["solid","air"],"default":"solid"},"ID":{"additionalProperties":false,"type":"boolean","title":"Creative Category 1.17.0","description":"Specifies the creative group for the block."},"IE":{"additionalProperties":false,"type":"number","title":"Destroy Time 1.16.200","description":"Sets the destroy time property for the block. Greater numbers result in greater mining times. Time is measured in seconds with base equipment."},"IF":{"additionalProperties":false,"type":"string","title":"Display Name 1.16.200","description":"Specifies the language file key that maps to what text will be displayed when you hover over the block."},"IG":{"title":"Entity Collision 1.16.200","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"}]}}}]},"IH":{"additionalProperties":false,"type":"number","title":"Explosion Resistance 1.16.200","description":"Sets the explosion resistance for this block.","default":0.0},"II":{"additionalProperties":false,"type":"object","title":"Flammable 1.16.200","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"}}},"IJ":{"additionalProperties":false,"type":"number","title":"Friction 1.16.200","description":"Property describing the friction for this block. Friction effects an entities movements when it walks on the block.","default":0.1},"JA":{"additionalProperties":false,"type":"string","title":"Geometry 1.16.200","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_\\-\\.]+$"},"JB":{"additionalProperties":false,"type":"boolean","title":"Immovable 1.16.200","description":"An Immovable block cannot be pushed by pistons"},"JC":{"additionalProperties":false,"type":"string","title":"Loot 1.16.200","description":"The path of the loot table that this component will use when the block is destroyed.","pattern":"loot_tables/.*\\.json$"},"JD":{"additionalProperties":false,"type":"string","title":"Map Color 1.16.200","description":"A color represented as a hex value. This will be the color rendered to a map.","format":"color-hex"},"JE_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"}}},"JE":{"type":"object","title":"Material Instances 1.16.200","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/JE_material_instance"}},"additionalProperties":{"$ref":"#/definitions/JE_material_instance"}},"JF":{"type":"boolean","title":"Only Piston Push 1.16.200","description":"Blocks with those components won't stick to stickyPistons"},"JG":{"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"}}},"JH":{"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"}}},"JI":{"type":"object","title":"On Placed 1.16.200","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"}}},"JJ":{"type":"object","title":"On Player Destroyed 1.16.200","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"}}},"BAA":{"type":"object","title":"On Player Placing 1.16.200","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"}}},"BAB":{"type":"object","title":"On Step Off 1.16.200","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"}}},"BAC":{"type":"object","title":"On Step On 1.16.200","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"}}},"BAD":{"title":"Pick Collision 1.16.200","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"}]}}}]},"BAE":{"title":"Placement Filter 1.16.200","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"}}}}}}},"BAF":{"title":"Prevents Jumping 1.16.200","description":"This component makes it so actors can't jump when walking on this block","type":"boolean"},"BAG":{"title":"Random Ticking 1.16.200","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"}}},"BAH":{"title":"Rotation 1.16.200","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"}]},"BAI":{"title":"Ticking 1.16.200","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"]}}}},"BAJ":{"title":"Unit Cube 1.16.200","description":"Specifies that a unit cube is to be used with tessellation.","type":"string"},"BBA":{"title":"Unwalkable 1.16.200","description":"this component sets a block as unwalkable. Most mobs will not try to jump over it if the value is set to true","type":"boolean"},"BBB_event_base":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"$ref":"#/definitions/BBB_event_functions","properties":{"sequence":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/BBB_event_functions"}},"randomize":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/BBB_event_functions","required":["weight"],"properties":{"weight":{"title":"Weight","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}}},"add_mob_effect":{"$ref":"#/definitions/BBC"},"damage":{"$ref":"#/definitions/BBD"},"decrement_stack":{"$ref":"#/definitions/BBE"},"die":{"$ref":"#/definitions/BBF"},"play_effect":{"$ref":"#/definitions/BBG"},"play_sound":{"$ref":"#/definitions/BBH"},"remove_mob_effect":{"$ref":"#/definitions/BBI"},"run_command":{"$ref":"#/definitions/BBJ"},"set_block":{"$ref":"#/definitions/BCA"},"set_block_at_pos":{"$ref":"#/definitions/BCB"},"set_block_property":{"$ref":"#/definitions/BCC"},"spawn_loot":{"$ref":"#/definitions/BCD"},"swing":{"$ref":"#/definitions/BCE"},"teleport":{"$ref":"#/definitions/BCF"},"transform_item":{"$ref":"#/definitions/BCG"}}},"BBB_event_functions":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":true,"properties":{"add_mob_effect":{"$ref":"#/definitions/BBC"},"damage":{"$ref":"#/definitions/BBD"},"decrement_stack":{"$ref":"#/definitions/BBE"},"die":{"$ref":"#/definitions/BBF"},"play_effect":{"$ref":"#/definitions/BBG"},"play_sound":{"$ref":"#/definitions/BBH"},"remove_mob_effect":{"$ref":"#/definitions/BBI"},"run_command":{"$ref":"#/definitions/BBJ"},"set_block":{"$ref":"#/definitions/BCA"},"set_block_at_pos":{"$ref":"#/definitions/BCB"},"set_block_property":{"$ref":"#/definitions/BCC"},"spawn_loot":{"$ref":"#/definitions/BCD"},"swing":{"$ref":"#/definitions/BCE"},"teleport":{"$ref":"#/definitions/BCF"},"transform_item":{"$ref":"#/definitions/BCG"}}},"BBC":{"type":"object","description":"Apply mob effect to target.","title":"Add Mob Effect 1.16.200","additionalProperties":false,"properties":{"amplifier":{"type":"integer","default":0,"description":"The amplifier for the mob effect.","title":"Amplifier"},"duration":{"type":"number","default":0,"description":"The duration of the mob effect.","title":"Duration"},"effect":{"type":"string","default":"","description":"The mob effect to apply.","title":"Effect"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"BBD":{"type":"object","description":"Deals damage to the target.","title":"Damage 1.16.200","additionalProperties":false,"properties":{"amount":{"type":"integer","default":0,"description":"The amount of damage to deal.","title":"Amount"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"},"type":{"type":"string","default":"","description":"The type of damage to deal.","title":"Type"}}},"BBE":{"type":"object","description":"Decrement item stack.","title":"Decrement Stack 1.16.200","additionalProperties":false,"properties":{}},"BBF":{"type":"object","description":"Kill target. If target is self and this is run from a block then destroy the block.","title":"Die 1.16.200","additionalProperties":false,"properties":{"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"BBG":{"type":"object","description":"Spawns a particle effect relative to target position.","title":"Play Effect 1.16.200","additionalProperties":false,"properties":{"data":{"type":"integer","default":0,"description":"Particle data value.","title":"Data"},"effect":{"type":"string","default":"","description":"The name of the particle effect to create.","title":"Effect"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"BBH":{"type":"object","description":"Play a sound relative to target position.","title":"Playsound 1.16.200","additionalProperties":false,"properties":{"sound":{"type":"string","default":"","description":"The name of the sound to play.","title":"Sound"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"BBI":{"type":"object","description":"Removes mob effect from target.","title":"Remove Mob Effect 1.16.200","additionalProperties":false,"properties":{"effect":{"type":"string","default":"","description":"The mob effect to remove. Use `all` to remove all mob effects from target.","title":"Effect"},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"BBJ":{"type":"object","description":"Triggers a slash command or a list of slash commands.","title":"Run Command 1.16.200","additionalProperties":false,"properties":{"command":{"default":"","description":"Slash command to run.","title":"Command","oneof":[{"type":"string"},{"type":"array","items":{"type":"string","title":"Command","description":"Slash command to run."}}]},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"BCA":{"type":"object","description":"Sets this block to another block type.","title":"Set Block 1.16.200","additionalProperties":false,"properties":{"block_type":{"type":"string","default":"","description":"The type of block to set.","title":"Block Type"}}},"BCB":{"type":"object","description":"Sets a block relative to this block to another block type.","title":"Set Block At Pos 1.16.200","additionalProperties":false,"properties":{"block_offset":{"type":"array","default":[0.0,0.0,0.0],"description":"The offset from the block's center.","title":"Block Offset","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"block_type":{"type":"string","default":"","description":"The type of block to set.","title":"Block Type"}}},"BCC":{"type":"object","description":"Sets a block property on this block","title":"Set Block Property 1.16.200","additionalProperties":false,"properties":{"property":{"type":"string","description":"Block property to set on the block.","title":"Property"}}},"BCD":{"type":"object","description":"Spawn loot from block.","title":"Spawn Loot 1.16.200","required":["table"],"additionalProperties":false,"properties":{"table":{"type":"string","description":"File path, relative to the Behavior Pack's path, to the loot table file.","title":"Table"}}},"BCE":{"type":"object","description":"Event causes the actor to swing.","title":"Swing 1.16.200","additionalProperties":false,"properties":{}},"BCF":{"type":"object","description":"Teleport target randomly around destination point.","title":"Teleport 1.16.200","additionalProperties":false,"properties":{"avoid_water":{"type":"boolean","default":true,"description":"Determines if the teleport avoids putting the target in water.","title":"Avoid Water"},"destination":{"default":[0.0,0.0,0.0],"description":"Origin destination of the teleport.","title":"Destination","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"land_on_block":{"type":"boolean","default":true,"description":"Determines if the teleport places the target on a block.","title":"Land On Block"},"max_range":{"default":[8.0,8.0,8.0],"description":"Maximum range the target can teleport relative to the origin destination.","title":"Maximum Range","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"BCG":{"type":"object","description":"Transforms item into another item.","title":"Transform Item 1.16.200","additionalProperties":false,"properties":{"transform":{"type":"string","description":"Name of the item it should transform into","title":"Transform"}}},"BBB":{"title":"Events","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","properties":{"minecraft:on_interact":{"$ref":"#/definitions/BBB_event_base"},"minecraft:on_step_on":{"$ref":"#/definitions/BBB_event_base"},"minecraft:on_step_off":{"$ref":"#/definitions/BBB_event_base"},"minecraft:on_fall_on":{"$ref":"#/definitions/BBB_event_base"},"minecraft:on_placed":{"$ref":"#/definitions/BBB_event_base"},"minecraft:on_player_placing":{"$ref":"#/definitions/BBB_event_base"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/BBB_event_base"},"minecraft:ticking":{"$ref":"#/definitions/BBB_event_base"},"minecraft:random_ticking":{"$ref":"#/definitions/BBB_event_base"}},"additionalProperties":{"$ref":"#/definitions/BBB_event_base"}},"HI":{"description":"Minecraft blocks 1.16.200","required":["format_version","minecraft:block"],"title":"Block","type":"object","additionalProperties":false,"properties":{"format_version":{"title":"1.16.200 Format Version","type":"string","const":"1.16.200","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:block":{"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/B"},"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_\\-]+)$"},"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/BBB"},"components":{"type":"object","title":"Component","$ref":"#/definitions/HI_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/HH"},"components":{"type":"object","title":"Component","$ref":"#/definitions/HI_components_ref"}}}}}}}},"BCH_components_ref":{"type":"object","title":"Component","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"minecraft:block_light_absorption":{"$ref":"#/definitions/BCI"},"minecraft:block_light_emission":{"$ref":"#/definitions/BCJ"},"minecraft:breakonpush":{"$ref":"#/definitions/BDA"},"minecraft:breathability":{"$ref":"#/definitions/BDB"},"minecraft:creative_category":{"$ref":"#/definitions/BDC"},"minecraft:destroy_time":{"$ref":"#/definitions/BDD"},"minecraft:display_name":{"$ref":"#/definitions/BDE"},"minecraft:entity_collision":{"$ref":"#/definitions/BDF"},"minecraft:explosion_resistance":{"$ref":"#/definitions/BDG"},"minecraft:flammable":{"$ref":"#/definitions/BDH"},"minecraft:friction":{"$ref":"#/definitions/BDI"},"minecraft:geometry":{"$ref":"#/definitions/BDJ"},"minecraft:immovable":{"$ref":"#/definitions/BEA"},"minecraft:loot":{"$ref":"#/definitions/BEB"},"minecraft:map_color":{"$ref":"#/definitions/BEC"},"minecraft:material_instances":{"$ref":"#/definitions/BED"},"minecraft:onlypistonpush":{"$ref":"#/definitions/BEE"},"minecraft:part_visibility.json":{"$ref":"#/definitions/BEF"},"minecraft:on_fall_on":{"$ref":"#/definitions/BEG"},"minecraft:on_interact":{"$ref":"#/definitions/BEH"},"minecraft:on_placed":{"$ref":"#/definitions/BEI"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/BEJ"},"minecraft:on_player_placing":{"$ref":"#/definitions/BFA"},"minecraft:on_step_off":{"$ref":"#/definitions/BFB"},"minecraft:on_step_on":{"$ref":"#/definitions/BFC"},"minecraft:pick_collision":{"$ref":"#/definitions/BFD"},"minecraft:placement_filter":{"$ref":"#/definitions/BFE"},"minecraft:preventsjumping":{"$ref":"#/definitions/BFF"},"minecraft:random_ticking":{"$ref":"#/definitions/BFG"},"minecraft:rotation":{"$ref":"#/definitions/BFH"},"minecraft:ticking":{"$ref":"#/definitions/BFI"},"minecraft:unit_cube":{"$ref":"#/definitions/BFJ"},"minecraft:unwalkable":{"$ref":"#/definitions/BGA"}}},"BCI":{"additionalProperties":false,"type":"integer","title":"Block Light Absorption 1.17.0","description":"The amount of light this block will absorb.","default":0},"BCJ":{"additionalProperties":false,"type":"number","title":"Block Light Emission 1.17.0","description":"The amount of light this block will emit in a range [0.0, 1.0].","minimum":0,"maximum":1,"default":0.0},"BDA":{"additionalProperties":false,"type":"boolean","title":"Break On Push 1.17.0","description":"When pushed by a piston the block breaks."},"BDB":{"additionalProperties":false,"type":"string","title":"Breathability 1.17.0","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"},"BDC":{"additionalProperties":false,"type":"boolean","title":"Creative Category 1.17.0","description":"Specifies the creative group for the block."},"BDD":{"additionalProperties":false,"type":"number","title":"Destroy Time 1.17.0","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},"BDE":{"additionalProperties":false,"type":"string","title":"Display Name 1.17.0","description":"Specifies the language file key that maps to what text will be displayed when you hover over the block."},"BDF":{"title":"Entity Collision 1.17.0","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"}]}}}]},"BDG":{"additionalProperties":false,"type":"number","title":"Explosion Resistance 1.17.0","description":"Sets the explosion resistance for this block.","default":0.0},"BDH":{"additionalProperties":false,"type":"object","title":"Flammable 1.17.0","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"}}},"BDI":{"additionalProperties":false,"type":"number","title":"Friction 1.17.0","description":"Property describing the friction for this block. Friction effects an entities movements when it walks on the block.","default":0.1},"BDJ":{"additionalProperties":false,"type":"string","title":"Geometry 1.17.0","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_\\-\\.]+$"},"BEA":{"additionalProperties":false,"type":"boolean","title":"Immovable 1.17.0","description":"An Immovable block cannot be pushed by pistons"},"BEB":{"additionalProperties":false,"type":"string","title":"Loot 1.17.0","description":"The path to the loot table, relative to the behavior pack.","pattern":"loot_tables/.*\\.json$"},"BEC":{"additionalProperties":false,"type":"string","title":"Map Color 1.17.0","description":"A color represented as a hex value. This will be the color rendered to a map.","format":"color-hex","examples":["#FFFFFF"]},"BED_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"}}},"BED":{"type":"object","title":"Material Instances 1.17.0","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/BED_material_instance"}},"additionalProperties":{"$ref":"#/definitions/BED_material_instance"}},"BEE":{"type":"boolean","title":"Only Piston Push 1.17.0","description":"Blocks with those components won't stick to stickyPistons"},"BEF":{"title":"Part Visibility 1.17.0","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"}},"BEG":{"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"}}},"BEH":{"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"}}},"BEI":{"type":"object","title":"On Placed 1.17.0","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"}}},"BEJ":{"type":"object","title":"On Player Destroyed 1.17.0","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"}}},"BFA":{"type":"object","title":"On Player Placing 1.17.0","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"}}},"BFB":{"type":"object","title":"On Step Off 1.17.0","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"}}},"BFC":{"type":"object","title":"On Step On 1.17.0","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"}}},"BFD":{"title":"Pick Collision 1.17.0","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"}]}}}]},"BFE":{"title":"Placement Filter 1.17.0","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"}}}}}}},"BFF":{"title":"Prevents Jumping 1.17.0","description":"This component makes it so actors can't jump when walking on this block","type":"boolean"},"BFG":{"title":"Random Ticking 1.17.0","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"}}},"BFH":{"title":"Rotation 1.17.0","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"}]},"BFI":{"title":"Ticking 1.17.0","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"]}}}},"BFJ":{"title":"Unit Cube 1.17.0","description":"Specifies that a unit cube is to be used with tessellation.","type":"object"},"BGA":{"title":"Unwalkable 1.17.0","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"},"BGB_event_base":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"$ref":"#/definitions/BGB_event_functions","properties":{"sequence":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/BGB_event_functions"}},"randomize":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/BGB_event_functions","required":["weight"],"properties":{"weight":{"title":"Weight","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}}},"add_mob_effect":{"$ref":"#/definitions/BGC"},"damage":{"$ref":"#/definitions/BGD"},"decrement_stack":{"$ref":"#/definitions/BGE"},"die":{"$ref":"#/definitions/BGF"},"play_effect":{"$ref":"#/definitions/BGG"},"play_sound":{"$ref":"#/definitions/BGH"},"remove_mob_effect":{"$ref":"#/definitions/BGI"},"run_command":{"$ref":"#/definitions/BGJ"},"set_block":{"$ref":"#/definitions/BHA"},"set_block_at_pos":{"$ref":"#/definitions/BHB"},"set_block_property":{"$ref":"#/definitions/BHC"},"spawn_loot":{"$ref":"#/definitions/BHD"},"swing":{"$ref":"#/definitions/BHE"},"teleport":{"$ref":"#/definitions/BHF"},"transform_item":{"$ref":"#/definitions/BHG"}}},"BGB_event_functions":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":true,"properties":{"add_mob_effect":{"$ref":"#/definitions/BGC"},"damage":{"$ref":"#/definitions/BGD"},"decrement_stack":{"$ref":"#/definitions/BGE"},"die":{"$ref":"#/definitions/BGF"},"play_effect":{"$ref":"#/definitions/BGG"},"play_sound":{"$ref":"#/definitions/BGH"},"remove_mob_effect":{"$ref":"#/definitions/BGI"},"run_command":{"$ref":"#/definitions/BGJ"},"set_block":{"$ref":"#/definitions/BHA"},"set_block_at_pos":{"$ref":"#/definitions/BHB"},"set_block_property":{"$ref":"#/definitions/BHC"},"spawn_loot":{"$ref":"#/definitions/BHD"},"swing":{"$ref":"#/definitions/BHE"},"teleport":{"$ref":"#/definitions/BHF"},"transform_item":{"$ref":"#/definitions/BHG"}}},"BGC":{"type":"object","description":"Apply mob effect to target.","title":"Add Mob Effect 1.17.0","additionalProperties":false,"properties":{"amplifier":{"type":"integer","default":0,"description":"The amplifier for the mob effect.","title":"Amplifier"},"duration":{"type":"number","default":0,"description":"The duration of the mob effect.","title":"Duration"},"effect":{"type":"string","default":"","description":"The mob effect to apply.","title":"Effect"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"BGD":{"type":"object","description":"Deals damage to the target.","title":"Damage 1.17.0","additionalProperties":false,"properties":{"amount":{"type":"integer","default":0,"description":"The amount of damage to deal.","title":"Amount"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"},"type":{"type":"string","default":"","description":"The type of damage to deal.","title":"Type"}}},"BGE":{"type":"object","description":"Decrement item stack.","title":"Decrement Stack 1.17.0","additionalProperties":false,"properties":{}},"BGF":{"type":"object","description":"Kill target. If target is self and this is run from a block then destroy the block.","title":"Die 1.17.0","additionalProperties":false,"properties":{"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"BGG":{"type":"object","description":"Spawns a particle effect relative to target position.","title":"Play Effect 1.17.0","additionalProperties":false,"properties":{"data":{"type":"integer","default":0,"description":"Particle data value.","title":"Data"},"effect":{"type":"string","default":"","description":"The name of the particle effect to create.","title":"Effect"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"BGH":{"type":"object","description":"Play a sound relative to target position.","title":"Playsound 1.17.0","additionalProperties":false,"properties":{"sound":{"type":"string","default":"","description":"The name of the sound to play.","title":"Sound"},"target":{"type":"object","default":"self","description":"The target context to execute against.","title":"Target"}}},"BGI":{"type":"object","description":"Removes mob effect from target.","title":"Remove Mob Effect 1.17.0","additionalProperties":false,"properties":{"effect":{"type":"string","default":"","description":"The mob effect to remove. Use `all` to remove all mob effects from target.","title":"Effect"},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"BGJ":{"type":"object","description":"Triggers a slash command or a list of slash commands.","title":"Run Command 1.17.0","additionalProperties":false,"properties":{"command":{"default":"","description":"Slash command to run.","title":"Command","oneof":[{"type":"string"},{"type":"array","items":{"type":"string","title":"Command","description":"Slash command to run."}}]},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"BHA":{"type":"object","description":"Sets this block to another block type.","title":"Set Block 1.17.0","additionalProperties":false,"properties":{"block_type":{"type":"string","default":"","description":"The type of block to set.","title":"Block Type"}}},"BHB":{"type":"object","description":"Sets a block relative to this block to another block type.","title":"Set Block At Pos 1.17.0","additionalProperties":false,"properties":{"block_offset":{"type":"array","default":[0.0,0.0,0.0],"description":"The offset from the block's center.","title":"Block Offset","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"block_type":{"type":"string","default":"","description":"The type of block to set.","title":"Block Type"}}},"BHC":{"type":"object","description":"Sets a block property on this block","title":"Set Block Property 1.17.0","additionalProperties":false,"properties":{"property":{"type":"string","description":"Block property to set on the block.","title":"Property"}}},"BHD":{"type":"object","description":"Spawn loot from block.","title":"Spawn Loot 1.17.0","required":["table"],"additionalProperties":false,"properties":{"table":{"type":"string","description":"File path, relative to the Behavior Pack's path, to the loot table file.","title":"Table"}}},"BHE":{"type":"object","description":"Event causes the actor to swing.","title":"Swing 1.17.0","additionalProperties":false,"properties":{}},"BHF":{"type":"object","description":"Teleport target randomly around destination point.","title":"Teleport 1.17.0","additionalProperties":false,"properties":{"avoid_water":{"type":"boolean","default":true,"description":"Determines if the teleport avoids putting the target in water.","title":"Avoid Water"},"destination":{"default":[0.0,0.0,0.0],"description":"Origin destination of the teleport.","title":"Destination","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"land_on_block":{"type":"boolean","default":true,"description":"Determines if the teleport places the target on a block.","title":"Land On Block"},"max_range":{"default":[8.0,8.0,8.0],"description":"Maximum range the target can teleport relative to the origin destination.","title":"Maximum Range","items":[{"type":"number","title":"X","description":"The x offset from the block's center."},{"type":"number","title":"Y","description":"The y offset from the block's center."},{"type":"number","title":"Z","description":"The z offset from the block's center."}]},"target":{"type":"string","default":"self","description":"The target context to execute against.","title":"Target"}}},"BHG":{"type":"object","description":"Transforms item into another item.","title":"Transform Item 1.17.0","additionalProperties":false,"properties":{"transform":{"type":"string","description":"Name of the item it should transform into","title":"Transform"}}},"BGB":{"title":"Events","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","properties":{"minecraft:on_interact":{"$ref":"#/definitions/BGB_event_base"},"minecraft:on_step_on":{"$ref":"#/definitions/BGB_event_base"},"minecraft:on_step_off":{"$ref":"#/definitions/BGB_event_base"},"minecraft:on_fall_on":{"$ref":"#/definitions/BGB_event_base"},"minecraft:on_placed":{"$ref":"#/definitions/BGB_event_base"},"minecraft:on_player_placing":{"$ref":"#/definitions/BGB_event_base"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/BGB_event_base"},"minecraft:ticking":{"$ref":"#/definitions/BGB_event_base"},"minecraft:random_ticking":{"$ref":"#/definitions/BGB_event_base"}},"additionalProperties":{"$ref":"#/definitions/BGB_event_base"}},"BCH":{"description":"Minecraft blocks 1.17.0","required":["format_version","minecraft:block"],"title":"Block","type":"object","additionalProperties":false,"properties":{"format_version":{"title":"1.17.0 Format Version","type":"string","const":"1.17.0","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:block":{"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/B"},"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/BGB"},"components":{"type":"object","title":"Component","$ref":"#/definitions/BCH_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/HH"},"components":{"type":"object","title":"Component","$ref":"#/definitions/BCH_components_ref"}}}}}}}},"BHH":{"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file diff --git a/behavior/dialogue/dialogue.json b/behavior/dialogue/dialogue.json index 7bd3f94d..a68da23b 100644 --- a/behavior/dialogue/dialogue.json +++ b/behavior/dialogue/dialogue.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.behavior.dialogue","examples":[{"format_version":"1.14.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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"required":["format_version","minecraft:npc_dialogue"],"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:npc_dialogue":{"title":"NPC Dialogue","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"scenes":{"title":"Scenes","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","minItems":1,"items":{"title":"Scene","description":"UNDOCUMENTED","$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","$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.","$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.","$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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]},"B_rawtext":{"title":"Rawtext","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["selector"],"examples":[{"selector":"@s"},{"selector":"@p"}],"properties":{"selector":{"title":"Selector","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","examples":["@a","@s","@r","@p","@e","@initiator"],"pattern":"^@.*$"}}},"B_score":{"title":"Score","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["score"],"examples":[{"score":{"name":"*","objective":"score"}},{"score":{"name":"@p","objective":"score"}}],"properties":{"score":{"title":"Score","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["name","objective"],"properties":{"name":{"title":"Selector","description":"A selector, player name (can be fake), or *","type":"string","examples":["@a","@s","@r","@p","@e","@initiator","*"]},"objective":{"title":"Objective","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}}}},"B_text":{"title":"Text","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["text"],"examples":[{"text":""}],"properties":{"text":{"title":"Text","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}},"B_translate":{"title":"Translate","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["translate"],"examples":[{"translate":"example.translation.key"},{"translate":"example.translation.key","with":["\n"]}],"properties":{"translate":{"title":"Translate","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"},"with":{"$ref":"#/definitions/B_with"}}},"B_with":{"title":"With","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","examples":["\n",{"rawtext":[]}],"items":{"oneOf":[{"type":"string"},{"title":"Rawtext","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"rawtext":{"$ref":"#/definitions/B_rawtext"}}}]}},"B":{"title":"RawText","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["rawtext"],"examples":[{"rawtext":[]}],"properties":{"rawtext":{"$ref":"#/definitions/B_rawtext"}}}}} \ No newline at end of file +{"$id":"blockception.minecraft.behavior.dialogue","examples":[{"format_version":"1.14.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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"required":["format_version","minecraft:npc_dialogue"],"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:npc_dialogue":{"title":"NPC Dialogue","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"scenes":{"title":"Scenes","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","minItems":1,"items":{"title":"Scene","description":"UNDOCUMENTED","$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","$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.","$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.","$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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]},"B_rawtext":{"title":"Rawtext","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["selector"],"examples":[{"selector":"@s"},{"selector":"@p"}],"properties":{"selector":{"title":"Selector","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string","examples":["@a","@s","@r","@p","@e","@initiator"],"pattern":"^@.*$"}}},"B_score":{"title":"Score","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["score"],"examples":[{"score":{"name":"*","objective":"score"}},{"score":{"name":"@p","objective":"score"}}],"properties":{"score":{"title":"Score","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["name","objective"],"properties":{"name":{"title":"Selector","description":"A selector, player name (can be fake), or *","type":"string","examples":["@a","@s","@r","@p","@e","@initiator","*"]},"objective":{"title":"Objective","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}}}},"B_text":{"title":"Text","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["text"],"examples":[{"text":""}],"properties":{"text":{"title":"Text","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}},"B_translate":{"title":"Translate","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"required":["translate"],"examples":[{"translate":"example.translation.key"},{"translate":"example.translation.key","with":["\n"]}],"properties":{"translate":{"title":"Translate","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"},"with":{"$ref":"#/definitions/B_with"}}},"B_with":{"title":"With","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","examples":["\n",{"rawtext":[]}],"items":{"oneOf":[{"type":"string"},{"title":"Rawtext","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"rawtext":{"$ref":"#/definitions/B_rawtext"}}}]}},"B":{"title":"RawText","description":"UNDOCUMENTED","$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 dd497ee1..58d105be 100644 --- a/behavior/entities/entities.json +++ b/behavior/entities/entities.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.behavior.entities","examples":[{"format_version":"1.17.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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]},"C":{"description":"A minecraft entity identifier","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Entity Identifier 1.8.0","type":"string"},"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"}]},"G":{"description":"A minecraft item identifier","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item Identifier","type":"string"},"H":{"title":"Event","description":"Minecraft behavior event","examples":[{"event":"example:foo","target":"self"}],"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"]}}}]},"F":{"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/G"}},{"type":"string","$ref":"#/definitions/G"}],"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/G"}},{"type":"array","items":{"type":"object","properties":{"growth":{"type":"number"},"item":{"$ref":"#/definitions/G"}}}},{"type":"string","$ref":"#/definitions/G"}],"title":"Feed Items"},"grow_up":{"$ref":"#/definitions/H","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"}]},"I":{"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"},"range":{"type":"number","default":16,"description":"Maximum time in seconds to randomly add to the ambient sound delay time.","title":"Range"},"value":{"type":"number","default":8,"description":"Minimum time in seconds before the entity plays its ambient sound again","title":"Value"}},"examples":[{"event_name":"ambient","range":16,"value":8}]},"BA_filters_spec":{"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/BA_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/BA_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/BA_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/BA_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/BA_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/BA_groups_spec"}},"allOf":[{"if":{"properties":{"test":{"const":"clock_time"}}},"then":{"$ref":"#/definitions/BB"}},{"if":{"properties":{"test":{"const":"distance_to_nearest_player"}}},"then":{"$ref":"#/definitions/BE"}},{"if":{"properties":{"test":{"const":"has_ability"}}},"then":{"$ref":"#/definitions/BF"}},{"if":{"properties":{"test":{"const":"has_biome_tag"}}},"then":{"$ref":"#/definitions/BG"}},{"if":{"properties":{"test":{"const":"has_component"}}},"then":{"$ref":"#/definitions/BH"}},{"if":{"properties":{"test":{"const":"has_container_open"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"test":{"const":"has_damage"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"test":{"const":"has_equipment"}}},"then":{"$ref":"#/definitions/CB"}},{"if":{"properties":{"test":{"const":"has_mob_effect"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"test":{"const":"has_ranged_weapon"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"test":{"const":"has_tag"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"test":{"const":"has_target"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"test":{"const":"has_trade_supply"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"test":{"const":"hourly_clock_time"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"test":{"const":"in_block"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"test":{"const":"in_caravan"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"test":{"const":"in_clouds"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"test":{"const":"in_lava"}}},"then":{"$ref":"#/definitions/DB"}},{"if":{"properties":{"test":{"const":"in_nether"}}},"then":{"$ref":"#/definitions/DC"}},{"if":{"properties":{"test":{"const":"in_water"}}},"then":{"$ref":"#/definitions/DD"}},{"if":{"properties":{"test":{"const":"in_water_or_rain"}}},"then":{"$ref":"#/definitions/DE"}},{"if":{"properties":{"test":{"const":"in_contact_with_water"}}},"then":{"$ref":"#/definitions/DF"}},{"if":{"properties":{"test":{"const":"inactivity_timer"}}},"then":{"$ref":"#/definitions/DG"}},{"if":{"properties":{"test":{"const":"is_altitude"}}},"then":{"$ref":"#/definitions/DH"}},{"if":{"properties":{"test":{"const":"is_avoiding_mobs"}}},"then":{"$ref":"#/definitions/DI"}},{"if":{"properties":{"test":{"const":"is_biome"}}},"then":{"$ref":"#/definitions/DJ"}},{"if":{"properties":{"test":{"const":"is_block"}}},"then":{"$ref":"#/definitions/EA"}},{"if":{"properties":{"test":{"const":"is_brightness"}}},"then":{"$ref":"#/definitions/EB"}},{"if":{"properties":{"test":{"const":"is_climbing"}}},"then":{"$ref":"#/definitions/EC"}},{"if":{"properties":{"test":{"const":"is_color"}}},"then":{"$ref":"#/definitions/ED"}},{"if":{"properties":{"test":{"const":"is_daytime"}}},"then":{"$ref":"#/definitions/EE"}},{"if":{"properties":{"test":{"const":"is_difficulty"}}},"then":{"$ref":"#/definitions/EF"}},{"if":{"properties":{"test":{"const":"is_family"}}},"then":{"$ref":"#/definitions/EG"}},{"if":{"properties":{"test":{"const":"is_game_rule"}}},"then":{"$ref":"#/definitions/EH"}},{"if":{"properties":{"test":{"const":"is_humid"}}},"then":{"$ref":"#/definitions/EI"}},{"if":{"properties":{"test":{"const":"is_immobile"}}},"then":{"$ref":"#/definitions/EJ"}},{"if":{"properties":{"test":{"const":"is_in_village"}}},"then":{"$ref":"#/definitions/FA"}},{"if":{"properties":{"test":{"const":"is_leashed"}}},"then":{"$ref":"#/definitions/FB"}},{"if":{"properties":{"test":{"const":"is_leashed_to"}}},"then":{"$ref":"#/definitions/FC"}},{"if":{"properties":{"test":{"const":"is_mark_variant"}}},"then":{"$ref":"#/definitions/FD"}},{"if":{"properties":{"test":{"const":"is_moving"}}},"then":{"$ref":"#/definitions/FE"}},{"if":{"properties":{"test":{"const":"is_owner"}}},"then":{"$ref":"#/definitions/FF"}},{"if":{"properties":{"test":{"const":"is_persistent"}}},"then":{"$ref":"#/definitions/FG"}},{"if":{"properties":{"test":{"const":"is_riding"}}},"then":{"$ref":"#/definitions/FH"}},{"if":{"properties":{"test":{"const":"is_skin_id"}}},"then":{"$ref":"#/definitions/FI"}},{"if":{"properties":{"test":{"const":"is_sleeping"}}},"then":{"$ref":"#/definitions/FJ"}},{"if":{"properties":{"test":{"const":"is_sneaking"}}},"then":{"$ref":"#/definitions/GA"}},{"if":{"properties":{"test":{"const":"is_snow_covered"}}},"then":{"$ref":"#/definitions/GB"}},{"if":{"properties":{"test":{"const":"is_target"}}},"then":{"$ref":"#/definitions/GC"}},{"if":{"properties":{"test":{"const":"is_temperature_type"}}},"then":{"$ref":"#/definitions/GD"}},{"if":{"properties":{"test":{"const":"is_temperature_value"}}},"then":{"$ref":"#/definitions/GE"}},{"if":{"properties":{"test":{"const":"is_underground"}}},"then":{"$ref":"#/definitions/GF"}},{"if":{"properties":{"test":{"const":"is_underwater"}}},"then":{"$ref":"#/definitions/GG"}},{"if":{"properties":{"test":{"const":"is_variant"}}},"then":{"$ref":"#/definitions/GH"}},{"if":{"properties":{"test":{"const":"is_visible"}}},"then":{"$ref":"#/definitions/GI"}},{"if":{"properties":{"test":{"const":"light_level"}}},"then":{"$ref":"#/definitions/GJ"}},{"if":{"properties":{"test":{"const":"moon_intensity"}}},"then":{"$ref":"#/definitions/HA"}},{"if":{"properties":{"test":{"const":"moon_phase"}}},"then":{"$ref":"#/definitions/HB"}},{"if":{"properties":{"test":{"const":"on_ground"}}},"then":{"$ref":"#/definitions/HC"}},{"if":{"properties":{"test":{"const":"on_ladder"}}},"then":{"$ref":"#/definitions/HD"}},{"if":{"properties":{"test":{"const":"random_chance"}}},"then":{"$ref":"#/definitions/HE"}},{"if":{"properties":{"test":{"const":"rider_count"}}},"then":{"$ref":"#/definitions/HF"}},{"if":{"properties":{"test":{"const":"surface_mob"}}},"then":{"$ref":"#/definitions/HG"}},{"if":{"properties":{"test":{"const":"trusts"}}},"then":{"$ref":"#/definitions/HH"}},{"if":{"properties":{"test":{"const":"weather"}}},"then":{"$ref":"#/definitions/HI"}},{"if":{"properties":{"test":{"const":"weather_at_position"}}},"then":{"$ref":"#/definitions/HJ"}},{"not":{"properties":{"test":{"const":"is_weather"}},"$comment":"DEPRECATED"}}]}]},"BA_groups_spec":{"oneOf":[{"type":"array","items":{"$ref":"#/definitions/BA_groups_spec"}},{"type":"object","$ref":"#/definitions/BA_filters_spec"}]},"BC":{"title":"Operator","type":"string","description":"The comparison to apply with `value`.","default":"equals","enum":["!=","<","<=","<>","=","==",">",">=","equals","not"]},"BD":{"title":"Subject","type":"string","description":"The subject of this filter test.","default":"self","enum":["block","other","parent","player","self","target","damager"]},"BB":{"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/BC","description":"(Optional) The comparison to apply with `value`.","default":"equals","title":"Operator"},"subject":{"$ref":"#/definitions/BD","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]}}},"BE":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"number","description":"(Required) A floating point value.","title":"Value"}}},"BF":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"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"}]},"BG":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"(Required) The tag to look for","type":"string","title":"Value"}},"examples":[{"test":"has_biome_tag","value":"monster"}]},"BH":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"string","description":"(Required) The component name to look for","title":"Value"}},"examples":[{"test":"has_component","value":"minecraft:explode"}]},"BI":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"(Optional) true or false.","title":"Value","type":"boolean","default":true}},"examples":[{"test":"has_container_open","value":true}]},"CA":{"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","fire_tick","fireworks","fly_into_wall","freezing","lava","lightning","magic","magma","none","override","piston","projectile","stalactite","stalagmite","starve","suffocation","suicide","temperature","thorns","void","wither"]},"BJ":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"string","description":"The Damage type to test","$ref":"#/definitions/CA","title":"Value"}}},"CB":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"The item name to look for","type":"string","$ref":"#/definitions/G","title":"Value"}},"examples":[{"test":"example","value":"example"}]},"CC":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"string","description":"The specified mob effect","title":"Value"}},"examples":[{"test":"has_mob_effect","value":"bad_omen"}]},"CD":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_ranged_weapon","value":true}]},"CE":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"string","description":"The tag as a string","pattern":"[a-zA-Z0-9_]+","title":"Value"}},"examples":[{"test":"has_tag","value":"example"}]},"CF":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_target","value":true}]},"CG":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"has_trade_supply","value":true}]},"CH":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"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}]},"CI":{"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/BC","description":"(Optional) The comparison to apply with `value`.","default":"equals","title":"Operator"},"subject":{"$ref":"#/definitions/BD","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"}]},"CJ":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_caravan","value":true}]},"DA":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_clouds","value":true}]},"DB":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_lava","value":true}]},"DC":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"in_nether","value":true}]},"DD":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_water","value":true}]},"DE":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_water_or_rain","value":true}]},"DF":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"(Optional) true or false.","type":"boolean","default":true}},"examples":[{"test":"in_contact_with_water","value":true}]},"DG":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"The Family name to look for","type":"integer","title":"Value"}},"examples":[{"test":"inactivity_timer","value":0}]},"DH":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"integer","description":"The altitude value to compare with","minimum":0,"title":"Value"}},"examples":[{"test":"example","value":0}]},"DI":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"example","value":true}]},"DJ":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"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_nethe"],"title":"Value"}},"examples":[{"test":"is_biome","value":"beach"}]},"EA":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"The Family name to look for","type":"string","title":"Value"}},"examples":[{"test":"is_block","subject":"block","value":"minecraft:sweet_berry_bush"}]},"EB":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"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}]},"EC":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_climbing","value":true}]},"ED":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"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","yello"],"title":"Value"}},"examples":[{"test":"is_color","value":"black"}]},"EE":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_daytime","value":true}]},"EF":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"The game's difficulty level to test","type":"string","enum":["easy","hard","normal","peaceful"],"title":"Value"}},"examples":[{"test":"is_difficulty","value":"easy"}]},"EG":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"The Family name to look for","type":"string","title":"Value"}},"examples":[{"test":"is_family","value":"monster"}]},"EH":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"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}]},"EI":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_humid","value":true}]},"EJ":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_immobile","value":true}]},"FA":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_in_village","value":true}]},"FB":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_leashed","value":true}]},"FC":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_leashed_to","value":true}]},"FD":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"integer","description":"The altitude value to compare with","title":"Value"}},"examples":[{"test":"is_mark_variant","value":0}]},"FE":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_moving","value":true}]},"FF":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_owner","value":true}]},"FG":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_persistent","value":true}]},"FH":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_riding","value":true}]},"FI":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"integer","description":"The altitude value to compare with","title":"Value"}},"examples":[{"test":"is_skin_id","value":0}]},"FJ":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_sleeping","value":true}]},"GA":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_sneaking","value":true}]},"GB":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_snow_covered","value":true}]},"GC":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_target","value":true}]},"GD":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"The Biome temperature catagory to test","type":"string","enum":["cold","mild","ocean","warm"],"title":"Value"}},"examples":[{"test":"is_temperature_type","value":"cold"}]},"GE":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"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}]},"GF":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_underground","value":true}]},"GG":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_underwater","value":true}]},"GH":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"integer","description":"The altitude value to compare with","title":"Value"}},"examples":[{"test":"is_variant","value":0}]},"GI":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_visible","value":true}]},"GJ":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"An integer value.","type":"integer","title":"Value","minimum":0,"maximum":16}},"examples":[{"test":"light_level","value":0}]},"HA":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"A floating point value.","type":"number","minimum":0,"maximum":1,"title":"Value"}},"examples":[{"test":"moon_intensity","value":0.0}]},"HB":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"integer","description":"An integer value.","minimum":0,"maximum":7,"title":"Value"}},"examples":[{"test":"moon_phase","value":0}]},"HC":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"on_ground","value":true}]},"HD":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"on_ladder","value":true}]},"HE":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"An integer value.","type":"integer","title":"Value"}},"examples":[{"test":"random_chance","value":0}]},"HF":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"An integer value.","type":"integer","title":"Value"}},"examples":[{"test":"rider_count","value":0}]},"HG":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"surface_mob","value":true}]},"HH":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"trusts","value":true}]},"HI":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"The Family name to look for","type":"string","title":"Value","examples":["clear","thunderstorm"]}},"examples":[{"test":"weather","value":"clear"}]},"HJ":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"The Family name to look for","type":"string","title":"Value","examples":["thunderstorm"]}},"examples":[{"test":"weather_at_position","value":"thunderstorm"}]},"BA":{"title":"Filters","$ref":"#/definitions/BA_groups_spec"},"J":{"type":"object","title":"Angry","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,"required":[],"properties":{"broadcast_anger":{"type":"boolean","default":false,"description":"If true, other entities of the same entity definition within the broadcastRange will also become angry","title":"Broadcast Anger"},"broadcast_filters":{"$ref":"#/definitions/BA","description":"Conditions that make this entry in the list valid","title":"Broadcast Filters"},"filters":{"$ref":"#/definitions/BA","description":"Filter out mob types that it should not attack while angry (other Piglins)"},"broadcast_range":{"type":"integer","default":20,"description":"Distance in blocks within which other entities of the same entity definition will become angry","title":"Broadcast Range"},"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"},"title":"Broadcast Targets"},"calm_event":{"$ref":"#/definitions/H","description":"Event to run after the number of seconds specified in duration expires (when the entity stops being `angry')","title":"Calm Event"},"angry_sound":{"type":"string","default":"","description":"The sound event to play when the mob is angry","title":"Angry Sound"},"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","title":"Broadcast Anger On Attack"},"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":{"type":"integer","default":25,"description":"The amount of time in seconds that the entity will be angry","title":"Duration"},"duration_delta":{"type":"integer","default":0,"description":"Variance in seconds added to the duration [-delta, delta]","title":"Duration 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}]},"IA":{"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"}]},"IB":{"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":{}},"ID":{"title":"Range [A, B]","description":"A described range","examples":[1,2,3,[0.0,1.0]],"items":[{"type":"number","title":"A","description":"The first value of the range"},{"type":"number","title":"B","description":"The second value of the range"}]},"IC":{"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/ID","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}]},"IE":{"type":"object","title":"Attack Damage","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"number","description":"UNDOCUMENTED: value","title":"Value"}},"description":"UNDOCUMENTED: ","examples":[{"value":0.0}]},"IF":{"additionalProperties":false,"type":"object","title":"Balloonable","required":[],"properties":{"mass":{"type":"number","description":"UNDOCUMENTED: mass","title":"Mass"}},"description":"UNDOCUMENTED: ","examples":[{"mass":0.0}]},"IG":{"type":"object","title":"Block Climber","additionalProperties":false,"description":"Allows the player to detect and maneuver on the scaffolding block.","properties":{}},"IH":{"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}]},"II":{"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":[]}]},"JA":{"type":"string","title":"Block Name","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"IJ":{"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/JA"}}},"examples":[{"breakable_blocks":[]}]},"JC":{"description":"A minecraft block identifier","examples":["namespace:block"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Block Identifier","type":"string"},"JB":{"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/JC"},"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/JC"},"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":[]}]},"JD_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/H","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"}}},"JD_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/JA","title":"Blocks"}},{"description":"A block type required nearby for the entity to breed.","type":"string","$ref":"#/definitions/JA","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"},"JD":{"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/G","title":"Breed Item"}},{"type":"string","$ref":"#/definitions/G"}]},"breeds_with":{"description":"The list of entity definitions that this entity can breed with.","title":"Breeds With","oneOf":[{"type":"object","$ref":"#/definitions/JD_breeds_with_spec"},{"uniqueItems":true,"type":"array","items":{"type":"object","$ref":"#/definitions/JD_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/JD_enviroment_requirements"},{"type":"array","items":{"$ref":"#/definitions/JD_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/BA","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"}]},"JE":{"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/G","title":"Bribe Items"},"title":"Bribe Items"}},"examples":[{"bribe_cooldown":2,"bribe_items":[]}]},"JF":{"title":"Burns In Daylight","additionalProperties":false,"description":"Specifies if/how a mob burns in daylight.","required":[],"properties":{},"oneOf":[{"type":"boolean"},{"type":"object"}]},"JG":{"type":"object","title":"Can Climb","additionalProperties":false,"description":"Allows this entity to climb up ladders.","required":[],"properties":{}},"JH":{"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}]},"JI":{"type":"object","title":"Can Power Jump","additionalProperties":false,"description":"Allows the entity to power jump like the horse does in vanilla.","required":[],"properties":{}},"JJ":{"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}]},"BAA":{"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}]},"BAB":{"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}]},"BAC":{"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}]},"BAD":{"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/H","description":"Event to fire when the drying out time runs out.","title":"Dried Out Event"},"recover_after_dried_out_event":{"$ref":"#/definitions/H","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/H","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}]},"BAE":{"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,"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/BA"}}}}},"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":{}}]},"BAF":{"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]}]}]},"BAG":{"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}]},"BAH_trigger":{"properties":{"cause":{"type":"string","default":"none","description":"Type of damage that triggers the events.","title":"Cause","$ref":"#/definitions/CA"},"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/BAI"},"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"}}},"BAI":{"title":"Trigger","description":"Trigger to fire","examples":[{"filters":[],"target":"self","event":"to:foo"}],"oneOf":[{"type":"string"},{"type":"object","minProperties":1,"additionalProperties":false,"properties":{"event":{"type":"string","description":"The event to run when the conditions for this trigger are met.","title":"Event"},"filters":{"$ref":"#/definitions/BA","description":"The list of conditions for this trigger to execute."},"target":{"$ref":"#/definitions/BD","description":"The target of the event.","title":"Target"}}}]},"BAH":{"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/BAH_trigger"}},{"type":"object","$ref":"#/definitions/BAH_trigger"}]}}},"BAJ":{"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}]},"BBA":{"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/BA","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}]},"BBB":{"type":"object","title":"Dweller","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"dwelling_type":{"type":"string","title":"Dwelling Type","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"dweller_role":{"type":"string","title":"Dwelling Role","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"update_interval_base":{"type":"integer","title":"Update Interval Base","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"update_interval_variant":{"type":"integer","title":"Update Interval Variant","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"preferred_profession":{"type":"string","title":"Preferred Profession","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"can_find_poi":{"type":"boolean","title":"Can Find Poi","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"can_migrate":{"type":"boolean","title":"Can Migrate","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"first_founding_reward":{"type":"integer","title":"First Founding Reward","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"dwelling_type":"example","dweller_role":"example","update_interval_base":0,"update_interval_variant":0,"preferred_profession":"example","can_find_poi":true,"can_migrate":true,"first_founding_reward":0}]},"BBC":{"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}]},"BBD_trigger":{"$ref":"#/definitions/BAI"},"BBD":{"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/BBD_trigger"}},{"type":"object","$ref":"#/definitions/BBD_trigger"}]}}},"BBF":{"description":"A minecraft loot_table identifier","examples":["loot_tables/"],"pattern":"^loot_tables/.*\\.json$","title":"Loot Table Identifier","type":"string"},"BBE":{"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"slot":{"type":"string","title":"Slot","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}}},"table":{"title":"Table","description":"The file path to the equipment table, relative to the behavior pack's root.","$ref":"#/definitions/BBF"}},"examples":[{"slot_drop_chance":[]}]},"BBG":{"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/G","title":"Accepted Items"}},"item":{"$ref":"#/definitions/G","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/H","description":"Event to trigger when this entity is equipped with this item.","title":"On Equip"},"on_unequip":{"$ref":"#/definitions/H","description":"Event to trigger when this item is removed from this entity.","title":"On Unequip"}}}}},"examples":[{"slots":[]}]},"BBH":{"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}]},"BBI":{"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}]},"BBJ":{"title":"Fire Immune","additionalProperties":false,"description":"Sets that this entity doesn't take damage from fire.","type":"object","required":[],"properties":{}},"BCA":{"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}]},"BCB":{"description":"Sets that this entity can float in liquid blocks.","type":"object","title":"Floats In Liquid","additionalProperties":false,"required":[],"properties":{}},"BCC":{"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}]},"BCD":{"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}]},"BCE":{"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}]},"BCF_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","title":"Range Minimum"},"range_max":{"type":"integer","default":0,"description":"Upper bound","title":"Range Maximum"}}}]},"BCF":{"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"},"genes":{"type":"array","description":"Genes is a list defined by three parameters","title":"Genes","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/BCF_integer_range"},"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.","title":"Genetic Variants","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/H","description":"Event to run when this mob is created and matches the above allele conditions.","title":"Brith Event"},"both_allele":{"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.","title":"Both Allele","$ref":"#/definitions/BCF_integer_range"},"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":{"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":{"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/BCF_integer_range"}}}}}}}},"examples":[{"mutation_rate":0.0,"genes":[]}]},"BCG":{"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/G","title":"Properties"}},"on_give":{"$ref":"#/definitions/H","description":"Event to fire when the correct item is given.","title":"On Give"}}}},"examples":[{"triggers":{}}]},"BCH":{"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}]},"BCI":{"description":"Defines the interactions with this entity for healing it.","type":"object","title":"Healable","additionalProperties":false,"required":[],"properties":{"filters":{"$ref":"#/definitions/BA"},"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/BA","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":[]}]},"BCJ":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","title":"Health","additionalProperties":false,"required":[],"dependencies":{"max":["value"]},"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"range_max":{"title":"Range Maximum","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"}}}]}},"examples":[{"value":1,"max":0}]},"BDA":{"type":"object","title":"Hurt When Wet","additionalProperties":false,"required":[],"properties":{},"description":"Specifies if an actor is hurt when wet."},"BDB":{"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/BA"},"cause":{"type":"string","title":"Cause","description":"Damage cause","$ref":"#/definitions/CA"},"damage_per_tick":{"type":"integer","title":"Damage Per Tick","description":"Amount of damage done each tick that the conditions are met."}}}}},"examples":[{"damage_conditions":[]}]},"BDC":{"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":{}},"BDE":{"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"}]}}}},"BDD":{"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/BDE"},"entered_block_event":{"title":"Entered Block Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/H"},"exited_block_event":{"title":"Exited Block Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/H"}}}}},"examples":[{"block_list":[]}]},"BDF":{"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}]},"BDG_interaction_spec":{"type":"object","properties":{"add_items":{"type":"object","description":"Loot table with items to add to the player's inventory upon successful interaction.","title":"Add Items","additionalProperties":false,"properties":{"table":{"type":"string","$ref":"#/definitions/BBF","description":"File path, relative to the Behavior Pack's path, to the loot table file.","title":"Table"}}},"cooldown":{"type":"number","default":0,"description":"Time in seconds before this entity can be interacted with again.","title":"Cooldown"},"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.","title":"Hurt Item"},"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.","title":"Interact Text"},"on_interact":{"$ref":"#/definitions/BAI","description":"Event to fire when the interaction occurs.","title":"On Interact"},"particle_on_start":{"type":"object","description":"Particle effect that will be triggered at the start of the interaction.","title":"Particle On Start","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":{"type":"string","default":"","description":"List of sounds to play when the interaction occurs.","title":"Play Sounds"},"spawn_entities":{"type":"string","default":"","description":"List of entities to spawn when the interaction occurs.","title":"Spawn Entities"},"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/BBF","description":"File path, relative to the Behavior Pack's path, to the loot table file.","title":"Table"}}},"swing":{"type":"boolean","default":false,"description":"If true, the player will do the `swing` animation when interacting with this entity.","title":"Swing"},"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"},"use_item":{"type":"boolean","default":false,"description":"If true, the interaction will use an item.","title":"Use Item"}}},"BDG":{"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/BDG_interaction_spec"},{"type":"array","items":{"$ref":"#/definitions/BDG_interaction_spec"}}]}}},"BDH":{"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, minecart_hopper, inventory, container or hopper","title":"Container Type","enum":["horse","minecart_chest","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}]},"BDI":{"description":"Sets that this entity is a baby.","type":"object","title":"Is Baby","additionalProperties":false,"required":[],"properties":{}},"BDJ":{"description":"Sets that this entity is charged.","type":"object","title":"Is Charged","additionalProperties":false,"required":[],"properties":{}},"BEA":{"description":"Sets that this entity is currently carrying a chest.","type":"object","title":"Is Chested","additionalProperties":false,"required":[],"properties":{}},"BEB":{"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"}]},"BEC":{"type":"object","title":"Is Hidden When Invisible","additionalProperties":false,"description":"Sets that this entity can hide from hostile mobs while invisible."},"BED":{"description":"Sets that this entity is currently on fire.","type":"object","title":"Is Ignited","additionalProperties":false,"required":[],"properties":{}},"BEE":{"description":"Sets that this entity is an illager captain.","type":"object","title":"Is Illager Captain","additionalProperties":false,"required":[],"properties":{}},"BEF":{"description":"Sets that this entity is currently saddled.","type":"object","title":"Is Saddled","additionalProperties":false,"required":[],"properties":{}},"BEG":{"description":"Sets that this entity is currently shaking.","type":"object","title":"Is Shaking","additionalProperties":false,"required":[],"properties":{}},"BEH":{"description":"Sets that this entity is currently sheared.","type":"object","title":"Is Sheared","additionalProperties":false,"required":[],"properties":{}},"BEI":{"description":"Sets that this entity can be stacked.","type":"object","title":"Is Stackable","additionalProperties":false},"BEJ":{"description":"Sets that this entity is currently stunned.","type":"object","title":"Is Stunned","additionalProperties":false,"required":[],"properties":{}},"BFA":{"description":"Sets that this entity is currently tamed.","type":"object","title":"Is Tamed","additionalProperties":false,"required":[],"properties":{}},"BFB":{"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"}}},"BFC":{"type":"object","title":"Item Hopper","additionalProperties":false,"required":[],"properties":{},"description":"Determines that this entity is an item hopper"},"BFD":{"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":{}},"BFE":{"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}]},"BFF":{"type":"object","title":"Knockback Resistance","additionalProperties":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":[],"properties":{"value":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Value"},"max":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Maximum"}},"examples":[{"value":0.0,"max":0.0}]},"BFG":{"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}]},"BFH":{"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/H","description":"Event to call when this entity is leashed.","title":"On Leash"},"on_unleash":{"$ref":"#/definitions/H","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}]},"BFI":{"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/BA","description":"Defines the entities that can trigger this component","title":"Filters"},"look_cooldown":{"$ref":"#/definitions/ID","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/H"},"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}]},"BFJ":{"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"}}},"BGA":{"type":"object","title":"Managed Wandering Trader","additionalProperties":false,"required":[],"properties":{},"description":"This component is used to implement part of the Wandering Trader behavior"},"BGB":{"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}]},"BGC":{"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}]},"BGD":{"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}]},"BGE":{"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}]},"BGF":{"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}]},"BGG":{"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}]},"BGH":{"type":"object","title":"Movement.glide","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"required":[],"properties":{"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":0.0,"speed_when_turning":0.0}]},"BGI":{"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}]},"BGJ":{"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}]},"BHA":{"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":"The amount of sway that is allowed for movement.","title":"Sway Amplitude"}},"examples":[{"max_turn":30,"sway_amplitude":0.0}]},"BHB_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/H","description":"Event to be called when this entity acquires the name specified in `name_filter'","title":"On Named"}}},"BHB":{"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/BAI","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/BHB_name_action"}},{"type":"object","$ref":"#/definitions/BHB_name_action"}]}},"examples":[{"allow_name_tag_renaming":true,"always_show":false}]},"BHC":{"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/JC"}},"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}]},"BHD":{"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/JC"}},"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}]},"BHE":{"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/JC"}},"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}]},"BHF":{"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/JC"}},"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}]},"BHG":{"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/JC"}},"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}]},"BHH":{"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/JC"}},"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}]},"BHI":{"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/BAI"},"BHJ":{"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/BAI"},"BIA":{"description":"Adds a trigger to call when this entity takes damage.","title":"On Hurt","$ref":"#/definitions/BAI"},"BIB":{"description":"Adds a trigger to call when this entity is attacked by the player.","title":"On Hurt By Player","$ref":"#/definitions/BAI"},"BIC":{"description":"Adds a trigger to call when this entity is set on fire.","title":"On Ignite","$ref":"#/definitions/BAI"},"BID":{"description":"Only usable by the Ender Dragon. Adds a trigger to call when this entity lands.","title":"On Start Landing","$ref":"#/definitions/BAI"},"BIE":{"description":"Only usable by the Ender Dragon. Adds a trigger to call when this entity starts flying.","title":"On Start Takeoff","$ref":"#/definitions/BAI"},"BIF":{"description":"Adds a trigger to call when this entity finds a target.","title":"On Target Acquired","$ref":"#/definitions/BAI"},"BIG":{"description":"Adds a trigger to call when this entity loses the target it currently has.","title":"On Target Escape","$ref":"#/definitions/BAI"},"BIH":{"description":"Adds a trigger to call when this pet's owner awakes after sleeping with the pet.","title":"On Wake With Owner","$ref":"#/definitions/BAI"},"BII":{"type":"object","title":"Out Of Control","additionalProperties":false,"description":"defines the entity's `out of control` state.","required":[],"properties":{}},"BIJ":{"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}]},"BJA":{"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}]},"BJB":{"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}]},"BJC":{"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}]},"BJD":{"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/H","description":"Event to call when the entity is done peeking","title":"On Close"},"on_open":{"$ref":"#/definitions/H","description":"Event to call when the entity starts peeking","title":"On Open"},"on_target_open":{"$ref":"#/definitions/H","description":"Event to call when the entity's target entity starts peeking","title":"On Target Open"}}},"BJE":{"description":"Defines whether an entity should be persistent in the game world.","type":"object","title":"Persistent","additionalProperties":false,"required":[],"properties":{}},"BJF":{"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}]},"BJG":{"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/JA"}}}}}},"examples":[{"default_block_cost":0,"jump_cost":0,"max_fall_blocks":3,"preferred_path_blocks":[]}]},"BJH":{"type":"object","title":"Interact","description":"Allows the entity to be a thrown entity.","additionalProperties":false,"properties":{"anchor":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Anchor"},"angle_offset":{"type":"number","default":0,"description":"Determines the angle at which the projectile is thrown","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, the projectile will produce additional particles when a critical hit happens","title":"Crit Particle On Hurt"},"destroy_on_hurt":{"type":"boolean","default":false,"description":"If true, this entity will be destroyed when hit","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. 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"},"offset":{"type":"array","default":[0,0.0,0],"description":"The offset from the entity's anchor where the projectile will spawn","title":"Offset","items":[{"type":"number","description":"X","title":"X"},{"type":"number","description":"Y","title":"Y"},{"type":"number","description":"Z","title":"Z"}]},"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"On Hit","properties":{"arrow_effect":{"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false},"catch_fire":{"additionalProperties":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Catch Fire","type":"object","properties":{"fire_affected_by_griefing":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Fire Affected By Griefing"}}},"definition_event":{"additionalProperties":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Event","type":"object","properties":{"affect_projectile":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Affect Projectile"},"event_trigger":{"$ref":"#/definitions/H"}}},"douse_fire":{"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Douse Fire"},"impact_damage":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Impact Damage","properties":{"max_critical_damage":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Max Critical Damage"},"min_critical_damage":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Min Critical Damage"},"power_multiplier":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Filter"},"filter":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Filter"},"catch_fire":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Catch Fire"},"damage":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Damage","oneOf":[{"type":"integer"},{"type":"array","items":[{"type":"integer"},{"type":"integer"}]}]},"destroy_on_hit":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Destroy On Hit"},"knockback":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Knockback"},"semi_random_diff_damage":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Semi Random Diff Damage"}}},"particle_on_hit":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Particle On Hit","properties":{"particle_type":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Particle Type"},"num_particles":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Num Particles"},"on_entity_hit":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"On Entity Hit"},"on_other_hit":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"On Other Hit"}}},"remove_on_hit":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Remove On Hit"},"spawn_chance":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Spawn Chance","properties":{"first_spawn_percent_chance":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"First Spawn Percent Chance"},"first_spawn_chance":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"First Spawn Chance"},"second_spawn_chance":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Second Spawn Chance"},"first_spawn_count":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"First Spawn Count"},"second_spawn_count":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Second Spawn Count"},"spawn_definition":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Spawn Definition"},"spawn_baby":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Spawn Baby"}}},"spawn_aoe_cloud":{"additionalProperties":false,"type":"object","properties":{"radius":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Radius"},"radius_on_use":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Radius On Use"},"potion":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Potion"},"particle":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Particle"},"duration":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Duration"},"color":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Color","type":"array","format":"color-array","items":[{"type":"integer","minimum":0,"maximum":255,"description":"R","title":"R"},{"type":"integer","minimum":0,"maximum":255,"description":"G","title":"G"},{"type":"integer","minimum":0,"maximum":255,"description":"B","title":"B"}]},"affect_owner":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Affect Owner"},"reapplication_delay":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Reapplication Delay"}}},"stick_in_ground":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Stick In Ground","properties":{"shake_time":{"title":"Shake Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":0}}},"teleport_owner":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Teleport Owner"},"thrown_potion_effect":{"title":"Thrown Potion Effect","type":"object","additionalProperties":false}}},"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":"Splash Range","type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"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}]},"BJI":{"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}]},"BJJ":{"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}]},"CAA":{"type":"object","title":"Raid Trigger","additionalProperties":false,"description":"Attempts to trigger a raid at the entity's location.","required":[],"properties":{"triggered_event":{"$ref":"#/definitions/H","description":"Event to run we attempt to trigger a raid on the village.","title":"Triggered Event"}}},"CAB":{"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}]},"CAC":{"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/H","description":"Event to call when the rail is activated","title":"On Activate"},"on_deactivate":{"$ref":"#/definitions/H","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}]},"CAD":{"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,"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"value":{"title":"Value","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/H"}}}}},"examples":[{"knockback_strength":3,"reaction_choices":[]}]},"CAE_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/CAF","default":[0.0,0.0,0.0],"description":"Position of this seat relative to this entity's position"},"rotate_rider_by":{"$ref":"#/definitions/CAG","description":"Offset to rotate riders by"}}},"CAF":{"type":"array","title":"Array Of 3 Items","description":"An array of 3 numbers","examples":[[0,1,2]],"items":[{"type":"number","description":"An number","title":"X"},{"type":"number","description":"An number","title":"Y"},{"type":"number","description":"An number","title":"Z"}]},"CAG":{"title":"Molang Number","description":"The minecraft molang definition that results in a float","anyOf":[{"type":"string","minLength":0},{"type":"number"}],"examples":[0,"query.variant"]},"CAE":{"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/CAE_seats_spec"},{"type":"array","items":{"$ref":"#/definitions/CAE_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}]},"CAH":{"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}]},"CAI":{"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}]},"CAJ":{"description":"fires off scheduled mob events at time of day events.","type":"object","title":"Scheduler","additionalProperties":false,"properties":{"min_delay_secs":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Minimum Delay Secs","minimum":0},"max_delay_secs":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Maximum Delay Secs","minimum":0},"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.","title":"Scheduled Events","items":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Scheduled Events","properties":{"filters":{"$ref":"#/definitions/BA"},"event":{"$ref":"#/definitions/H"}}}}},"examples":[{"min_delay_secs":0,"max_delay_secs":0,"scheduled_events":[]}]},"CBA":{"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/G"},"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"}}}}},"examples":[{"all_items":false,"all_items_max_amount":-1,"all_items_surplus_amount":-1,"all_items_want_amount":-1,"items":[]}]},"CBB":{"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","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":[{"aux_val":-1,"def":"example","type":"example"}]},"CBC":{"description":"Defines the entity's `sit` state.","type":"object","title":"Sittable","additionalProperties":false,"required":[],"properties":{"sit_event":{"$ref":"#/definitions/H","description":"Event to run when the entity enters the `sit` state","title":"Sit Event"},"stand_event":{"$ref":"#/definitions/H","description":"Event to run when the entity exits the `sit` state","title":"Stand Event"}}},"CBD":{"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}]},"CBE":{"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}]},"CBF_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/BA"},"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"}}},"CBF":{"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/CBF_entity_spawn"},{"type":"array","items":{"type":"object","$ref":"#/definitions/CBF_entity_spawn"}}]}}},"CBG":{"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","properties":{"effect":{"type":"string"},"duration":{"type":"integer"},"display_on_screen_animation":{"type":"boolean"}}}]},"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":[]}]},"CBH":{"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/H","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/G"}},{"$ref":"#/definitions/G"}]}},"examples":[{"probability":1}]},"CBI_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/G","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"}}},"CBI_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/G","description":"Name of the item this entity dislikes and will cause it to get angry if used while untamed"}}},"CBI":{"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/CBI_auto_reject_items"},{"type":"array","items":{"$ref":"#/definitions/CBI_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/CBI_feed_items"},{"type":"array","items":{"$ref":"#/definitions/CBI_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/H","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"}]},"CBJ":{"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/H","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/H","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/H","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}]},"CCA":{"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}]},"CCB":{"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}]},"CCC":{"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","oneOf":[{"type":"array","default":[0.0,0.0],"items":[{"type":"number","title":"A"},{"type":"number","title":"B"}]},{"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/H"},"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":"UNDOCUMENTED: value","title":"Value"}}}}},"examples":[{"looping":true,"randomInterval":true,"random_time_choices":[]}]},"CCD":{"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"}]},"CCE":{"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/JC"}},"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":""}]},"CCF":{"type":"object","title":"Trust","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":[],"additionalProperties":false,"properties":{}},"CCG":{"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/H","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/G","title":"Trust Item"}}},"examples":[{"probability":1,"trust_event":"self:trust"},{"probability":1,"trust_items":[],"trust_event":"self:trust"}]},"CCH":{"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"}}},"CCI":{"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}]},"CCJ":{"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}]},"CDA":{"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}]},"CDB":{"description":"Sets that this entity wants to become a jockey.","type":"object","title":"Wants Jockey","additionalProperties":false,"properties":{}},"CDC":{"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}]},"CDD":{"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}]},"CDE":{"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/BA","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/CA"}},"examples":[{"damage_per_tick":2,"damage_range":0.2,"cause":"example"}]},"CDF":{"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/BAI","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"}]}}},"CDG":{"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}]},"CDH":{"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":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Sensor Radius","minimum":0},"on_break":{"type":"array","title":"On Break","description":"Blocks that will trigger the component when broken and what event will trigger.","items":{"type":"object","title":"On Block Broken","description":"","additionalProperties":false,"properties":{"block_list":{"type":"array","title":"Block List","description":"Blocks that will trigger the component when broken and what event will trigger.","items":{"$ref":"#/definitions/JC","title":"Block ID"}},"on_block_broken":{"type":"string","title":"On Block Broken","description":"Event to run when a block breaks"}}}}},"examples":[{"sensor_radius":0,"on_break":[]}]},"CDI":{"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}]},"CDJ":{"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/BA","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}]},"CEA":{"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/BA"},"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"}]},"CEB":{"type":"object","title":"Equip Item","description":"The entity puts on the desired equipment.","additionalProperties":false,"properties":{}},"CEC":{"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","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","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}]},"CED":{"type":"object","title":"Group Size","description":"Keeps track of entity group size in the given radius.","additionalProperties":false,"properties":{"filters":{"$ref":"#/definitions/BA","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}]},"CEE":{"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}]},"CEF":{"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/G"}}},"examples":[{"restriction_radius":-1,"home_block_list":[]}]},"CEG":{"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}]},"CEH":{"type":"object","title":"Mob Effect","description":"A component that applies a mob effect to entities that get within range.","additionalProperties":false,"properties":{"effect_range":{"type":"number","default":0.2,"description":"How close a hostile entity must be to have the mob effect applied.","title":"Effect Range"},"effect_time":{"type":"integer","default":10,"description":"How long the applied mob effect lasts in seconds.","title":"Effect Time"},"mob_effect":{"type":"string","default":"","description":"The mob effect that is applied to entities that enter this entities effect range.","title":"Mob Effect"},"entity_filter":{"$ref":"#/definitions/BA","title":"Entity Filter","description":"Filter to use for conditions"}},"examples":[{"effect_range":0.2,"effect_time":10,"mob_effect":""}]},"CEI":{"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}]},"CEJ":{"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/JC"}},"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}]},"CFA_rangeXYZ":{"type":"array","items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]},"CFA":{"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"portrait_offsets":{"type":"object","title":"Portrait Offsets","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"translate":{"$ref":"#/definitions/CFA_rangeXYZ","title":"Translate","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"scale":{"$ref":"#/definitions/CFA_rangeXYZ","title":"Scale","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"picker_offsets":{"type":"object","title":"Picker Offsets","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"translate":{"$ref":"#/definitions/CFA_rangeXYZ","title":"Translate","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"scale":{"$ref":"#/definitions/CFA_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":{}}]},"CFB":{"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}]},"CFC":{"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/BA","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]}]},"CFD":{"type":"object","title":"Hide","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{}},"CFE":{"type":"object","title":"Horse.jump Strength","additionalProperties":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"value":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Value","oneOf":[{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number"},"range_max":{"type":"number"}}},{"type":"number"}]}}},"CFF":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","title":"Trade Resupply","additionalProperties":false,"properties":{}},"CFH":{"additionalProperties":false,"type":"integer","title":"Priority","minimum":0,"description":"Allows the mob to drink potions based on specified environment conditions."},"CFG":{"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/CFH"},"admire_item_sound":{"type":"string","default":"","description":"The sound event to play when admiring the item","title":"Admire Item Sound"},"on_admire_item_start":{"$ref":"#/definitions/H","title":"On Admire Item Start","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"on_admire_item_stop":{"$ref":"#/definitions/H","title":"On Admire Item Stop","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"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":[{"admire_item_sound":""}]},"CFI":{"type":"object","title":"Avoid Block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"tick_interval":{"type":"integer","title":"Tick Interval","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"search_range":{"type":"integer","title":"Search Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"search_height":{"type":"integer","title":"Search Height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"sprint_speed_modifier":{"type":"number","title":"Sprint Speed Modifier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target_selection_method":{"type":"string","title":"Target Selection Method","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target_blocks":{"type":"array","title":"Target Blocks","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"string","title":"Block ID","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"avoid_block_sound":{"type":"string","title":"Avoid Block Sound","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"walk_speed_modifier":{"type":"number","title":"Walk Speed Modifier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"on_escape":{"type":"array","title":"Walk Speed Modifier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"$ref":"#/definitions/H"}},"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":[]}]},"CGA_entity_definition":{"description":"The entity type","title":"Entity Type","type":"object","properties":{"filters":{"type":"object","$ref":"#/definitions/BA"},"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"}}},"CGA":{"title":"Entity Types","oneOf":[{"type":"array","items":{"$ref":"#/definitions/CGA_entity_definition"}},{"$ref":"#/definitions/CGA_entity_definition"}]},"CFJ":{"additionalProperties":false,"description":"Allows this entity to avoid certain mob types.","type":"object","title":"Avoid Mob Type","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"max_dist":{"type":"number","default":0,"description":"Maximum distance to look for an entity","title":"Maximum Dist"},"max_flee":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it should stop fleeing.","title":"Maximum Flee"},"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","title":"Walk Speed Multiplier"},"sprint_speed_multiplier":{"type":"number","default":1.0,"description":"Multiplier for running speed. 1.0 means keep the regular speed, while higher numbers make the running speed faster","title":"Sprint Speed Multiplier"},"probability_per_strength":{"type":"number","default":1.0,"description":"Determines how likely it is that this entity will stop avoiding another entity based on that entity's strength","title":"Probability Per Strength"},"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/CGA","description":"UNDOCUMENTED: entity types","title":"Entity Types"},"avoid_mob_sound":{"title":"Avoid Mob Sound","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"},"remove_target":{"title":"Remove Target","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"on_escape_event":{"$ref":"#/definitions/H","title":"On Escape Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"sound_interval":{"default":0,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","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":[{"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}]},"CGB":{"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/CFH"}}},"CGC":{"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/CFH"},"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/G"},"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/ID","default":[2,4],"title":"Look Time"}},"examples":[{"items":[],"look_distance":8}]},"CGE":{"additionalProperties":false,"default":1.0,"description":"Movement speed multiplier of the mob when using this AI Goal.","type":"number","title":"Speed Multiplier"},"CGD":{"type":"object","title":"Break Door","description":"Allows this mob to break doors.","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}},"additionalProperties":false},"CGF":{"additionalProperties":false,"type":"object","title":"Breed","description":"Allows this mob to breed with other mobs.","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"CGG":{"type":"object","title":"Celebrate","description":"This allows the mob celebrate by jumping up and playing a sound periodically.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"celebration_sound":{"type":"string","default":"","description":"The sound to occasionally play.","title":"Celebration Sound"},"duration":{"type":"number","default":1,"description":"The duration of the celebration (in seconds).","title":"Duration"},"jump_interval":{"default":0,"description":"The range of time in seconds to randomly wait before jumping again.","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/BAI","description":"The event to trigger when the goal's duration expires.","title":"On Celebration End Event"},"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":[{"celebration_sound":"","duration":1}]},"CGH":{"additionalProperties":false,"type":"object","title":"Charge Attack","description":"Allows the mob to attack its target by running at it.","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"CGI":{"type":"object","title":"Charge Held Item","description":"Allows this mob to charge and use their held item.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"items":{"type":"array","title":"Items","description":"The list of items that can be used to charge the held item.","items":{"type":"string","description":"Items names to be used.","title":"Item ID"}}},"examples":[{"items":[]}]},"CGJ":{"type":"object","title":"Circle Around Anchor","additionalProperties":false,"description":"Allows the mob to move in a circle around a point or a target.","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"type":"number","default":1.0,"description":"Movement speed multiplier of the mob when using this AI Goal","title":"Speed Multiplier"},"radius_range":{"$ref":"#/definitions/ID","default":[5.0,15.0],"description":"Range of radius in blocks of the circle to move around.","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/ID","default":[0.0,0.0],"description":"When the mob finds a target, the range of height in blocks above the target to start the anchor point.","title":"Height Above Target Range"},"height_offset_range":{"$ref":"#/definitions/ID","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":"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"},"radius_change":{"type":"number","title":"Radius Change","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"radius_adjustment_chance":{"type":"number","title":"Radius Adjustment Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"height_adjustment_chance":{"type":"number","title":"Height Adjustment Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"angle_change":{"type":"number","title":"Angle Change","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"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}]},"CHA":{"additionalProperties":false,"type":"object","title":"Controlled By Player","description":"Allows the mob to be controlled by the player.","properties":{"priority":{"$ref":"#/definitions/CFH"},"mount_speed_multiplier":{"type":"number","default":1,"description":"Speed multiplier of mount when controlled by player, defaults to 1.0f","title":"Mount Speed Multiplier"}},"examples":[{"mount_speed_multiplier":1}]},"CHB":{"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/CFH"},"aggro_sound":{"type":"string","default":"","description":"Sound to occasionally play while defending.","title":"Aggro Sound"},"attack_interval":{"type":"integer","default":0,"description":"Time in seconds between attacks","title":"Attack Interval"},"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"},"on_defend_start":{"$ref":"#/definitions/H","title":"On Defend Start","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"within_radius":{"type":"number","default":0,"description":"Distance in blocks that the target can be within to launch an attack","title":"Within Radius"},"entity_types":{"type":"object","description":"List of entity types that this mob considers valid targets","title":"Entity Types","additionalProperties":false},"sound_chance":{"title":"Sound Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"}},"examples":[{"aggro_sound":"","attack_interval":0,"must_see":false,"must_see_forget_duration":3,"within_radius":0,"entity_types":{},"sound_chance":0.0}]},"CHC":{"additionalProperties":false,"type":"object","title":"Defend Village Target","description":"Allows the mob to stay in the village and fight mobs hostile to the villagers.","properties":{"priority":{"$ref":"#/definitions/CFH"},"entity_types":{"$ref":"#/definitions/CGA","description":"List of entity types this mob considers a threat to the village","title":"Entity Types"},"must_reach":{"title":"Must Reach","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"attack_chance":{"title":"Attack Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"}},"examples":[{"must_reach":true,"attack_chance":0.0}]},"CHD":{"additionalProperties":false,"type":"object","title":"Delayed Attack","description":"Allows the mob to drink potions based on specified environment conditions.","properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"attack_duration":{"type":"number","default":1,"description":"The duration of the attack animation in seconds","title":"Attack Duration"},"attack_once":{"type":"boolean","default":false,"description":"If true, this mob will attack only one time.","title":"Attack Once"},"attack_types":{"type":"string","default":"","description":"Defines the entity types this mob will attack","title":"Attack Types"},"hit_delay_pct":{"type":"number","default":1,"description":"The percentage of the attack_duration that must pass before the hit is made","title":"Hit Delay Percentage"},"random_stop_interval":{"type":"integer","default":0,"description":"Defines the probability the mob will stop fighting. A value of 0 disables randomly stopping, while a value of 1 defines a 50% chance","title":"Random Stop Interval"},"reach_multiplier":{"type":"number","default":2,"description":"Multiplier for how far outside its box the mob can reach its target (this can be used to simulate a mob with longer arms by making this bigger)","title":"Reach Multiplier"},"require_complete_path":{"type":"boolean","title":"Require Complet Path","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"sound_event":{"type":"string","description":"The sound event to play when the attack starts","title":"Sound Event"},"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":[{"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}]},"CHE":{"additionalProperties":false,"type":"object","title":"Door Interact","description":"Allows the mob to drink potions based on specified environment conditions.","properties":{"priority":{"$ref":"#/definitions/CFH"}}},"CHF":{"additionalProperties":false,"type":"object","title":"Dragonchargeplayer","description":"Allows the dragon to attack a player by flying fast at them. The player is chosen by the dragonscanning goal. Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CFH"}}},"CHG":{"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/CFH"}}},"CHH":{"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/CFH"}}},"CHI":{"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/CFH"}}},"CHJ":{"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/CFH"}}},"CIA":{"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/CFH"}}},"CIB":{"additionalProperties":false,"type":"object","title":"Dragonstrafeplayer","description":"Allows the dragon to fly around looking for a player and shoot fireballs at them. Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CFH"}}},"CIC":{"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/CFH"}}},"CID":{"type":"object","title":"Beg","description":"Allows the mob to drink potions based on specified environment conditions.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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/BA"}}}}},"examples":[{"potions":[]}]},"CIE":{"additionalProperties":false,"description":"Allows the mob to move near a target and drop an item.","title":"Drop Item For","type":"object","properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"cooldown":{"title":"Cooldown","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"drop_item_chance":{"type":"number","default":[1.0],"description":"The probability that the mob will drop an item.","title":"Drop Item Chance"},"entity_types":{"description":"List of entity types this mob will drop items for.","title":"Entity Types","$ref":"#/definitions/CGA"},"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"},"loot_table":{"type":"string","pattern":"^loot_tables.*\\.json$","description":"Loot table to select items from.","title":"Loot Table"},"max_dist":{"type":"number","default":0,"description":"Maximum distance in blocks this mob will look for entities to drop an item for.","title":"Maximum Dist"},"minimum_teleport_distance":{"title":"Minimum Teleport Distance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"max_head_look_at_height":{"title":"Maximum Head Look At Height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"offering_distance":{"type":"number","default":[1.0],"description":"The distance in blocks the mob will try to be away from the entity when it drops the item.","title":"Offering Distance"},"on_drop_attempt":{"$ref":"#/definitions/H","description":"Event to run when this mob attempts to drop an item.","title":"On Drop Attempt"},"seconds_before_pickup":{"title":"Seconds Before Pickup","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"search_count":{"type":"integer","default":1,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Search Height"},"search_height":{"type":"integer","default":1,"description":"Height in blocks from the target the mob can be.","title":"Search Height"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks from the target the mob can be.","title":"Search Range"},"target_range":{"title":"Target Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"teleport_offset":{"title":"Teleport Offset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"time_of_day_range":{"default":[0.0,1.0],"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.","title":"Time Of Day Range","type":"array","items":[{"type":"number","minimum":0,"maximum":1},{"type":"number","minimum":0,"maximum":1}]}},"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":[]}]},"CIF":{"type":"object","title":"Eat Block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"on_eat":{"$ref":"#/definitions/BAI","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"On Eat"},"success_chance":{"title":"Succes Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CAG"},"time_until_eat":{"title":"Time Until Eat","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"eat_and_replace_block_pairs":{"type":"array","title":"Eat And Replace Block Pairs","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"object","title":"Eat And Replace Block Pair","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"eat_block":{"type":"string","title":"Block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/JC"},"replace_block":{"type":"string","title":"Replace Block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/JC"}}}}},"examples":[{"time_until_eat":0.0,"eat_and_replace_block_pairs":[]}]},"CIG":{"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/CFH"},"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}]},"CIH":{"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/CFH"}}},"CII":{"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/CFH"}}},"CIJ":{"type":"object","title":"Equip Item","description":"Allows the entity to equip desired equipment.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"}}},"CJA":{"type":"object","title":"Explore Outskirts","description":"behavior explore outskirts","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"explore_dist":{"type":"number","default":5,"description":"The distance in which the mob will proceed past the village bounds","title":"Explore Dist"},"wait_time":{"type":"integer","default":0,"description":"The time the mob will stand around `searching` for POIs","title":"Wait Time"},"next_xz":{"title":"Next XZ","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"},"next_y":{"title":"Next Y","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"},"min_wait_time":{"title":"Minimum Wait Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"max_wait_time":{"title":"Maximum Wait Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"max_travel_time":{"title":"Maximum Travel Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"min_perimeter":{"title":"Minimum Perimeter","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"min_dist_from_target":{"title":"Minimum Distance From Target","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"timer_ratio":{"title":"Timer Ratio","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"dist_from_boundary":{"title":"Distance From Boundary","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":[{"title":"X","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},{"title":"Y","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},{"title":"Z","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"}]}},"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":[]}]},"CJB":{"type":"object","title":"Find Cover","description":"Allows the mob to seek shade.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"CJC":{"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/CFH"},"avoid_water":{"type":"boolean","default":false,"description":"If true, the mob will not go into water blocks when going towards a mount","title":"Avoid Water"},"mount_distance":{"type":"number","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","title":"Mount Distance"},"start_delay":{"type":"integer","default":0,"description":"Time the mob will wait before starting to move towards the mount","title":"Start Delay"},"target_needed":{"type":"boolean","default":false,"description":"If true, the mob will only look for a mount if it has a target","title":"Target Needed"},"within_radius":{"type":"number","default":0,"description":"Distance in blocks within which the mob will look for a mount","title":"Within Radius"},"max_failed_attempts":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Maximum Failed Attempts"}},"examples":[{"avoid_water":false,"mount_distance":-1,"start_delay":0,"target_needed":false,"within_radius":0,"max_failed_attempts":0}]},"CJD":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"CJE":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"CJF":{"type":"object","title":"Float","description":"Allows the mob to stay afloat while swimming.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"}}},"CJG":{"type":"object","title":"Float Wander","description":"Allows the mob to float around like the Ghast.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"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/ID","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}]},"CJH":{"type":"object","title":"Follow Caravan","description":"Allows the mob to follow mobs that are in a caravan.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"entity_types":{"$ref":"#/definitions/CGA","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}]},"CJI":{"type":"object","title":"Follow Mob","description":"Allows the mob to follow other mobs.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"CJJ":{"type":"object","title":"Follow Owner","description":"Allows the mob to follow their parent around.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"start_distance":{"type":"number","default":10,"description":"The distance in blocks that the owner can be away from this mob before it starts following it","title":"Start Distance"},"stop_distance":{"type":"number","default":2,"description":"The distance in blocks this mob will stop from its owner while following it","title":"Stop Distance"}},"examples":[{"start_distance":10,"stop_distance":2}]},"DAA":{"type":"object","title":"Float","description":"Allows the mob to follow their parent around.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"DAB":{"type":"object","title":"Follow Target Captain","description":"Allows mob to move towards its current target captain.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DAC":{"additionalProperties":false,"description":"Allows the mob to move back to the position they were spawned.","title":"Go Home","type":"object","properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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 to run when this mob gets home.","title":"On Home","oneOf":[{"$ref":"#/definitions/BAI"},{"type":"array","items":{"$ref":"#/definitions/BAI"}}]},"on_failed":{"$ref":"#/definitions/H","title":"On Failed","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"goal_radius":0.5,"interval":120}]},"DAD":{"type":"object","title":"Guardian Attack","description":"Allows the guardian to use its laser beam attack. Can only be used by Guardians and Elder Guardians.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"}}},"DAE":{"type":"object","title":"Harvest Farm Block","description":"Allows the villager to harvest nearby farms. Can only be used by Villagers.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"max_seconds_before_search":{"title":"Maximum Seconds Before Search","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"search_cooldown_max_seconds":{"title":"Search Cooldown Maximum Seconds","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"seconds_until_new_task":{"title":"Seconds Until New Task","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"}},"examples":[{"max_seconds_before_search":0.0,"search_cooldown_max_seconds":0.0,"seconds_until_new_task":0.0}]},"DAF":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DAG":{"type":"object","title":"Hold Ground","description":"The mob freezes and looks at the mob they are targeting.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"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/H","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}]},"DAH":{"type":"object","title":"Guardian Attack","additionalProperties":false,"description":"Allows the mob to target another mob that hurts them.","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"entity_types":{"$ref":"#/definitions/CGA","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}]},"DAI":{"type":"object","title":"Inspect Bookshelf","additionalProperties":false,"description":"Allows the mob to inspect bookshelves.","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DAJ":{"type":"object","title":"Melee Attack","description":"Allows the mob to search around for a block to jump to and then jump to that block.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"search_width":{"type":"integer","title":"Search Width","default":8,"description":"The maximum width in blocks that the mob will search. Range [2, 15]."},"search_height":{"type":"integer","default":10,"title":"Search Height","description":"The maximum height in blocks that the mob will search. Range [2, 15]."},"minimum_path_length":{"type":"integer","default":5,"title":"Minimum Path Length","description":"The minimum length in blocks of the mob's path to a block in order to consider jumping to it."},"minimum_distance":{"type":"number","default":5,"title":"Minimum Distance","description":"The minimum distance in blocks from the mob to a block in order to consider jumping to it."},"scale_factor":{"type":"number","title":"Scale Factor","default":0.7,"description":"The scale factor of the bounding box of the mob while it is jumping."},"cooldown_range":{"title":"Cooldown Range","description":"The minimum and maximum cooldown time-range in seconds between each attempted jump.","type":"array","items":[{"title":"Minimum","description":"Minimum","type":"integer","minimum":0},{"title":"Maximum","description":"Maximum","type":"integer","minimum":0}]}},"examples":[{"search_width":8,"search_height":10,"minimum_path_length":5,"minimum_distance":5,"scale_factor":0.7,"cooldown_range":[]}]},"DBA":{"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/CFH"},"attack_time":{"type":"number","default":0.5,"description":"The delay after which the knockback occurs (in seconds).","title":"Attack Time"},"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":"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_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"},"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"},"knockback_strength":{"type":"integer","default":4,"description":"The strength of the knockback.","title":"Knockback Strength"},"knockback_filters":{"$ref":"#/definitions/BA","description":"filters to use to decide what is affected by knockback roar.","title":"Knockback Filters"},"damage_filters":{"$ref":"#/definitions/BA","description":"filters to use to decide what is damaged by knockback roar.","title":"Damage Filters"},"on_roar_end":{"$ref":"#/definitions/H","description":"Event to run when knockback roar has finished.","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}]},"DBB":{"description":"Allows mobs to lay down at times.","type":"object","title":"Lay Down","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"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}]},"DBC":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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"},"on_lay":{"$ref":"#/definitions/H","description":"Event to run when this mob lays the egg.","title":"On Lay"},"search_height":{"type":"integer","default":1,"description":"Height in blocks the mob will look for sand block to move towards","title":"Search Height"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks it will look for a sand block to move towards","title":"Search Range"}},"examples":[{"goal_radius":0.5,"search_height":1,"search_range":0}]},"DBD":{"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/CFH"},"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,"description":"The height in blocks the mob jumps when leaping at its target","title":"Yd"},"target_dist":{"type":"number","default":0,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Target Dist"}},"examples":[{"must_be_on_ground":true,"set_persistent":false,"yd":0,"target_dist":0}]},"DBE":{"description":"Allows the mob to look at nearby entities.","type":"object","title":"Look At Entity","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"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/ID","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/BA"}},"examples":[{"look_distance":8.0,"probability":0.02,"angle_of_view_vertical":360,"angle_of_view_horizontal":360}]},"DBF":{"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/CFH"},"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"},"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,"minimum":0,"description":"The probability of looking at the target. A value of 1.00 is 100%","title":"Probability"},"look_time":{"type":"array","default":[2,4],"description":"Time range to look at the entity","title":"Look Time","items":[{"type":"number"},{"type":"number"}]},"target_distance":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Target Distance"}},"examples":[{"angle_of_view_vertical":360,"angle_of_view_horizontal":360,"look_distance":8.0,"probability":0.02,"look_time":[],"target_distance":0.0}]},"DBG":{"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/CFH"},"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/ID","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}]},"DBH":{"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/CFH"},"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/ID","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}]},"DBI":{"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/CFH"}}},"DBJ":{"type":"object","title":"Melee Attack","description":"Allows the mob to use close combat melee attacks.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"melee_fov":{"type":"number","default":90.0,"description":"The allowable FOV the actor will use to determine if it can make a valid melee attack","title":"Melee Fov"},"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"},"attack_types":{"type":"string","description":"Defines the entity types this mob will attack","title":"Attack Types"},"random_stop_interval":{"type":"integer","default":0,"description":"Defines the probability the mob will stop fighting. A value of 0 disables randomly stopping, while a value of 1 defines a 50% chance","title":"Random Stop Interval"},"reach_multiplier":{"type":"number","default":2.0,"description":"Multiplier for how far outside its box the mob can reach its target (this can be used to simulate a mob with longer arms by making this bigger)","title":"Reach Multiplier"},"attack_once":{"type":"boolean","default":false,"description":"If true, this mob will attack only one time.","title":"Attack Once"},"require_complete_path":{"type":"boolean","default":false,"description":"If true, this goal will only trigger if the mob can reach its target.","title":"Require Complete Path"},"cooldown_time":{"type":"number","title":"Cooldown Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"on_attack":{"$ref":"#/definitions/H","title":"On Attack","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"on_kill":{"$ref":"#/definitions/H","title":"On Attack","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"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}]},"DCA":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DCB":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DCC":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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":[{"timeout_cooldown":8}]},"DCD":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DCE":{"type":"object","title":"Move To Block","additionalProperties":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"tick_interval":{"type":"number","title":"Tick Interval","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"start_chance":{"type":"number","title":"Start Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"search_range":{"type":"number","title":"Search Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"search_height":{"type":"number","title":"Search Height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"goal_radius":{"type":"number","title":"Goal Radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"stay_duration":{"type":"number","title":"Stay Duration","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target_selection_method":{"type":"string","title":"Target Selection Method","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target_offset":{"type":"array","title":"Target Offset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"target_blocks":{"type":"array","title":"Target Blocks","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"string"}},"on_stay_completed":{"type":"array","title":"On Stay Completed","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"$ref":"#/definitions/H"}},"on_reach":{"type":"array","title":"On Reach","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"$ref":"#/definitions/H"}}},"examples":[{"tick_interval":0.0,"start_chance":0.0,"search_range":0.0,"search_height":0.0,"goal_radius":0.0,"stay_duration":0.0,"target_selection_method":"example","target_offset":[],"target_blocks":[],"on_stay_completed":[],"on_reach":[]}]},"DCF":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DCG":{"type":"object","title":"Move To Lava","description":"Allows the mob to move back into lava when on land.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DCH":{"type":"object","title":"Move To Liquid","description":"Allows the mob to move back into lava when on land.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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"}]},"DCI":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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"}]},"DCJ":{"type":"object","title":"Move To Random Block","description":"Allows mob to move towards a random block.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DDA":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DDB":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DDC":{"type":"object","title":"Move Towards Dwelling Restriction","additionalProperties":false,"description":"UNDOCUMENTED, comes from cat","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"DDD":{"type":"object","title":"Move Towards Home Restriction","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"DDE":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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":[]}]},"DDF":{"type":"object","title":"Guardian Attack","additionalProperties":false,"description":"Allows mob to move towards its current target.","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DDG":{"type":"object","title":"Nap","description":"Allows the mob to move back into lava when on land.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"cooldown_max":{"type":"number","default":0,"description":"Maximum time in seconds the mob has to wait before using the goal again","title":"Cooldown Max"},"cooldown_min":{"type":"number","default":0,"description":"Minimum time in seconds the mob has to wait before using the goal again","title":"Cooldown Min"},"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","title":"Mob Detect Dist"},"mob_detect_height":{"type":"number","default":6,"description":"The block distance in y that will be checked for mobs that this mob detects","title":"Mob Detect Height"},"can_nap_filters":{"$ref":"#/definitions/BA","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Can Nap Filters"},"wake_mob_exceptions":{"$ref":"#/definitions/BA","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Wake Mob Exceptions"}},"examples":[{"cooldown_max":0,"cooldown_min":0,"mob_detect_dist":6,"mob_detect_height":6}]},"DDH_entity_type":{"type":"object","description":"A entity type","properties":{"filters":{"$ref":"#/definitions/BA","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"}}},"DDH":{"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/CFH"},"entity_types":{"description":"Filters which types of targets are valid for this entity.","title":"Entity Types","oneOf":[{"$ref":"#/definitions/DDH_entity_type"},{"type":"array","items":{"$ref":"#/definitions/DDH_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}]},"DDI":{"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/CFH"},"entity_types":{"description":"List of entity types that this mob considers valid targets","title":"Entity Types","$ref":"#/definitions/CGA"},"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}]},"DDJ":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"DEA":{"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/CFH"},"walk_speed_multiplier":{"type":"number","default":1.0,"description":"Multiplier for the walking speed while using this attack","title":"Walk Speed Multiplier"},"sprint_speed_multiplier":{"type":"number","default":1.0,"description":"Multiplier for the running speed of this mob while using this attack","title":"Sprint Speed Multiplier"},"sneak_speed_multiplier":{"type":"number","default":1.0,"description":"Multiplier for the sneaking speed. 1.0 means the ocelot will move at the speed it normally sneaks","title":"Sneak Speed Multiplier"},"cooldown_time":{"type":"number","title":"Cooldown Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"x_max_rotation":{"type":"number","title":"X Maximum Rotation","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"y_max_head_rotation":{"type":"number","title":"Y Maximum Head Rotation","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"max_distance":{"type":"number","title":"Maximum Distance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"max_sneak_range":{"type":"number","title":"Maximum Sneak Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"max_sprint_range":{"type":"number","title":"Maximum Sprint Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"reach_multiplier":{"type":"number","title":"Reach Multiplier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"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}]},"DEB":{"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/CFH"}}},"DEC":{"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/CFH"},"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}]},"DED":{"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/CFH"},"entity_types":{"$ref":"#/definitions/CGA","description":"List of entity types that this mob can target if they hurt their owner","title":"Entity Types"}}},"DEE":{"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/CFH"},"entity_types":{"$ref":"#/definitions/CGA","description":"List of entity types that this entity can target if the potential target is hurt by this mob's owner","title":"Entity TYpes"}}},"DEF":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"damage_sources":{"type":"array","items":{"$ref":"#/definitions/CA"},"default":[["all"]],"description":"The list of Entity Damage Sources that will cause this mob to panic","title":"Damage Sources"},"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","title":"Force"},"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`","title":"Ignore Mob Damage"},"prefer_water":{"type":"boolean","default":false,"description":"If true, the mob will prefer water over land","title":"Prefer Water"},"panic_sound":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Panic Sound"},"sound_interval":{"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Sound Interval","properties":{"range_min":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Range Minimum"},"range_max":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Range Maximum"}},"additionalProperties":false}},"examples":[{"damage_sources":[],"force":false,"ignore_mob_damage":false,"prefer_water":false,"panic_sound":"example","sound_interval":{}}]},"DEG":{"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/CFH"}}},"DEH":{"description":"Allows the mob to be tempted by food they like.","type":"object","title":"Tempt","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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_height":{"type":"integer","default":1,"description":"Height in blocks from the owner the pet can be to sleep with owner.","title":"Search Height"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks from the owner the pet can be to sleep with owner.","title":"Search Range"},"search_radius":{"type":"integer","default":0,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Search Radius"}},"examples":[{"goal_radius":0.5,"search_height":1,"search_range":0,"search_radius":0}]},"DEI":{"description":"Allows the mob to pick up items on the ground.","additionalProperties":false,"type":"object","title":"Pickup Items","properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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":true,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Cooldown After Being Attacked"},"excluded_items":{"title":"Excluded Items","type":"array","items":{"title":"Excluded Item","$ref":"#/definitions/G"}},"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 this mob will look for items to pick up","title":"Maximum Dist"},"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"},"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}]},"DEJ":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"DFA":{"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/CFH"},"duration":{"title":"Duration","description":"The amount of time in seconds that the mob will remain playing dead.","type":"number","minimum":0},"force_below_health":{"title":"Force Below Health","description":"The amount of health at which the mob will start to play dead.","type":"number","minimum":0},"random_start_chance":{"title":"Random Start Chance","description":"The likelihood that the mob will start to play dead upon taking damage.","type":"number","minimum":0},"random_damage_range":{"title":"Random Damage Range","description":"The range of damage that may cause the mob to start playing dead. Damage taken below the minimum value will never cause the mob to start playing dead. Damage taken above the maximum value will always cause the mob to start playing dead.","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 start playing dead.","oneOf":[{"type":"string","$ref":"#/definitions/CA"},{"type":"array","items":{"title":"Damage Source","$ref":"#/definitions/CA"}}]},"apply_regeneration":{"title":"Apply Regeneration","description":"Whether the mob will receive the effect of CombatRegeneration while playing dead.","type":"boolean"},"filters":{"$ref":"#/definitions/BA"}},"examples":[{"duration":0.0,"force_below_health":0.0,"random_start_chance":0.0,"random_damage_range":[],"apply_regeneration":true}]},"DFB":{"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/CFH"}}},"DFC":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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/JC"},"title":"Blocks"},"eat_delay":{"type":"integer","default":2,"description":"Time in seconds between each time it eats","title":"Eat Delay"},"full_delay":{"type":"integer","default":100,"description":"Amount of time in seconds before this mob wants to eat again","title":"Full Delay"},"initial_eat_delay":{"type":"integer","default":0,"description":"Time in seconds before starting to eat/raid once it arrives at it","title":"Initial Eat Delay"},"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_to_eat":{"type":"integer","default":6,"description":"Maximum number of things this entity wants to eat","title":"Maximum To Eat"},"search_range":{"type":"integer","default":0,"description":"Distance in blocks the mob will look for crops to eat","title":"Search Range"},"search_height":{"type":"integer","default":0,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Search Height"}},"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}]},"DFD":{"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/CFH"},"baby_knockback_modifier":{"type":"integer","default":4,"description":"The modifier to knockback for baby mobs.","title":"Baby Knockback Modifier"},"cooldown_range":{"type":"array","default":[10.0,20.0],"description":"The minimum and maximum cooldown time-range in seconds between each attempted ram attack.","title":"Cooldown Range","items":[{"title":"Minimum","description":"Minimum","type":"number","minimum":0},{"title":"Maximum","description":"Maximum","type":"number","minimum":0}]},"knockback_force":{"type":"number","default":5,"description":"The force of the knockback of the ram's attack.","title":"Knockback Force"},"knockback_height":{"type":"number","default":0.1,"description":"The height in blocks of the knockback of the ram attack.","title":"Knockback Height"},"min_ram_distance":{"type":"integer","default":4,"description":"The minimum distance in blocks at which the mob can start a ram attack.","title":"Min Ram Distance"},"pre_ram_sound":{"type":"string","description":"The sound to play when the mob is about to perform a ram attack.","title":"Pre Ram Sound"},"ram_distance":{"type":"integer","default":7,"description":"The distance in blocks at which the mob will start to ram its target.","title":"Ram Distance"},"ram_impact_sound":{"type":"string","description":"The sound to play when the mob hits the target with a ram attack .","title":"Ram Impact Sound"},"ram_speed":{"type":"number","default":2,"description":"Sets the mob's speed when performing a ram attack toward the target.","title":"Ram Speed"},"run_speed":{"type":"number","default":1,"description":"Sets the mob's speed when running toward the target.","title":"Run Speed"},"trigger":{"description":"The event to trigger when attacking.","title":"Trigger","$ref":"#/definitions/BAI"},"on_start":{"title":"On Start","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"$ref":"#/definitions/H"},{"type":"array","items":{"$ref":"#/definitions/H"}}]}},"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}]},"DFE":{"description":"Allows the mob to randomly break surface of the water.","type":"object","title":"Player Ride Tamed","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DFF":{"description":"Allows a mob to randomly fly around","type":"object","title":"Random Fly","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"avoid_damage_blocks":{"type":"boolean","description":"UNDOCUMENTED","$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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y Offset"}},"examples":[{"avoid_damage_blocks":true,"can_land_on_trees":true,"xz_dist":10,"y_dist":7,"y_offset":0}]},"DFG":{"description":"Allows the mob to hover around randomly, close to the surface","type":"object","title":"Random Hover","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"hover_height":{"type":"array","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Hover Height","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}]},"DFH":{"additionalProperties":false,"description":"Allows the mob to randomly look around.","type":"object","title":"Random Look Around","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"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":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Look Distance","type":"number"}},"examples":[{"look_distance":0.0}]},"DFI":{"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/CFH"},"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}]},"DFJ":{"type":"object","title":"Random Sitting","description":"Allows the mob to randomly sit for a duration.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DGA":{"description":"Allows a mob to randomly stroll around.","type":"object","title":"Random Stroll","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DGB":{"type":"object","title":"Random Swim","description":"Allows an entity to randomly move through water","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DGC":{"description":"Allows the mob to use ranged attacks like shooting arrows.","type":"object","title":"Ranged Attack","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"attack_interval":{"type":"number","default":0,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Attack Interval"},"attack_interval_max":{"type":"number","default":0,"description":"Maximum amount of time in seconds the entity will wait after an attack before launching another","title":"Attack Interval Maximum"},"attack_interval_min":{"type":"number","default":0,"description":"Minimum amount of time in seconds the entity will wait after an attack before launching another","title":"Attack Interval Minimum"},"attack_radius":{"type":"number","default":0,"description":"Maximum distance the target can be for this mob to fire. If the target is further away, this mob will move first before firing","title":"Attack Radius"},"burst_interval":{"type":"number","default":0,"description":"Amount of time in seconds between each individual shot when firing multiple shots per attack","title":"Burst Interval"},"burst_shots":{"type":"integer","default":1,"description":"Number of shots fired every time the mob uses a charged attack","title":"Burst Shots"},"charge_charged_trigger":{"type":"number","default":0,"description":"The minimum amount of time in ticks the mob has to charge before firing a charged attack","title":"Charge Charged Trigger"},"charge_shoot_trigger":{"type":"number","default":0,"description":"The minimum amount of time in ticks for the mob to start charging a charged shot. Must be greater than 0 to enable burst shots","title":"Charge Shoot Trigger"},"ranged_fov":{"type":"number","default":90,"description":"The allowable FOV the actor will use to determine if it can make a valid ranged attack","title":"Ranged FOV"},"target_in_sight_time":{"type":"number","title":"Target In Sight Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"attack_radius_min":{"type":"number","title":"Attack Radius Min","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"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}]},"DGD":{"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/CFH"}}},"DGE":{"description":"Allows the mob to stay indoors during night time.","type":"object","title":"Restrict Open Door","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"}}},"DGF":{"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/CFH"}}},"DGG":{"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/CFH"},"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}]},"DGH":{"description":"This allows the mob to roll forward.","type":"object","title":"Roll","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"probability":{"type":"number","minimum":0,"description":"The probability that the mob will use the goal.","title":"Probability"}},"examples":[{"probability":0.0}]},"DGI":{"description":"Allows the mob to run around aimlessly.","type":"object","title":"Restrict Open Door","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"DGJ":{"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/CFH"},"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}]},"DHA_sequence":{"type":"array","description":"List of events to send","items":{"type":"object","additionalProperties":false,"properties":{"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"}}}},"DHA":{"description":"Allows the mob to send an event to another mob.","type":"object","title":"Send Event","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"cast_duration":{"type":"number","description":"Time in seconds for the entire event sending process","title":"Cast Duration"},"event_choices":{"type":"array","title":"Event Choices","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"object","additionalProperties":false,"title":"Event Choice","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"min_activation_range":{"type":"number","title":"Minimum Activation Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"max_activation_range":{"type":"number","title":"Maxmimum Activation Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"cooldown_time":{"type":"number","title":"Cooldown Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"cast_duration":{"type":"number","title":"Cast Duration","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"filters":{"$ref":"#/definitions/BA"},"particle_color":{"type":"string","format":"color-hex","title":"Particle Color","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"weight":{"type":"integer","title":"Weight","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"start_sound_event":{"type":"string","title":"Start Sound Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"sequence":{"$ref":"#/definitions/DHA_sequence"}}}},"sequence":{"$ref":"#/definitions/DHA_sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Sequence"}},"examples":[{"cast_duration":0.0,"event_choices":[]}]},"DHB":{"description":"Allows the mob to send an event to another mob.","type":"object","title":"Share Items","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"entity_types":{"$ref":"#/definitions/CGA","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}]},"DHC":{"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/CFH"}}},"DHD":{"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/CFH"}}},"DHE":{"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/CFH"},"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}]},"DHF":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Goal Radius"},"sleep_collider_height":{"type":"number","default":1,"description":"The height of the mob's collider while sleeping","title":"Sleep Collider Height"},"sleep_collider_width":{"type":"number","default":1,"description":"The width of the mob's collider while sleeping","title":"Sleep Collider Width"},"sleep_y_offset":{"type":"number","default":1,"description":"The y offset of the mob's collider while sleeping","title":"Sleep Y Offset"},"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":[{"cooldown_time":0,"goal_radius":0,"sleep_collider_height":1,"sleep_collider_width":1,"sleep_y_offset":1,"timeout_cooldown":8}]},"DHG":{"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/CFH"},"set_persistent":{"type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player","title":"Set Persistent"}},"examples":[{"set_persistent":false}]},"DHH":{"additionalProperties":false,"description":"Can only be used by Slimes and Magma Cubes. Controls their ability to float in water / lava.","type":"object","title":"Slime Float","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"jump_chance_percentage":{"type":"number","title":"Sink Delta","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"jump_chance_percentage":0.0}]},"DHI":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"DHJ":{"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/CFH"},"add_random_time_range":{"type":"number","title":"Add Random Time Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"turn_range":{"type":"number","title":"Turn Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"min_change_direction_time":{"type":"number","title":"Minimum Change Direction Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"add_random_time_range":0.0,"turn_range":0.0,"min_change_direction_time":0.0}]},"DIA":{"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/CFH"},"items":{"title":"Items","description":"Items that we are interested in snacking on","oneOf":[{"type":"array","items":{"$ref":"#/definitions/G","title":"Item"}},{"$ref":"#/definitions/G"}]},"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}]},"DIB":{"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/CFH"},"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/CGA","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}]},"DIC":{"description":"Allows an entity to dive underwater.","type":"object","title":"Squid Dive","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"}}},"DID":{"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/CFH"}}},"DIE":{"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/CFH"}}},"DIF":{"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/CFH"}}},"DIG":{"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/CFH"}}},"DIH":{"description":"Allows the mob to stay at a certain level when in liquid.","type":"object","title":"Stalk And Pounce On Target","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Leap Dist"},"stuck_blocks":{"$ref":"#/definitions/BA","description":"UNDOCUMENTED","$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}]},"DII":{"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/CFH"}}},"DIJ":{"description":"Allows the mob to use the polar bear's melee attack.","type":"object","title":"Stomp Attack","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"attack_once":{"type":"boolean","default":false,"description":"If true, this mob will attack only one time.","title":"Attack Once"},"attack_types":{"type":"string","default":"","description":"Defines the entity types this mob will attack","title":"Attack Types"},"probability":{"type":"number","default":0.02,"description":"The probability of sneezing. A value of 1.00 is 100%","title":"Probability"},"random_stop_interval":{"type":"integer","default":0,"description":"Defines the probability the mob will stop fighting. A value of 0 disables randomly stopping, while a value of 1 defines a 50% chance","title":"Random Stop Interval"},"reach_multiplier":{"type":"number","default":2,"description":"Multiplier for how far outside its box the mob can reach its target (this can be used to simulate a mob with longer arms by making this bigger)","title":"Reach Multiplier"},"require_complete_path":{"type":"boolean","default":false,"description":"If true, this goal will only trigger if the mob can reach its target.","title":"Require Complete Path"},"sound":{"type":"string","description":"Sound to play when the sneeze occurs.","title":"Sound"},"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"},"stomp_range_multiplier":{"type":"number","title":"Stomp Range Multiplier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"no_damage_range_multiplier":{"type":"number","title":"No Damage Range Multiplier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"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}]},"DJA":{"description":"Allows this mob to stomp turtle eggs","type":"object","title":"Stomp Turtle Egg","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DJB":{"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/CFH"},"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}]},"DJC":{"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/CFH"},"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/BA"},"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":[]}]},"DJD":{"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/CFH"},"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}]},"DJE":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","title":"Swim Idle","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"idle_time":{"type":"number","title":"Idle Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"success_rate":{"type":"number","title":"Succes Rate","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"idle_time":0.0,"success_rate":0.0}]},"DJF":{"description":"Has the fish swim around when they can't pathfind","type":"object","title":"Swim Idle","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"interval":{"type":"number","title":"Interval","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"look_ahead":{"type":"number","title":"Look Ahead","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"wander_time":{"type":"number","title":"Wander Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"interval":0.0,"look_ahead":0.0,"wander_time":0.0}]},"DJG":{"type":"object","title":"Swim With Entity","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"success_rate":{"type":"number","title":"Success Rate","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"chance_to_stop":{"type":"number","title":"Chance To Stop","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"state_check_interval":{"type":"number","title":"State Check Interval","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"catch_up_threshold":{"type":"number","title":"Catch Up Threshold","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"match_direction_threshold":{"type":"number","title":"Match Direction Threshold","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"catch_up_multiplier":{"type":"number","title":"Catch Up Multiplier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"search_range":{"type":"number","title":"Search Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"stop_distance":{"type":"number","title":"Stop Distance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"entity_types":{"$ref":"#/definitions/CGA","title":"Entity Types","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"success_rate":0.0,"chance_to_stop":0.0,"state_check_interval":0.0,"catch_up_threshold":0.0,"match_direction_threshold":0.0,"catch_up_multiplier":0.0,"search_range":0.0,"stop_distance":0.0}]},"DJH":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"damage_reach":{"type":"number","title":"Damage Reach","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"delay_range":{"$ref":"#/definitions/ID","default":[[10.0,20.0]],"description":"Range of time in seconds between uses of this goal.","title":"Delay Range"}},"examples":[{"damage_reach":0.0}]},"DJI":{"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/CFH"}}},"DJJ":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","title":"Target When Pushed","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"entity_types":{"$ref":"#/definitions/CGA","title":"Entity Types","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"percent_chance":{"type":"number","title":"Percent Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"percent_chance":0.0}]},"EAA":{"description":"Allows the mob to be tempted by food they like.","type":"object","title":"Tempt","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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","title":"Can Tempt While Ridden","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"can_tempt_vertically":{"type":"boolean","title":"Can Tempt Vertically","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"items":{"type":"array","description":"List of items this mob is tempted by","items":{"$ref":"#/definitions/G"},"title":"Items"},"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}]},"EAB":{"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/CFH"},"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}]},"EAC":{"description":"Allows the player to trade with this mob.","type":"object","title":"Trade With Player","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"}}},"EAD":{"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/CFH"},"entity_types":{"$ref":"#/definitions/CGA","description":"List of entities this mob can copy the owner from.","title":"Entity Types"}}},"EAE":{"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/CFH"},"entity_types":{"$ref":"#/definitions/CGA","description":"List of entities this mob can copy the owner from.","title":"Entity Types"}}},"EAF":{"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/CFH"}}},"EAG":{"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/CFH"},"entity_types":{"$ref":"#/definitions/CGA","description":"List of entity types the wither takes into account to find who dealt the most damage to it","title":"Entity Types"}}},"EAH":{"type":"object","title":"Work","description":"Allows an entity to navigate and interact with a point of interest that has been assigned as their worksite.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"active_time":{"type":"integer","default":0,"description":"The amount of ticks the NPC will stay in their the work location","title":"Active Time"},"can_work_in_rain":{"type":"boolean","default":false,"description":"If true, this entity can work when their jobsite POI is being rained on.","title":"Can Work In Rain"},"goal_cooldown":{"type":"integer","default":0,"description":"The amount of ticks the goal will be on cooldown before it can be used again","title":"Goal Cooldown"},"on_arrival":{"$ref":"#/definitions/H","description":"Event to run when the mob reaches their jobsite and finishes working.","title":"On Arrival"},"sound_delay_max":{"type":"integer","default":0,"description":"The Maximum interval in which a sound will play","title":"Sound Delay Maximum"},"sound_delay_min":{"type":"integer","default":0,"description":"The Minimum interval in which a sound will play","title":"Sound Delay Minimum"},"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","title":"Work In Rain Tolerance"}},"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}]},"D":{"additionalProperties":false,"type":"object","title":"Components","description":"A collection of components","required":[],"properties":{"minecraft:addrider":{"$ref":"#/definitions/E"},"minecraft:ageable":{"$ref":"#/definitions/F"},"minecraft:ambient_sound_interval":{"$ref":"#/definitions/I"},"minecraft:angry":{"$ref":"#/definitions/J"},"minecraft:annotation.break_door":{"$ref":"#/definitions/IA"},"minecraft:annotation.open_door":{"$ref":"#/definitions/IB"},"minecraft:attack":{"$ref":"#/definitions/IC"},"minecraft:attack_damage":{"$ref":"#/definitions/IE"},"minecraft:balloonable":{"$ref":"#/definitions/IF"},"minecraft:block_climber":{"$ref":"#/definitions/IG"},"minecraft:boss":{"$ref":"#/definitions/IH"},"minecraft:boostable":{"$ref":"#/definitions/II"},"minecraft:break_blocks":{"$ref":"#/definitions/IJ"},"minecraft:breathable":{"$ref":"#/definitions/JB"},"minecraft:breedable":{"$ref":"#/definitions/JD"},"minecraft:bribeable":{"$ref":"#/definitions/JE"},"minecraft:burns_in_daylight":{"$ref":"#/definitions/JF"},"minecraft:can_climb":{"$ref":"#/definitions/JG"},"minecraft:can_fly":{"$ref":"#/definitions/JH"},"minecraft:can_power_jump":{"$ref":"#/definitions/JI"},"minecraft:collision_box":{"$ref":"#/definitions/JJ"},"minecraft:color":{"$ref":"#/definitions/BAA"},"minecraft:color2":{"$ref":"#/definitions/BAB"},"minecraft:combat_regeneration":{"$ref":"#/definitions/BAC"},"minecraft:drying_out_timer":{"$ref":"#/definitions/BAD"},"minecraft:conditional_bandwidth_optimization":{"$ref":"#/definitions/BAE"},"minecraft:custom_hit_test":{"$ref":"#/definitions/BAF"},"minecraft:damage_over_time":{"$ref":"#/definitions/BAG"},"minecraft:damage_sensor":{"$ref":"#/definitions/BAH"},"minecraft:default_look_angle":{"$ref":"#/definitions/BAJ"},"minecraft:despawn":{"$ref":"#/definitions/BBA"},"minecraft:dweller":{"$ref":"#/definitions/BBB"},"minecraft:economy_trade_table":{"$ref":"#/definitions/BBC"},"minecraft:environment_sensor":{"$ref":"#/definitions/BBD"},"minecraft:equipment":{"$ref":"#/definitions/BBE"},"minecraft:equippable":{"$ref":"#/definitions/BBG"},"minecraft:explode":{"$ref":"#/definitions/BBH"},"minecraft:fall_damage":{"$ref":"#/definitions/BBI"},"minecraft:fire_immune":{"$ref":"#/definitions/BBJ"},"minecraft:flocking":{"$ref":"#/definitions/BCA"},"minecraft:floats_in_liquid":{"$ref":"#/definitions/BCB"},"minecraft:flying_speed":{"$ref":"#/definitions/BCC"},"minecraft:follow_range":{"$ref":"#/definitions/BCD"},"minecraft:friction_modifier":{"$ref":"#/definitions/BCE"},"minecraft:genetics":{"$ref":"#/definitions/BCF"},"minecraft:giveable":{"$ref":"#/definitions/BCG"},"minecraft:ground_offset":{"$ref":"#/definitions/BCH"},"minecraft:healable":{"$ref":"#/definitions/BCI"},"minecraft:health":{"$ref":"#/definitions/BCJ"},"minecraft:hurt_when_wet":{"$ref":"#/definitions/BDA"},"minecraft:hurt_on_condition":{"$ref":"#/definitions/BDB"},"minecraft:input_ground_controlled":{"$ref":"#/definitions/BDC"},"minecraft:inside_block_notifier":{"$ref":"#/definitions/BDD"},"minecraft:insomnia":{"$ref":"#/definitions/BDF"},"minecraft:interact":{"$ref":"#/definitions/BDG"},"minecraft:inventory":{"$ref":"#/definitions/BDH"},"minecraft:is_baby":{"$ref":"#/definitions/BDI"},"minecraft:is_charged":{"$ref":"#/definitions/BDJ"},"minecraft:is_chested":{"$ref":"#/definitions/BEA"},"minecraft:is_dyeable":{"$ref":"#/definitions/BEB"},"minecraft:is_hidden_when_invisible":{"$ref":"#/definitions/BEC"},"minecraft:is_ignited":{"$ref":"#/definitions/BED"},"minecraft:is_illager_captain":{"$ref":"#/definitions/BEE"},"minecraft:is_saddled":{"$ref":"#/definitions/BEF"},"minecraft:is_shaking":{"$ref":"#/definitions/BEG"},"minecraft:is_sheared":{"$ref":"#/definitions/BEH"},"minecraft:is_stackable":{"$ref":"#/definitions/BEI"},"minecraft:is_stunned":{"$ref":"#/definitions/BEJ"},"minecraft:is_tamed":{"$ref":"#/definitions/BFA"},"minecraft:item_controllable":{"$ref":"#/definitions/BFB"},"minecraft:item_hopper":{"$ref":"#/definitions/BFC"},"minecraft:jump.dynamic":{"$ref":"#/definitions/BFD"},"minecraft:jump.static":{"$ref":"#/definitions/BFE"},"minecraft:knockback_resistance":{"$ref":"#/definitions/BFF"},"minecraft:lava_movement":{"$ref":"#/definitions/BFG"},"minecraft:leashable":{"$ref":"#/definitions/BFH"},"minecraft:lookat":{"$ref":"#/definitions/BFI"},"minecraft:loot":{"$ref":"#/definitions/BFJ"},"minecraft:managed_wandering_trader":{"$ref":"#/definitions/BGA"},"minecraft:mark_variant":{"$ref":"#/definitions/BGB"},"minecraft:movement":{"$ref":"#/definitions/BGC"},"minecraft:movement.amphibious":{"$ref":"#/definitions/BGD"},"minecraft:movement.basic":{"$ref":"#/definitions/BGE"},"minecraft:movement.fly":{"$ref":"#/definitions/BGF"},"minecraft:movement.generic":{"$ref":"#/definitions/BGG"},"minecraft:movement.glide":{"$ref":"#/definitions/BGH"},"minecraft:movement.jump":{"$ref":"#/definitions/BGI"},"minecraft:movement.skip":{"$ref":"#/definitions/BGJ"},"minecraft:movement.sway":{"$ref":"#/definitions/BHA"},"minecraft:nameable":{"$ref":"#/definitions/BHB"},"minecraft:navigation.climb":{"$ref":"#/definitions/BHC"},"minecraft:navigation.float":{"$ref":"#/definitions/BHD"},"minecraft:navigation.fly":{"$ref":"#/definitions/BHE"},"minecraft:navigation.generic":{"$ref":"#/definitions/BHF"},"minecraft:navigation.swim":{"$ref":"#/definitions/BHG"},"minecraft:navigation.walk":{"$ref":"#/definitions/BHH"},"minecraft:on_death":{"$ref":"#/definitions/BHI"},"minecraft:on_friendly_anger":{"$ref":"#/definitions/BHJ"},"minecraft:on_hurt":{"$ref":"#/definitions/BIA"},"minecraft:on_hurt_by_player":{"$ref":"#/definitions/BIB"},"minecraft:on_ignite":{"$ref":"#/definitions/BIC"},"minecraft:on_start_landing":{"$ref":"#/definitions/BID"},"minecraft:on_start_takeoff":{"$ref":"#/definitions/BIE"},"minecraft:on_target_acquired":{"$ref":"#/definitions/BIF"},"minecraft:on_target_escape":{"$ref":"#/definitions/BIG"},"minecraft:on_wake_with_owner":{"$ref":"#/definitions/BIH"},"minecraft:out_of_control":{"$ref":"#/definitions/BII"},"minecraft:player.saturation":{"$ref":"#/definitions/BIJ"},"minecraft:player.exhaustion":{"$ref":"#/definitions/BJA"},"minecraft:player.level":{"$ref":"#/definitions/BJB"},"minecraft:player.experience":{"$ref":"#/definitions/BJC"},"minecraft:peek":{"$ref":"#/definitions/BJD"},"minecraft:persistent":{"$ref":"#/definitions/BJE"},"minecraft:physics":{"$ref":"#/definitions/BJF"},"minecraft:preferred_path":{"$ref":"#/definitions/BJG"},"minecraft:projectile":{"$ref":"#/definitions/BJH"},"minecraft:push_through":{"$ref":"#/definitions/BJI"},"minecraft:pushable":{"$ref":"#/definitions/BJJ"},"minecraft:raid_trigger":{"$ref":"#/definitions/CAA"},"minecraft:rail_movement":{"$ref":"#/definitions/CAB"},"minecraft:rail_sensor":{"$ref":"#/definitions/CAC"},"minecraft:ravager_blocked":{"$ref":"#/definitions/CAD"},"minecraft:rideable":{"$ref":"#/definitions/CAE"},"minecraft:scale":{"$ref":"#/definitions/CAH"},"minecraft:scale_by_age":{"$ref":"#/definitions/CAI"},"minecraft:scheduler":{"$ref":"#/definitions/CAJ"},"minecraft:shareables":{"$ref":"#/definitions/CBA"},"minecraft:shooter":{"$ref":"#/definitions/CBB"},"minecraft:sittable":{"$ref":"#/definitions/CBC"},"minecraft:skin_id":{"$ref":"#/definitions/CBD"},"minecraft:sound_volume":{"$ref":"#/definitions/CBE"},"minecraft:spawn_entity":{"$ref":"#/definitions/CBF"},"minecraft:spell_effects":{"$ref":"#/definitions/CBG"},"minecraft:tameable":{"$ref":"#/definitions/CBH"},"minecraft:tamemount":{"$ref":"#/definitions/CBI"},"minecraft:target_nearby_sensor":{"$ref":"#/definitions/CBJ"},"minecraft:teleport":{"$ref":"#/definitions/CCA"},"minecraft:tick_world":{"$ref":"#/definitions/CCB"},"minecraft:timer":{"$ref":"#/definitions/CCC"},"minecraft:trade_table":{"$ref":"#/definitions/CCD"},"minecraft:transformation":{"$ref":"#/definitions/CCE"},"minecraft:trust":{"$ref":"#/definitions/CCF"},"minecraft:trusting":{"$ref":"#/definitions/CCG"},"minecraft:type_family":{"$ref":"#/definitions/CCH"},"minecraft:variant":{"$ref":"#/definitions/CCI"},"minecraft:underwater_movement":{"$ref":"#/definitions/CCJ"},"minecraft:walk_animation_speed":{"$ref":"#/definitions/CDA"},"minecraft:wants_jockey":{"$ref":"#/definitions/CDB"},"minecraft:water_movement":{"$ref":"#/definitions/CDC"},"minecraft:admire_item":{"$ref":"#/definitions/CDD"},"minecraft:area_attack":{"$ref":"#/definitions/CDE"},"minecraft:attack_cooldown":{"$ref":"#/definitions/CDF"},"minecraft:barter":{"$ref":"#/definitions/CDG"},"minecraft:block_sensor":{"$ref":"#/definitions/CDH"},"minecraft:buoyant":{"$ref":"#/definitions/CDI"},"minecraft:celebrate_hunt":{"$ref":"#/definitions/CDJ"},"minecraft:entity_sensor":{"$ref":"#/definitions/CEA"},"minecraft:equip_item":{"$ref":"#/definitions/CEB"},"minecraft:experience_reward":{"$ref":"#/definitions/CEC"},"minecraft:group_size":{"$ref":"#/definitions/CED"},"minecraft:grows_crop":{"$ref":"#/definitions/CEE"},"minecraft:home":{"$ref":"#/definitions/CEF"},"minecraft:instant_despawn":{"$ref":"#/definitions/CEG"},"minecraft:mob_effect":{"$ref":"#/definitions/CEH"},"minecraft:movement.hover":{"$ref":"#/definitions/CEI"},"minecraft:navigation.hover":{"$ref":"#/definitions/CEJ"},"minecraft:npc":{"$ref":"#/definitions/CFA"},"minecraft:strength":{"$ref":"#/definitions/CFB"},"minecraft:trail":{"$ref":"#/definitions/CFC"},"minecraft:hide":{"$ref":"#/definitions/CFD"},"minecraft:horse.jump_strength":{"$ref":"#/definitions/CFE"},"minecraft:trade_resupply":{"$ref":"#/definitions/CFF"},"minecraft:behavior.admire_item":{"$ref":"#/definitions/CFG"},"minecraft:behavior.avoid_block":{"$ref":"#/definitions/CFI"},"minecraft:behavior.avoid_mob_type":{"$ref":"#/definitions/CFJ"},"minecraft:behavior.barter":{"$ref":"#/definitions/CGB"},"minecraft:behavior.beg":{"$ref":"#/definitions/CGC"},"minecraft:behavior.break_door":{"$ref":"#/definitions/CGD"},"minecraft:behavior.breed":{"$ref":"#/definitions/CGF"},"minecraft:behavior.celebrate":{"$ref":"#/definitions/CGG"},"minecraft:behavior.charge_attack":{"$ref":"#/definitions/CGH"},"minecraft:behavior.charge_held_item":{"$ref":"#/definitions/CGI"},"minecraft:behavior.circle_around_anchor":{"$ref":"#/definitions/CGJ"},"minecraft:behavior.controlled_by_player":{"$ref":"#/definitions/CHA"},"minecraft:behavior.defend_trusted_target":{"$ref":"#/definitions/CHB"},"minecraft:behavior.defend_village_target":{"$ref":"#/definitions/CHC"},"minecraft:behavior.delayed_attack":{"$ref":"#/definitions/CHD"},"minecraft:behavior.door_interact":{"$ref":"#/definitions/CHE"},"minecraft:behavior.dragonchargeplayer":{"$ref":"#/definitions/CHF"},"minecraft:behavior.dragondeath":{"$ref":"#/definitions/CHG"},"minecraft:behavior.dragonflaming":{"$ref":"#/definitions/CHH"},"minecraft:behavior.dragonholdingpattern":{"$ref":"#/definitions/CHI"},"minecraft:behavior.dragonlanding":{"$ref":"#/definitions/CHJ"},"minecraft:behavior.dragonscanning":{"$ref":"#/definitions/CIA"},"minecraft:behavior.dragonstrafeplayer":{"$ref":"#/definitions/CIB"},"minecraft:behavior.dragontakeoff":{"$ref":"#/definitions/CIC"},"minecraft:behavior.drink_potion":{"$ref":"#/definitions/CID"},"minecraft:behavior.drop_item_for":{"$ref":"#/definitions/CIE"},"minecraft:behavior.eat_block":{"$ref":"#/definitions/CIF"},"minecraft:behavior.eat_carried_item":{"$ref":"#/definitions/CIG"},"minecraft:behavior.enderman_leave_block":{"$ref":"#/definitions/CIH"},"minecraft:behavior.enderman_take_block":{"$ref":"#/definitions/CII"},"minecraft:behavior.equip_item":{"$ref":"#/definitions/CIJ"},"minecraft:behavior.explore_outskirts":{"$ref":"#/definitions/CJA"},"minecraft:behavior.find_cover":{"$ref":"#/definitions/CJB"},"minecraft:behavior.find_mount":{"$ref":"#/definitions/CJC"},"minecraft:behavior.find_underwater_treasure":{"$ref":"#/definitions/CJD"},"minecraft:behavior.flee_sun":{"$ref":"#/definitions/CJE"},"minecraft:behavior.float":{"$ref":"#/definitions/CJF"},"minecraft:behavior.float_wander":{"$ref":"#/definitions/CJG"},"minecraft:behavior.follow_caravan":{"$ref":"#/definitions/CJH"},"minecraft:behavior.follow_mob":{"$ref":"#/definitions/CJI"},"minecraft:behavior.follow_owner":{"$ref":"#/definitions/CJJ"},"minecraft:behavior.follow_parent":{"$ref":"#/definitions/DAA"},"minecraft:behavior.follow_target_captain":{"$ref":"#/definitions/DAB"},"minecraft:behavior.go_home":{"$ref":"#/definitions/DAC"},"minecraft:behavior.guardian_attack":{"$ref":"#/definitions/DAD"},"minecraft:behavior.harvest_farm_block":{"$ref":"#/definitions/DAE"},"minecraft:behavior.hide":{"$ref":"#/definitions/DAF"},"minecraft:behavior.hold_ground":{"$ref":"#/definitions/DAG"},"minecraft:behavior.hurt_by_target":{"$ref":"#/definitions/DAH"},"minecraft:behavior.inspect_bookshelf":{"$ref":"#/definitions/DAI"},"minecraft:behavior.jump_to_block":{"$ref":"#/definitions/DAJ"},"minecraft:behavior.knockback_roar":{"$ref":"#/definitions/DBA"},"minecraft:behavior.lay_down":{"$ref":"#/definitions/DBB"},"minecraft:behavior.lay_egg":{"$ref":"#/definitions/DBC"},"minecraft:behavior.leap_at_target":{"$ref":"#/definitions/DBD"},"minecraft:behavior.look_at_entity":{"$ref":"#/definitions/DBE"},"minecraft:behavior.look_at_player":{"$ref":"#/definitions/DBF"},"minecraft:behavior.look_at_target":{"$ref":"#/definitions/DBG"},"minecraft:behavior.look_at_trading_player":{"$ref":"#/definitions/DBH"},"minecraft:behavior.make_love":{"$ref":"#/definitions/DBI"},"minecraft:behavior.melee_attack":{"$ref":"#/definitions/DBJ"},"minecraft:behavior.mingle":{"$ref":"#/definitions/DCA"},"minecraft:behavior.mount_pathing":{"$ref":"#/definitions/DCB"},"minecraft:behavior.move_indoors":{"$ref":"#/definitions/DCC"},"minecraft:behavior.move_through_village":{"$ref":"#/definitions/DCD"},"minecraft:behavior.move_to_block":{"$ref":"#/definitions/DCE"},"minecraft:behavior.move_to_land":{"$ref":"#/definitions/DCF"},"minecraft:behavior.move_to_lava":{"$ref":"#/definitions/DCG"},"minecraft:behavior.move_to_liquid":{"$ref":"#/definitions/DCH"},"minecraft:behavior.move_to_poi":{"$ref":"#/definitions/DCI"},"minecraft:behavior.move_to_random_block":{"$ref":"#/definitions/DCJ"},"minecraft:behavior.move_to_village":{"$ref":"#/definitions/DDA"},"minecraft:behavior.move_to_water":{"$ref":"#/definitions/DDB"},"minecraft:behavior.move_towards_dwelling_restriction":{"$ref":"#/definitions/DDC"},"minecraft:behavior.move_towards_home_restriction":{"$ref":"#/definitions/DDD"},"minecraft:behavior.move_towards_restriction":{"$ref":"#/definitions/DDE"},"minecraft:behavior.move_towards_target":{"$ref":"#/definitions/DDF"},"minecraft:behavior.nap":{"$ref":"#/definitions/DDG"},"minecraft:behavior.nearest_attackable_target":{"$ref":"#/definitions/DDH"},"minecraft:behavior.nearest_prioritized_attackable_target":{"$ref":"#/definitions/DDI"},"minecraft:behavior.ocelot_sit_on_block":{"$ref":"#/definitions/DDJ"},"minecraft:behavior.ocelotattack":{"$ref":"#/definitions/DEA"},"minecraft:behavior.offer_flower":{"$ref":"#/definitions/DEB"},"minecraft:behavior.open_door":{"$ref":"#/definitions/DEC"},"minecraft:behavior.owner_hurt_by_target":{"$ref":"#/definitions/DED"},"minecraft:behavior.owner_hurt_target":{"$ref":"#/definitions/DEE"},"minecraft:behavior.panic":{"$ref":"#/definitions/DEF"},"minecraft:behavior.peek":{"$ref":"#/definitions/DEG"},"minecraft:behavior.pet_sleep_with_owner":{"$ref":"#/definitions/DEH"},"minecraft:behavior.pickup_items":{"$ref":"#/definitions/DEI"},"minecraft:behavior.play":{"$ref":"#/definitions/DEJ"},"minecraft:behavior.play_dead":{"$ref":"#/definitions/DFA"},"minecraft:behavior.player_ride_tamed":{"$ref":"#/definitions/DFB"},"minecraft:behavior.raid_garden":{"$ref":"#/definitions/DFC"},"minecraft:behavior.ram_attack":{"$ref":"#/definitions/DFD"},"minecraft:behavior.random_breach":{"$ref":"#/definitions/DFE"},"minecraft:behavior.random_fly":{"$ref":"#/definitions/DFF"},"minecraft:behavior.random_hover":{"$ref":"#/definitions/DFG"},"minecraft:behavior.random_look_around":{"$ref":"#/definitions/DFH"},"minecraft:behavior.random_look_around_and_sit":{"$ref":"#/definitions/DFI"},"minecraft:behavior.random_sitting":{"$ref":"#/definitions/DFJ"},"minecraft:behavior.random_stroll":{"$ref":"#/definitions/DGA"},"minecraft:behavior.random_swim":{"$ref":"#/definitions/DGB"},"minecraft:behavior.ranged_attack":{"$ref":"#/definitions/DGC"},"minecraft:behavior.receive_love":{"$ref":"#/definitions/DGD"},"minecraft:behavior.restrict_open_door":{"$ref":"#/definitions/DGE"},"minecraft:behavior.restrict_sun":{"$ref":"#/definitions/DGF"},"minecraft:behavior.rise_to_liquid_level":{"$ref":"#/definitions/DGG"},"minecraft:behavior.roll":{"$ref":"#/definitions/DGH"},"minecraft:behavior.run_around_like_crazy":{"$ref":"#/definitions/DGI"},"minecraft:behavior.scared":{"$ref":"#/definitions/DGJ"},"minecraft:behavior.send_event":{"$ref":"#/definitions/DHA"},"minecraft:behavior.share_items":{"$ref":"#/definitions/DHB"},"minecraft:behavior.silverfish_merge_with_stone":{"$ref":"#/definitions/DHC"},"minecraft:behavior.silverfish_wake_up_friends":{"$ref":"#/definitions/DHD"},"minecraft:behavior.skeleton_horse_trap":{"$ref":"#/definitions/DHE"},"minecraft:behavior.sleep":{"$ref":"#/definitions/DHF"},"minecraft:behavior.slime_attack":{"$ref":"#/definitions/DHG"},"minecraft:behavior.slime_float":{"$ref":"#/definitions/DHH"},"minecraft:behavior.slime_keep_on_jumping":{"$ref":"#/definitions/DHI"},"minecraft:behavior.slime_random_direction":{"$ref":"#/definitions/DHJ"},"minecraft:behavior.snacking":{"$ref":"#/definitions/DIA"},"minecraft:behavior.sneeze":{"$ref":"#/definitions/DIB"},"minecraft:behavior.squid_dive":{"$ref":"#/definitions/DIC"},"minecraft:behavior.squid_flee":{"$ref":"#/definitions/DID"},"minecraft:behavior.squid_idle":{"$ref":"#/definitions/DIE"},"minecraft:behavior.squid_move_away_from_ground":{"$ref":"#/definitions/DIF"},"minecraft:behavior.squid_out_of_water":{"$ref":"#/definitions/DIG"},"minecraft:behavior.stalk_and_pounce_on_target":{"$ref":"#/definitions/DIH"},"minecraft:behavior.stay_while_sitting":{"$ref":"#/definitions/DII"},"minecraft:behavior.stomp_attack":{"$ref":"#/definitions/DIJ"},"minecraft:behavior.stomp_turtle_egg":{"$ref":"#/definitions/DJA"},"minecraft:behavior.stroll_towards_village":{"$ref":"#/definitions/DJB"},"minecraft:behavior.summon_entity":{"$ref":"#/definitions/DJC"},"minecraft:behavior.swell":{"$ref":"#/definitions/DJD"},"minecraft:behavior.swim_idle":{"$ref":"#/definitions/DJE"},"minecraft:behavior.swim_wander":{"$ref":"#/definitions/DJF"},"minecraft:behavior.swim_with_entity":{"$ref":"#/definitions/DJG"},"minecraft:behavior.swoop_attack":{"$ref":"#/definitions/DJH"},"minecraft:behavior.take_flower":{"$ref":"#/definitions/DJI"},"minecraft:behavior.target_when_pushed":{"$ref":"#/definitions/DJJ"},"minecraft:behavior.tempt":{"$ref":"#/definitions/EAA"},"minecraft:behavior.trade_interest":{"$ref":"#/definitions/EAB"},"minecraft:behavior.trade_with_player":{"$ref":"#/definitions/EAC"},"minecraft:behavior.vex_copy_owner_target":{"$ref":"#/definitions/EAD"},"minecraft:behavior.vex_random_move":{"$ref":"#/definitions/EAE"},"minecraft:behavior.wither_random_attack_pos_goal":{"$ref":"#/definitions/EAF"},"minecraft:behavior.wither_target_highest_damage":{"$ref":"#/definitions/EAG"},"minecraft:behavior.work":{"$ref":"#/definitions/EAH"}}},"EAI_addremove":{"additionalProperties":false,"title":"Add Or Remove","description":"The components groups to add or remove","type":"object","examples":[{"component_groups":[]}],"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"}}}},"EAI_event_base":{"additionalProperties":false,"type":"object","examples":[{},{"add":{"component_groups":[]}},{"remove":{"component_groups":[]}}],"properties":{"filters":{"$ref":"#/definitions/BA"},"trigger":{"type":"string","description":"Triggers additional events","$comment":"UNDOCUMENTED","title":"Trigger"},"add":{"$ref":"#/definitions/EAI_addremove","description":"What gets added when the event gets triggered","title":"Add"},"remove":{"$ref":"#/definitions/EAI_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":{"required":["weight"],"description":"Randomly selects one of the following items based upon their weight and the total weights","title":"Randomize","properties":{"add":{"$ref":"#/definitions/EAI_addremove","description":"What gets added when the event gets triggered","title":"Add"},"remove":{"$ref":"#/definitions/EAI_addremove","description":"What gets removed when the event gets triggered","title":"Remove"},"trigger":{"type":"string","description":"Triggers additional events","$comment":"UNDOCUMENTED","title":"Trigger"},"weight":{"type":"number","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/EAI_addremove","description":"What gets added when the event gets triggered","title":"Add"},"remove":{"$ref":"#/definitions/EAI_addremove","description":"What gets removed when the event gets triggered","title":"Remove"},"trigger":{"type":"string","description":"Triggers additional events","$comment":"UNDOCUMENTED","title":"Trigger"},"filters":{"$ref":"#/definitions/BA"}}}}}},"EAI":{"type":"object","title":"Events","description":"Events for entities","additionalProperties":{"$ref":"#/definitions/EAI_event_base"},"properties":{"minecraft:entity_transformed":{"description":"Event called on an entity that transforms into another entity.","$ref":"#/definitions/EAI_event_base","title":"Entity Transformed"},"minecraft:entity_born":{"description":"Event called on an entity that is spawned through two entities breeding.","$ref":"#/definitions/EAI_event_base","title":"Entity Born"},"minecraft:entity_spawned":{"description":"Event called on an entity that is placed in the level.","$ref":"#/definitions/EAI_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/EAI_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/EAI","uniqueItems":true,"description":"The events that the entity can run, these add or remove components_groups","title":"Events"}}}}} \ No newline at end of file +{"$id":"blockception.minecraft.behavior.entities","examples":[{"format_version":"1.17.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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]},"C":{"description":"A minecraft entity identifier","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Entity Identifier 1.8.0","type":"string"},"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"}]},"G":{"description":"A minecraft item identifier","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item Identifier","type":"string"},"H":{"title":"Event","description":"Minecraft behavior event","examples":[{"event":"example:foo","target":"self"}],"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"]}}}]},"F":{"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/G"}},{"type":"string","$ref":"#/definitions/G"}],"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/G"}},{"type":"array","items":{"type":"object","properties":{"growth":{"type":"number"},"item":{"$ref":"#/definitions/G"}}}},{"type":"string","$ref":"#/definitions/G"}],"title":"Feed Items"},"grow_up":{"$ref":"#/definitions/H","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"}]},"I":{"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"},"range":{"type":"number","default":16,"description":"Maximum time in seconds to randomly add to the ambient sound delay time.","title":"Range"},"value":{"type":"number","default":8,"description":"Minimum time in seconds before the entity plays its ambient sound again","title":"Value"}},"examples":[{"event_name":"ambient","range":16,"value":8}]},"BA_filters_spec":{"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/BA_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/BA_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/BA_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/BA_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/BA_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/BA_groups_spec"}},"allOf":[{"if":{"properties":{"test":{"const":"clock_time"}}},"then":{"$ref":"#/definitions/BB"}},{"if":{"properties":{"test":{"const":"distance_to_nearest_player"}}},"then":{"$ref":"#/definitions/BE"}},{"if":{"properties":{"test":{"const":"has_ability"}}},"then":{"$ref":"#/definitions/BF"}},{"if":{"properties":{"test":{"const":"has_biome_tag"}}},"then":{"$ref":"#/definitions/BG"}},{"if":{"properties":{"test":{"const":"has_component"}}},"then":{"$ref":"#/definitions/BH"}},{"if":{"properties":{"test":{"const":"has_container_open"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"test":{"const":"has_damage"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"test":{"const":"has_equipment"}}},"then":{"$ref":"#/definitions/CB"}},{"if":{"properties":{"test":{"const":"has_mob_effect"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"test":{"const":"has_ranged_weapon"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"test":{"const":"has_tag"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"test":{"const":"has_target"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"test":{"const":"has_trade_supply"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"test":{"const":"hourly_clock_time"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"test":{"const":"in_block"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"test":{"const":"in_caravan"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"test":{"const":"in_clouds"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"test":{"const":"in_lava"}}},"then":{"$ref":"#/definitions/DB"}},{"if":{"properties":{"test":{"const":"in_nether"}}},"then":{"$ref":"#/definitions/DC"}},{"if":{"properties":{"test":{"const":"in_water"}}},"then":{"$ref":"#/definitions/DD"}},{"if":{"properties":{"test":{"const":"in_water_or_rain"}}},"then":{"$ref":"#/definitions/DE"}},{"if":{"properties":{"test":{"const":"in_contact_with_water"}}},"then":{"$ref":"#/definitions/DF"}},{"if":{"properties":{"test":{"const":"inactivity_timer"}}},"then":{"$ref":"#/definitions/DG"}},{"if":{"properties":{"test":{"const":"is_altitude"}}},"then":{"$ref":"#/definitions/DH"}},{"if":{"properties":{"test":{"const":"is_avoiding_mobs"}}},"then":{"$ref":"#/definitions/DI"}},{"if":{"properties":{"test":{"const":"is_biome"}}},"then":{"$ref":"#/definitions/DJ"}},{"if":{"properties":{"test":{"const":"is_block"}}},"then":{"$ref":"#/definitions/EA"}},{"if":{"properties":{"test":{"const":"is_brightness"}}},"then":{"$ref":"#/definitions/EB"}},{"if":{"properties":{"test":{"const":"is_climbing"}}},"then":{"$ref":"#/definitions/EC"}},{"if":{"properties":{"test":{"const":"is_color"}}},"then":{"$ref":"#/definitions/ED"}},{"if":{"properties":{"test":{"const":"is_daytime"}}},"then":{"$ref":"#/definitions/EE"}},{"if":{"properties":{"test":{"const":"is_difficulty"}}},"then":{"$ref":"#/definitions/EF"}},{"if":{"properties":{"test":{"const":"is_family"}}},"then":{"$ref":"#/definitions/EG"}},{"if":{"properties":{"test":{"const":"is_game_rule"}}},"then":{"$ref":"#/definitions/EH"}},{"if":{"properties":{"test":{"const":"is_humid"}}},"then":{"$ref":"#/definitions/EI"}},{"if":{"properties":{"test":{"const":"is_immobile"}}},"then":{"$ref":"#/definitions/EJ"}},{"if":{"properties":{"test":{"const":"is_in_village"}}},"then":{"$ref":"#/definitions/FA"}},{"if":{"properties":{"test":{"const":"is_leashed"}}},"then":{"$ref":"#/definitions/FB"}},{"if":{"properties":{"test":{"const":"is_leashed_to"}}},"then":{"$ref":"#/definitions/FC"}},{"if":{"properties":{"test":{"const":"is_mark_variant"}}},"then":{"$ref":"#/definitions/FD"}},{"if":{"properties":{"test":{"const":"is_moving"}}},"then":{"$ref":"#/definitions/FE"}},{"if":{"properties":{"test":{"const":"is_owner"}}},"then":{"$ref":"#/definitions/FF"}},{"if":{"properties":{"test":{"const":"is_persistent"}}},"then":{"$ref":"#/definitions/FG"}},{"if":{"properties":{"test":{"const":"is_riding"}}},"then":{"$ref":"#/definitions/FH"}},{"if":{"properties":{"test":{"const":"is_skin_id"}}},"then":{"$ref":"#/definitions/FI"}},{"if":{"properties":{"test":{"const":"is_sleeping"}}},"then":{"$ref":"#/definitions/FJ"}},{"if":{"properties":{"test":{"const":"is_sneaking"}}},"then":{"$ref":"#/definitions/GA"}},{"if":{"properties":{"test":{"const":"is_snow_covered"}}},"then":{"$ref":"#/definitions/GB"}},{"if":{"properties":{"test":{"const":"is_target"}}},"then":{"$ref":"#/definitions/GC"}},{"if":{"properties":{"test":{"const":"is_temperature_type"}}},"then":{"$ref":"#/definitions/GD"}},{"if":{"properties":{"test":{"const":"is_temperature_value"}}},"then":{"$ref":"#/definitions/GE"}},{"if":{"properties":{"test":{"const":"is_underground"}}},"then":{"$ref":"#/definitions/GF"}},{"if":{"properties":{"test":{"const":"is_underwater"}}},"then":{"$ref":"#/definitions/GG"}},{"if":{"properties":{"test":{"const":"is_variant"}}},"then":{"$ref":"#/definitions/GH"}},{"if":{"properties":{"test":{"const":"is_visible"}}},"then":{"$ref":"#/definitions/GI"}},{"if":{"properties":{"test":{"const":"light_level"}}},"then":{"$ref":"#/definitions/GJ"}},{"if":{"properties":{"test":{"const":"moon_intensity"}}},"then":{"$ref":"#/definitions/HA"}},{"if":{"properties":{"test":{"const":"moon_phase"}}},"then":{"$ref":"#/definitions/HB"}},{"if":{"properties":{"test":{"const":"on_ground"}}},"then":{"$ref":"#/definitions/HC"}},{"if":{"properties":{"test":{"const":"on_ladder"}}},"then":{"$ref":"#/definitions/HD"}},{"if":{"properties":{"test":{"const":"random_chance"}}},"then":{"$ref":"#/definitions/HE"}},{"if":{"properties":{"test":{"const":"rider_count"}}},"then":{"$ref":"#/definitions/HF"}},{"if":{"properties":{"test":{"const":"surface_mob"}}},"then":{"$ref":"#/definitions/HG"}},{"if":{"properties":{"test":{"const":"trusts"}}},"then":{"$ref":"#/definitions/HH"}},{"if":{"properties":{"test":{"const":"weather"}}},"then":{"$ref":"#/definitions/HI"}},{"if":{"properties":{"test":{"const":"weather_at_position"}}},"then":{"$ref":"#/definitions/HJ"}},{"not":{"properties":{"test":{"const":"is_weather"}},"$comment":"DEPRECATED"}}]}]},"BA_groups_spec":{"oneOf":[{"type":"array","items":{"$ref":"#/definitions/BA_groups_spec"}},{"type":"object","$ref":"#/definitions/BA_filters_spec"}]},"BC":{"title":"Operator","type":"string","description":"The comparison to apply with `value`.","default":"equals","enum":["!=","<","<=","<>","=","==",">",">=","equals","not"]},"BD":{"title":"Subject","type":"string","description":"The subject of this filter test.","default":"self","enum":["block","other","parent","player","self","target","damager"]},"BB":{"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/BC","description":"(Optional) The comparison to apply with `value`.","default":"equals","title":"Operator"},"subject":{"$ref":"#/definitions/BD","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]}}},"BE":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"number","description":"(Required) A floating point value.","title":"Value"}}},"BF":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"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"}]},"BG":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"(Required) The tag to look for","type":"string","title":"Value"}},"examples":[{"test":"has_biome_tag","value":"monster"}]},"BH":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"string","description":"(Required) The component name to look for","title":"Value"}},"examples":[{"test":"has_component","value":"minecraft:explode"}]},"BI":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"(Optional) true or false.","title":"Value","type":"boolean","default":true}},"examples":[{"test":"has_container_open","value":true}]},"CA":{"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","fire_tick","fireworks","fly_into_wall","freezing","lava","lightning","magic","magma","none","override","piston","projectile","stalactite","stalagmite","starve","suffocation","suicide","temperature","thorns","void","wither"]},"BJ":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"string","description":"The Damage type to test","$ref":"#/definitions/CA","title":"Value"}}},"CB":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"The item name to look for","type":"string","$ref":"#/definitions/G","title":"Value"}},"examples":[{"test":"example","value":"example"}]},"CC":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"string","description":"The specified mob effect","title":"Value"}},"examples":[{"test":"has_mob_effect","value":"bad_omen"}]},"CD":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_ranged_weapon","value":true}]},"CE":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"string","description":"The tag as a string","pattern":"[a-zA-Z0-9_]+","title":"Value"}},"examples":[{"test":"has_tag","value":"example"}]},"CF":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"has_target","value":true}]},"CG":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"has_trade_supply","value":true}]},"CH":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"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}]},"CI":{"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/BC","description":"(Optional) The comparison to apply with `value`.","default":"equals","title":"Operator"},"subject":{"$ref":"#/definitions/BD","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"}]},"CJ":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_caravan","value":true}]},"DA":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_clouds","value":true}]},"DB":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_lava","value":true}]},"DC":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"in_nether","value":true}]},"DD":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_water","value":true}]},"DE":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"in_water_or_rain","value":true}]},"DF":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"(Optional) true or false.","type":"boolean","default":true}},"examples":[{"test":"in_contact_with_water","value":true}]},"DG":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"The Family name to look for","type":"integer","title":"Value"}},"examples":[{"test":"inactivity_timer","value":0}]},"DH":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"integer","description":"The altitude value to compare with","minimum":0,"title":"Value"}},"examples":[{"test":"example","value":0}]},"DI":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"example","value":true}]},"DJ":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"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_nethe"],"title":"Value"}},"examples":[{"test":"is_biome","value":"beach"}]},"EA":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"The Family name to look for","type":"string","title":"Value"}},"examples":[{"test":"is_block","subject":"block","value":"minecraft:sweet_berry_bush"}]},"EB":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"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}]},"EC":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_climbing","value":true}]},"ED":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"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","yello"],"title":"Value"}},"examples":[{"test":"is_color","value":"black"}]},"EE":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_daytime","value":true}]},"EF":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"The game's difficulty level to test","type":"string","enum":["easy","hard","normal","peaceful"],"title":"Value"}},"examples":[{"test":"is_difficulty","value":"easy"}]},"EG":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"The Family name to look for","type":"string","title":"Value"}},"examples":[{"test":"is_family","value":"monster"}]},"EH":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"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}]},"EI":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_humid","value":true}]},"EJ":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_immobile","value":true}]},"FA":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_in_village","value":true}]},"FB":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_leashed","value":true}]},"FC":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_leashed_to","value":true}]},"FD":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"integer","description":"The altitude value to compare with","title":"Value"}},"examples":[{"test":"is_mark_variant","value":0}]},"FE":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_moving","value":true}]},"FF":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_owner","value":true}]},"FG":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_persistent","value":true}]},"FH":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_riding","value":true}]},"FI":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"integer","description":"The altitude value to compare with","title":"Value"}},"examples":[{"test":"is_skin_id","value":0}]},"FJ":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"is_sleeping","value":true}]},"GA":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_sneaking","value":true}]},"GB":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_snow_covered","value":true}]},"GC":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_target","value":true}]},"GD":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"The Biome temperature catagory to test","type":"string","enum":["cold","mild","ocean","warm"],"title":"Value"}},"examples":[{"test":"is_temperature_type","value":"cold"}]},"GE":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"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}]},"GF":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_underground","value":true}]},"GG":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_underwater","value":true}]},"GH":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"integer","description":"The altitude value to compare with","title":"Value"}},"examples":[{"test":"is_variant","value":0}]},"GI":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"is_visible","value":true}]},"GJ":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"An integer value.","type":"integer","title":"Value","minimum":0,"maximum":16}},"examples":[{"test":"light_level","value":0}]},"HA":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"A floating point value.","type":"number","minimum":0,"maximum":1,"title":"Value"}},"examples":[{"test":"moon_intensity","value":0.0}]},"HB":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"type":"integer","description":"An integer value.","minimum":0,"maximum":7,"title":"Value"}},"examples":[{"test":"moon_phase","value":0}]},"HC":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"on_ground","value":true}]},"HD":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"title":"Value","description":"True or false.","type":"boolean","default":true}},"examples":[{"test":"on_ladder","value":true}]},"HE":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"An integer value.","type":"integer","title":"Value"}},"examples":[{"test":"random_chance","value":0}]},"HF":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"An integer value.","type":"integer","title":"Value"}},"examples":[{"test":"rider_count","value":0}]},"HG":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"surface_mob","value":true}]},"HH":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"True or false.","type":"boolean","default":true,"title":"Value"}},"examples":[{"test":"trusts","value":true}]},"HI":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"The Family name to look for","type":"string","title":"Value","examples":["clear","thunderstorm"]}},"examples":[{"test":"weather","value":"clear"}]},"HJ":{"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/BC"},"subject":{"$ref":"#/definitions/BD"},"value":{"description":"The Family name to look for","type":"string","title":"Value","examples":["thunderstorm"]}},"examples":[{"test":"weather_at_position","value":"thunderstorm"}]},"BA":{"title":"Filters","$ref":"#/definitions/BA_groups_spec"},"J":{"type":"object","title":"Angry","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,"required":[],"properties":{"broadcast_anger":{"type":"boolean","default":false,"description":"If true, other entities of the same entity definition within the broadcastRange will also become angry","title":"Broadcast Anger"},"broadcast_filters":{"$ref":"#/definitions/BA","description":"Conditions that make this entry in the list valid","title":"Broadcast Filters"},"filters":{"$ref":"#/definitions/BA","description":"Filter out mob types that it should not attack while angry (other Piglins)"},"broadcast_range":{"type":"integer","default":20,"description":"Distance in blocks within which other entities of the same entity definition will become angry","title":"Broadcast Range"},"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"},"title":"Broadcast Targets"},"calm_event":{"$ref":"#/definitions/H","description":"Event to run after the number of seconds specified in duration expires (when the entity stops being `angry')","title":"Calm Event"},"angry_sound":{"type":"string","default":"","description":"The sound event to play when the mob is angry","title":"Angry Sound"},"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","title":"Broadcast Anger On Attack"},"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":{"type":"integer","default":25,"description":"The amount of time in seconds that the entity will be angry","title":"Duration"},"duration_delta":{"type":"integer","default":0,"description":"Variance in seconds added to the duration [-delta, delta]","title":"Duration 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}]},"IA":{"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"}]},"IB":{"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":{}},"ID":{"title":"Range [A, B]","description":"A described range","examples":[1,2,3,[0.0,1.0]],"items":[{"type":"number","title":"A","description":"The first value of the range"},{"type":"number","title":"B","description":"The second value of the range"}]},"IC":{"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/ID","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}]},"IE":{"type":"object","title":"Attack Damage","additionalProperties":false,"required":["value"],"properties":{"value":{"type":"number","description":"UNDOCUMENTED: value","title":"Value"}},"description":"UNDOCUMENTED: ","examples":[{"value":0.0}]},"IF":{"additionalProperties":false,"type":"object","title":"Balloonable","required":[],"properties":{"mass":{"type":"number","description":"UNDOCUMENTED: mass","title":"Mass"}},"description":"UNDOCUMENTED: ","examples":[{"mass":0.0}]},"IG":{"type":"object","title":"Block Climber","additionalProperties":false,"description":"Allows the player to detect and maneuver on the scaffolding block.","properties":{}},"IH":{"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}]},"II":{"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":[]}]},"JA":{"type":"string","title":"Block Name","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"IJ":{"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/JA"}}},"examples":[{"breakable_blocks":[]}]},"JC":{"description":"A minecraft block identifier","examples":["namespace:block"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Block Identifier","type":"string"},"JB":{"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/JC"},"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/JC"},"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":[]}]},"JD_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/H","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"}}},"JD_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/JA","title":"Blocks"}},{"description":"A block type required nearby for the entity to breed.","type":"string","$ref":"#/definitions/JA","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"},"JD":{"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/G","title":"Breed Item"}},{"type":"string","$ref":"#/definitions/G"}]},"breeds_with":{"description":"The list of entity definitions that this entity can breed with.","title":"Breeds With","oneOf":[{"type":"object","$ref":"#/definitions/JD_breeds_with_spec"},{"uniqueItems":true,"type":"array","items":{"type":"object","$ref":"#/definitions/JD_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/JD_enviroment_requirements"},{"type":"array","items":{"$ref":"#/definitions/JD_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/BA","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"}]},"JE":{"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/G","title":"Bribe Items"},"title":"Bribe Items"}},"examples":[{"bribe_cooldown":2,"bribe_items":[]}]},"JF":{"title":"Burns In Daylight","additionalProperties":false,"description":"Specifies if/how a mob burns in daylight.","required":[],"properties":{},"oneOf":[{"type":"boolean"},{"type":"object"}]},"JG":{"type":"object","title":"Can Climb","additionalProperties":false,"description":"Allows this entity to climb up ladders.","required":[],"properties":{}},"JH":{"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}]},"JI":{"type":"object","title":"Can Power Jump","additionalProperties":false,"description":"Allows the entity to power jump like the horse does in vanilla.","required":[],"properties":{}},"JJ":{"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}]},"BAA":{"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}]},"BAB":{"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}]},"BAC":{"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}]},"BAD":{"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/H","description":"Event to fire when the drying out time runs out.","title":"Dried Out Event"},"recover_after_dried_out_event":{"$ref":"#/definitions/H","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/H","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}]},"BAE":{"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,"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/BA"}}}}},"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":{}}]},"BAF":{"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]}]}]},"BAG":{"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}]},"BAH_trigger":{"properties":{"cause":{"type":"string","default":"none","description":"Type of damage that triggers the events.","title":"Cause","$ref":"#/definitions/CA"},"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/BAI"},"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"}}},"BAI":{"title":"Trigger","description":"Trigger to fire","examples":[{"filters":[],"target":"self","event":"to:foo"}],"oneOf":[{"type":"string"},{"type":"object","minProperties":1,"additionalProperties":false,"properties":{"event":{"type":"string","description":"The event to run when the conditions for this trigger are met.","title":"Event"},"filters":{"$ref":"#/definitions/BA","description":"The list of conditions for this trigger to execute."},"target":{"$ref":"#/definitions/BD","description":"The target of the event.","title":"Target"}}}]},"BAH":{"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/BAH_trigger"}},{"type":"object","$ref":"#/definitions/BAH_trigger"}]}}},"BAJ":{"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}]},"BBA":{"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/BA","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}]},"BBB":{"type":"object","title":"Dweller","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"dwelling_type":{"type":"string","title":"Dwelling Type","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"dweller_role":{"type":"string","title":"Dwelling Role","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"update_interval_base":{"type":"integer","title":"Update Interval Base","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"update_interval_variant":{"type":"integer","title":"Update Interval Variant","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"preferred_profession":{"type":"string","title":"Preferred Profession","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"can_find_poi":{"type":"boolean","title":"Can Find Poi","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"can_migrate":{"type":"boolean","title":"Can Migrate","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"first_founding_reward":{"type":"integer","title":"First Founding Reward","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"dwelling_type":"example","dweller_role":"example","update_interval_base":0,"update_interval_variant":0,"preferred_profession":"example","can_find_poi":true,"can_migrate":true,"first_founding_reward":0}]},"BBC":{"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}]},"BBD_trigger":{"$ref":"#/definitions/BAI"},"BBD":{"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/BBD_trigger"}},{"type":"object","$ref":"#/definitions/BBD_trigger"}]}}},"BBF":{"description":"A minecraft loot_table identifier","examples":["loot_tables/"],"pattern":"^loot_tables/.*\\.json$","title":"Loot Table Identifier","type":"string"},"BBE":{"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"slot":{"type":"string","title":"Slot","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}}},"table":{"title":"Table","description":"The file path to the equipment table, relative to the behavior pack's root.","$ref":"#/definitions/BBF"}},"examples":[{"slot_drop_chance":[]}]},"BBG":{"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/G","title":"Accepted Items"}},"item":{"$ref":"#/definitions/G","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/H","description":"Event to trigger when this entity is equipped with this item.","title":"On Equip"},"on_unequip":{"$ref":"#/definitions/H","description":"Event to trigger when this item is removed from this entity.","title":"On Unequip"}}}}},"examples":[{"slots":[]}]},"BBH":{"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}]},"BBI":{"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}]},"BBJ":{"title":"Fire Immune","additionalProperties":false,"description":"Sets that this entity doesn't take damage from fire.","type":"object","required":[],"properties":{}},"BCA":{"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}]},"BCB":{"description":"Sets that this entity can float in liquid blocks.","type":"object","title":"Floats In Liquid","additionalProperties":false,"required":[],"properties":{}},"BCC":{"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}]},"BCD":{"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}]},"BCE":{"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}]},"BCF_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","title":"Range Minimum"},"range_max":{"type":"integer","default":0,"description":"Upper bound","title":"Range Maximum"}}}]},"BCF":{"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"},"genes":{"type":"array","description":"Genes is a list defined by three parameters","title":"Genes","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/BCF_integer_range"},"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.","title":"Genetic Variants","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/H","description":"Event to run when this mob is created and matches the above allele conditions.","title":"Brith Event"},"both_allele":{"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.","title":"Both Allele","$ref":"#/definitions/BCF_integer_range"},"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":{"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":{"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/BCF_integer_range"}}}}}}}},"examples":[{"mutation_rate":0.0,"genes":[]}]},"BCG":{"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/G","title":"Properties"}},"on_give":{"$ref":"#/definitions/H","description":"Event to fire when the correct item is given.","title":"On Give"}}}},"examples":[{"triggers":{}}]},"BCH":{"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}]},"BCI":{"description":"Defines the interactions with this entity for healing it.","type":"object","title":"Healable","additionalProperties":false,"required":[],"properties":{"filters":{"$ref":"#/definitions/BA"},"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/BA","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":[]}]},"BCJ":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","title":"Health","additionalProperties":false,"required":[],"dependencies":{"max":["value"]},"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"range_max":{"title":"Range Maximum","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"}}}]}},"examples":[{"value":1,"max":0}]},"BDA":{"type":"object","title":"Hurt When Wet","additionalProperties":false,"required":[],"properties":{},"description":"Specifies if an actor is hurt when wet."},"BDB":{"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/BA"},"cause":{"type":"string","title":"Cause","description":"Damage cause","$ref":"#/definitions/CA"},"damage_per_tick":{"type":"integer","title":"Damage Per Tick","description":"Amount of damage done each tick that the conditions are met."}}}}},"examples":[{"damage_conditions":[]}]},"BDC":{"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":{}},"BDE":{"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"}]}}}},"BDD":{"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/BDE"},"entered_block_event":{"title":"Entered Block Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/H"},"exited_block_event":{"title":"Exited Block Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/H"}}}}},"examples":[{"block_list":[]}]},"BDF":{"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}]},"BDG_interaction_spec":{"type":"object","properties":{"add_items":{"type":"object","description":"Loot table with items to add to the player's inventory upon successful interaction.","title":"Add Items","additionalProperties":false,"properties":{"table":{"type":"string","$ref":"#/definitions/BBF","description":"File path, relative to the Behavior Pack's path, to the loot table file.","title":"Table"}}},"cooldown":{"type":"number","default":0,"description":"Time in seconds before this entity can be interacted with again.","title":"Cooldown"},"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.","title":"Hurt Item"},"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.","title":"Interact Text"},"on_interact":{"$ref":"#/definitions/BAI","description":"Event to fire when the interaction occurs.","title":"On Interact"},"particle_on_start":{"type":"object","description":"Particle effect that will be triggered at the start of the interaction.","title":"Particle On Start","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":{"type":"string","default":"","description":"List of sounds to play when the interaction occurs.","title":"Play Sounds"},"spawn_entities":{"type":"string","default":"","description":"List of entities to spawn when the interaction occurs.","title":"Spawn Entities"},"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/BBF","description":"File path, relative to the Behavior Pack's path, to the loot table file.","title":"Table"}}},"swing":{"type":"boolean","default":false,"description":"If true, the player will do the `swing` animation when interacting with this entity.","title":"Swing"},"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"},"use_item":{"type":"boolean","default":false,"description":"If true, the interaction will use an item.","title":"Use Item"}}},"BDG":{"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/BDG_interaction_spec"},{"type":"array","items":{"$ref":"#/definitions/BDG_interaction_spec"}}]}}},"BDH":{"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, minecart_hopper, inventory, container or hopper","title":"Container Type","enum":["horse","minecart_chest","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}]},"BDI":{"description":"Sets that this entity is a baby.","type":"object","title":"Is Baby","additionalProperties":false,"required":[],"properties":{}},"BDJ":{"description":"Sets that this entity is charged.","type":"object","title":"Is Charged","additionalProperties":false,"required":[],"properties":{}},"BEA":{"description":"Sets that this entity is currently carrying a chest.","type":"object","title":"Is Chested","additionalProperties":false,"required":[],"properties":{}},"BEB":{"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"}]},"BEC":{"type":"object","title":"Is Hidden When Invisible","additionalProperties":false,"description":"Sets that this entity can hide from hostile mobs while invisible."},"BED":{"description":"Sets that this entity is currently on fire.","type":"object","title":"Is Ignited","additionalProperties":false,"required":[],"properties":{}},"BEE":{"description":"Sets that this entity is an illager captain.","type":"object","title":"Is Illager Captain","additionalProperties":false,"required":[],"properties":{}},"BEF":{"description":"Sets that this entity is currently saddled.","type":"object","title":"Is Saddled","additionalProperties":false,"required":[],"properties":{}},"BEG":{"description":"Sets that this entity is currently shaking.","type":"object","title":"Is Shaking","additionalProperties":false,"required":[],"properties":{}},"BEH":{"description":"Sets that this entity is currently sheared.","type":"object","title":"Is Sheared","additionalProperties":false,"required":[],"properties":{}},"BEI":{"description":"Sets that this entity can be stacked.","type":"object","title":"Is Stackable","additionalProperties":false},"BEJ":{"description":"Sets that this entity is currently stunned.","type":"object","title":"Is Stunned","additionalProperties":false,"required":[],"properties":{}},"BFA":{"description":"Sets that this entity is currently tamed.","type":"object","title":"Is Tamed","additionalProperties":false,"required":[],"properties":{}},"BFB":{"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"}}},"BFC":{"type":"object","title":"Item Hopper","additionalProperties":false,"required":[],"properties":{},"description":"Determines that this entity is an item hopper"},"BFD":{"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":{}},"BFE":{"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}]},"BFF":{"type":"object","title":"Knockback Resistance","additionalProperties":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":[],"properties":{"value":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Value"},"max":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Maximum"}},"examples":[{"value":0.0,"max":0.0}]},"BFG":{"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}]},"BFH":{"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/H","description":"Event to call when this entity is leashed.","title":"On Leash"},"on_unleash":{"$ref":"#/definitions/H","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}]},"BFI":{"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/BA","description":"Defines the entities that can trigger this component","title":"Filters"},"look_cooldown":{"$ref":"#/definitions/ID","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/H"},"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}]},"BFJ":{"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"}}},"BGA":{"type":"object","title":"Managed Wandering Trader","additionalProperties":false,"required":[],"properties":{},"description":"This component is used to implement part of the Wandering Trader behavior"},"BGB":{"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}]},"BGC":{"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}]},"BGD":{"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}]},"BGE":{"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}]},"BGF":{"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}]},"BGG":{"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}]},"BGH":{"type":"object","title":"Movement.glide","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"required":[],"properties":{"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":0.0,"speed_when_turning":0.0}]},"BGI":{"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}]},"BGJ":{"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}]},"BHA":{"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":"The amount of sway that is allowed for movement.","title":"Sway Amplitude"}},"examples":[{"max_turn":30,"sway_amplitude":0.0}]},"BHB_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/H","description":"Event to be called when this entity acquires the name specified in `name_filter'","title":"On Named"}}},"BHB":{"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/BAI","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/BHB_name_action"}},{"type":"object","$ref":"#/definitions/BHB_name_action"}]}},"examples":[{"allow_name_tag_renaming":true,"always_show":false}]},"BHC":{"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/JC"}},"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}]},"BHD":{"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/JC"}},"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}]},"BHE":{"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/JC"}},"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}]},"BHF":{"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/JC"}},"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}]},"BHG":{"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/JC"}},"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}]},"BHH":{"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/JC"}},"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}]},"BHI":{"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/BAI"},"BHJ":{"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/BAI"},"BIA":{"description":"Adds a trigger to call when this entity takes damage.","title":"On Hurt","$ref":"#/definitions/BAI"},"BIB":{"description":"Adds a trigger to call when this entity is attacked by the player.","title":"On Hurt By Player","$ref":"#/definitions/BAI"},"BIC":{"description":"Adds a trigger to call when this entity is set on fire.","title":"On Ignite","$ref":"#/definitions/BAI"},"BID":{"description":"Only usable by the Ender Dragon. Adds a trigger to call when this entity lands.","title":"On Start Landing","$ref":"#/definitions/BAI"},"BIE":{"description":"Only usable by the Ender Dragon. Adds a trigger to call when this entity starts flying.","title":"On Start Takeoff","$ref":"#/definitions/BAI"},"BIF":{"description":"Adds a trigger to call when this entity finds a target.","title":"On Target Acquired","$ref":"#/definitions/BAI"},"BIG":{"description":"Adds a trigger to call when this entity loses the target it currently has.","title":"On Target Escape","$ref":"#/definitions/BAI"},"BIH":{"description":"Adds a trigger to call when this pet's owner awakes after sleeping with the pet.","title":"On Wake With Owner","$ref":"#/definitions/BAI"},"BII":{"type":"object","title":"Out Of Control","additionalProperties":false,"description":"defines the entity's `out of control` state.","required":[],"properties":{}},"BIJ":{"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}]},"BJA":{"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}]},"BJB":{"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}]},"BJC":{"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}]},"BJD":{"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/H","description":"Event to call when the entity is done peeking","title":"On Close"},"on_open":{"$ref":"#/definitions/H","description":"Event to call when the entity starts peeking","title":"On Open"},"on_target_open":{"$ref":"#/definitions/H","description":"Event to call when the entity's target entity starts peeking","title":"On Target Open"}}},"BJE":{"description":"Defines whether an entity should be persistent in the game world.","type":"object","title":"Persistent","additionalProperties":false,"required":[],"properties":{}},"BJF":{"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}]},"BJG":{"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/JA"}}}}}},"examples":[{"default_block_cost":0,"jump_cost":0,"max_fall_blocks":3,"preferred_path_blocks":[]}]},"BJH":{"type":"object","title":"Interact","description":"Allows the entity to be a thrown entity.","additionalProperties":false,"properties":{"anchor":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Anchor"},"angle_offset":{"type":"number","default":0,"description":"Determines the angle at which the projectile is thrown","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, the projectile will produce additional particles when a critical hit happens","title":"Crit Particle On Hurt"},"destroy_on_hurt":{"type":"boolean","default":false,"description":"If true, this entity will be destroyed when hit","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. 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"},"offset":{"type":"array","default":[0,0.0,0],"description":"The offset from the entity's anchor where the projectile will spawn","title":"Offset","items":[{"type":"number","description":"X","title":"X"},{"type":"number","description":"Y","title":"Y"},{"type":"number","description":"Z","title":"Z"}]},"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"On Hit","properties":{"arrow_effect":{"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false},"catch_fire":{"additionalProperties":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Catch Fire","type":"object","properties":{"fire_affected_by_griefing":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Fire Affected By Griefing"}}},"definition_event":{"additionalProperties":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Event","type":"object","properties":{"affect_projectile":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Affect Projectile"},"event_trigger":{"$ref":"#/definitions/H"}}},"douse_fire":{"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Douse Fire"},"impact_damage":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Impact Damage","properties":{"max_critical_damage":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Max Critical Damage"},"min_critical_damage":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Min Critical Damage"},"power_multiplier":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Filter"},"filter":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Filter"},"catch_fire":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Catch Fire"},"damage":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Damage","oneOf":[{"type":"integer"},{"type":"array","items":[{"type":"integer"},{"type":"integer"}]}]},"destroy_on_hit":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Destroy On Hit"},"knockback":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Knockback"},"semi_random_diff_damage":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Semi Random Diff Damage"}}},"particle_on_hit":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Particle On Hit","properties":{"particle_type":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Particle Type"},"num_particles":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Num Particles"},"on_entity_hit":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"On Entity Hit"},"on_other_hit":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"On Other Hit"}}},"remove_on_hit":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Remove On Hit"},"spawn_chance":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Spawn Chance","properties":{"first_spawn_percent_chance":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"First Spawn Percent Chance"},"first_spawn_chance":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"First Spawn Chance"},"second_spawn_chance":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Second Spawn Chance"},"first_spawn_count":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"First Spawn Count"},"second_spawn_count":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Second Spawn Count"},"spawn_definition":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Spawn Definition"},"spawn_baby":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Spawn Baby"}}},"spawn_aoe_cloud":{"additionalProperties":false,"type":"object","properties":{"radius":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Radius"},"radius_on_use":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Radius On Use"},"potion":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Potion"},"particle":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Particle"},"duration":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Duration"},"color":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Color","type":"array","format":"color-array","items":[{"type":"integer","minimum":0,"maximum":255,"description":"R","title":"R"},{"type":"integer","minimum":0,"maximum":255,"description":"G","title":"G"},{"type":"integer","minimum":0,"maximum":255,"description":"B","title":"B"}]},"affect_owner":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Affect Owner"},"reapplication_delay":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Reapplication Delay"}}},"stick_in_ground":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Stick In Ground","properties":{"shake_time":{"title":"Shake Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number","minimum":0}}},"teleport_owner":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Teleport Owner"},"thrown_potion_effect":{"title":"Thrown Potion Effect","type":"object","additionalProperties":false}}},"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":"Splash Range","type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"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}]},"BJI":{"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}]},"BJJ":{"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}]},"CAA":{"type":"object","title":"Raid Trigger","additionalProperties":false,"description":"Attempts to trigger a raid at the entity's location.","required":[],"properties":{"triggered_event":{"$ref":"#/definitions/H","description":"Event to run we attempt to trigger a raid on the village.","title":"Triggered Event"}}},"CAB":{"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}]},"CAC":{"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/H","description":"Event to call when the rail is activated","title":"On Activate"},"on_deactivate":{"$ref":"#/definitions/H","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}]},"CAD":{"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,"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"value":{"title":"Value","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/H"}}}}},"examples":[{"knockback_strength":3,"reaction_choices":[]}]},"CAE_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/CAF","default":[0.0,0.0,0.0],"description":"Position of this seat relative to this entity's position"},"rotate_rider_by":{"$ref":"#/definitions/CAG","description":"Offset to rotate riders by"}}},"CAF":{"type":"array","title":"Array Of 3 Items","description":"An array of 3 numbers","examples":[[0,1,2]],"items":[{"type":"number","description":"An number","title":"X"},{"type":"number","description":"An number","title":"Y"},{"type":"number","description":"An number","title":"Z"}]},"CAG":{"title":"Molang Number","description":"The minecraft molang definition that results in a float","anyOf":[{"type":"string","minLength":0},{"type":"number"}],"examples":[0,"query.variant"]},"CAE":{"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/CAE_seats_spec"},{"type":"array","items":{"$ref":"#/definitions/CAE_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}]},"CAH":{"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}]},"CAI":{"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}]},"CAJ":{"description":"fires off scheduled mob events at time of day events.","type":"object","title":"Scheduler","additionalProperties":false,"properties":{"min_delay_secs":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Minimum Delay Secs","minimum":0},"max_delay_secs":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Maximum Delay Secs","minimum":0},"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.","title":"Scheduled Events","items":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Scheduled Events","properties":{"filters":{"$ref":"#/definitions/BA"},"event":{"$ref":"#/definitions/H"}}}}},"examples":[{"min_delay_secs":0,"max_delay_secs":0,"scheduled_events":[]}]},"CBA":{"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/G"},"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"}}}}},"examples":[{"all_items":false,"all_items_max_amount":-1,"all_items_surplus_amount":-1,"all_items_want_amount":-1,"items":[]}]},"CBB":{"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","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":[{"aux_val":-1,"def":"example","type":"example"}]},"CBC":{"description":"Defines the entity's `sit` state.","type":"object","title":"Sittable","additionalProperties":false,"required":[],"properties":{"sit_event":{"$ref":"#/definitions/H","description":"Event to run when the entity enters the `sit` state","title":"Sit Event"},"stand_event":{"$ref":"#/definitions/H","description":"Event to run when the entity exits the `sit` state","title":"Stand Event"}}},"CBD":{"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}]},"CBE":{"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}]},"CBF_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/BA"},"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"}}},"CBF":{"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/CBF_entity_spawn"},{"type":"array","items":{"type":"object","$ref":"#/definitions/CBF_entity_spawn"}}]}}},"CBG":{"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","properties":{"effect":{"type":"string"},"duration":{"type":"integer"},"display_on_screen_animation":{"type":"boolean"}}}]},"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":[]}]},"CBH":{"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/H","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/G"}},{"$ref":"#/definitions/G"}]}},"examples":[{"probability":1}]},"CBI_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/G","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"}}},"CBI_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/G","description":"Name of the item this entity dislikes and will cause it to get angry if used while untamed"}}},"CBI":{"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/CBI_auto_reject_items"},{"type":"array","items":{"$ref":"#/definitions/CBI_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/CBI_feed_items"},{"type":"array","items":{"$ref":"#/definitions/CBI_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/H","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"}]},"CBJ":{"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/H","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/H","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/H","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}]},"CCA":{"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}]},"CCB":{"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}]},"CCC":{"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","oneOf":[{"type":"array","default":[0.0,0.0],"items":[{"type":"number","title":"A"},{"type":"number","title":"B"}]},{"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/H"},"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":"UNDOCUMENTED: value","title":"Value"}}}}},"examples":[{"looping":true,"randomInterval":true,"random_time_choices":[]}]},"CCD":{"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"}]},"CCE":{"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/JC"}},"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":""}]},"CCF":{"type":"object","title":"Trust","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":[],"additionalProperties":false,"properties":{}},"CCG":{"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/H","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/G","title":"Trust Item"}}},"examples":[{"probability":1,"trust_event":"self:trust"},{"probability":1,"trust_items":[],"trust_event":"self:trust"}]},"CCH":{"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"}}},"CCI":{"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}]},"CCJ":{"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}]},"CDA":{"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}]},"CDB":{"description":"Sets that this entity wants to become a jockey.","type":"object","title":"Wants Jockey","additionalProperties":false,"properties":{}},"CDC":{"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}]},"CDD":{"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}]},"CDE":{"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/BA","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/CA"}},"examples":[{"damage_per_tick":2,"damage_range":0.2,"cause":"example"}]},"CDF":{"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/BAI","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"}]}}},"CDG":{"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}]},"CDH":{"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":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Sensor Radius","minimum":0},"on_break":{"type":"array","title":"On Break","description":"Blocks that will trigger the component when broken and what event will trigger.","items":{"type":"object","title":"On Block Broken","description":"","additionalProperties":false,"properties":{"block_list":{"type":"array","title":"Block List","description":"Blocks that will trigger the component when broken and what event will trigger.","items":{"$ref":"#/definitions/JC","title":"Block ID"}},"on_block_broken":{"type":"string","title":"On Block Broken","description":"Event to run when a block breaks"}}}}},"examples":[{"sensor_radius":0,"on_break":[]}]},"CDI":{"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}]},"CDJ":{"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/BA","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}]},"CEA":{"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/BA"},"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"}]},"CEB":{"type":"object","title":"Equip Item","description":"The entity puts on the desired equipment.","additionalProperties":false,"properties":{}},"CEC":{"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","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","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}]},"CED":{"type":"object","title":"Group Size","description":"Keeps track of entity group size in the given radius.","additionalProperties":false,"properties":{"filters":{"$ref":"#/definitions/BA","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}]},"CEE":{"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}]},"CEF":{"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/G"}}},"examples":[{"restriction_radius":-1,"home_block_list":[]}]},"CEG":{"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}]},"CEH":{"type":"object","title":"Mob Effect","description":"A component that applies a mob effect to entities that get within range.","additionalProperties":false,"properties":{"effect_range":{"type":"number","default":0.2,"description":"How close a hostile entity must be to have the mob effect applied.","title":"Effect Range"},"effect_time":{"type":"integer","default":10,"description":"How long the applied mob effect lasts in seconds.","title":"Effect Time"},"mob_effect":{"type":"string","default":"","description":"The mob effect that is applied to entities that enter this entities effect range.","title":"Mob Effect"},"entity_filter":{"$ref":"#/definitions/BA","title":"Entity Filter","description":"Filter to use for conditions"}},"examples":[{"effect_range":0.2,"effect_time":10,"mob_effect":""}]},"CEI":{"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}]},"CEJ":{"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/JC"}},"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}]},"CFA_rangeXYZ":{"type":"array","items":[{"type":"number","title":"X"},{"type":"number","title":"Y"},{"type":"number","title":"Z"}]},"CFA":{"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"portrait_offsets":{"type":"object","title":"Portrait Offsets","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"translate":{"$ref":"#/definitions/CFA_rangeXYZ","title":"Translate","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"scale":{"$ref":"#/definitions/CFA_rangeXYZ","title":"Scale","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"picker_offsets":{"type":"object","title":"Picker Offsets","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"translate":{"$ref":"#/definitions/CFA_rangeXYZ","title":"Translate","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"scale":{"$ref":"#/definitions/CFA_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":{}}]},"CFB":{"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}]},"CFC":{"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/BA","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]}]},"CFD":{"type":"object","title":"Hide","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{}},"CFE":{"type":"object","title":"Horse.jump Strength","additionalProperties":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"value":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Value","oneOf":[{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number"},"range_max":{"type":"number"}}},{"type":"number"}]}}},"CFF":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","title":"Trade Resupply","additionalProperties":false,"properties":{}},"CFH":{"additionalProperties":false,"type":"integer","title":"Priority","minimum":0,"description":"Allows the mob to drink potions based on specified environment conditions."},"CFG":{"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/CFH"},"admire_item_sound":{"type":"string","default":"","description":"The sound event to play when admiring the item","title":"Admire Item Sound"},"on_admire_item_start":{"$ref":"#/definitions/H","title":"On Admire Item Start","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"on_admire_item_stop":{"$ref":"#/definitions/H","title":"On Admire Item Stop","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"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":[{"admire_item_sound":""}]},"CFI":{"type":"object","title":"Avoid Block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"tick_interval":{"type":"integer","title":"Tick Interval","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"search_range":{"type":"integer","title":"Search Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"search_height":{"type":"integer","title":"Search Height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"sprint_speed_modifier":{"type":"number","title":"Sprint Speed Modifier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target_selection_method":{"type":"string","title":"Target Selection Method","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target_blocks":{"type":"array","title":"Target Blocks","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"string","title":"Block ID","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"avoid_block_sound":{"type":"string","title":"Avoid Block Sound","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"walk_speed_modifier":{"type":"number","title":"Walk Speed Modifier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"on_escape":{"type":"array","title":"Walk Speed Modifier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"$ref":"#/definitions/H"}},"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":[]}]},"CGA_entity_definition":{"description":"The entity type","title":"Entity Type","type":"object","properties":{"filters":{"type":"object","$ref":"#/definitions/BA"},"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"}}},"CGA":{"title":"Entity Types","oneOf":[{"type":"array","items":{"$ref":"#/definitions/CGA_entity_definition"}},{"$ref":"#/definitions/CGA_entity_definition"}]},"CFJ":{"additionalProperties":false,"description":"Allows this entity to avoid certain mob types.","type":"object","title":"Avoid Mob Type","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"max_dist":{"type":"number","default":0,"description":"Maximum distance to look for an entity","title":"Maximum Dist"},"max_flee":{"type":"number","default":0.5,"description":"Distance in blocks within the mob considers it should stop fleeing.","title":"Maximum Flee"},"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","title":"Walk Speed Multiplier"},"sprint_speed_multiplier":{"type":"number","default":1.0,"description":"Multiplier for running speed. 1.0 means keep the regular speed, while higher numbers make the running speed faster","title":"Sprint Speed Multiplier"},"probability_per_strength":{"type":"number","default":1.0,"description":"Determines how likely it is that this entity will stop avoiding another entity based on that entity's strength","title":"Probability Per Strength"},"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/CGA","description":"UNDOCUMENTED: entity types","title":"Entity Types"},"avoid_mob_sound":{"title":"Avoid Mob Sound","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"},"remove_target":{"title":"Remove Target","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"on_escape_event":{"$ref":"#/definitions/H","title":"On Escape Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"sound_interval":{"default":0,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","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":[{"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}]},"CGB":{"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/CFH"}}},"CGC":{"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/CFH"},"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/G"},"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/ID","default":[2,4],"title":"Look Time"}},"examples":[{"items":[],"look_distance":8}]},"CGE":{"additionalProperties":false,"default":1.0,"description":"Movement speed multiplier of the mob when using this AI Goal.","type":"number","title":"Speed Multiplier"},"CGD":{"type":"object","title":"Break Door","description":"Allows this mob to break doors.","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}},"additionalProperties":false},"CGF":{"additionalProperties":false,"type":"object","title":"Breed","description":"Allows this mob to breed with other mobs.","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"CGG":{"type":"object","title":"Celebrate","description":"This allows the mob celebrate by jumping up and playing a sound periodically.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"celebration_sound":{"type":"string","default":"","description":"The sound to occasionally play.","title":"Celebration Sound"},"duration":{"type":"number","default":1,"description":"The duration of the celebration (in seconds).","title":"Duration"},"jump_interval":{"default":0,"description":"The range of time in seconds to randomly wait before jumping again.","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/BAI","description":"The event to trigger when the goal's duration expires.","title":"On Celebration End Event"},"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":[{"celebration_sound":"","duration":1}]},"CGH":{"additionalProperties":false,"type":"object","title":"Charge Attack","description":"Allows the mob to attack its target by running at it.","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"CGI":{"type":"object","title":"Charge Held Item","description":"Allows this mob to charge and use their held item.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"items":{"type":"array","title":"Items","description":"The list of items that can be used to charge the held item.","items":{"type":"string","description":"Items names to be used.","title":"Item ID"}}},"examples":[{"items":[]}]},"CGJ":{"type":"object","title":"Circle Around Anchor","additionalProperties":false,"description":"Allows the mob to move in a circle around a point or a target.","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"type":"number","default":1.0,"description":"Movement speed multiplier of the mob when using this AI Goal","title":"Speed Multiplier"},"radius_range":{"$ref":"#/definitions/ID","default":[5.0,15.0],"description":"Range of radius in blocks of the circle to move around.","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/ID","default":[0.0,0.0],"description":"When the mob finds a target, the range of height in blocks above the target to start the anchor point.","title":"Height Above Target Range"},"height_offset_range":{"$ref":"#/definitions/ID","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":"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"},"radius_change":{"type":"number","title":"Radius Change","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"radius_adjustment_chance":{"type":"number","title":"Radius Adjustment Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"height_adjustment_chance":{"type":"number","title":"Height Adjustment Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"angle_change":{"type":"number","title":"Angle Change","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"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}]},"CHA":{"additionalProperties":false,"type":"object","title":"Controlled By Player","description":"Allows the mob to be controlled by the player.","properties":{"priority":{"$ref":"#/definitions/CFH"},"mount_speed_multiplier":{"type":"number","default":1,"description":"Speed multiplier of mount when controlled by player, defaults to 1.0f","title":"Mount Speed Multiplier"}},"examples":[{"mount_speed_multiplier":1}]},"CHB":{"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/CFH"},"aggro_sound":{"type":"string","default":"","description":"Sound to occasionally play while defending.","title":"Aggro Sound"},"attack_interval":{"type":"integer","default":0,"description":"Time in seconds between attacks","title":"Attack Interval"},"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"},"on_defend_start":{"$ref":"#/definitions/H","title":"On Defend Start","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"within_radius":{"type":"number","default":0,"description":"Distance in blocks that the target can be within to launch an attack","title":"Within Radius"},"entity_types":{"type":"object","description":"List of entity types that this mob considers valid targets","title":"Entity Types","additionalProperties":false},"sound_chance":{"title":"Sound Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"}},"examples":[{"aggro_sound":"","attack_interval":0,"must_see":false,"must_see_forget_duration":3,"within_radius":0,"entity_types":{},"sound_chance":0.0}]},"CHC":{"additionalProperties":false,"type":"object","title":"Defend Village Target","description":"Allows the mob to stay in the village and fight mobs hostile to the villagers.","properties":{"priority":{"$ref":"#/definitions/CFH"},"entity_types":{"$ref":"#/definitions/CGA","description":"List of entity types this mob considers a threat to the village","title":"Entity Types"},"must_reach":{"title":"Must Reach","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"attack_chance":{"title":"Attack Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"}},"examples":[{"must_reach":true,"attack_chance":0.0}]},"CHD":{"additionalProperties":false,"type":"object","title":"Delayed Attack","description":"Allows the mob to drink potions based on specified environment conditions.","properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"attack_duration":{"type":"number","default":1,"description":"The duration of the attack animation in seconds","title":"Attack Duration"},"attack_once":{"type":"boolean","default":false,"description":"If true, this mob will attack only one time.","title":"Attack Once"},"attack_types":{"type":"string","default":"","description":"Defines the entity types this mob will attack","title":"Attack Types"},"hit_delay_pct":{"type":"number","default":1,"description":"The percentage of the attack_duration that must pass before the hit is made","title":"Hit Delay Percentage"},"random_stop_interval":{"type":"integer","default":0,"description":"Defines the probability the mob will stop fighting. A value of 0 disables randomly stopping, while a value of 1 defines a 50% chance","title":"Random Stop Interval"},"reach_multiplier":{"type":"number","default":2,"description":"Multiplier for how far outside its box the mob can reach its target (this can be used to simulate a mob with longer arms by making this bigger)","title":"Reach Multiplier"},"require_complete_path":{"type":"boolean","title":"Require Complet Path","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"sound_event":{"type":"string","description":"The sound event to play when the attack starts","title":"Sound Event"},"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":[{"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}]},"CHE":{"additionalProperties":false,"type":"object","title":"Door Interact","description":"Allows the mob to drink potions based on specified environment conditions.","properties":{"priority":{"$ref":"#/definitions/CFH"}}},"CHF":{"additionalProperties":false,"type":"object","title":"Dragonchargeplayer","description":"Allows the dragon to attack a player by flying fast at them. The player is chosen by the dragonscanning goal. Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CFH"}}},"CHG":{"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/CFH"}}},"CHH":{"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/CFH"}}},"CHI":{"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/CFH"}}},"CHJ":{"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/CFH"}}},"CIA":{"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/CFH"}}},"CIB":{"additionalProperties":false,"type":"object","title":"Dragonstrafeplayer","description":"Allows the dragon to fly around looking for a player and shoot fireballs at them. Can only be used by the Ender Dragon.","properties":{"priority":{"$ref":"#/definitions/CFH"}}},"CIC":{"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/CFH"}}},"CID":{"type":"object","title":"Beg","description":"Allows the mob to drink potions based on specified environment conditions.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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/BA"}}}}},"examples":[{"potions":[]}]},"CIE":{"additionalProperties":false,"description":"Allows the mob to move near a target and drop an item.","title":"Drop Item For","type":"object","properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"cooldown":{"title":"Cooldown","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"drop_item_chance":{"type":"number","default":[1.0],"description":"The probability that the mob will drop an item.","title":"Drop Item Chance"},"entity_types":{"description":"List of entity types this mob will drop items for.","title":"Entity Types","$ref":"#/definitions/CGA"},"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"},"loot_table":{"type":"string","pattern":"^loot_tables.*\\.json$","description":"Loot table to select items from.","title":"Loot Table"},"max_dist":{"type":"number","default":0,"description":"Maximum distance in blocks this mob will look for entities to drop an item for.","title":"Maximum Dist"},"minimum_teleport_distance":{"title":"Minimum Teleport Distance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"max_head_look_at_height":{"title":"Maximum Head Look At Height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"offering_distance":{"type":"number","default":[1.0],"description":"The distance in blocks the mob will try to be away from the entity when it drops the item.","title":"Offering Distance"},"on_drop_attempt":{"$ref":"#/definitions/H","description":"Event to run when this mob attempts to drop an item.","title":"On Drop Attempt"},"seconds_before_pickup":{"title":"Seconds Before Pickup","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"search_count":{"type":"integer","default":1,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Search Height"},"search_height":{"type":"integer","default":1,"description":"Height in blocks from the target the mob can be.","title":"Search Height"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks from the target the mob can be.","title":"Search Range"},"target_range":{"title":"Target Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"teleport_offset":{"title":"Teleport Offset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"time_of_day_range":{"default":[0.0,1.0],"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.","title":"Time Of Day Range","type":"array","items":[{"type":"number","minimum":0,"maximum":1},{"type":"number","minimum":0,"maximum":1}]}},"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":[]}]},"CIF":{"type":"object","title":"Eat Block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"on_eat":{"$ref":"#/definitions/BAI","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"On Eat"},"success_chance":{"title":"Succes Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CAG"},"time_until_eat":{"title":"Time Until Eat","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"eat_and_replace_block_pairs":{"type":"array","title":"Eat And Replace Block Pairs","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"object","title":"Eat And Replace Block Pair","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"eat_block":{"type":"string","title":"Block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/JC"},"replace_block":{"type":"string","title":"Replace Block","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/JC"}}}}},"examples":[{"time_until_eat":0.0,"eat_and_replace_block_pairs":[]}]},"CIG":{"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/CFH"},"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}]},"CIH":{"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/CFH"}}},"CII":{"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/CFH"}}},"CIJ":{"type":"object","title":"Equip Item","description":"Allows the entity to equip desired equipment.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"}}},"CJA":{"type":"object","title":"Explore Outskirts","description":"behavior explore outskirts","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"explore_dist":{"type":"number","default":5,"description":"The distance in which the mob will proceed past the village bounds","title":"Explore Dist"},"wait_time":{"type":"integer","default":0,"description":"The time the mob will stand around `searching` for POIs","title":"Wait Time"},"next_xz":{"title":"Next XZ","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"},"next_y":{"title":"Next Y","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer"},"min_wait_time":{"title":"Minimum Wait Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"max_wait_time":{"title":"Maximum Wait Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"max_travel_time":{"title":"Maximum Travel Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"min_perimeter":{"title":"Minimum Perimeter","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"min_dist_from_target":{"title":"Minimum Distance From Target","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"timer_ratio":{"title":"Timer Ratio","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"dist_from_boundary":{"title":"Distance From Boundary","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":[{"title":"X","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},{"title":"Y","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},{"title":"Z","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"}]}},"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":[]}]},"CJB":{"type":"object","title":"Find Cover","description":"Allows the mob to seek shade.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"CJC":{"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/CFH"},"avoid_water":{"type":"boolean","default":false,"description":"If true, the mob will not go into water blocks when going towards a mount","title":"Avoid Water"},"mount_distance":{"type":"number","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","title":"Mount Distance"},"start_delay":{"type":"integer","default":0,"description":"Time the mob will wait before starting to move towards the mount","title":"Start Delay"},"target_needed":{"type":"boolean","default":false,"description":"If true, the mob will only look for a mount if it has a target","title":"Target Needed"},"within_radius":{"type":"number","default":0,"description":"Distance in blocks within which the mob will look for a mount","title":"Within Radius"},"max_failed_attempts":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Maximum Failed Attempts"}},"examples":[{"avoid_water":false,"mount_distance":-1,"start_delay":0,"target_needed":false,"within_radius":0,"max_failed_attempts":0}]},"CJD":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"CJE":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"CJF":{"type":"object","title":"Float","description":"Allows the mob to stay afloat while swimming.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"}}},"CJG":{"type":"object","title":"Float Wander","description":"Allows the mob to float around like the Ghast.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"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/ID","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}]},"CJH":{"type":"object","title":"Follow Caravan","description":"Allows the mob to follow mobs that are in a caravan.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"entity_types":{"$ref":"#/definitions/CGA","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}]},"CJI":{"type":"object","title":"Follow Mob","description":"Allows the mob to follow other mobs.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"CJJ":{"type":"object","title":"Follow Owner","description":"Allows the mob to follow their parent around.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"start_distance":{"type":"number","default":10,"description":"The distance in blocks that the owner can be away from this mob before it starts following it","title":"Start Distance"},"stop_distance":{"type":"number","default":2,"description":"The distance in blocks this mob will stop from its owner while following it","title":"Stop Distance"}},"examples":[{"start_distance":10,"stop_distance":2}]},"DAA":{"type":"object","title":"Float","description":"Allows the mob to follow their parent around.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"DAB":{"type":"object","title":"Follow Target Captain","description":"Allows mob to move towards its current target captain.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DAC":{"additionalProperties":false,"description":"Allows the mob to move back to the position they were spawned.","title":"Go Home","type":"object","properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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 to run when this mob gets home.","title":"On Home","oneOf":[{"$ref":"#/definitions/BAI"},{"type":"array","items":{"$ref":"#/definitions/BAI"}}]},"on_failed":{"$ref":"#/definitions/H","title":"On Failed","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"goal_radius":0.5,"interval":120}]},"DAD":{"type":"object","title":"Guardian Attack","description":"Allows the guardian to use its laser beam attack. Can only be used by Guardians and Elder Guardians.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"}}},"DAE":{"type":"object","title":"Harvest Farm Block","description":"Allows the villager to harvest nearby farms. Can only be used by Villagers.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"max_seconds_before_search":{"title":"Maximum Seconds Before Search","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"search_cooldown_max_seconds":{"title":"Search Cooldown Maximum Seconds","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"},"seconds_until_new_task":{"title":"Seconds Until New Task","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"number"}},"examples":[{"max_seconds_before_search":0.0,"search_cooldown_max_seconds":0.0,"seconds_until_new_task":0.0}]},"DAF":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DAG":{"type":"object","title":"Hold Ground","description":"The mob freezes and looks at the mob they are targeting.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"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/H","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}]},"DAH":{"type":"object","title":"Guardian Attack","additionalProperties":false,"description":"Allows the mob to target another mob that hurts them.","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"entity_types":{"$ref":"#/definitions/CGA","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}]},"DAI":{"type":"object","title":"Inspect Bookshelf","additionalProperties":false,"description":"Allows the mob to inspect bookshelves.","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DAJ":{"type":"object","title":"Melee Attack","description":"Allows the mob to search around for a block to jump to and then jump to that block.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"search_width":{"type":"integer","title":"Search Width","default":8,"description":"The maximum width in blocks that the mob will search. Range [2, 15]."},"search_height":{"type":"integer","default":10,"title":"Search Height","description":"The maximum height in blocks that the mob will search. Range [2, 15]."},"minimum_path_length":{"type":"integer","default":5,"title":"Minimum Path Length","description":"The minimum length in blocks of the mob's path to a block in order to consider jumping to it."},"minimum_distance":{"type":"number","default":5,"title":"Minimum Distance","description":"The minimum distance in blocks from the mob to a block in order to consider jumping to it."},"scale_factor":{"type":"number","title":"Scale Factor","default":0.7,"description":"The scale factor of the bounding box of the mob while it is jumping."},"cooldown_range":{"title":"Cooldown Range","description":"The minimum and maximum cooldown time-range in seconds between each attempted jump.","type":"array","items":[{"title":"Minimum","description":"Minimum","type":"integer","minimum":0},{"title":"Maximum","description":"Maximum","type":"integer","minimum":0}]}},"examples":[{"search_width":8,"search_height":10,"minimum_path_length":5,"minimum_distance":5,"scale_factor":0.7,"cooldown_range":[]}]},"DBA":{"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/CFH"},"attack_time":{"type":"number","default":0.5,"description":"The delay after which the knockback occurs (in seconds).","title":"Attack Time"},"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":"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_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"},"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"},"knockback_strength":{"type":"integer","default":4,"description":"The strength of the knockback.","title":"Knockback Strength"},"knockback_filters":{"$ref":"#/definitions/BA","description":"filters to use to decide what is affected by knockback roar.","title":"Knockback Filters"},"damage_filters":{"$ref":"#/definitions/BA","description":"filters to use to decide what is damaged by knockback roar.","title":"Damage Filters"},"on_roar_end":{"$ref":"#/definitions/H","description":"Event to run when knockback roar has finished.","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}]},"DBB":{"description":"Allows mobs to lay down at times.","type":"object","title":"Lay Down","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"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}]},"DBC":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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"},"on_lay":{"$ref":"#/definitions/H","description":"Event to run when this mob lays the egg.","title":"On Lay"},"search_height":{"type":"integer","default":1,"description":"Height in blocks the mob will look for sand block to move towards","title":"Search Height"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks it will look for a sand block to move towards","title":"Search Range"}},"examples":[{"goal_radius":0.5,"search_height":1,"search_range":0}]},"DBD":{"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/CFH"},"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,"description":"The height in blocks the mob jumps when leaping at its target","title":"Yd"},"target_dist":{"type":"number","default":0,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Target Dist"}},"examples":[{"must_be_on_ground":true,"set_persistent":false,"yd":0,"target_dist":0}]},"DBE":{"description":"Allows the mob to look at nearby entities.","type":"object","title":"Look At Entity","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"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/ID","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/BA"}},"examples":[{"look_distance":8.0,"probability":0.02,"angle_of_view_vertical":360,"angle_of_view_horizontal":360}]},"DBF":{"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/CFH"},"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"},"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,"minimum":0,"description":"The probability of looking at the target. A value of 1.00 is 100%","title":"Probability"},"look_time":{"type":"array","default":[2,4],"description":"Time range to look at the entity","title":"Look Time","items":[{"type":"number"},{"type":"number"}]},"target_distance":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Target Distance"}},"examples":[{"angle_of_view_vertical":360,"angle_of_view_horizontal":360,"look_distance":8.0,"probability":0.02,"look_time":[],"target_distance":0.0}]},"DBG":{"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/CFH"},"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/ID","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}]},"DBH":{"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/CFH"},"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/ID","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}]},"DBI":{"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/CFH"}}},"DBJ":{"type":"object","title":"Melee Attack","description":"Allows the mob to use close combat melee attacks.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"melee_fov":{"type":"number","default":90.0,"description":"The allowable FOV the actor will use to determine if it can make a valid melee attack","title":"Melee Fov"},"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"},"attack_types":{"type":"string","description":"Defines the entity types this mob will attack","title":"Attack Types"},"random_stop_interval":{"type":"integer","default":0,"description":"Defines the probability the mob will stop fighting. A value of 0 disables randomly stopping, while a value of 1 defines a 50% chance","title":"Random Stop Interval"},"reach_multiplier":{"type":"number","default":2.0,"description":"Multiplier for how far outside its box the mob can reach its target (this can be used to simulate a mob with longer arms by making this bigger)","title":"Reach Multiplier"},"attack_once":{"type":"boolean","default":false,"description":"If true, this mob will attack only one time.","title":"Attack Once"},"require_complete_path":{"type":"boolean","default":false,"description":"If true, this goal will only trigger if the mob can reach its target.","title":"Require Complete Path"},"cooldown_time":{"type":"number","title":"Cooldown Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"on_attack":{"$ref":"#/definitions/H","title":"On Attack","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"on_kill":{"$ref":"#/definitions/H","title":"On Attack","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"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}]},"DCA":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DCB":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DCC":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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":[{"timeout_cooldown":8}]},"DCD":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DCE":{"type":"object","title":"Move To Block","additionalProperties":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"tick_interval":{"type":"number","title":"Tick Interval","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"start_chance":{"type":"number","title":"Start Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"search_range":{"type":"number","title":"Search Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"search_height":{"type":"number","title":"Search Height","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"goal_radius":{"type":"number","title":"Goal Radius","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"stay_duration":{"type":"number","title":"Stay Duration","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target_selection_method":{"type":"string","title":"Target Selection Method","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target_offset":{"type":"array","title":"Target Offset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"target_blocks":{"type":"array","title":"Target Blocks","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"string"}},"on_stay_completed":{"type":"array","title":"On Stay Completed","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"$ref":"#/definitions/H"}},"on_reach":{"type":"array","title":"On Reach","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"$ref":"#/definitions/H"}}},"examples":[{"tick_interval":0.0,"start_chance":0.0,"search_range":0.0,"search_height":0.0,"goal_radius":0.0,"stay_duration":0.0,"target_selection_method":"example","target_offset":[],"target_blocks":[],"on_stay_completed":[],"on_reach":[]}]},"DCF":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DCG":{"type":"object","title":"Move To Lava","description":"Allows the mob to move back into lava when on land.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DCH":{"type":"object","title":"Move To Liquid","description":"Allows the mob to move back into lava when on land.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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"}]},"DCI":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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"}]},"DCJ":{"type":"object","title":"Move To Random Block","description":"Allows mob to move towards a random block.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DDA":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DDB":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DDC":{"type":"object","title":"Move Towards Dwelling Restriction","additionalProperties":false,"description":"UNDOCUMENTED, comes from cat","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"DDD":{"type":"object","title":"Move Towards Home Restriction","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"DDE":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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":[]}]},"DDF":{"type":"object","title":"Guardian Attack","additionalProperties":false,"description":"Allows mob to move towards its current target.","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DDG":{"type":"object","title":"Nap","description":"Allows the mob to move back into lava when on land.","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"cooldown_max":{"type":"number","default":0,"description":"Maximum time in seconds the mob has to wait before using the goal again","title":"Cooldown Max"},"cooldown_min":{"type":"number","default":0,"description":"Minimum time in seconds the mob has to wait before using the goal again","title":"Cooldown Min"},"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","title":"Mob Detect Dist"},"mob_detect_height":{"type":"number","default":6,"description":"The block distance in y that will be checked for mobs that this mob detects","title":"Mob Detect Height"},"can_nap_filters":{"$ref":"#/definitions/BA","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Can Nap Filters"},"wake_mob_exceptions":{"$ref":"#/definitions/BA","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Wake Mob Exceptions"}},"examples":[{"cooldown_max":0,"cooldown_min":0,"mob_detect_dist":6,"mob_detect_height":6}]},"DDH_entity_type":{"type":"object","description":"A entity type","properties":{"filters":{"$ref":"#/definitions/BA","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"}}},"DDH":{"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/CFH"},"entity_types":{"description":"Filters which types of targets are valid for this entity.","title":"Entity Types","oneOf":[{"$ref":"#/definitions/DDH_entity_type"},{"type":"array","items":{"$ref":"#/definitions/DDH_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}]},"DDI":{"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/CFH"},"entity_types":{"description":"List of entity types that this mob considers valid targets","title":"Entity Types","$ref":"#/definitions/CGA"},"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}]},"DDJ":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"DEA":{"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/CFH"},"walk_speed_multiplier":{"type":"number","default":1.0,"description":"Multiplier for the walking speed while using this attack","title":"Walk Speed Multiplier"},"sprint_speed_multiplier":{"type":"number","default":1.0,"description":"Multiplier for the running speed of this mob while using this attack","title":"Sprint Speed Multiplier"},"sneak_speed_multiplier":{"type":"number","default":1.0,"description":"Multiplier for the sneaking speed. 1.0 means the ocelot will move at the speed it normally sneaks","title":"Sneak Speed Multiplier"},"cooldown_time":{"type":"number","title":"Cooldown Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"x_max_rotation":{"type":"number","title":"X Maximum Rotation","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"y_max_head_rotation":{"type":"number","title":"Y Maximum Head Rotation","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"max_distance":{"type":"number","title":"Maximum Distance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"max_sneak_range":{"type":"number","title":"Maximum Sneak Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"max_sprint_range":{"type":"number","title":"Maximum Sprint Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"reach_multiplier":{"type":"number","title":"Reach Multiplier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"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}]},"DEB":{"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/CFH"}}},"DEC":{"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/CFH"},"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}]},"DED":{"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/CFH"},"entity_types":{"$ref":"#/definitions/CGA","description":"List of entity types that this mob can target if they hurt their owner","title":"Entity Types"}}},"DEE":{"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/CFH"},"entity_types":{"$ref":"#/definitions/CGA","description":"List of entity types that this entity can target if the potential target is hurt by this mob's owner","title":"Entity TYpes"}}},"DEF":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"damage_sources":{"type":"array","items":{"$ref":"#/definitions/CA"},"default":[["all"]],"description":"The list of Entity Damage Sources that will cause this mob to panic","title":"Damage Sources"},"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","title":"Force"},"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`","title":"Ignore Mob Damage"},"prefer_water":{"type":"boolean","default":false,"description":"If true, the mob will prefer water over land","title":"Prefer Water"},"panic_sound":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Panic Sound"},"sound_interval":{"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Sound Interval","properties":{"range_min":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Range Minimum"},"range_max":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Range Maximum"}},"additionalProperties":false}},"examples":[{"damage_sources":[],"force":false,"ignore_mob_damage":false,"prefer_water":false,"panic_sound":"example","sound_interval":{}}]},"DEG":{"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/CFH"}}},"DEH":{"description":"Allows the mob to be tempted by food they like.","type":"object","title":"Tempt","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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_height":{"type":"integer","default":1,"description":"Height in blocks from the owner the pet can be to sleep with owner.","title":"Search Height"},"search_range":{"type":"integer","default":0,"description":"The distance in blocks from the owner the pet can be to sleep with owner.","title":"Search Range"},"search_radius":{"type":"integer","default":0,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Search Radius"}},"examples":[{"goal_radius":0.5,"search_height":1,"search_range":0,"search_radius":0}]},"DEI":{"description":"Allows the mob to pick up items on the ground.","additionalProperties":false,"type":"object","title":"Pickup Items","properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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":true,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Cooldown After Being Attacked"},"excluded_items":{"title":"Excluded Items","type":"array","items":{"title":"Excluded Item","$ref":"#/definitions/G"}},"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 this mob will look for items to pick up","title":"Maximum Dist"},"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"},"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}]},"DEJ":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"DFA":{"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/CFH"},"duration":{"title":"Duration","description":"The amount of time in seconds that the mob will remain playing dead.","type":"number","minimum":0},"force_below_health":{"title":"Force Below Health","description":"The amount of health at which the mob will start to play dead.","type":"number","minimum":0},"random_start_chance":{"title":"Random Start Chance","description":"The likelihood that the mob will start to play dead upon taking damage.","type":"number","minimum":0},"random_damage_range":{"title":"Random Damage Range","description":"The range of damage that may cause the mob to start playing dead. Damage taken below the minimum value will never cause the mob to start playing dead. Damage taken above the maximum value will always cause the mob to start playing dead.","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 start playing dead.","oneOf":[{"type":"string","$ref":"#/definitions/CA"},{"type":"array","items":{"title":"Damage Source","$ref":"#/definitions/CA"}}]},"apply_regeneration":{"title":"Apply Regeneration","description":"Whether the mob will receive the effect of CombatRegeneration while playing dead.","type":"boolean"},"filters":{"$ref":"#/definitions/BA"}},"examples":[{"duration":0.0,"force_below_health":0.0,"random_start_chance":0.0,"random_damage_range":[],"apply_regeneration":true}]},"DFB":{"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/CFH"}}},"DFC":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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/JC"},"title":"Blocks"},"eat_delay":{"type":"integer","default":2,"description":"Time in seconds between each time it eats","title":"Eat Delay"},"full_delay":{"type":"integer","default":100,"description":"Amount of time in seconds before this mob wants to eat again","title":"Full Delay"},"initial_eat_delay":{"type":"integer","default":0,"description":"Time in seconds before starting to eat/raid once it arrives at it","title":"Initial Eat Delay"},"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_to_eat":{"type":"integer","default":6,"description":"Maximum number of things this entity wants to eat","title":"Maximum To Eat"},"search_range":{"type":"integer","default":0,"description":"Distance in blocks the mob will look for crops to eat","title":"Search Range"},"search_height":{"type":"integer","default":0,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Search Height"}},"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}]},"DFD":{"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/CFH"},"baby_knockback_modifier":{"type":"integer","default":4,"description":"The modifier to knockback for baby mobs.","title":"Baby Knockback Modifier"},"cooldown_range":{"type":"array","default":[10.0,20.0],"description":"The minimum and maximum cooldown time-range in seconds between each attempted ram attack.","title":"Cooldown Range","items":[{"title":"Minimum","description":"Minimum","type":"number","minimum":0},{"title":"Maximum","description":"Maximum","type":"number","minimum":0}]},"knockback_force":{"type":"number","default":5,"description":"The force of the knockback of the ram's attack.","title":"Knockback Force"},"knockback_height":{"type":"number","default":0.1,"description":"The height in blocks of the knockback of the ram attack.","title":"Knockback Height"},"min_ram_distance":{"type":"integer","default":4,"description":"The minimum distance in blocks at which the mob can start a ram attack.","title":"Min Ram Distance"},"pre_ram_sound":{"type":"string","description":"The sound to play when the mob is about to perform a ram attack.","title":"Pre Ram Sound"},"ram_distance":{"type":"integer","default":7,"description":"The distance in blocks at which the mob will start to ram its target.","title":"Ram Distance"},"ram_impact_sound":{"type":"string","description":"The sound to play when the mob hits the target with a ram attack .","title":"Ram Impact Sound"},"ram_speed":{"type":"number","default":2,"description":"Sets the mob's speed when performing a ram attack toward the target.","title":"Ram Speed"},"run_speed":{"type":"number","default":1,"description":"Sets the mob's speed when running toward the target.","title":"Run Speed"},"trigger":{"description":"The event to trigger when attacking.","title":"Trigger","$ref":"#/definitions/BAI"},"on_start":{"title":"On Start","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","oneOf":[{"$ref":"#/definitions/H"},{"type":"array","items":{"$ref":"#/definitions/H"}}]}},"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}]},"DFE":{"description":"Allows the mob to randomly break surface of the water.","type":"object","title":"Player Ride Tamed","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DFF":{"description":"Allows a mob to randomly fly around","type":"object","title":"Random Fly","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"avoid_damage_blocks":{"type":"boolean","description":"UNDOCUMENTED","$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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y Offset"}},"examples":[{"avoid_damage_blocks":true,"can_land_on_trees":true,"xz_dist":10,"y_dist":7,"y_offset":0}]},"DFG":{"description":"Allows the mob to hover around randomly, close to the surface","type":"object","title":"Random Hover","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"hover_height":{"type":"array","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Hover Height","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}]},"DFH":{"additionalProperties":false,"description":"Allows the mob to randomly look around.","type":"object","title":"Random Look Around","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"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":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Look Distance","type":"number"}},"examples":[{"look_distance":0.0}]},"DFI":{"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/CFH"},"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}]},"DFJ":{"type":"object","title":"Random Sitting","description":"Allows the mob to randomly sit for a duration.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DGA":{"description":"Allows a mob to randomly stroll around.","type":"object","title":"Random Stroll","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DGB":{"type":"object","title":"Random Swim","description":"Allows an entity to randomly move through water","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DGC":{"description":"Allows the mob to use ranged attacks like shooting arrows.","type":"object","title":"Ranged Attack","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"attack_interval":{"type":"number","default":0,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Attack Interval"},"attack_interval_max":{"type":"number","default":0,"description":"Maximum amount of time in seconds the entity will wait after an attack before launching another","title":"Attack Interval Maximum"},"attack_interval_min":{"type":"number","default":0,"description":"Minimum amount of time in seconds the entity will wait after an attack before launching another","title":"Attack Interval Minimum"},"attack_radius":{"type":"number","default":0,"description":"Maximum distance the target can be for this mob to fire. If the target is further away, this mob will move first before firing","title":"Attack Radius"},"burst_interval":{"type":"number","default":0,"description":"Amount of time in seconds between each individual shot when firing multiple shots per attack","title":"Burst Interval"},"burst_shots":{"type":"integer","default":1,"description":"Number of shots fired every time the mob uses a charged attack","title":"Burst Shots"},"charge_charged_trigger":{"type":"number","default":0,"description":"The minimum amount of time in ticks the mob has to charge before firing a charged attack","title":"Charge Charged Trigger"},"charge_shoot_trigger":{"type":"number","default":0,"description":"The minimum amount of time in ticks for the mob to start charging a charged shot. Must be greater than 0 to enable burst shots","title":"Charge Shoot Trigger"},"ranged_fov":{"type":"number","default":90,"description":"The allowable FOV the actor will use to determine if it can make a valid ranged attack","title":"Ranged FOV"},"target_in_sight_time":{"type":"number","title":"Target In Sight Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"attack_radius_min":{"type":"number","title":"Attack Radius Min","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"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}]},"DGD":{"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/CFH"}}},"DGE":{"description":"Allows the mob to stay indoors during night time.","type":"object","title":"Restrict Open Door","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"}}},"DGF":{"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/CFH"}}},"DGG":{"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/CFH"},"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}]},"DGH":{"description":"This allows the mob to roll forward.","type":"object","title":"Roll","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"probability":{"type":"number","minimum":0,"description":"The probability that the mob will use the goal.","title":"Probability"}},"examples":[{"probability":0.0}]},"DGI":{"description":"Allows the mob to run around aimlessly.","type":"object","title":"Restrict Open Door","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"DGJ":{"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/CFH"},"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}]},"DHA_sequence":{"type":"array","description":"List of events to send","items":{"type":"object","additionalProperties":false,"properties":{"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"}}}},"DHA":{"description":"Allows the mob to send an event to another mob.","type":"object","title":"Send Event","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"cast_duration":{"type":"number","description":"Time in seconds for the entire event sending process","title":"Cast Duration"},"event_choices":{"type":"array","title":"Event Choices","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"type":"object","additionalProperties":false,"title":"Event Choice","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"min_activation_range":{"type":"number","title":"Minimum Activation Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"max_activation_range":{"type":"number","title":"Maxmimum Activation Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"cooldown_time":{"type":"number","title":"Cooldown Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"cast_duration":{"type":"number","title":"Cast Duration","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"filters":{"$ref":"#/definitions/BA"},"particle_color":{"type":"string","format":"color-hex","title":"Particle Color","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"weight":{"type":"integer","title":"Weight","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"start_sound_event":{"type":"string","title":"Start Sound Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"sequence":{"$ref":"#/definitions/DHA_sequence"}}}},"sequence":{"$ref":"#/definitions/DHA_sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Sequence"}},"examples":[{"cast_duration":0.0,"event_choices":[]}]},"DHB":{"description":"Allows the mob to send an event to another mob.","type":"object","title":"Share Items","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"entity_types":{"$ref":"#/definitions/CGA","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}]},"DHC":{"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/CFH"}}},"DHD":{"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/CFH"}}},"DHE":{"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/CFH"},"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}]},"DHF":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Goal Radius"},"sleep_collider_height":{"type":"number","default":1,"description":"The height of the mob's collider while sleeping","title":"Sleep Collider Height"},"sleep_collider_width":{"type":"number","default":1,"description":"The width of the mob's collider while sleeping","title":"Sleep Collider Width"},"sleep_y_offset":{"type":"number","default":1,"description":"The y offset of the mob's collider while sleeping","title":"Sleep Y Offset"},"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":[{"cooldown_time":0,"goal_radius":0,"sleep_collider_height":1,"sleep_collider_width":1,"sleep_y_offset":1,"timeout_cooldown":8}]},"DHG":{"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/CFH"},"set_persistent":{"type":"boolean","default":false,"description":"Allows the actor to be set to persist upon targeting a player","title":"Set Persistent"}},"examples":[{"set_persistent":false}]},"DHH":{"additionalProperties":false,"description":"Can only be used by Slimes and Magma Cubes. Controls their ability to float in water / lava.","type":"object","title":"Slime Float","required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"jump_chance_percentage":{"type":"number","title":"Sink Delta","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"jump_chance_percentage":0.0}]},"DHI":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"}}},"DHJ":{"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/CFH"},"add_random_time_range":{"type":"number","title":"Add Random Time Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"turn_range":{"type":"number","title":"Turn Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"min_change_direction_time":{"type":"number","title":"Minimum Change Direction Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"add_random_time_range":0.0,"turn_range":0.0,"min_change_direction_time":0.0}]},"DIA":{"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/CFH"},"items":{"title":"Items","description":"Items that we are interested in snacking on","oneOf":[{"type":"array","items":{"$ref":"#/definitions/G","title":"Item"}},{"$ref":"#/definitions/G"}]},"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}]},"DIB":{"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/CFH"},"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/CGA","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}]},"DIC":{"description":"Allows an entity to dive underwater.","type":"object","title":"Squid Dive","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"}}},"DID":{"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/CFH"}}},"DIE":{"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/CFH"}}},"DIF":{"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/CFH"}}},"DIG":{"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/CFH"}}},"DIH":{"description":"Allows the mob to stay at a certain level when in liquid.","type":"object","title":"Stalk And Pounce On Target","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Leap Dist"},"stuck_blocks":{"$ref":"#/definitions/BA","description":"UNDOCUMENTED","$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}]},"DII":{"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/CFH"}}},"DIJ":{"description":"Allows the mob to use the polar bear's melee attack.","type":"object","title":"Stomp Attack","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"attack_once":{"type":"boolean","default":false,"description":"If true, this mob will attack only one time.","title":"Attack Once"},"attack_types":{"type":"string","default":"","description":"Defines the entity types this mob will attack","title":"Attack Types"},"probability":{"type":"number","default":0.02,"description":"The probability of sneezing. A value of 1.00 is 100%","title":"Probability"},"random_stop_interval":{"type":"integer","default":0,"description":"Defines the probability the mob will stop fighting. A value of 0 disables randomly stopping, while a value of 1 defines a 50% chance","title":"Random Stop Interval"},"reach_multiplier":{"type":"number","default":2,"description":"Multiplier for how far outside its box the mob can reach its target (this can be used to simulate a mob with longer arms by making this bigger)","title":"Reach Multiplier"},"require_complete_path":{"type":"boolean","default":false,"description":"If true, this goal will only trigger if the mob can reach its target.","title":"Require Complete Path"},"sound":{"type":"string","description":"Sound to play when the sneeze occurs.","title":"Sound"},"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"},"stomp_range_multiplier":{"type":"number","title":"Stomp Range Multiplier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"no_damage_range_multiplier":{"type":"number","title":"No Damage Range Multiplier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"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}]},"DJA":{"description":"Allows this mob to stomp turtle eggs","type":"object","title":"Stomp Turtle Egg","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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}]},"DJB":{"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/CFH"},"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}]},"DJC":{"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/CFH"},"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/BA"},"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":[]}]},"DJD":{"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/CFH"},"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}]},"DJE":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","title":"Swim Idle","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"idle_time":{"type":"number","title":"Idle Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"success_rate":{"type":"number","title":"Succes Rate","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"idle_time":0.0,"success_rate":0.0}]},"DJF":{"description":"Has the fish swim around when they can't pathfind","type":"object","title":"Swim Idle","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"interval":{"type":"number","title":"Interval","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"look_ahead":{"type":"number","title":"Look Ahead","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"wander_time":{"type":"number","title":"Wander Time","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"interval":0.0,"look_ahead":0.0,"wander_time":0.0}]},"DJG":{"type":"object","title":"Swim With Entity","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"success_rate":{"type":"number","title":"Success Rate","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"chance_to_stop":{"type":"number","title":"Chance To Stop","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"state_check_interval":{"type":"number","title":"State Check Interval","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"catch_up_threshold":{"type":"number","title":"Catch Up Threshold","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"match_direction_threshold":{"type":"number","title":"Match Direction Threshold","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"catch_up_multiplier":{"type":"number","title":"Catch Up Multiplier","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"search_range":{"type":"number","title":"Search Range","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"stop_distance":{"type":"number","title":"Stop Distance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"entity_types":{"$ref":"#/definitions/CGA","title":"Entity Types","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"success_rate":0.0,"chance_to_stop":0.0,"state_check_interval":0.0,"catch_up_threshold":0.0,"match_direction_threshold":0.0,"catch_up_multiplier":0.0,"search_range":0.0,"stop_distance":0.0}]},"DJH":{"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/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"damage_reach":{"type":"number","title":"Damage Reach","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"delay_range":{"$ref":"#/definitions/ID","default":[[10.0,20.0]],"description":"Range of time in seconds between uses of this goal.","title":"Delay Range"}},"examples":[{"damage_reach":0.0}]},"DJI":{"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/CFH"}}},"DJJ":{"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","title":"Target When Pushed","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"entity_types":{"$ref":"#/definitions/CGA","title":"Entity Types","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"percent_chance":{"type":"number","title":"Percent Chance","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}},"examples":[{"percent_chance":0.0}]},"EAA":{"description":"Allows the mob to be tempted by food they like.","type":"object","title":"Tempt","additionalProperties":false,"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"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","title":"Can Tempt While Ridden","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"can_tempt_vertically":{"type":"boolean","title":"Can Tempt Vertically","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"items":{"type":"array","description":"List of items this mob is tempted by","items":{"$ref":"#/definitions/G"},"title":"Items"},"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}]},"EAB":{"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/CFH"},"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}]},"EAC":{"description":"Allows the player to trade with this mob.","type":"object","title":"Trade With Player","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"}}},"EAD":{"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/CFH"},"entity_types":{"$ref":"#/definitions/CGA","description":"List of entities this mob can copy the owner from.","title":"Entity Types"}}},"EAE":{"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/CFH"},"entity_types":{"$ref":"#/definitions/CGA","description":"List of entities this mob can copy the owner from.","title":"Entity Types"}}},"EAF":{"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/CFH"}}},"EAG":{"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/CFH"},"entity_types":{"$ref":"#/definitions/CGA","description":"List of entity types the wither takes into account to find who dealt the most damage to it","title":"Entity Types"}}},"EAH":{"type":"object","title":"Work","description":"Allows an entity to navigate and interact with a point of interest that has been assigned as their worksite.","additionalProperties":false,"required":[],"properties":{"priority":{"$ref":"#/definitions/CFH"},"speed_multiplier":{"$ref":"#/definitions/CGE"},"active_time":{"type":"integer","default":0,"description":"The amount of ticks the NPC will stay in their the work location","title":"Active Time"},"can_work_in_rain":{"type":"boolean","default":false,"description":"If true, this entity can work when their jobsite POI is being rained on.","title":"Can Work In Rain"},"goal_cooldown":{"type":"integer","default":0,"description":"The amount of ticks the goal will be on cooldown before it can be used again","title":"Goal Cooldown"},"on_arrival":{"$ref":"#/definitions/H","description":"Event to run when the mob reaches their jobsite and finishes working.","title":"On Arrival"},"sound_delay_max":{"type":"integer","default":0,"description":"The Maximum interval in which a sound will play","title":"Sound Delay Maximum"},"sound_delay_min":{"type":"integer","default":0,"description":"The Minimum interval in which a sound will play","title":"Sound Delay Minimum"},"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","title":"Work In Rain Tolerance"}},"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}]},"D":{"additionalProperties":false,"type":"object","title":"Components","description":"A collection of components","required":[],"properties":{"minecraft:addrider":{"$ref":"#/definitions/E"},"minecraft:ageable":{"$ref":"#/definitions/F"},"minecraft:ambient_sound_interval":{"$ref":"#/definitions/I"},"minecraft:angry":{"$ref":"#/definitions/J"},"minecraft:annotation.break_door":{"$ref":"#/definitions/IA"},"minecraft:annotation.open_door":{"$ref":"#/definitions/IB"},"minecraft:attack":{"$ref":"#/definitions/IC"},"minecraft:attack_damage":{"$ref":"#/definitions/IE"},"minecraft:balloonable":{"$ref":"#/definitions/IF"},"minecraft:block_climber":{"$ref":"#/definitions/IG"},"minecraft:boss":{"$ref":"#/definitions/IH"},"minecraft:boostable":{"$ref":"#/definitions/II"},"minecraft:break_blocks":{"$ref":"#/definitions/IJ"},"minecraft:breathable":{"$ref":"#/definitions/JB"},"minecraft:breedable":{"$ref":"#/definitions/JD"},"minecraft:bribeable":{"$ref":"#/definitions/JE"},"minecraft:burns_in_daylight":{"$ref":"#/definitions/JF"},"minecraft:can_climb":{"$ref":"#/definitions/JG"},"minecraft:can_fly":{"$ref":"#/definitions/JH"},"minecraft:can_power_jump":{"$ref":"#/definitions/JI"},"minecraft:collision_box":{"$ref":"#/definitions/JJ"},"minecraft:color":{"$ref":"#/definitions/BAA"},"minecraft:color2":{"$ref":"#/definitions/BAB"},"minecraft:combat_regeneration":{"$ref":"#/definitions/BAC"},"minecraft:drying_out_timer":{"$ref":"#/definitions/BAD"},"minecraft:conditional_bandwidth_optimization":{"$ref":"#/definitions/BAE"},"minecraft:custom_hit_test":{"$ref":"#/definitions/BAF"},"minecraft:damage_over_time":{"$ref":"#/definitions/BAG"},"minecraft:damage_sensor":{"$ref":"#/definitions/BAH"},"minecraft:default_look_angle":{"$ref":"#/definitions/BAJ"},"minecraft:despawn":{"$ref":"#/definitions/BBA"},"minecraft:dweller":{"$ref":"#/definitions/BBB"},"minecraft:economy_trade_table":{"$ref":"#/definitions/BBC"},"minecraft:environment_sensor":{"$ref":"#/definitions/BBD"},"minecraft:equipment":{"$ref":"#/definitions/BBE"},"minecraft:equippable":{"$ref":"#/definitions/BBG"},"minecraft:explode":{"$ref":"#/definitions/BBH"},"minecraft:fall_damage":{"$ref":"#/definitions/BBI"},"minecraft:fire_immune":{"$ref":"#/definitions/BBJ"},"minecraft:flocking":{"$ref":"#/definitions/BCA"},"minecraft:floats_in_liquid":{"$ref":"#/definitions/BCB"},"minecraft:flying_speed":{"$ref":"#/definitions/BCC"},"minecraft:follow_range":{"$ref":"#/definitions/BCD"},"minecraft:friction_modifier":{"$ref":"#/definitions/BCE"},"minecraft:genetics":{"$ref":"#/definitions/BCF"},"minecraft:giveable":{"$ref":"#/definitions/BCG"},"minecraft:ground_offset":{"$ref":"#/definitions/BCH"},"minecraft:healable":{"$ref":"#/definitions/BCI"},"minecraft:health":{"$ref":"#/definitions/BCJ"},"minecraft:hurt_when_wet":{"$ref":"#/definitions/BDA"},"minecraft:hurt_on_condition":{"$ref":"#/definitions/BDB"},"minecraft:input_ground_controlled":{"$ref":"#/definitions/BDC"},"minecraft:inside_block_notifier":{"$ref":"#/definitions/BDD"},"minecraft:insomnia":{"$ref":"#/definitions/BDF"},"minecraft:interact":{"$ref":"#/definitions/BDG"},"minecraft:inventory":{"$ref":"#/definitions/BDH"},"minecraft:is_baby":{"$ref":"#/definitions/BDI"},"minecraft:is_charged":{"$ref":"#/definitions/BDJ"},"minecraft:is_chested":{"$ref":"#/definitions/BEA"},"minecraft:is_dyeable":{"$ref":"#/definitions/BEB"},"minecraft:is_hidden_when_invisible":{"$ref":"#/definitions/BEC"},"minecraft:is_ignited":{"$ref":"#/definitions/BED"},"minecraft:is_illager_captain":{"$ref":"#/definitions/BEE"},"minecraft:is_saddled":{"$ref":"#/definitions/BEF"},"minecraft:is_shaking":{"$ref":"#/definitions/BEG"},"minecraft:is_sheared":{"$ref":"#/definitions/BEH"},"minecraft:is_stackable":{"$ref":"#/definitions/BEI"},"minecraft:is_stunned":{"$ref":"#/definitions/BEJ"},"minecraft:is_tamed":{"$ref":"#/definitions/BFA"},"minecraft:item_controllable":{"$ref":"#/definitions/BFB"},"minecraft:item_hopper":{"$ref":"#/definitions/BFC"},"minecraft:jump.dynamic":{"$ref":"#/definitions/BFD"},"minecraft:jump.static":{"$ref":"#/definitions/BFE"},"minecraft:knockback_resistance":{"$ref":"#/definitions/BFF"},"minecraft:lava_movement":{"$ref":"#/definitions/BFG"},"minecraft:leashable":{"$ref":"#/definitions/BFH"},"minecraft:lookat":{"$ref":"#/definitions/BFI"},"minecraft:loot":{"$ref":"#/definitions/BFJ"},"minecraft:managed_wandering_trader":{"$ref":"#/definitions/BGA"},"minecraft:mark_variant":{"$ref":"#/definitions/BGB"},"minecraft:movement":{"$ref":"#/definitions/BGC"},"minecraft:movement.amphibious":{"$ref":"#/definitions/BGD"},"minecraft:movement.basic":{"$ref":"#/definitions/BGE"},"minecraft:movement.fly":{"$ref":"#/definitions/BGF"},"minecraft:movement.generic":{"$ref":"#/definitions/BGG"},"minecraft:movement.glide":{"$ref":"#/definitions/BGH"},"minecraft:movement.jump":{"$ref":"#/definitions/BGI"},"minecraft:movement.skip":{"$ref":"#/definitions/BGJ"},"minecraft:movement.sway":{"$ref":"#/definitions/BHA"},"minecraft:nameable":{"$ref":"#/definitions/BHB"},"minecraft:navigation.climb":{"$ref":"#/definitions/BHC"},"minecraft:navigation.float":{"$ref":"#/definitions/BHD"},"minecraft:navigation.fly":{"$ref":"#/definitions/BHE"},"minecraft:navigation.generic":{"$ref":"#/definitions/BHF"},"minecraft:navigation.swim":{"$ref":"#/definitions/BHG"},"minecraft:navigation.walk":{"$ref":"#/definitions/BHH"},"minecraft:on_death":{"$ref":"#/definitions/BHI"},"minecraft:on_friendly_anger":{"$ref":"#/definitions/BHJ"},"minecraft:on_hurt":{"$ref":"#/definitions/BIA"},"minecraft:on_hurt_by_player":{"$ref":"#/definitions/BIB"},"minecraft:on_ignite":{"$ref":"#/definitions/BIC"},"minecraft:on_start_landing":{"$ref":"#/definitions/BID"},"minecraft:on_start_takeoff":{"$ref":"#/definitions/BIE"},"minecraft:on_target_acquired":{"$ref":"#/definitions/BIF"},"minecraft:on_target_escape":{"$ref":"#/definitions/BIG"},"minecraft:on_wake_with_owner":{"$ref":"#/definitions/BIH"},"minecraft:out_of_control":{"$ref":"#/definitions/BII"},"minecraft:player.saturation":{"$ref":"#/definitions/BIJ"},"minecraft:player.exhaustion":{"$ref":"#/definitions/BJA"},"minecraft:player.level":{"$ref":"#/definitions/BJB"},"minecraft:player.experience":{"$ref":"#/definitions/BJC"},"minecraft:peek":{"$ref":"#/definitions/BJD"},"minecraft:persistent":{"$ref":"#/definitions/BJE"},"minecraft:physics":{"$ref":"#/definitions/BJF"},"minecraft:preferred_path":{"$ref":"#/definitions/BJG"},"minecraft:projectile":{"$ref":"#/definitions/BJH"},"minecraft:push_through":{"$ref":"#/definitions/BJI"},"minecraft:pushable":{"$ref":"#/definitions/BJJ"},"minecraft:raid_trigger":{"$ref":"#/definitions/CAA"},"minecraft:rail_movement":{"$ref":"#/definitions/CAB"},"minecraft:rail_sensor":{"$ref":"#/definitions/CAC"},"minecraft:ravager_blocked":{"$ref":"#/definitions/CAD"},"minecraft:rideable":{"$ref":"#/definitions/CAE"},"minecraft:scale":{"$ref":"#/definitions/CAH"},"minecraft:scale_by_age":{"$ref":"#/definitions/CAI"},"minecraft:scheduler":{"$ref":"#/definitions/CAJ"},"minecraft:shareables":{"$ref":"#/definitions/CBA"},"minecraft:shooter":{"$ref":"#/definitions/CBB"},"minecraft:sittable":{"$ref":"#/definitions/CBC"},"minecraft:skin_id":{"$ref":"#/definitions/CBD"},"minecraft:sound_volume":{"$ref":"#/definitions/CBE"},"minecraft:spawn_entity":{"$ref":"#/definitions/CBF"},"minecraft:spell_effects":{"$ref":"#/definitions/CBG"},"minecraft:tameable":{"$ref":"#/definitions/CBH"},"minecraft:tamemount":{"$ref":"#/definitions/CBI"},"minecraft:target_nearby_sensor":{"$ref":"#/definitions/CBJ"},"minecraft:teleport":{"$ref":"#/definitions/CCA"},"minecraft:tick_world":{"$ref":"#/definitions/CCB"},"minecraft:timer":{"$ref":"#/definitions/CCC"},"minecraft:trade_table":{"$ref":"#/definitions/CCD"},"minecraft:transformation":{"$ref":"#/definitions/CCE"},"minecraft:trust":{"$ref":"#/definitions/CCF"},"minecraft:trusting":{"$ref":"#/definitions/CCG"},"minecraft:type_family":{"$ref":"#/definitions/CCH"},"minecraft:variant":{"$ref":"#/definitions/CCI"},"minecraft:underwater_movement":{"$ref":"#/definitions/CCJ"},"minecraft:walk_animation_speed":{"$ref":"#/definitions/CDA"},"minecraft:wants_jockey":{"$ref":"#/definitions/CDB"},"minecraft:water_movement":{"$ref":"#/definitions/CDC"},"minecraft:admire_item":{"$ref":"#/definitions/CDD"},"minecraft:area_attack":{"$ref":"#/definitions/CDE"},"minecraft:attack_cooldown":{"$ref":"#/definitions/CDF"},"minecraft:barter":{"$ref":"#/definitions/CDG"},"minecraft:block_sensor":{"$ref":"#/definitions/CDH"},"minecraft:buoyant":{"$ref":"#/definitions/CDI"},"minecraft:celebrate_hunt":{"$ref":"#/definitions/CDJ"},"minecraft:entity_sensor":{"$ref":"#/definitions/CEA"},"minecraft:equip_item":{"$ref":"#/definitions/CEB"},"minecraft:experience_reward":{"$ref":"#/definitions/CEC"},"minecraft:group_size":{"$ref":"#/definitions/CED"},"minecraft:grows_crop":{"$ref":"#/definitions/CEE"},"minecraft:home":{"$ref":"#/definitions/CEF"},"minecraft:instant_despawn":{"$ref":"#/definitions/CEG"},"minecraft:mob_effect":{"$ref":"#/definitions/CEH"},"minecraft:movement.hover":{"$ref":"#/definitions/CEI"},"minecraft:navigation.hover":{"$ref":"#/definitions/CEJ"},"minecraft:npc":{"$ref":"#/definitions/CFA"},"minecraft:strength":{"$ref":"#/definitions/CFB"},"minecraft:trail":{"$ref":"#/definitions/CFC"},"minecraft:hide":{"$ref":"#/definitions/CFD"},"minecraft:horse.jump_strength":{"$ref":"#/definitions/CFE"},"minecraft:trade_resupply":{"$ref":"#/definitions/CFF"},"minecraft:behavior.admire_item":{"$ref":"#/definitions/CFG"},"minecraft:behavior.avoid_block":{"$ref":"#/definitions/CFI"},"minecraft:behavior.avoid_mob_type":{"$ref":"#/definitions/CFJ"},"minecraft:behavior.barter":{"$ref":"#/definitions/CGB"},"minecraft:behavior.beg":{"$ref":"#/definitions/CGC"},"minecraft:behavior.break_door":{"$ref":"#/definitions/CGD"},"minecraft:behavior.breed":{"$ref":"#/definitions/CGF"},"minecraft:behavior.celebrate":{"$ref":"#/definitions/CGG"},"minecraft:behavior.charge_attack":{"$ref":"#/definitions/CGH"},"minecraft:behavior.charge_held_item":{"$ref":"#/definitions/CGI"},"minecraft:behavior.circle_around_anchor":{"$ref":"#/definitions/CGJ"},"minecraft:behavior.controlled_by_player":{"$ref":"#/definitions/CHA"},"minecraft:behavior.defend_trusted_target":{"$ref":"#/definitions/CHB"},"minecraft:behavior.defend_village_target":{"$ref":"#/definitions/CHC"},"minecraft:behavior.delayed_attack":{"$ref":"#/definitions/CHD"},"minecraft:behavior.door_interact":{"$ref":"#/definitions/CHE"},"minecraft:behavior.dragonchargeplayer":{"$ref":"#/definitions/CHF"},"minecraft:behavior.dragondeath":{"$ref":"#/definitions/CHG"},"minecraft:behavior.dragonflaming":{"$ref":"#/definitions/CHH"},"minecraft:behavior.dragonholdingpattern":{"$ref":"#/definitions/CHI"},"minecraft:behavior.dragonlanding":{"$ref":"#/definitions/CHJ"},"minecraft:behavior.dragonscanning":{"$ref":"#/definitions/CIA"},"minecraft:behavior.dragonstrafeplayer":{"$ref":"#/definitions/CIB"},"minecraft:behavior.dragontakeoff":{"$ref":"#/definitions/CIC"},"minecraft:behavior.drink_potion":{"$ref":"#/definitions/CID"},"minecraft:behavior.drop_item_for":{"$ref":"#/definitions/CIE"},"minecraft:behavior.eat_block":{"$ref":"#/definitions/CIF"},"minecraft:behavior.eat_carried_item":{"$ref":"#/definitions/CIG"},"minecraft:behavior.enderman_leave_block":{"$ref":"#/definitions/CIH"},"minecraft:behavior.enderman_take_block":{"$ref":"#/definitions/CII"},"minecraft:behavior.equip_item":{"$ref":"#/definitions/CIJ"},"minecraft:behavior.explore_outskirts":{"$ref":"#/definitions/CJA"},"minecraft:behavior.find_cover":{"$ref":"#/definitions/CJB"},"minecraft:behavior.find_mount":{"$ref":"#/definitions/CJC"},"minecraft:behavior.find_underwater_treasure":{"$ref":"#/definitions/CJD"},"minecraft:behavior.flee_sun":{"$ref":"#/definitions/CJE"},"minecraft:behavior.float":{"$ref":"#/definitions/CJF"},"minecraft:behavior.float_wander":{"$ref":"#/definitions/CJG"},"minecraft:behavior.follow_caravan":{"$ref":"#/definitions/CJH"},"minecraft:behavior.follow_mob":{"$ref":"#/definitions/CJI"},"minecraft:behavior.follow_owner":{"$ref":"#/definitions/CJJ"},"minecraft:behavior.follow_parent":{"$ref":"#/definitions/DAA"},"minecraft:behavior.follow_target_captain":{"$ref":"#/definitions/DAB"},"minecraft:behavior.go_home":{"$ref":"#/definitions/DAC"},"minecraft:behavior.guardian_attack":{"$ref":"#/definitions/DAD"},"minecraft:behavior.harvest_farm_block":{"$ref":"#/definitions/DAE"},"minecraft:behavior.hide":{"$ref":"#/definitions/DAF"},"minecraft:behavior.hold_ground":{"$ref":"#/definitions/DAG"},"minecraft:behavior.hurt_by_target":{"$ref":"#/definitions/DAH"},"minecraft:behavior.inspect_bookshelf":{"$ref":"#/definitions/DAI"},"minecraft:behavior.jump_to_block":{"$ref":"#/definitions/DAJ"},"minecraft:behavior.knockback_roar":{"$ref":"#/definitions/DBA"},"minecraft:behavior.lay_down":{"$ref":"#/definitions/DBB"},"minecraft:behavior.lay_egg":{"$ref":"#/definitions/DBC"},"minecraft:behavior.leap_at_target":{"$ref":"#/definitions/DBD"},"minecraft:behavior.look_at_entity":{"$ref":"#/definitions/DBE"},"minecraft:behavior.look_at_player":{"$ref":"#/definitions/DBF"},"minecraft:behavior.look_at_target":{"$ref":"#/definitions/DBG"},"minecraft:behavior.look_at_trading_player":{"$ref":"#/definitions/DBH"},"minecraft:behavior.make_love":{"$ref":"#/definitions/DBI"},"minecraft:behavior.melee_attack":{"$ref":"#/definitions/DBJ"},"minecraft:behavior.mingle":{"$ref":"#/definitions/DCA"},"minecraft:behavior.mount_pathing":{"$ref":"#/definitions/DCB"},"minecraft:behavior.move_indoors":{"$ref":"#/definitions/DCC"},"minecraft:behavior.move_through_village":{"$ref":"#/definitions/DCD"},"minecraft:behavior.move_to_block":{"$ref":"#/definitions/DCE"},"minecraft:behavior.move_to_land":{"$ref":"#/definitions/DCF"},"minecraft:behavior.move_to_lava":{"$ref":"#/definitions/DCG"},"minecraft:behavior.move_to_liquid":{"$ref":"#/definitions/DCH"},"minecraft:behavior.move_to_poi":{"$ref":"#/definitions/DCI"},"minecraft:behavior.move_to_random_block":{"$ref":"#/definitions/DCJ"},"minecraft:behavior.move_to_village":{"$ref":"#/definitions/DDA"},"minecraft:behavior.move_to_water":{"$ref":"#/definitions/DDB"},"minecraft:behavior.move_towards_dwelling_restriction":{"$ref":"#/definitions/DDC"},"minecraft:behavior.move_towards_home_restriction":{"$ref":"#/definitions/DDD"},"minecraft:behavior.move_towards_restriction":{"$ref":"#/definitions/DDE"},"minecraft:behavior.move_towards_target":{"$ref":"#/definitions/DDF"},"minecraft:behavior.nap":{"$ref":"#/definitions/DDG"},"minecraft:behavior.nearest_attackable_target":{"$ref":"#/definitions/DDH"},"minecraft:behavior.nearest_prioritized_attackable_target":{"$ref":"#/definitions/DDI"},"minecraft:behavior.ocelot_sit_on_block":{"$ref":"#/definitions/DDJ"},"minecraft:behavior.ocelotattack":{"$ref":"#/definitions/DEA"},"minecraft:behavior.offer_flower":{"$ref":"#/definitions/DEB"},"minecraft:behavior.open_door":{"$ref":"#/definitions/DEC"},"minecraft:behavior.owner_hurt_by_target":{"$ref":"#/definitions/DED"},"minecraft:behavior.owner_hurt_target":{"$ref":"#/definitions/DEE"},"minecraft:behavior.panic":{"$ref":"#/definitions/DEF"},"minecraft:behavior.peek":{"$ref":"#/definitions/DEG"},"minecraft:behavior.pet_sleep_with_owner":{"$ref":"#/definitions/DEH"},"minecraft:behavior.pickup_items":{"$ref":"#/definitions/DEI"},"minecraft:behavior.play":{"$ref":"#/definitions/DEJ"},"minecraft:behavior.play_dead":{"$ref":"#/definitions/DFA"},"minecraft:behavior.player_ride_tamed":{"$ref":"#/definitions/DFB"},"minecraft:behavior.raid_garden":{"$ref":"#/definitions/DFC"},"minecraft:behavior.ram_attack":{"$ref":"#/definitions/DFD"},"minecraft:behavior.random_breach":{"$ref":"#/definitions/DFE"},"minecraft:behavior.random_fly":{"$ref":"#/definitions/DFF"},"minecraft:behavior.random_hover":{"$ref":"#/definitions/DFG"},"minecraft:behavior.random_look_around":{"$ref":"#/definitions/DFH"},"minecraft:behavior.random_look_around_and_sit":{"$ref":"#/definitions/DFI"},"minecraft:behavior.random_sitting":{"$ref":"#/definitions/DFJ"},"minecraft:behavior.random_stroll":{"$ref":"#/definitions/DGA"},"minecraft:behavior.random_swim":{"$ref":"#/definitions/DGB"},"minecraft:behavior.ranged_attack":{"$ref":"#/definitions/DGC"},"minecraft:behavior.receive_love":{"$ref":"#/definitions/DGD"},"minecraft:behavior.restrict_open_door":{"$ref":"#/definitions/DGE"},"minecraft:behavior.restrict_sun":{"$ref":"#/definitions/DGF"},"minecraft:behavior.rise_to_liquid_level":{"$ref":"#/definitions/DGG"},"minecraft:behavior.roll":{"$ref":"#/definitions/DGH"},"minecraft:behavior.run_around_like_crazy":{"$ref":"#/definitions/DGI"},"minecraft:behavior.scared":{"$ref":"#/definitions/DGJ"},"minecraft:behavior.send_event":{"$ref":"#/definitions/DHA"},"minecraft:behavior.share_items":{"$ref":"#/definitions/DHB"},"minecraft:behavior.silverfish_merge_with_stone":{"$ref":"#/definitions/DHC"},"minecraft:behavior.silverfish_wake_up_friends":{"$ref":"#/definitions/DHD"},"minecraft:behavior.skeleton_horse_trap":{"$ref":"#/definitions/DHE"},"minecraft:behavior.sleep":{"$ref":"#/definitions/DHF"},"minecraft:behavior.slime_attack":{"$ref":"#/definitions/DHG"},"minecraft:behavior.slime_float":{"$ref":"#/definitions/DHH"},"minecraft:behavior.slime_keep_on_jumping":{"$ref":"#/definitions/DHI"},"minecraft:behavior.slime_random_direction":{"$ref":"#/definitions/DHJ"},"minecraft:behavior.snacking":{"$ref":"#/definitions/DIA"},"minecraft:behavior.sneeze":{"$ref":"#/definitions/DIB"},"minecraft:behavior.squid_dive":{"$ref":"#/definitions/DIC"},"minecraft:behavior.squid_flee":{"$ref":"#/definitions/DID"},"minecraft:behavior.squid_idle":{"$ref":"#/definitions/DIE"},"minecraft:behavior.squid_move_away_from_ground":{"$ref":"#/definitions/DIF"},"minecraft:behavior.squid_out_of_water":{"$ref":"#/definitions/DIG"},"minecraft:behavior.stalk_and_pounce_on_target":{"$ref":"#/definitions/DIH"},"minecraft:behavior.stay_while_sitting":{"$ref":"#/definitions/DII"},"minecraft:behavior.stomp_attack":{"$ref":"#/definitions/DIJ"},"minecraft:behavior.stomp_turtle_egg":{"$ref":"#/definitions/DJA"},"minecraft:behavior.stroll_towards_village":{"$ref":"#/definitions/DJB"},"minecraft:behavior.summon_entity":{"$ref":"#/definitions/DJC"},"minecraft:behavior.swell":{"$ref":"#/definitions/DJD"},"minecraft:behavior.swim_idle":{"$ref":"#/definitions/DJE"},"minecraft:behavior.swim_wander":{"$ref":"#/definitions/DJF"},"minecraft:behavior.swim_with_entity":{"$ref":"#/definitions/DJG"},"minecraft:behavior.swoop_attack":{"$ref":"#/definitions/DJH"},"minecraft:behavior.take_flower":{"$ref":"#/definitions/DJI"},"minecraft:behavior.target_when_pushed":{"$ref":"#/definitions/DJJ"},"minecraft:behavior.tempt":{"$ref":"#/definitions/EAA"},"minecraft:behavior.trade_interest":{"$ref":"#/definitions/EAB"},"minecraft:behavior.trade_with_player":{"$ref":"#/definitions/EAC"},"minecraft:behavior.vex_copy_owner_target":{"$ref":"#/definitions/EAD"},"minecraft:behavior.vex_random_move":{"$ref":"#/definitions/EAE"},"minecraft:behavior.wither_random_attack_pos_goal":{"$ref":"#/definitions/EAF"},"minecraft:behavior.wither_target_highest_damage":{"$ref":"#/definitions/EAG"},"minecraft:behavior.work":{"$ref":"#/definitions/EAH"}}},"EAI_addremove":{"additionalProperties":false,"title":"Add Or Remove","description":"The components groups to add or remove","type":"object","examples":[{"component_groups":[]}],"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"}}}},"EAI_event_base":{"additionalProperties":false,"type":"object","examples":[{},{"add":{"component_groups":[]}},{"remove":{"component_groups":[]}}],"properties":{"filters":{"$ref":"#/definitions/BA"},"trigger":{"type":"string","description":"Triggers additional events","$comment":"UNDOCUMENTED","title":"Trigger"},"add":{"$ref":"#/definitions/EAI_addremove","description":"What gets added when the event gets triggered","title":"Add"},"remove":{"$ref":"#/definitions/EAI_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":{"required":["weight"],"description":"Randomly selects one of the following items based upon their weight and the total weights","title":"Randomize","properties":{"add":{"$ref":"#/definitions/EAI_addremove","description":"What gets added when the event gets triggered","title":"Add"},"remove":{"$ref":"#/definitions/EAI_addremove","description":"What gets removed when the event gets triggered","title":"Remove"},"trigger":{"type":"string","description":"Triggers additional events","$comment":"UNDOCUMENTED","title":"Trigger"},"weight":{"type":"number","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/EAI_addremove","description":"What gets added when the event gets triggered","title":"Add"},"remove":{"$ref":"#/definitions/EAI_addremove","description":"What gets removed when the event gets triggered","title":"Remove"},"trigger":{"type":"string","description":"Triggers additional events","$comment":"UNDOCUMENTED","title":"Trigger"},"filters":{"$ref":"#/definitions/BA"}}}}}},"EAI":{"type":"object","title":"Events","description":"Events for entities","additionalProperties":{"$ref":"#/definitions/EAI_event_base"},"properties":{"minecraft:entity_transformed":{"description":"Event called on an entity that transforms into another entity.","$ref":"#/definitions/EAI_event_base","title":"Entity Transformed"},"minecraft:entity_born":{"description":"Event called on an entity that is spawned through two entities breeding.","$ref":"#/definitions/EAI_event_base","title":"Entity Born"},"minecraft:entity_spawned":{"description":"Event called on an entity that is placed in the level.","$ref":"#/definitions/EAI_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/EAI_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/EAI","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 eb2b7f46..d9cdb098 100644 --- a/behavior/feature_rules/feature_rules.json +++ b/behavior/feature_rules/feature_rules.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.behavior.feature_rules","examples":[{"format_version":"1.13.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/HE"}}}],"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"]},"C":{"description":"A minecraft feature identifier","examples":["namespace:feature"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Feature Identifier","type":"string"},"D_filters_spec":{"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_ranged_weapon"}}},"then":{"$ref":"#/definitions/BH"}},{"if":{"properties":{"test":{"const":"has_tag"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"test":{"const":"has_target"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"test":{"const":"has_trade_supply"}}},"then":{"$ref":"#/definitions/CA"}},{"if":{"properties":{"test":{"const":"hourly_clock_time"}}},"then":{"$ref":"#/definitions/CB"}},{"if":{"properties":{"test":{"const":"in_block"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"test":{"const":"in_caravan"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"test":{"const":"in_clouds"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"test":{"const":"in_lava"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"test":{"const":"in_nether"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"test":{"const":"in_water"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"test":{"const":"in_water_or_rain"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"test":{"const":"in_contact_with_water"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"test":{"const":"inactivity_timer"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"test":{"const":"is_altitude"}}},"then":{"$ref":"#/definitions/DB"}},{"if":{"properties":{"test":{"const":"is_avoiding_mobs"}}},"then":{"$ref":"#/definitions/DC"}},{"if":{"properties":{"test":{"const":"is_biome"}}},"then":{"$ref":"#/definitions/DD"}},{"if":{"properties":{"test":{"const":"is_block"}}},"then":{"$ref":"#/definitions/DE"}},{"if":{"properties":{"test":{"const":"is_brightness"}}},"then":{"$ref":"#/definitions/DF"}},{"if":{"properties":{"test":{"const":"is_climbing"}}},"then":{"$ref":"#/definitions/DG"}},{"if":{"properties":{"test":{"const":"is_color"}}},"then":{"$ref":"#/definitions/DH"}},{"if":{"properties":{"test":{"const":"is_daytime"}}},"then":{"$ref":"#/definitions/DI"}},{"if":{"properties":{"test":{"const":"is_difficulty"}}},"then":{"$ref":"#/definitions/DJ"}},{"if":{"properties":{"test":{"const":"is_family"}}},"then":{"$ref":"#/definitions/EA"}},{"if":{"properties":{"test":{"const":"is_game_rule"}}},"then":{"$ref":"#/definitions/EB"}},{"if":{"properties":{"test":{"const":"is_humid"}}},"then":{"$ref":"#/definitions/EC"}},{"if":{"properties":{"test":{"const":"is_immobile"}}},"then":{"$ref":"#/definitions/ED"}},{"if":{"properties":{"test":{"const":"is_in_village"}}},"then":{"$ref":"#/definitions/EE"}},{"if":{"properties":{"test":{"const":"is_leashed"}}},"then":{"$ref":"#/definitions/EF"}},{"if":{"properties":{"test":{"const":"is_leashed_to"}}},"then":{"$ref":"#/definitions/EG"}},{"if":{"properties":{"test":{"const":"is_mark_variant"}}},"then":{"$ref":"#/definitions/EH"}},{"if":{"properties":{"test":{"const":"is_moving"}}},"then":{"$ref":"#/definitions/EI"}},{"if":{"properties":{"test":{"const":"is_owner"}}},"then":{"$ref":"#/definitions/EJ"}},{"if":{"properties":{"test":{"const":"is_persistent"}}},"then":{"$ref":"#/definitions/FA"}},{"if":{"properties":{"test":{"const":"is_riding"}}},"then":{"$ref":"#/definitions/FB"}},{"if":{"properties":{"test":{"const":"is_skin_id"}}},"then":{"$ref":"#/definitions/FC"}},{"if":{"properties":{"test":{"const":"is_sleeping"}}},"then":{"$ref":"#/definitions/FD"}},{"if":{"properties":{"test":{"const":"is_sneaking"}}},"then":{"$ref":"#/definitions/FE"}},{"if":{"properties":{"test":{"const":"is_snow_covered"}}},"then":{"$ref":"#/definitions/FF"}},{"if":{"properties":{"test":{"const":"is_target"}}},"then":{"$ref":"#/definitions/FG"}},{"if":{"properties":{"test":{"const":"is_temperature_type"}}},"then":{"$ref":"#/definitions/FH"}},{"if":{"properties":{"test":{"const":"is_temperature_value"}}},"then":{"$ref":"#/definitions/FI"}},{"if":{"properties":{"test":{"const":"is_underground"}}},"then":{"$ref":"#/definitions/FJ"}},{"if":{"properties":{"test":{"const":"is_underwater"}}},"then":{"$ref":"#/definitions/GA"}},{"if":{"properties":{"test":{"const":"is_variant"}}},"then":{"$ref":"#/definitions/GB"}},{"if":{"properties":{"test":{"const":"is_visible"}}},"then":{"$ref":"#/definitions/GC"}},{"if":{"properties":{"test":{"const":"light_level"}}},"then":{"$ref":"#/definitions/GD"}},{"if":{"properties":{"test":{"const":"moon_intensity"}}},"then":{"$ref":"#/definitions/GE"}},{"if":{"properties":{"test":{"const":"moon_phase"}}},"then":{"$ref":"#/definitions/GF"}},{"if":{"properties":{"test":{"const":"on_ground"}}},"then":{"$ref":"#/definitions/GG"}},{"if":{"properties":{"test":{"const":"on_ladder"}}},"then":{"$ref":"#/definitions/GH"}},{"if":{"properties":{"test":{"const":"random_chance"}}},"then":{"$ref":"#/definitions/GI"}},{"if":{"properties":{"test":{"const":"rider_count"}}},"then":{"$ref":"#/definitions/GJ"}},{"if":{"properties":{"test":{"const":"surface_mob"}}},"then":{"$ref":"#/definitions/HA"}},{"if":{"properties":{"test":{"const":"trusts"}}},"then":{"$ref":"#/definitions/HB"}},{"if":{"properties":{"test":{"const":"weather"}}},"then":{"$ref":"#/definitions/HC"}},{"if":{"properties":{"test":{"const":"weather_at_position"}}},"then":{"$ref":"#/definitions/HD"}},{"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","fire_tick","fireworks","fly_into_wall","freezing","lava","lightning","magic","magma","none","override","piston","projectile","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"},"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":"example","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 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}]},"BI":{"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"}]},"BJ":{"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}]},"CA":{"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}]},"CB":{"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}]},"CC":{"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"}]},"CD":{"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}]},"CE":{"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}]},"CF":{"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}]},"CG":{"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}]},"CH":{"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}]},"CI":{"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}]},"CJ":{"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}]},"DA":{"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}]},"DB":{"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}]},"DC":{"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}]},"DD":{"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_nethe"],"title":"Value"}},"examples":[{"test":"is_biome","value":"beach"}]},"DE":{"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"}]},"DF":{"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}]},"DG":{"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}]},"DH":{"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","yello"],"title":"Value"}},"examples":[{"test":"is_color","value":"black"}]},"DI":{"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}]},"DJ":{"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"}]},"EA":{"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"}]},"EB":{"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}]},"EC":{"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}]},"ED":{"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}]},"EE":{"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}]},"EF":{"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}]},"EG":{"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}]},"EH":{"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}]},"EI":{"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}]},"EJ":{"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}]},"FA":{"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}]},"FB":{"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}]},"FC":{"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}]},"FD":{"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}]},"FE":{"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}]},"FF":{"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}]},"FG":{"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}]},"FH":{"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"}]},"FI":{"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}]},"FJ":{"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}]},"GA":{"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}]},"GB":{"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}]},"GC":{"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}]},"GD":{"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}]},"GE":{"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}]},"GF":{"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}]},"GG":{"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}]},"GH":{"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}]},"GI":{"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}]},"GJ":{"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}]},"HA":{"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}]},"HB":{"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}]},"HC":{"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"}]},"HD":{"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"}]},"D":{"title":"Filters","$ref":"#/definitions/D_groups_spec"},"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"}}}}}}},"HE":{"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file +{"$id":"blockception.minecraft.behavior.feature_rules","examples":[{"format_version":"1.13.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/HE"}}}],"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"]},"C":{"description":"A minecraft feature identifier","examples":["namespace:feature"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Feature Identifier","type":"string"},"D_filters_spec":{"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_ranged_weapon"}}},"then":{"$ref":"#/definitions/BH"}},{"if":{"properties":{"test":{"const":"has_tag"}}},"then":{"$ref":"#/definitions/BI"}},{"if":{"properties":{"test":{"const":"has_target"}}},"then":{"$ref":"#/definitions/BJ"}},{"if":{"properties":{"test":{"const":"has_trade_supply"}}},"then":{"$ref":"#/definitions/CA"}},{"if":{"properties":{"test":{"const":"hourly_clock_time"}}},"then":{"$ref":"#/definitions/CB"}},{"if":{"properties":{"test":{"const":"in_block"}}},"then":{"$ref":"#/definitions/CC"}},{"if":{"properties":{"test":{"const":"in_caravan"}}},"then":{"$ref":"#/definitions/CD"}},{"if":{"properties":{"test":{"const":"in_clouds"}}},"then":{"$ref":"#/definitions/CE"}},{"if":{"properties":{"test":{"const":"in_lava"}}},"then":{"$ref":"#/definitions/CF"}},{"if":{"properties":{"test":{"const":"in_nether"}}},"then":{"$ref":"#/definitions/CG"}},{"if":{"properties":{"test":{"const":"in_water"}}},"then":{"$ref":"#/definitions/CH"}},{"if":{"properties":{"test":{"const":"in_water_or_rain"}}},"then":{"$ref":"#/definitions/CI"}},{"if":{"properties":{"test":{"const":"in_contact_with_water"}}},"then":{"$ref":"#/definitions/CJ"}},{"if":{"properties":{"test":{"const":"inactivity_timer"}}},"then":{"$ref":"#/definitions/DA"}},{"if":{"properties":{"test":{"const":"is_altitude"}}},"then":{"$ref":"#/definitions/DB"}},{"if":{"properties":{"test":{"const":"is_avoiding_mobs"}}},"then":{"$ref":"#/definitions/DC"}},{"if":{"properties":{"test":{"const":"is_biome"}}},"then":{"$ref":"#/definitions/DD"}},{"if":{"properties":{"test":{"const":"is_block"}}},"then":{"$ref":"#/definitions/DE"}},{"if":{"properties":{"test":{"const":"is_brightness"}}},"then":{"$ref":"#/definitions/DF"}},{"if":{"properties":{"test":{"const":"is_climbing"}}},"then":{"$ref":"#/definitions/DG"}},{"if":{"properties":{"test":{"const":"is_color"}}},"then":{"$ref":"#/definitions/DH"}},{"if":{"properties":{"test":{"const":"is_daytime"}}},"then":{"$ref":"#/definitions/DI"}},{"if":{"properties":{"test":{"const":"is_difficulty"}}},"then":{"$ref":"#/definitions/DJ"}},{"if":{"properties":{"test":{"const":"is_family"}}},"then":{"$ref":"#/definitions/EA"}},{"if":{"properties":{"test":{"const":"is_game_rule"}}},"then":{"$ref":"#/definitions/EB"}},{"if":{"properties":{"test":{"const":"is_humid"}}},"then":{"$ref":"#/definitions/EC"}},{"if":{"properties":{"test":{"const":"is_immobile"}}},"then":{"$ref":"#/definitions/ED"}},{"if":{"properties":{"test":{"const":"is_in_village"}}},"then":{"$ref":"#/definitions/EE"}},{"if":{"properties":{"test":{"const":"is_leashed"}}},"then":{"$ref":"#/definitions/EF"}},{"if":{"properties":{"test":{"const":"is_leashed_to"}}},"then":{"$ref":"#/definitions/EG"}},{"if":{"properties":{"test":{"const":"is_mark_variant"}}},"then":{"$ref":"#/definitions/EH"}},{"if":{"properties":{"test":{"const":"is_moving"}}},"then":{"$ref":"#/definitions/EI"}},{"if":{"properties":{"test":{"const":"is_owner"}}},"then":{"$ref":"#/definitions/EJ"}},{"if":{"properties":{"test":{"const":"is_persistent"}}},"then":{"$ref":"#/definitions/FA"}},{"if":{"properties":{"test":{"const":"is_riding"}}},"then":{"$ref":"#/definitions/FB"}},{"if":{"properties":{"test":{"const":"is_skin_id"}}},"then":{"$ref":"#/definitions/FC"}},{"if":{"properties":{"test":{"const":"is_sleeping"}}},"then":{"$ref":"#/definitions/FD"}},{"if":{"properties":{"test":{"const":"is_sneaking"}}},"then":{"$ref":"#/definitions/FE"}},{"if":{"properties":{"test":{"const":"is_snow_covered"}}},"then":{"$ref":"#/definitions/FF"}},{"if":{"properties":{"test":{"const":"is_target"}}},"then":{"$ref":"#/definitions/FG"}},{"if":{"properties":{"test":{"const":"is_temperature_type"}}},"then":{"$ref":"#/definitions/FH"}},{"if":{"properties":{"test":{"const":"is_temperature_value"}}},"then":{"$ref":"#/definitions/FI"}},{"if":{"properties":{"test":{"const":"is_underground"}}},"then":{"$ref":"#/definitions/FJ"}},{"if":{"properties":{"test":{"const":"is_underwater"}}},"then":{"$ref":"#/definitions/GA"}},{"if":{"properties":{"test":{"const":"is_variant"}}},"then":{"$ref":"#/definitions/GB"}},{"if":{"properties":{"test":{"const":"is_visible"}}},"then":{"$ref":"#/definitions/GC"}},{"if":{"properties":{"test":{"const":"light_level"}}},"then":{"$ref":"#/definitions/GD"}},{"if":{"properties":{"test":{"const":"moon_intensity"}}},"then":{"$ref":"#/definitions/GE"}},{"if":{"properties":{"test":{"const":"moon_phase"}}},"then":{"$ref":"#/definitions/GF"}},{"if":{"properties":{"test":{"const":"on_ground"}}},"then":{"$ref":"#/definitions/GG"}},{"if":{"properties":{"test":{"const":"on_ladder"}}},"then":{"$ref":"#/definitions/GH"}},{"if":{"properties":{"test":{"const":"random_chance"}}},"then":{"$ref":"#/definitions/GI"}},{"if":{"properties":{"test":{"const":"rider_count"}}},"then":{"$ref":"#/definitions/GJ"}},{"if":{"properties":{"test":{"const":"surface_mob"}}},"then":{"$ref":"#/definitions/HA"}},{"if":{"properties":{"test":{"const":"trusts"}}},"then":{"$ref":"#/definitions/HB"}},{"if":{"properties":{"test":{"const":"weather"}}},"then":{"$ref":"#/definitions/HC"}},{"if":{"properties":{"test":{"const":"weather_at_position"}}},"then":{"$ref":"#/definitions/HD"}},{"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","fire_tick","fireworks","fly_into_wall","freezing","lava","lightning","magic","magma","none","override","piston","projectile","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"},"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":"example","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 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}]},"BI":{"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"}]},"BJ":{"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}]},"CA":{"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}]},"CB":{"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}]},"CC":{"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"}]},"CD":{"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}]},"CE":{"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}]},"CF":{"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}]},"CG":{"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}]},"CH":{"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}]},"CI":{"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}]},"CJ":{"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}]},"DA":{"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}]},"DB":{"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}]},"DC":{"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}]},"DD":{"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_nethe"],"title":"Value"}},"examples":[{"test":"is_biome","value":"beach"}]},"DE":{"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"}]},"DF":{"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}]},"DG":{"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}]},"DH":{"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","yello"],"title":"Value"}},"examples":[{"test":"is_color","value":"black"}]},"DI":{"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}]},"DJ":{"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"}]},"EA":{"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"}]},"EB":{"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}]},"EC":{"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}]},"ED":{"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}]},"EE":{"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}]},"EF":{"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}]},"EG":{"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}]},"EH":{"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}]},"EI":{"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}]},"EJ":{"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}]},"FA":{"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}]},"FB":{"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}]},"FC":{"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}]},"FD":{"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}]},"FE":{"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}]},"FF":{"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}]},"FG":{"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}]},"FH":{"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"}]},"FI":{"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}]},"FJ":{"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}]},"GA":{"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}]},"GB":{"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}]},"GC":{"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}]},"GD":{"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}]},"GE":{"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}]},"GF":{"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}]},"GG":{"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}]},"GH":{"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}]},"GI":{"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}]},"GJ":{"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}]},"HA":{"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}]},"HB":{"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}]},"HC":{"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"}]},"HD":{"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"}]},"D":{"title":"Filters","$ref":"#/definitions/D_groups_spec"},"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"}}}}}}},"HE":{"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file diff --git a/behavior/features/features.json b/behavior/features/features.json index 24b0dafe..cd9f743f 100644 --- a/behavior/features/features.json +++ b/behavior/features/features.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.behavior.features","examples":[{"format_version":"1.17.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"},"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"},"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"]},"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"]},"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file +{"$id":"blockception.minecraft.behavior.features","examples":[{"format_version":"1.17.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"},"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"},"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"]},"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"]},"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file diff --git a/behavior/items/items.json b/behavior/items/items.json index db7b18c4..124edf81 100644 --- a/behavior/items/items.json +++ b/behavior/items/items.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.behavior.items","examples":[{"format_version":"1.16.200","minecraft:item":{"description":{"identifier":"namespace:item"},"components":{}}}],"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"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.14"}}},"then":{"$ref":"#/definitions/E"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.14.0"}}},"then":{"$ref":"#/definitions/E"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.16"}}},"then":{"$ref":"#/definitions/F"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.16.0"}}},"then":{"$ref":"#/definitions/F"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.16.100"}}},"then":{"$ref":"#/definitions/G"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.16.200"}}},"then":{"$ref":"#/definitions/DJ"}},{"properties":{"format_version":{"$ref":"#/definitions/HA"}}}],"definitions":{"B":{"description":"A minecraft item identifier","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item Identifier","type":"string"},"C":{"type":"array","title":"Array Of 3 Items","description":"An array of 3 numbers","examples":[[0,1,2]],"items":[{"type":"number","description":"An number","title":"X"},{"type":"number","description":"An number","title":"Y"},{"type":"number","description":"An number","title":"Z"}]},"D":{"type":"string","title":"Block Name","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"A":{"description":"Minecraft items 1.10.0","required":["format_version","minecraft:item"],"title":"Item","type":"object","properties":{"format_version":{"title":"1.10.0 Format Version","type":"string","pattern":"^1.10.0$","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:item":{"additionalProperties":false,"required":["description"],"type":"object","title":"Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"description":{"additionalProperties":false,"type":"object","properties":{"identifier":{"title":"Identifier","type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/B"}}},"components":{"additionalProperties":false,"type":"object","description":"The components of this item","properties":{"minecraft:camera":{"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Minecraft Camera","properties":{"black_bars_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Black Bars Duration"},"black_bars_screen_ratio":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Black Bars Screen Ratio"},"shutter_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Shutter Duration"},"picture_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Picture Duration"},"slide_away_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Slide Away Duration"}}},"minecraft:max_damage":{"type":"integer","description":"Maximum damage item has, this is used like item Maximum health."},"minecraft:hand_equipped":{"type":"boolean","title":"Hand Equipped","description":"Is this a hand equipped item."},"minecraft:stacked_by_data":{"type":"boolean","description":"Stacked by data aux value or not?"},"minecraft:foil":{"type":"boolean","description":"Foil or glint."},"minecraft:block":{"type":"string","description":"Block name, leave blank for no block."},"minecraft:max_stack_size":{"type":"integer","description":"Maximum stack size.","minimum":0},"minecraft:use_duration":{"type":"integer","description":"How long to use before item is done being used."},"minecraft:food":{"type":"object","description":"Food settings of the item","properties":{"nutrition":{"type":"integer","description":"Nutrition amount."},"saturation_modifier":{"type":"string","description":"Choose: poor, low, normal, good, max, supernatural.","enum":["poor","low","normal","good","max","supernatural"]},"using_converts_to":{"type":"string","description":"After using, item converts it to this item.","$ref":"#/definitions/B"},"on_use_action":{"type":"string","description":"'chorus_teleport` or `none`.","enum":["chorus_teleport","suspicious_stew_effect","none"]},"on_use_range":{"$ref":"#/definitions/C"},"cooldown_type":{"type":"string","description":"'chorusfruit` or `none`.","enum":["chorusfruit","none"]},"cooldown_time":{"type":"integer","description":"Cooldown time in ticks."},"can_always_eat":{"type":"boolean","description":"Can always eat this item? true or false."},"effects":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Name"},"chance":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Chance"},"duration":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Duration"},"amplifier":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Amplifier"}}}}}},"minecraft:seed":{"additionalProperties":false,"type":"object","properties":{"crop_result":{"type":"string"},"plant_at":{"description":"Valid blocks you can plant this item at.","oneOf":[{"type":"string","$ref":"#/definitions/D"},{"type":"array","items":{"type":"string","$ref":"#/definitions/D"}}]}}}}}}}}},"E":{"description":"Minecraft items 1.14.0","required":["format_version","minecraft:item"],"title":"Item","type":"object","properties":{"format_version":{"title":"Format Version","type":"string","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:item":{"additionalProperties":false,"required":["description"],"type":"object","title":"Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"description":{"additionalProperties":false,"type":"object","title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"identifier":{"title":"Identifier","type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/B"}}},"components":{"additionalProperties":false,"type":"object","description":"The components of this item","properties":{"minecraft:camera":{"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Minecraft Camera","properties":{"black_bars_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Black Bars Duration"},"black_bars_screen_ratio":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Black Bars Screen Ratio"},"shutter_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Shutter Duration"},"picture_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Picture Duration"},"slide_away_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Slide Away Duration"}}},"minecraft:max_damage":{"type":"integer","description":"Maximum damage item has, this is used like item Maximum health.","title":"Max Damage"},"minecraft:hand_equipped":{"type":"boolean","title":"Hand Equipped","description":"Is this a hand equipped item."},"minecraft:stacked_by_data":{"type":"boolean","description":"Stacked by data aux value or not?","title":"Stacked By Data"},"minecraft:foil":{"type":"boolean","description":"Foil or glint.","title":"Foil"},"minecraft:block":{"type":"string","description":"Block name, leave blank for no block.","title":"Block"},"minecraft:max_stack_size":{"type":"integer","description":"Maximum stack size.","title":"Max Stack Size","minimum":0},"minecraft:use_duration":{"type":"integer","description":"How long to use before item is done being used.","title":"Use Duration"},"minecraft:food":{"type":"object","description":"Food settings of the item","additionalProperties":false,"properties":{"nutrition":{"type":"integer","description":"Nutrition amount.","title":"Nutrition"},"saturation_modifier":{"type":"string","description":"Choose: `poor`, `low`, `normal`, `good`, `max`, `supernatural`.","enum":["poor","low","normal","good","max","supernatural"],"title":"Saturation Modifier"},"using_converts_to":{"type":"string","description":"After using, item converts it to this item.","title":"Using Converts To","$ref":"#/definitions/B"},"on_use_action":{"type":"string","description":"'chorus_teleport` or `none`.","title":"On Use Action","enum":["chorus_teleport","suspicious_stew_effect","none"]},"on_use_range":{"$ref":"#/definitions/C","title":"On Use Range"},"cooldown_type":{"type":"string","description":"'chorusfruit` or `none`.","title":"Cooldown Type","enum":["chorusfruit","none"]},"cooldown_time":{"type":"integer","description":"Cooldown time in ticks.","title":"Cooldown Time"},"can_always_eat":{"type":"boolean","description":"Can always eat this item? true or false.","title":"Can Always Eat"},"effects":{"type":"array","title":"Effects","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"additionalProperties":false,"type":"object","title":"Items","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"name":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Name"},"chance":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Chance"},"duration":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Duration"},"amplifier":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Amplifier"}}}},"remove_effects":{"type":"array","description":"Can always eat this item? true or false.","title":"Remove Effects","items":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Remove Effects"}}}},"minecraft:seed":{"additionalProperties":false,"type":"object","title":"Seed","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"crop_result":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Crop Result"},"plant_at":{"description":"Valid blocks you can plant this item at.","title":"Plant At","oneOf":[{"type":"string","$ref":"#/definitions/D"},{"type":"array","items":{"type":"string","$ref":"#/definitions/D"}}]}}}}}}}}},"F":{"description":"Minecraft items 1.16.0","required":["format_version","minecraft:item"],"title":"Item","type":"object","properties":{"format_version":{"title":"Format Version","type":"string","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:item":{"additionalProperties":false,"required":["description"],"type":"object","title":"Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","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/B"},"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"},"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":false,"type":"object","description":"The components of this item","properties":{"minecraft:camera":{"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Minecraft Camera","properties":{"black_bars_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Black Bars Duration"},"black_bars_screen_ratio":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Black Bars Screen Ratio"},"shutter_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Shutter Duration"},"picture_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Picture Duration"},"slide_away_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Slide Away Duration"}}},"minecraft:max_damage":{"type":"integer","description":"Maximum damage item has, this is used like item Maximum health.","title":"Maximum Damage"},"minecraft:hand_equipped":{"type":"boolean","title":"Hand Equipped","description":"Is this a hand equipped item."},"minecraft:stacked_by_data":{"type":"boolean","description":"Stacked by data aux value or not?","title":"Stacked By Data"},"minecraft:foil":{"type":"boolean","description":"Foil or glint.","title":"Foil"},"minecraft:block":{"type":"string","description":"Block name, leave blank for no block.","title":"Block"},"minecraft:max_stack_size":{"type":"integer","description":"Maximum stack size.","title":"Maximum Stack Size","minimum":0},"minecraft:use_duration":{"type":"integer","description":"How long to use before item is done being used.","title":"Use Duration"},"minecraft:food":{"type":"object","description":"Food settings of the item","properties":{"nutrition":{"type":"integer","description":"Nutrition amount.","title":"Nutrition"},"saturation_modifier":{"type":"string","description":"Choose: poor, low, normal, good, max, supernatural.","title":"Saturation Modifier","enum":["poor","low","normal","good","max","supernatural"]},"using_converts_to":{"type":"string","description":"After using, item converts it to this item.","title":"Using Converts To","$ref":"#/definitions/B"},"on_use_action":{"type":"string","description":"'chorus_teleport` or `none`.","title":"On Use Action","enum":["chorus_teleport","suspicious_stew_effect","none"]},"on_use_range":{"$ref":"#/definitions/C"},"cooldown_type":{"type":"string","description":"'chorusfruit` or `none`.","title":"CoolDown Type","enum":["chorusfruit","none"]},"cooldown_time":{"type":"integer","description":"Cooldown time in ticks.","title":"Cooldown Time"},"can_always_eat":{"type":"boolean","description":"Can always eat this item? true or false.","title":"Can Alway East"},"effects":{"type":"array","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Effects","items":{"additionalProperties":false,"type":"object","properties":{"name":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Name"},"chance":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Chance"},"duration":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Duration"},"amplifier":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Amplifier"}}}}}},"minecraft:seed":{"additionalProperties":false,"type":"object","properties":{"crop_result":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Crop Result"},"plant_at":{"description":"Valid blocks you can plant this item at.","title":"Plant At","oneOf":[{"type":"string","$ref":"#/definitions/D"},{"type":"array","items":{"type":"string","$ref":"#/definitions/D"}}]},"plant_at_any_solid_surface":{"title":"Plant At Any Solid Surface","type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"plant_at_face":{"title":"Plnat At Face","type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["DOWN","UP"]}}}}}}}}},"H":{"title":"Armor","description":"The armor item componenent determines the amount of protection you have in your armor item.","type":"object","additionalProperties":false,"required":["protection","texture_type"],"properties":{"protection":{"type":"number","description":"How much protection does the armor item have.","title":"Protection"},"texture_type":{"type":"string","default":"","description":"Texture Type to apply for the armor. Note that Horse armor is restricted to leather, iron, gold, or diamond.","title":"Texture Type"}}},"I_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/J"}}},"J":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"I":{"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":"Protection"},"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/I_use_on_item"}}}},"BA":{"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"}}},"BB":{"title":"Digger","description":"Digger item. Component put on items that dig.","type":"object","additionalProperties":false,"required":["destroy_speeds"],"properties":{"use_efficiency":{"title":"Use Efficiency","type":"boolean","description":"Use efficiency? Default is set to false.","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"}}}}]}}}}}},"BC":{"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."}}},"BD":{"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"}}},"BE":{"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":["brown","white","black","blue","cyan","gray","green","lightblue","silver","lime","magenta","pink","purple","red","yellow"]}}},"BF":{"title":"Entity Placer","description":"Entity placer item component. You can specifiy allowed blocks that the item is restricted to.","type":"object","additionalProperties":false,"required":["entity"],"properties":{"entity":{"type":"string","title":"Entity","description":"The entity to be placed in the world."},"dispense_on":{"type":"array","title":"Dispense On","description":"List of block descriptors that contain blocks that this item can be dispensed on. If left empty, all blocks will be allowed.","items":{"title":"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"}}}},"BG":{"title":"Food","description":"When an item has a food component, it becomes edible to the player.","type":"object","additionalProperties":false,"properties":{"can_always_eat":{"title":"Can Always Eat","description":"If true you can always eat this item (even when not hungry), defaults to false.","type":"boolean","default":false},"nutrition":{"title":"Nutrition","description":"How much nutrition does this food item give the player when eaten.","type":"number"},"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"]}}},"saturation_modifier":{"title":"Saturation Modifier","description":"Saturation Modifier is used in this formula: (nutrition * saturation_modifier * 2) when appling the saturation buff. Which happens when you eat the item.","type":"number"},"using_converts_to":{"title":"Using Converts To","description":"When used, convert the *this* item to the one specified by `using_converts_to`.","type":"string"}}},"BH":{"title":"Fuel","description":"Fuel component. Allows this item to be used as fuel in a furnace to `cook` other items.","type":"object","additionalProperties":false,"required":["duration"],"properties":{"duration":{"type":"number","title":"Duration","description":"How long in seconds will this fuel cook items for."}}},"BI":{"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."}}},"BJ":{"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"}}},"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":"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"]}}}}},"CC":{"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"}}},"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"]},"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":"Repair 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_offset_spec":{"type":"object","title":"Offset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"first_person":{"title":"First Person","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CF_mode"},"thrid_person":{"title":"Thrid Person","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CF_mode"}}},"CF_mode":{"type":"object","title":"Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"position":{"title":"Position","description":"The position transformation","$ref":"#/definitions/CF_vec3"},"rotation":{"title":"Rotation","description":"The rotation transformation","$ref":"#/definitions/CF_vec3"},"scale":{"title":"Scale","description":"The scale transformation","$ref":"#/definitions/CF_vec3"}}},"CF_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"}]},"CF":{"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"}}},"CG":{"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"}}},"CH":{"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"}}},"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":"On Hit Block","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","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"]}}},"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"}},"G":{"description":"Minecraft items 1.16.100","required":["format_version","minecraft:item"],"title":"Item","type":"object","properties":{"format_version":{"title":"Format Version","type":"string","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:item":{"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/B"},"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"},"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","title":"Components","properties":{"minecraft:armor":{"$ref":"#/definitions/H"},"minecraft:block_placer":{"$ref":"#/definitions/I"},"minecraft:cooldown":{"$ref":"#/definitions/BA"},"minecraft:digger":{"$ref":"#/definitions/BB"},"minecraft:display_name":{"$ref":"#/definitions/BC"},"minecraft:durability":{"$ref":"#/definitions/BD"},"minecraft:dye_powder":{"$ref":"#/definitions/BE"},"minecraft:entity_placer":{"$ref":"#/definitions/BF"},"minecraft:food":{"$ref":"#/definitions/BG"},"minecraft:fuel":{"$ref":"#/definitions/BH"},"minecraft:icon":{"$ref":"#/definitions/BI"},"minecraft:knockback_resistance":{"$ref":"#/definitions/BJ"},"minecraft:on_use":{"$ref":"#/definitions/CA"},"minecraft:on_use_on":{"$ref":"#/definitions/CB"},"minecraft:max_stack_size":{"type":"integer","title":"Max Stack Size","description":"Maximum stack size.","minimum":0},"minecraft:use_duration":{"type":"integer","title":"Use Duration","description":"How long to use before item is done being used."},"minecraft:projectile":{"$ref":"#/definitions/CC"},"minecraft:repairable":{"$ref":"#/definitions/CD"},"minecraft:render_offsets":{"$ref":"#/definitions/CF"},"minecraft:shooter":{"$ref":"#/definitions/CG"},"minecraft:throwable":{"$ref":"#/definitions/CH"},"minecraft:weapon":{"$ref":"#/definitions/CI"},"minecraft:wearable":{"$ref":"#/definitions/CJ"},"minecraft:hand_equipped":{"type":"boolean","title":"Hand Equipped","description":"Is this a hand equipped item."}}},"events":{"$ref":"#/definitions/DA"}}}}},"EA":{"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"]}}},"EB_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/J"}}},"EB":{"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/EB_use_on_item"}}}},"EC":{"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"}}},"ED":{"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"}}},"EE":{"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."}}},"EF":{"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"}}},"EG":{"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"]}}},"EH":{"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"}}}},"EI":{"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"]}}},"saturation_modifier":{"title":"Saturation Modifier","description":"Saturation Modifier is used in this formula: (nutrition * saturation_modifier * 2) when appling the saturation buff. Which happens when you eat the item.","type":"number"},"using_converts_to":{"title":"Using Converts To","description":"When used, convert the *this* item to the one specified by `using_converts_to`.","type":"string"}}},"EJ":{"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."}}},"FA":{"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."}}},"FB":{"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"}}},"FC":{"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"]}}}}},"FD":{"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"]}}}}},"FE":{"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"}}},"FF":{"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"}}}}}},"FG_offset_spec":{"type":"object","title":"Offset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"first_person":{"title":"First Person","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/FG_mode"},"thrid_person":{"title":"Thrid Person","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/FG_mode"}}},"FG_mode":{"type":"object","title":"Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"position":{"title":"Position","description":"The position transformation","$ref":"#/definitions/FG_vec3"},"rotation":{"title":"Rotation","description":"The rotation transformation","$ref":"#/definitions/FG_vec3"},"scale":{"title":"Scale","description":"The scale transformation","$ref":"#/definitions/FG_vec3"}}},"FG_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"}]},"FG":{"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"}}},"FH":{"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"}}},"FI":{"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"}}},"FJ":{"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"]}}}},"GA":{"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.armor.legs","none","slot.weapon.mainhand","slot.weapon.offhand","slot.armor.head","slot.armor.chest","slot.armor.feet","slot.hotbar","slot.inventory","slot.enderchest","slot.saddle","slot.armor","slot.chest"]}}},"GB_event_base":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"$ref":"#/definitions/GB_event_functions","properties":{"sequence":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/GB_event_functions"}},"randomize":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/GB_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"]}}}}},"GB_event_functions":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","properties":{"add_mob_effect":{"$ref":"#/definitions/GC"},"damage":{"$ref":"#/definitions/GD"},"decrement_stack":{"$ref":"#/definitions/GE"},"remove_mob_effect":{"$ref":"#/definitions/GF"},"shoot":{"$ref":"#/definitions/GG"},"swing":{"$ref":"#/definitions/GH"},"teleport":{"$ref":"#/definitions/GI"},"transform_item":{"$ref":"#/definitions/GJ"}}},"GC":{"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"}}},"GD":{"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"}}},"GE":{"title":"Decrement Stack","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"GF":{"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"]}}},"GG":{"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"}}},"GH":{"title":"Swing","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"GI":{"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"}]}}},"GJ":{"title":"Transform Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"transform":{"title":"Transform","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}},"GB":{"title":"Events","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","properties":{"on_consume":{"$ref":"#/definitions/GB_event_base"}},"additionalProperties":{"$ref":"#/definitions/GB_event_base"}},"DJ":{"description":"Minecraft items 1.16.200","required":["format_version","minecraft:item"],"title":"Item","type":"object","properties":{"format_version":{"title":"Format Version","type":"string","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:item":{"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/B"},"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"},"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/EA"},"minecraft:block_placer":{"$ref":"#/definitions/EB"},"minecraft:cooldown":{"$ref":"#/definitions/EC"},"minecraft:digger":{"$ref":"#/definitions/ED"},"minecraft:display_name":{"$ref":"#/definitions/EE"},"minecraft:durability":{"$ref":"#/definitions/EF"},"minecraft:dye_powder":{"$ref":"#/definitions/EG"},"minecraft:entity_placer":{"$ref":"#/definitions/EH"},"minecraft:food":{"$ref":"#/definitions/EI"},"minecraft:fuel":{"$ref":"#/definitions/EJ"},"minecraft:icon":{"$ref":"#/definitions/FA"},"minecraft:knockback_resistance":{"$ref":"#/definitions/FB"},"minecraft:max_stack_size":{"type":"integer","title":"Max Stack Size","description":"Maximum stack size.","minimum":0},"minecraft:use_duration":{"type":"integer","title":"Use Duration","description":"How long to use before item is done being used."},"minecraft:on_use":{"$ref":"#/definitions/FC"},"minecraft:on_use_on":{"$ref":"#/definitions/FD"},"minecraft:projectile":{"$ref":"#/definitions/FE"},"minecraft:repairable":{"$ref":"#/definitions/FF"},"minecraft:render_offsets":{"$ref":"#/definitions/FG"},"minecraft:shooter":{"$ref":"#/definitions/FH"},"minecraft:throwable":{"$ref":"#/definitions/FI"},"minecraft:weapon":{"$ref":"#/definitions/FJ"},"minecraft:wearable":{"$ref":"#/definitions/GA"},"minecraft:hand_equipped":{"type":"boolean","title":"Hand Equipped","description":"Is this a hand equipped item."}}},"events":{"$ref":"#/definitions/GB"}}}}},"HA":{"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file +{"$id":"blockception.minecraft.behavior.items","examples":[{"format_version":"1.16.200","minecraft:item":{"description":{"identifier":"namespace:item"},"components":{}}}],"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"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.14"}}},"then":{"$ref":"#/definitions/E"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.14.0"}}},"then":{"$ref":"#/definitions/E"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.16"}}},"then":{"$ref":"#/definitions/F"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.16.0"}}},"then":{"$ref":"#/definitions/F"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.16.100"}}},"then":{"$ref":"#/definitions/G"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.16.200"}}},"then":{"$ref":"#/definitions/DJ"}},{"properties":{"format_version":{"$ref":"#/definitions/HA"}}}],"definitions":{"B":{"description":"A minecraft item identifier","pattern":"^[0-9a-zA-Z:_\\-\\.]+$","title":"Item Identifier","type":"string"},"C":{"type":"array","title":"Array Of 3 Items","description":"An array of 3 numbers","examples":[[0,1,2]],"items":[{"type":"number","description":"An number","title":"X"},{"type":"number","description":"An number","title":"Y"},{"type":"number","description":"An number","title":"Z"}]},"D":{"type":"string","title":"Block Name","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"A":{"description":"Minecraft items 1.10.0","required":["format_version","minecraft:item"],"title":"Item","type":"object","properties":{"format_version":{"title":"1.10.0 Format Version","type":"string","pattern":"^1.10.0$","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:item":{"additionalProperties":false,"required":["description"],"type":"object","title":"Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"description":{"additionalProperties":false,"type":"object","properties":{"identifier":{"title":"Identifier","type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/B"}}},"components":{"additionalProperties":false,"type":"object","description":"The components of this item","properties":{"minecraft:camera":{"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Minecraft Camera","properties":{"black_bars_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Black Bars Duration"},"black_bars_screen_ratio":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Black Bars Screen Ratio"},"shutter_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Shutter Duration"},"picture_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Picture Duration"},"slide_away_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Slide Away Duration"}}},"minecraft:max_damage":{"type":"integer","description":"Maximum damage item has, this is used like item Maximum health."},"minecraft:hand_equipped":{"type":"boolean","title":"Hand Equipped","description":"Is this a hand equipped item."},"minecraft:stacked_by_data":{"type":"boolean","description":"Stacked by data aux value or not?"},"minecraft:foil":{"type":"boolean","description":"Foil or glint."},"minecraft:block":{"type":"string","description":"Block name, leave blank for no block."},"minecraft:max_stack_size":{"type":"integer","description":"Maximum stack size.","minimum":0},"minecraft:use_duration":{"type":"integer","description":"How long to use before item is done being used."},"minecraft:food":{"type":"object","description":"Food settings of the item","properties":{"nutrition":{"type":"integer","description":"Nutrition amount."},"saturation_modifier":{"type":"string","description":"Choose: poor, low, normal, good, max, supernatural.","enum":["poor","low","normal","good","max","supernatural"]},"using_converts_to":{"type":"string","description":"After using, item converts it to this item.","$ref":"#/definitions/B"},"on_use_action":{"type":"string","description":"'chorus_teleport` or `none`.","enum":["chorus_teleport","suspicious_stew_effect","none"]},"on_use_range":{"$ref":"#/definitions/C"},"cooldown_type":{"type":"string","description":"'chorusfruit` or `none`.","enum":["chorusfruit","none"]},"cooldown_time":{"type":"integer","description":"Cooldown time in ticks."},"can_always_eat":{"type":"boolean","description":"Can always eat this item? true or false."},"effects":{"type":"array","items":{"additionalProperties":false,"type":"object","properties":{"name":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Name"},"chance":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Chance"},"duration":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Duration"},"amplifier":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Amplifier"}}}}}},"minecraft:seed":{"additionalProperties":false,"type":"object","properties":{"crop_result":{"type":"string"},"plant_at":{"description":"Valid blocks you can plant this item at.","oneOf":[{"type":"string","$ref":"#/definitions/D"},{"type":"array","items":{"type":"string","$ref":"#/definitions/D"}}]}}}}}}}}},"E":{"description":"Minecraft items 1.14.0","required":["format_version","minecraft:item"],"title":"Item","type":"object","properties":{"format_version":{"title":"Format Version","type":"string","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:item":{"additionalProperties":false,"required":["description"],"type":"object","title":"Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"description":{"additionalProperties":false,"type":"object","title":"Description","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"identifier":{"title":"Identifier","type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/B"}}},"components":{"additionalProperties":false,"type":"object","description":"The components of this item","properties":{"minecraft:camera":{"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Minecraft Camera","properties":{"black_bars_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Black Bars Duration"},"black_bars_screen_ratio":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Black Bars Screen Ratio"},"shutter_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Shutter Duration"},"picture_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Picture Duration"},"slide_away_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Slide Away Duration"}}},"minecraft:max_damage":{"type":"integer","description":"Maximum damage item has, this is used like item Maximum health.","title":"Max Damage"},"minecraft:hand_equipped":{"type":"boolean","title":"Hand Equipped","description":"Is this a hand equipped item."},"minecraft:stacked_by_data":{"type":"boolean","description":"Stacked by data aux value or not?","title":"Stacked By Data"},"minecraft:foil":{"type":"boolean","description":"Foil or glint.","title":"Foil"},"minecraft:block":{"type":"string","description":"Block name, leave blank for no block.","title":"Block"},"minecraft:max_stack_size":{"type":"integer","description":"Maximum stack size.","title":"Max Stack Size","minimum":0},"minecraft:use_duration":{"type":"integer","description":"How long to use before item is done being used.","title":"Use Duration"},"minecraft:food":{"type":"object","description":"Food settings of the item","additionalProperties":false,"properties":{"nutrition":{"type":"integer","description":"Nutrition amount.","title":"Nutrition"},"saturation_modifier":{"type":"string","description":"Choose: `poor`, `low`, `normal`, `good`, `max`, `supernatural`.","enum":["poor","low","normal","good","max","supernatural"],"title":"Saturation Modifier"},"using_converts_to":{"type":"string","description":"After using, item converts it to this item.","title":"Using Converts To","$ref":"#/definitions/B"},"on_use_action":{"type":"string","description":"'chorus_teleport` or `none`.","title":"On Use Action","enum":["chorus_teleport","suspicious_stew_effect","none"]},"on_use_range":{"$ref":"#/definitions/C","title":"On Use Range"},"cooldown_type":{"type":"string","description":"'chorusfruit` or `none`.","title":"Cooldown Type","enum":["chorusfruit","none"]},"cooldown_time":{"type":"integer","description":"Cooldown time in ticks.","title":"Cooldown Time"},"can_always_eat":{"type":"boolean","description":"Can always eat this item? true or false.","title":"Can Always Eat"},"effects":{"type":"array","title":"Effects","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","items":{"additionalProperties":false,"type":"object","title":"Items","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"name":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Name"},"chance":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Chance"},"duration":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Duration"},"amplifier":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Amplifier"}}}},"remove_effects":{"type":"array","description":"Can always eat this item? true or false.","title":"Remove Effects","items":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Remove Effects"}}}},"minecraft:seed":{"additionalProperties":false,"type":"object","title":"Seed","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"crop_result":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Crop Result"},"plant_at":{"description":"Valid blocks you can plant this item at.","title":"Plant At","oneOf":[{"type":"string","$ref":"#/definitions/D"},{"type":"array","items":{"type":"string","$ref":"#/definitions/D"}}]}}}}}}}}},"F":{"description":"Minecraft items 1.16.0","required":["format_version","minecraft:item"],"title":"Item","type":"object","properties":{"format_version":{"title":"Format Version","type":"string","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:item":{"additionalProperties":false,"required":["description"],"type":"object","title":"Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","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/B"},"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"},"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":false,"type":"object","description":"The components of this item","properties":{"minecraft:camera":{"type":"object","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Minecraft Camera","properties":{"black_bars_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Black Bars Duration"},"black_bars_screen_ratio":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Black Bars Screen Ratio"},"shutter_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Shutter Duration"},"picture_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Picture Duration"},"slide_away_duration":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Slide Away Duration"}}},"minecraft:max_damage":{"type":"integer","description":"Maximum damage item has, this is used like item Maximum health.","title":"Maximum Damage"},"minecraft:hand_equipped":{"type":"boolean","title":"Hand Equipped","description":"Is this a hand equipped item."},"minecraft:stacked_by_data":{"type":"boolean","description":"Stacked by data aux value or not?","title":"Stacked By Data"},"minecraft:foil":{"type":"boolean","description":"Foil or glint.","title":"Foil"},"minecraft:block":{"type":"string","description":"Block name, leave blank for no block.","title":"Block"},"minecraft:max_stack_size":{"type":"integer","description":"Maximum stack size.","title":"Maximum Stack Size","minimum":0},"minecraft:use_duration":{"type":"integer","description":"How long to use before item is done being used.","title":"Use Duration"},"minecraft:food":{"type":"object","description":"Food settings of the item","properties":{"nutrition":{"type":"integer","description":"Nutrition amount.","title":"Nutrition"},"saturation_modifier":{"type":"string","description":"Choose: poor, low, normal, good, max, supernatural.","title":"Saturation Modifier","enum":["poor","low","normal","good","max","supernatural"]},"using_converts_to":{"type":"string","description":"After using, item converts it to this item.","title":"Using Converts To","$ref":"#/definitions/B"},"on_use_action":{"type":"string","description":"'chorus_teleport` or `none`.","title":"On Use Action","enum":["chorus_teleport","suspicious_stew_effect","none"]},"on_use_range":{"$ref":"#/definitions/C"},"cooldown_type":{"type":"string","description":"'chorusfruit` or `none`.","title":"CoolDown Type","enum":["chorusfruit","none"]},"cooldown_time":{"type":"integer","description":"Cooldown time in ticks.","title":"Cooldown Time"},"can_always_eat":{"type":"boolean","description":"Can always eat this item? true or false.","title":"Can Alway East"},"effects":{"type":"array","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Effects","items":{"additionalProperties":false,"type":"object","properties":{"name":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Name"},"chance":{"type":"number","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Chance"},"duration":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Duration"},"amplifier":{"type":"integer","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Amplifier"}}}}}},"minecraft:seed":{"additionalProperties":false,"type":"object","properties":{"crop_result":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Crop Result"},"plant_at":{"description":"Valid blocks you can plant this item at.","title":"Plant At","oneOf":[{"type":"string","$ref":"#/definitions/D"},{"type":"array","items":{"type":"string","$ref":"#/definitions/D"}}]},"plant_at_any_solid_surface":{"title":"Plant At Any Solid Surface","type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"plant_at_face":{"title":"Plnat At Face","type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["DOWN","UP"]}}}}}}}}},"H":{"title":"Armor","description":"The armor item componenent determines the amount of protection you have in your armor item.","type":"object","additionalProperties":false,"required":["protection","texture_type"],"properties":{"protection":{"type":"number","description":"How much protection does the armor item have.","title":"Protection"},"texture_type":{"type":"string","default":"","description":"Texture Type to apply for the armor. Note that Horse armor is restricted to leather, iron, gold, or diamond.","title":"Texture Type"}}},"I_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/J"}}},"J":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"I":{"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":"Protection"},"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/I_use_on_item"}}}},"BA":{"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"}}},"BB":{"title":"Digger","description":"Digger item. Component put on items that dig.","type":"object","additionalProperties":false,"required":["destroy_speeds"],"properties":{"use_efficiency":{"title":"Use Efficiency","type":"boolean","description":"Use efficiency? Default is set to false.","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"}}}}]}}}}}},"BC":{"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."}}},"BD":{"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"}}},"BE":{"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":["brown","white","black","blue","cyan","gray","green","lightblue","silver","lime","magenta","pink","purple","red","yellow"]}}},"BF":{"title":"Entity Placer","description":"Entity placer item component. You can specifiy allowed blocks that the item is restricted to.","type":"object","additionalProperties":false,"required":["entity"],"properties":{"entity":{"type":"string","title":"Entity","description":"The entity to be placed in the world."},"dispense_on":{"type":"array","title":"Dispense On","description":"List of block descriptors that contain blocks that this item can be dispensed on. If left empty, all blocks will be allowed.","items":{"title":"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"}}}},"BG":{"title":"Food","description":"When an item has a food component, it becomes edible to the player.","type":"object","additionalProperties":false,"properties":{"can_always_eat":{"title":"Can Always Eat","description":"If true you can always eat this item (even when not hungry), defaults to false.","type":"boolean","default":false},"nutrition":{"title":"Nutrition","description":"How much nutrition does this food item give the player when eaten.","type":"number"},"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"]}}},"saturation_modifier":{"title":"Saturation Modifier","description":"Saturation Modifier is used in this formula: (nutrition * saturation_modifier * 2) when appling the saturation buff. Which happens when you eat the item.","type":"number"},"using_converts_to":{"title":"Using Converts To","description":"When used, convert the *this* item to the one specified by `using_converts_to`.","type":"string"}}},"BH":{"title":"Fuel","description":"Fuel component. Allows this item to be used as fuel in a furnace to `cook` other items.","type":"object","additionalProperties":false,"required":["duration"],"properties":{"duration":{"type":"number","title":"Duration","description":"How long in seconds will this fuel cook items for."}}},"BI":{"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."}}},"BJ":{"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"}}},"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":"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"]}}}}},"CC":{"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"}}},"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"]},"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":"Repair 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_offset_spec":{"type":"object","title":"Offset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"first_person":{"title":"First Person","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CF_mode"},"thrid_person":{"title":"Thrid Person","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/CF_mode"}}},"CF_mode":{"type":"object","title":"Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"position":{"title":"Position","description":"The position transformation","$ref":"#/definitions/CF_vec3"},"rotation":{"title":"Rotation","description":"The rotation transformation","$ref":"#/definitions/CF_vec3"},"scale":{"title":"Scale","description":"The scale transformation","$ref":"#/definitions/CF_vec3"}}},"CF_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"}]},"CF":{"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"}}},"CG":{"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"}}},"CH":{"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"}}},"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":"On Hit Block","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","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"]}}},"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"}},"G":{"description":"Minecraft items 1.16.100","required":["format_version","minecraft:item"],"title":"Item","type":"object","properties":{"format_version":{"title":"Format Version","type":"string","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:item":{"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/B"},"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"},"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","title":"Components","properties":{"minecraft:armor":{"$ref":"#/definitions/H"},"minecraft:block_placer":{"$ref":"#/definitions/I"},"minecraft:cooldown":{"$ref":"#/definitions/BA"},"minecraft:digger":{"$ref":"#/definitions/BB"},"minecraft:display_name":{"$ref":"#/definitions/BC"},"minecraft:durability":{"$ref":"#/definitions/BD"},"minecraft:dye_powder":{"$ref":"#/definitions/BE"},"minecraft:entity_placer":{"$ref":"#/definitions/BF"},"minecraft:food":{"$ref":"#/definitions/BG"},"minecraft:fuel":{"$ref":"#/definitions/BH"},"minecraft:icon":{"$ref":"#/definitions/BI"},"minecraft:knockback_resistance":{"$ref":"#/definitions/BJ"},"minecraft:on_use":{"$ref":"#/definitions/CA"},"minecraft:on_use_on":{"$ref":"#/definitions/CB"},"minecraft:max_stack_size":{"type":"integer","title":"Max Stack Size","description":"Maximum stack size.","minimum":0},"minecraft:use_duration":{"type":"integer","title":"Use Duration","description":"How long to use before item is done being used."},"minecraft:projectile":{"$ref":"#/definitions/CC"},"minecraft:repairable":{"$ref":"#/definitions/CD"},"minecraft:render_offsets":{"$ref":"#/definitions/CF"},"minecraft:shooter":{"$ref":"#/definitions/CG"},"minecraft:throwable":{"$ref":"#/definitions/CH"},"minecraft:weapon":{"$ref":"#/definitions/CI"},"minecraft:wearable":{"$ref":"#/definitions/CJ"},"minecraft:hand_equipped":{"type":"boolean","title":"Hand Equipped","description":"Is this a hand equipped item."}}},"events":{"$ref":"#/definitions/DA"}}}}},"EA":{"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"]}}},"EB_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/J"}}},"EB":{"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/EB_use_on_item"}}}},"EC":{"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"}}},"ED":{"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"}}},"EE":{"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."}}},"EF":{"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"}}},"EG":{"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"]}}},"EH":{"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"}}}},"EI":{"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"]}}},"saturation_modifier":{"title":"Saturation Modifier","description":"Saturation Modifier is used in this formula: (nutrition * saturation_modifier * 2) when appling the saturation buff. Which happens when you eat the item.","type":"number"},"using_converts_to":{"title":"Using Converts To","description":"When used, convert the *this* item to the one specified by `using_converts_to`.","type":"string"}}},"EJ":{"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."}}},"FA":{"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."}}},"FB":{"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"}}},"FC":{"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"]}}}}},"FD":{"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"]}}}}},"FE":{"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"}}},"FF":{"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"}}}}}},"FG_offset_spec":{"type":"object","title":"Offset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"first_person":{"title":"First Person","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/FG_mode"},"thrid_person":{"title":"Thrid Person","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/FG_mode"}}},"FG_mode":{"type":"object","title":"Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","additionalProperties":false,"properties":{"position":{"title":"Position","description":"The position transformation","$ref":"#/definitions/FG_vec3"},"rotation":{"title":"Rotation","description":"The rotation transformation","$ref":"#/definitions/FG_vec3"},"scale":{"title":"Scale","description":"The scale transformation","$ref":"#/definitions/FG_vec3"}}},"FG_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"}]},"FG":{"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"}}},"FH":{"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"}}},"FI":{"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"}}},"FJ":{"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"]}}}},"GA":{"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.armor.legs","none","slot.weapon.mainhand","slot.weapon.offhand","slot.armor.head","slot.armor.chest","slot.armor.feet","slot.hotbar","slot.inventory","slot.enderchest","slot.saddle","slot.armor","slot.chest"]}}},"GB_event_base":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"$ref":"#/definitions/GB_event_functions","properties":{"sequence":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/GB_event_functions"}},"randomize":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/GB_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"]}}}}},"GB_event_functions":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","properties":{"add_mob_effect":{"$ref":"#/definitions/GC"},"damage":{"$ref":"#/definitions/GD"},"decrement_stack":{"$ref":"#/definitions/GE"},"remove_mob_effect":{"$ref":"#/definitions/GF"},"shoot":{"$ref":"#/definitions/GG"},"swing":{"$ref":"#/definitions/GH"},"teleport":{"$ref":"#/definitions/GI"},"transform_item":{"$ref":"#/definitions/GJ"}}},"GC":{"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"}}},"GD":{"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"}}},"GE":{"title":"Decrement Stack","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"GF":{"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"]}}},"GG":{"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"}}},"GH":{"title":"Swing","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false},"GI":{"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"}]}}},"GJ":{"title":"Transform Item","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"properties":{"transform":{"title":"Transform","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}},"GB":{"title":"Events","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","properties":{"on_consume":{"$ref":"#/definitions/GB_event_base"}},"additionalProperties":{"$ref":"#/definitions/GB_event_base"}},"DJ":{"description":"Minecraft items 1.16.200","required":["format_version","minecraft:item"],"title":"Item","type":"object","properties":{"format_version":{"title":"Format Version","type":"string","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:item":{"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/B"},"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"},"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/EA"},"minecraft:block_placer":{"$ref":"#/definitions/EB"},"minecraft:cooldown":{"$ref":"#/definitions/EC"},"minecraft:digger":{"$ref":"#/definitions/ED"},"minecraft:display_name":{"$ref":"#/definitions/EE"},"minecraft:durability":{"$ref":"#/definitions/EF"},"minecraft:dye_powder":{"$ref":"#/definitions/EG"},"minecraft:entity_placer":{"$ref":"#/definitions/EH"},"minecraft:food":{"$ref":"#/definitions/EI"},"minecraft:fuel":{"$ref":"#/definitions/EJ"},"minecraft:icon":{"$ref":"#/definitions/FA"},"minecraft:knockback_resistance":{"$ref":"#/definitions/FB"},"minecraft:max_stack_size":{"type":"integer","title":"Max Stack Size","description":"Maximum stack size.","minimum":0},"minecraft:use_duration":{"type":"integer","title":"Use Duration","description":"How long to use before item is done being used."},"minecraft:on_use":{"$ref":"#/definitions/FC"},"minecraft:on_use_on":{"$ref":"#/definitions/FD"},"minecraft:projectile":{"$ref":"#/definitions/FE"},"minecraft:repairable":{"$ref":"#/definitions/FF"},"minecraft:render_offsets":{"$ref":"#/definitions/FG"},"minecraft:shooter":{"$ref":"#/definitions/FH"},"minecraft:throwable":{"$ref":"#/definitions/FI"},"minecraft:weapon":{"$ref":"#/definitions/FJ"},"minecraft:wearable":{"$ref":"#/definitions/GA"},"minecraft:hand_equipped":{"type":"boolean","title":"Hand Equipped","description":"Is this a hand equipped item."}}},"events":{"$ref":"#/definitions/GB"}}}}},"HA":{"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file diff --git a/behavior/recipes/recipes.json b/behavior/recipes/recipes.json index 3bc18595..6a72b434 100644 --- a/behavior/recipes/recipes.json +++ b/behavior/recipes/recipes.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.behavior.recipes","examples":[{"format_version":"1.12.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"}},"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file +{"$id":"blockception.minecraft.behavior.recipes","examples":[{"format_version":"1.12.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"}},"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file diff --git a/behavior/volumes/volumes.json b/behavior/volumes/volumes.json index c9989a6f..5bad583d 100644 --- a/behavior/volumes/volumes.json +++ b/behavior/volumes/volumes.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.behavior.volumes","examples":[{"format_version":"1.17.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"},"C":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file +{"$id":"blockception.minecraft.behavior.volumes","examples":[{"format_version":"1.17.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"},"C":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file diff --git a/resource/animation_controllers/animation_controller.json b/resource/animation_controllers/animation_controller.json index c034685d..39c8dbf8 100644 --- a/resource/animation_controllers/animation_controller.json +++ b/resource/animation_controllers/animation_controller.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.resource.animation_controller","examples":[{"format_version":"","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"]},"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.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"]}},"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,"examples":[{"controller.animation.some_name":{"initial_state":"default","states":{"default":{"transitions":[{"state_1":"query.is_baby"}]},"state_1":{"animations":["state_1"],"transitions":[{"default":"query.all_animations_finished"}]}}}}],"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","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","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 +{"$id":"blockception.minecraft.resource.animation_controller","examples":[{"format_version":"","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"]},"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.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"]}},"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,"examples":[{"controller.animation.some_name":{"initial_state":"default","states":{"default":{"transitions":[{"state_1":"query.is_baby"}]},"state_1":{"animations":["state_1"],"transitions":[{"default":"query.all_animations_finished"}]}}}}],"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","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","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 9ab749d8..8e1e1b8c 100644 --- a/resource/animations/actor_animation.json +++ b/resource/animations/actor_animation.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.resource.actor_animation","examples":[{"format_version":"1.8.0","animations":{"animation.annie.idle":{"loop":true,"animation_length":2.12,"bones":{}}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/E"}},{"properties":{"format_version":{"$ref":"#/definitions/F"}}}],"definitions":{"A_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/B"},"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}}},"A_PositionV3":{"title":"Position Array","description":"An array of 3 items that describe the bones position","type":"array","items":[{"title":"Position X","description":"The position over the X-axis or forwards/backwards.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Position Y","description":"The position over the Y-axis, or up/down.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Position Z","description":"The position over the Z-axis, or left/right.\nCan be molang or a float","$ref":"#/definitions/C"}]},"A_RotationV3":{"title":"Rotation Array","description":"An array of 3 items that describe the bones rotation","type":"array","items":[{"title":"Rotation X","description":"The rotation over the X-axis, or up or down.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Rotation Y","description":"The rotation over the Y-axis, or yaw.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Rotation Z","description":"The rotation over the Z-axis, or roll.\nCan be molang or a float","$ref":"#/definitions/C"}]},"A_ScaleV3":{"title":"Scale Array","description":"An array of 3 items that describe the bones position","type":"array","items":[{"title":"Position X","description":"The position over the X-axis or forwards/backwards.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Position Y","description":"The position over the Y-axis, or up/down.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Position Z","description":"The position over the Z-axis, or left/right.\nCan be molang or a float","$ref":"#/definitions/C"}]},"A_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."}}},"B":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"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"]},"D":{"title":"Molang Array Of 3 Numbers","description":"The minecraft molang definition that results in a 3 floats","anyOf":[{"type":"string","minLength":0}]},"A":{"additionalProperties":false,"type":"object","title":"Actor Animation 1.8.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["format_version","animations"],"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."},"animations":{"title":"Animations Schema","description":"The animation 1.8.0 specification","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"type":"object","additionalProperties":{"additionalProperties":false,"type":"object","title":"Animation 1.8.0","description":"The animation specification for 1.8.0","properties":{"anim_time_update":{"title":"Anim Time Update","description":"How does time pass when playing the animation. Defaults to `query.anim_time + query.delta_time` which means advance in seconds.","$ref":"#/definitions/C"},"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/C"},"bones":{"title":"Bones","minProperties":1,"description":"Defines how the bones in an animation move or transform","propertyNames":{"examples":["leftArm"]},"type":"object","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":[{"$ref":"#/definitions/A_PositionV3"},{"$ref":"#/definitions/D"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","additionalProperties":false,"properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/A_PositionV3"},"post":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/A_PositionV3"}}}}]},"rotation":{"title":"Rotation","description":"The rotation transformation during this animation","oneOf":[{"$ref":"#/definitions/A_RotationV3"},{"$ref":"#/definitions/D"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","additionalProperties":false,"properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/A_RotationV3"},"post":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/A_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/C"},{"$ref":"#/definitions/A_ScaleV3"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","additionalProperties":false,"properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/A_ScaleV3"},"post":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/A_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/C"},"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"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","oneOf":[{"type":"object","$ref":"#/definitions/A_ParticleEffect"},{"type":"array","items":{"$ref":"#/definitions/A_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/C"},"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/A_SoundEffect"},{"type":"array","items":{"$ref":"#/definitions/A_SoundEffect"}}]}},"timeline":{"title":"Timeline","description":"The time line","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.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)\\..*=.*;$"}}]}}}}}}},"E_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/B"},"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}}},"E_PositionV3":{"title":"Position Array","description":"An array of 3 items that describe the bones position","type":"array","items":[{"title":"Position X","description":"The position over the X-axis or forwards/backwards.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Position Y","description":"The position over the Y-axis, or up/down.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Position Z","description":"The position over the Z-axis, or left/right.\nCan be molang or a float","$ref":"#/definitions/C"}]},"E_RotationV3":{"title":"Rotation Array","description":"An array of 3 items that describe the bones rotation","type":"array","items":[{"title":"Rotation X","description":"The rotation over the X-axis, or up or down.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Rotation Y","description":"The rotation over the Y-axis, or yaw.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Rotation Z","description":"The rotation over the Z-axis, or roll.\nCan be molang or a float","$ref":"#/definitions/C"}]},"E_ScaleV3":{"title":"Scale Array","description":"An array of 3 items that describe the bones position","type":"array","items":[{"title":"Position X","description":"The position over the X-axis or forwards/backwards.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Position Y","description":"The position over the Y-axis, or up/down.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Position Z","description":"The position over the Z-axis, or left/right.\nCan be molang or a float","$ref":"#/definitions/C"}]},"E_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."}}},"E":{"additionalProperties":false,"type":"object","title":"Actor Animation 1.10.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["format_version","animations"],"properties":{"format_version":{"title":"1.10.0 Format Version","type":"string","const":"1.10.0","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"animations":{"title":"Animations Schema","description":"The animation 1.10.0 specification","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"type":"object","additionalProperties":{"additionalProperties":false,"type":"object","title":"Animation 1.8.0","description":"The animation specification for 1.8.0","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/C"},"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/C"},"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":[{"$ref":"#/definitions/E_PositionV3"},{"$ref":"#/definitions/D"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","additionalProperties":false,"properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/E_PositionV3"},"post":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/E_PositionV3"}}}}]},"rotation":{"title":"Rotation","description":"The rotation transformation during this animation","oneOf":[{"$ref":"#/definitions/E_RotationV3"},{"$ref":"#/definitions/D"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","additionalProperties":false,"properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/E_RotationV3"},"post":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/E_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/C"},{"$ref":"#/definitions/E_ScaleV3"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","additionalProperties":false,"properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/E_ScaleV3"},"post":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/E_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/C"},"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"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","oneOf":[{"type":"object","$ref":"#/definitions/E_ParticleEffect"},{"type":"array","items":{"$ref":"#/definitions/E_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/C"},"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/E_SoundEffect"},{"type":"array","items":{"$ref":"#/definitions/E_SoundEffect"}}]}},"timeline":{"title":"Timeline","description":"The time line","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.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)\\..*=.*;$"}}]}}}}}}},"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file +{"$id":"blockception.minecraft.resource.actor_animation","examples":[{"format_version":"1.8.0","animations":{"animation.annie.idle":{"loop":true,"animation_length":2.12,"bones":{}}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/E"}},{"properties":{"format_version":{"$ref":"#/definitions/F"}}}],"definitions":{"A_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/B"},"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}}},"A_PositionV3":{"title":"Position Array","description":"An array of 3 items that describe the bones position","type":"array","items":[{"title":"Position X","description":"The position over the X-axis or forwards/backwards.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Position Y","description":"The position over the Y-axis, or up/down.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Position Z","description":"The position over the Z-axis, or left/right.\nCan be molang or a float","$ref":"#/definitions/C"}]},"A_RotationV3":{"title":"Rotation Array","description":"An array of 3 items that describe the bones rotation","type":"array","items":[{"title":"Rotation X","description":"The rotation over the X-axis, or up or down.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Rotation Y","description":"The rotation over the Y-axis, or yaw.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Rotation Z","description":"The rotation over the Z-axis, or roll.\nCan be molang or a float","$ref":"#/definitions/C"}]},"A_ScaleV3":{"title":"Scale Array","description":"An array of 3 items that describe the bones position","type":"array","items":[{"title":"Position X","description":"The position over the X-axis or forwards/backwards.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Position Y","description":"The position over the Y-axis, or up/down.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Position Z","description":"The position over the Z-axis, or left/right.\nCan be molang or a float","$ref":"#/definitions/C"}]},"A_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."}}},"B":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"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"]},"D":{"title":"Molang Array Of 3 Numbers","description":"The minecraft molang definition that results in a 3 floats","anyOf":[{"type":"string","minLength":0}]},"A":{"additionalProperties":false,"type":"object","title":"Actor Animation 1.8.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["format_version","animations"],"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."},"animations":{"title":"Animations Schema","description":"The animation 1.8.0 specification","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"type":"object","additionalProperties":{"additionalProperties":false,"type":"object","title":"Animation 1.8.0","description":"The animation specification for 1.8.0","properties":{"anim_time_update":{"title":"Anim Time Update","description":"How does time pass when playing the animation. Defaults to `query.anim_time + query.delta_time` which means advance in seconds.","$ref":"#/definitions/C"},"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/C"},"bones":{"title":"Bones","minProperties":1,"description":"Defines how the bones in an animation move or transform","propertyNames":{"examples":["leftArm"]},"type":"object","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":[{"$ref":"#/definitions/A_PositionV3"},{"$ref":"#/definitions/D"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","additionalProperties":false,"properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/A_PositionV3"},"post":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/A_PositionV3"}}}}]},"rotation":{"title":"Rotation","description":"The rotation transformation during this animation","oneOf":[{"$ref":"#/definitions/A_RotationV3"},{"$ref":"#/definitions/D"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","additionalProperties":false,"properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/A_RotationV3"},"post":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/A_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/C"},{"$ref":"#/definitions/A_ScaleV3"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","additionalProperties":false,"properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/A_ScaleV3"},"post":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/A_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/C"},"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"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","oneOf":[{"type":"object","$ref":"#/definitions/A_ParticleEffect"},{"type":"array","items":{"$ref":"#/definitions/A_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/C"},"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/A_SoundEffect"},{"type":"array","items":{"$ref":"#/definitions/A_SoundEffect"}}]}},"timeline":{"title":"Timeline","description":"The time line","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.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)\\..*=.*;$"}}]}}}}}}},"E_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/B"},"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}}},"E_PositionV3":{"title":"Position Array","description":"An array of 3 items that describe the bones position","type":"array","items":[{"title":"Position X","description":"The position over the X-axis or forwards/backwards.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Position Y","description":"The position over the Y-axis, or up/down.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Position Z","description":"The position over the Z-axis, or left/right.\nCan be molang or a float","$ref":"#/definitions/C"}]},"E_RotationV3":{"title":"Rotation Array","description":"An array of 3 items that describe the bones rotation","type":"array","items":[{"title":"Rotation X","description":"The rotation over the X-axis, or up or down.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Rotation Y","description":"The rotation over the Y-axis, or yaw.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Rotation Z","description":"The rotation over the Z-axis, or roll.\nCan be molang or a float","$ref":"#/definitions/C"}]},"E_ScaleV3":{"title":"Scale Array","description":"An array of 3 items that describe the bones position","type":"array","items":[{"title":"Position X","description":"The position over the X-axis or forwards/backwards.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Position Y","description":"The position over the Y-axis, or up/down.\nCan be molang or a float","$ref":"#/definitions/C"},{"title":"Position Z","description":"The position over the Z-axis, or left/right.\nCan be molang or a float","$ref":"#/definitions/C"}]},"E_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."}}},"E":{"additionalProperties":false,"type":"object","title":"Actor Animation 1.10.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["format_version","animations"],"properties":{"format_version":{"title":"1.10.0 Format Version","type":"string","const":"1.10.0","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"animations":{"title":"Animations Schema","description":"The animation 1.10.0 specification","propertyNames":{"pattern":"^animation\\.[a-z\\.]+"},"type":"object","additionalProperties":{"additionalProperties":false,"type":"object","title":"Animation 1.8.0","description":"The animation specification for 1.8.0","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/C"},"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/C"},"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":[{"$ref":"#/definitions/E_PositionV3"},{"$ref":"#/definitions/D"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","additionalProperties":false,"properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/E_PositionV3"},"post":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/E_PositionV3"}}}}]},"rotation":{"title":"Rotation","description":"The rotation transformation during this animation","oneOf":[{"$ref":"#/definitions/E_RotationV3"},{"$ref":"#/definitions/D"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","additionalProperties":false,"properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/E_RotationV3"},"post":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/E_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/C"},{"$ref":"#/definitions/E_ScaleV3"},{"type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.0"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","additionalProperties":false,"properties":{"lerp_mode":{"type":"string","title":"Lerp Mode","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","enum":["linear","catmullrom"]},"pre":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/E_ScaleV3"},"post":{"title":"Pre","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/E_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/C"},"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"]},"additionalProperties":{"title":"Timeline Object","description":"A single point in time","oneOf":[{"type":"object","$ref":"#/definitions/E_ParticleEffect"},{"type":"array","items":{"$ref":"#/definitions/E_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/C"},"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/E_SoundEffect"},{"type":"array","items":{"$ref":"#/definitions/E_SoundEffect"}}]}},"timeline":{"title":"Timeline","description":"The time line","type":"object","propertyNames":{"pattern":"^(\\d+\\.\\d+|\\d+)$","examples":["0.0","1.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)\\..*=.*;$"}}]}}}}}}},"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file diff --git a/resource/attachables/attachables.json b/resource/attachables/attachables.json index 8d81b2bc..e7f0dbbc 100644 --- a/resource/attachables/attachables.json +++ b/resource/attachables/attachables.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.resource.attachables","examples":[{"format_version":"1.10.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"},"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"]},"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file +{"$id":"blockception.minecraft.resource.attachables","examples":[{"format_version":"1.10.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"},"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"]},"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file diff --git a/resource/entity/entity.json b/resource/entity/entity.json index 65221bca..72b3eb28 100644 --- a/resource/entity/entity.json +++ b/resource/entity/entity.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.resource.entity","examples":[{"format_version":"1.10.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"}}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/E"}},{"properties":{"format_version":{"$ref":"#/definitions/F"}}}],"definitions":{"B":{"description":"A minecraft entity identifier","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Entity Identifier 1.8.0","type":"string"},"C":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"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"]},"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"},"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"]},"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"}}}}}}},"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":{"title":"1.10.0 Format Version","type":"string","pattern":"^1.10.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."]}},"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"}},"hide_armor":{"type":"boolean","default":true,"title":"Hide Armor","description":"Hides or shows the possible armor"},"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":"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"]},"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file +{"$id":"blockception.minecraft.resource.entity","examples":[{"format_version":"1.10.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"}}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/E"}},{"properties":{"format_version":{"$ref":"#/definitions/F"}}}],"definitions":{"B":{"description":"A minecraft entity identifier","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Entity Identifier 1.8.0","type":"string"},"C":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"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"]},"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"},"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"]},"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"}}}}}}},"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":{"title":"1.10.0 Format Version","type":"string","pattern":"^1.10.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."]}},"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"}},"hide_armor":{"type":"boolean","default":true,"title":"Hide Armor","description":"Hides or shows the possible armor"},"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":"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"]},"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file diff --git a/resource/fog/fog.json b/resource/fog/fog.json index faa40edc..33b4b7d9 100644 --- a/resource/fog/fog.json +++ b/resource/fog/fog.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.resource.fog","examples":[],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.16.100"}}},"then":{"$ref":"#/definitions/A"}},{"properties":{"format_version":{"$ref":"#/definitions/C"}}}],"definitions":{"A_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}$"}]},"A_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"]}}},"A_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"}}},"A_volumeMediaObject":{"type":"object","additionalProperties":false,"properties":{"absorption":{"title":"Absorption","description":"Proportion of light that is absorbed (lost) per block.","$ref":"#/definitions/A_colorHexOrArray"},"scattering":{"title":"Scattering","description":"Proportion of light that is scattered per block.","$ref":"#/definitions/A_colorHexOrArray"}}},"B":{"description":"A minecraft fog identifier","examples":["namespace:fog_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Fog Identifier","type":"string"},"A":{"type":"object","additionalProperties":false,"title":"Fog","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","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: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/A_defaultFogSettings"},"weather":{"title":"Weather","description":" The fog settings for when the camera is in the air with active weather (rain, snow, etc..).","$ref":"#/definitions/A_defaultFogSettings"},"water":{"title":"Water","description":"The fog settings when the camera is in water.","$ref":"#/definitions/A_defaultFogSettings"},"lava":{"title":"Lava","description":"The fog settings when the camera is in lava.","$ref":"#/definitions/A_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/A_defaultFogSettings"},"powder_snow":{"title":"Powder Snow","description":"The fog settings when the camera is inside a Powder Snow block.","$ref":"#/definitions/A_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/A_volumeDensityObject"},"water":{"title":"Water","description":"Fog density values as light passes through water blocks.","$ref":"#/definitions/A_volumeDensityObject"},"lava":{"title":"Lava","description":"Fog density values as light passes through lava blocks.","$ref":"#/definitions/A_volumeDensityObject"},"lava_resistance":{"title":"Lava Resistance","description":"Fog density values as light passes through lava blocks while the player has lava resistance.","$ref":"#/definitions/A_volumeDensityObject"}}},"media_coefficients":{"title":"Media Coefficients","description":"The coefficient settings for the volumetric fog in different blocks.","additionalProperties":false,"properties":{"air":{"title":"Air","description":"Fog coefficient values while light passes through air.","$ref":"#/definitions/A_volumeMediaObject"},"water":{"title":"Water","description":"Fog coefficient values while light passes through water.","$ref":"#/definitions/A_volumeMediaObject"},"cloud":{"title":"Cloud","description":"Fog coefficient values while light passes through clouds.","$ref":"#/definitions/A_volumeMediaObject"}}}}}}}}},"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file +{"$id":"blockception.minecraft.resource.fog","examples":[],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.16.100"}}},"then":{"$ref":"#/definitions/A"}},{"properties":{"format_version":{"$ref":"#/definitions/C"}}}],"definitions":{"A_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}$"}]},"A_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"]}}},"A_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"}}},"A_volumeMediaObject":{"type":"object","additionalProperties":false,"properties":{"absorption":{"title":"Absorption","description":"Proportion of light that is absorbed (lost) per block.","$ref":"#/definitions/A_colorHexOrArray"},"scattering":{"title":"Scattering","description":"Proportion of light that is scattered per block.","$ref":"#/definitions/A_colorHexOrArray"}}},"B":{"description":"A minecraft fog identifier","examples":["namespace:fog_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Fog Identifier","type":"string"},"A":{"type":"object","additionalProperties":false,"title":"Fog","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","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: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/A_defaultFogSettings"},"weather":{"title":"Weather","description":" The fog settings for when the camera is in the air with active weather (rain, snow, etc..).","$ref":"#/definitions/A_defaultFogSettings"},"water":{"title":"Water","description":"The fog settings when the camera is in water.","$ref":"#/definitions/A_defaultFogSettings"},"lava":{"title":"Lava","description":"The fog settings when the camera is in lava.","$ref":"#/definitions/A_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/A_defaultFogSettings"},"powder_snow":{"title":"Powder Snow","description":"The fog settings when the camera is inside a Powder Snow block.","$ref":"#/definitions/A_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/A_volumeDensityObject"},"water":{"title":"Water","description":"Fog density values as light passes through water blocks.","$ref":"#/definitions/A_volumeDensityObject"},"lava":{"title":"Lava","description":"Fog density values as light passes through lava blocks.","$ref":"#/definitions/A_volumeDensityObject"},"lava_resistance":{"title":"Lava Resistance","description":"Fog density values as light passes through lava blocks while the player has lava resistance.","$ref":"#/definitions/A_volumeDensityObject"}}},"media_coefficients":{"title":"Media Coefficients","description":"The coefficient settings for the volumetric fog in different blocks.","additionalProperties":false,"properties":{"air":{"title":"Air","description":"Fog coefficient values while light passes through air.","$ref":"#/definitions/A_volumeMediaObject"},"water":{"title":"Water","description":"Fog coefficient values while light passes through water.","$ref":"#/definitions/A_volumeMediaObject"},"cloud":{"title":"Cloud","description":"Fog coefficient values while light passes through clouds.","$ref":"#/definitions/A_volumeMediaObject"}}}}}}}}},"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file diff --git a/resource/items/items.json b/resource/items/items.json index 7e91ec98..4d1b5f46 100644 --- a/resource/items/items.json +++ b/resource/items/items.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.resource.items","examples":[{"format_version":"1.10.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"},"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file +{"$id":"blockception.minecraft.resource.items","examples":[{"format_version":"1.10.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"},"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file diff --git a/resource/models/entity/model_entity.json b/resource/models/entity/model_entity.json index 5ab6e8ee..f89f6a69 100644 --- a/resource/models/entity/model_entity.json +++ b/resource/models/entity/model_entity.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.resource.model","examples":[{"format_version":"1.16.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":{}}]}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/B"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.12.0"}}},"then":{"$ref":"#/definitions/C"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.14.0"}}},"then":{"$ref":"#/definitions/D"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.16.0"}}},"then":{"$ref":"#/definitions/E"}},{"properties":{"format_version":{"$ref":"#/definitions/G"}}}],"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":{"type":"object","title":"Model Schema For 1.10.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["format_version"],"properties":{"debug":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Debug"},"format_version":{"title":"1.10.0 Format Version","type":"string","pattern":"^1.10.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"],"properties":{"normalized_uvs":{"type":"boolean"},"positions":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"normals":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"polys":{"type":"array","items":{"type":"array","minItems":3,"maxItems":4,"items":[{"type":"number"},{"type":"number"},{"type":"number"}]}}}},"render_group_id":{"type":"integer","minimum":0},"reset":{"title":"Reset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"rotation":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"texture_meshes":{"type":"array","items":{"type":"object","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":{"type":"string"},"debug":{"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"}]}}}},"C_uv":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"C_direction_uv":{"additionalProperties":false,"type":"object","properties":{"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/C_uv"},"uv_size":{"description":"The face maps this many texels from the uv origin. If not specified, the box dimensions are used instead.","$ref":"#/definitions/C_uv"},"material_instance":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"C":{"additionalProperties":false,"type":"object","title":"Geometry 1.12.0","description":"The minecraft resourcepack model schema for 1.12.0","required":["format_version","minecraft:geometry"],"properties":{"debug":{"type":"boolean","default":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Debug"},"format_version":{"title":"1.12.0 Format Version","type":"string","pattern":"^1.12.0$","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"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":{"description":"Offset of the visibility bounding box from the entity location point (in model space units).","title":"Visible Bounds Offset","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"visible_bounds_width":{"type":"number","description":"Width of the visibility bounding box (in model space units).","title":"Visible Bounds Width"},"visible_bounds_height":{"type":"number","description":"Height of the visible bounding box (in model space units).","title":"Visible Bounds Height"}}},"bones":{"type":"array","description":"The bones specification","items":{"additionalProperties":false,"type":"object","description":"A bones specification","required":["name"],"properties":{"average_normals":{"type":"object","examples":[null]},"cubes":{"type":"array","description":"This is the list of cubes associated with this bone.","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","minItems":3,"maxItems":3,"items":{"type":"number","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."}},"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":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number","description":"The cube extends this amount relative to its origin (in model space units)."}},"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":{"$ref":"#/definitions/C_direction_uv","description":"Specifies the UV's for the face that stretches along the x and y axes, and faces the -z axis."},"south":{"$ref":"#/definitions/C_direction_uv","description":"Specifies the UV's for the face that stretches along the x and y axes, and faces the z axis"},"east":{"$ref":"#/definitions/C_direction_uv","description":"Specifies the UV's for the face that stretches along the z and y axes, and faces the x axis"},"west":{"$ref":"#/definitions/C_direction_uv","description":"Specifies the UV's for the face that stretches along the z and y axes, and faces the -x axis"},"up":{"$ref":"#/definitions/C_direction_uv","description":"Specifies the UV's for the face that stretches along the x and z axes, and faces the y axis"},"down":{"$ref":"#/definitions/C_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","minItems":2,"maxItems":2,"items":{"type":"number"}}]}}}},"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","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","description":"Animation files refer to this bone via this identifier."},"parent":{"type":"string","description":"Bone that this bone is relative to. If the parent bone moves, this bone will move along with it."},"pivot":{"type":"array","minItems":3,"maxItems":3,"description":"The bone pivots around this point (in model space units).","items":{"type":"number","description":"The bone pivots around this point (in model space units)."}},"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","minItems":3,"maxItems":3,"description":"The bone pivots around this point (in model space units).","items":{"type":"number","description":"This is the initial rotation of the bone around the pivot, pre-animation (in degrees, x-then-y-then-z order)."}},"reset":{"title":"Reset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"texture_meshes":{"type":"array","description":"***EXPERIMENTAL*** Adds a mesh to the bone's geometry by converting texels in a texture into boxes","items":{"type":"object","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":{"type":"string"}}}}}},"D_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"}]},"D_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/D_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/D_uv"},"material_instance":{"type":"string","title":"Material Instance","description":"Specifies the UV's for the face that stretches"}}},"D":{"additionalProperties":false,"type":"object","title":"Geometry 1.14.0","description":"The minecraft resourcepack model schema for 1.14.0","required":["format_version","minecraft:geometry"],"properties":{"debug":{"type":"boolean","default":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Debug"},"format_version":{"title":"1.14.0 Format Version","type":"string","pattern":"^1.14.0$","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"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":{"description":"Offset of the visibility bounding box from the entity location point (in model space units).","title":"Visible Bounds Offset","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"visible_bounds_width":{"type":"number","description":"Width of the visibility bounding box (in model space units).","title":"Visible Bounds Width"},"visible_bounds_height":{"type":"number","description":"Height of the visible bounding box (in model space units).","title":"Visible Bounds Height"}}},"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":{"average_normals":{"type":"object","examples":[null]},"cubes":{"type":"array","description":"This is the list of cubes associated with this bone.","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/D_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/D_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/D_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/D_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/D_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/D_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","minItems":3,"maxItems":3,"description":"The bone pivots around this point (in model space units).","items":{"type":"number","description":"The bone pivots around this point (in model space units)."}},"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","minItems":3,"maxItems":3,"description":"The bone pivots around this point (in model space units).","items":{"type":"number","description":"This is the initial rotation of the bone around the pivot, pre-animation (in degrees, x-then-y-then-z order)."}},"texture_meshes":{"type":"array","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":{"type":"string"}}}}}},"E_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"}]},"E_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/E_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/E_uv"},"material_instance":{"type":"string","title":"Material Instance","description":"Specifies the UV's for the face that stretches"}}},"F":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"E":{"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":{"title":"1.16.0 Format Version","type":"string","pattern":"^1.16.0$","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"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/F"},"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/E_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/E_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/E_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/E_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/E_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/E_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"}}}}}},"G":{"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file +{"$id":"blockception.minecraft.resource.model","examples":[{"format_version":"1.16.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":{}}]}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/B"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.12.0"}}},"then":{"$ref":"#/definitions/C"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.14.0"}}},"then":{"$ref":"#/definitions/D"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.16.0"}}},"then":{"$ref":"#/definitions/E"}},{"properties":{"format_version":{"$ref":"#/definitions/G"}}}],"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":{"type":"object","title":"Model Schema For 1.10.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["format_version"],"properties":{"debug":{"type":"boolean","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Debug"},"format_version":{"title":"1.10.0 Format Version","type":"string","pattern":"^1.10.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"],"properties":{"normalized_uvs":{"type":"boolean"},"positions":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"normals":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"polys":{"type":"array","items":{"type":"array","minItems":3,"maxItems":4,"items":[{"type":"number"},{"type":"number"},{"type":"number"}]}}}},"render_group_id":{"type":"integer","minimum":0},"reset":{"title":"Reset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"rotation":{"type":"array","items":[{"type":"number"},{"type":"number"},{"type":"number"}]},"texture_meshes":{"type":"array","items":{"type":"object","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":{"type":"string"},"debug":{"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"}]}}}},"C_uv":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"number"}},"C_direction_uv":{"additionalProperties":false,"type":"object","properties":{"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/C_uv"},"uv_size":{"description":"The face maps this many texels from the uv origin. If not specified, the box dimensions are used instead.","$ref":"#/definitions/C_uv"},"material_instance":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"C":{"additionalProperties":false,"type":"object","title":"Geometry 1.12.0","description":"The minecraft resourcepack model schema for 1.12.0","required":["format_version","minecraft:geometry"],"properties":{"debug":{"type":"boolean","default":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Debug"},"format_version":{"title":"1.12.0 Format Version","type":"string","pattern":"^1.12.0$","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"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":{"description":"Offset of the visibility bounding box from the entity location point (in model space units).","title":"Visible Bounds Offset","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"visible_bounds_width":{"type":"number","description":"Width of the visibility bounding box (in model space units).","title":"Visible Bounds Width"},"visible_bounds_height":{"type":"number","description":"Height of the visible bounding box (in model space units).","title":"Visible Bounds Height"}}},"bones":{"type":"array","description":"The bones specification","items":{"additionalProperties":false,"type":"object","description":"A bones specification","required":["name"],"properties":{"average_normals":{"type":"object","examples":[null]},"cubes":{"type":"array","description":"This is the list of cubes associated with this bone.","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","minItems":3,"maxItems":3,"items":{"type":"number","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."}},"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":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"number","description":"The cube extends this amount relative to its origin (in model space units)."}},"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":{"$ref":"#/definitions/C_direction_uv","description":"Specifies the UV's for the face that stretches along the x and y axes, and faces the -z axis."},"south":{"$ref":"#/definitions/C_direction_uv","description":"Specifies the UV's for the face that stretches along the x and y axes, and faces the z axis"},"east":{"$ref":"#/definitions/C_direction_uv","description":"Specifies the UV's for the face that stretches along the z and y axes, and faces the x axis"},"west":{"$ref":"#/definitions/C_direction_uv","description":"Specifies the UV's for the face that stretches along the z and y axes, and faces the -x axis"},"up":{"$ref":"#/definitions/C_direction_uv","description":"Specifies the UV's for the face that stretches along the x and z axes, and faces the y axis"},"down":{"$ref":"#/definitions/C_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","minItems":2,"maxItems":2,"items":{"type":"number"}}]}}}},"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","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","description":"Animation files refer to this bone via this identifier."},"parent":{"type":"string","description":"Bone that this bone is relative to. If the parent bone moves, this bone will move along with it."},"pivot":{"type":"array","minItems":3,"maxItems":3,"description":"The bone pivots around this point (in model space units).","items":{"type":"number","description":"The bone pivots around this point (in model space units)."}},"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","minItems":3,"maxItems":3,"description":"The bone pivots around this point (in model space units).","items":{"type":"number","description":"This is the initial rotation of the bone around the pivot, pre-animation (in degrees, x-then-y-then-z order)."}},"reset":{"title":"Reset","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"boolean"},"texture_meshes":{"type":"array","description":"***EXPERIMENTAL*** Adds a mesh to the bone's geometry by converting texels in a texture into boxes","items":{"type":"object","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":{"type":"string"}}}}}},"D_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"}]},"D_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/D_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/D_uv"},"material_instance":{"type":"string","title":"Material Instance","description":"Specifies the UV's for the face that stretches"}}},"D":{"additionalProperties":false,"type":"object","title":"Geometry 1.14.0","description":"The minecraft resourcepack model schema for 1.14.0","required":["format_version","minecraft:geometry"],"properties":{"debug":{"type":"boolean","default":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Debug"},"format_version":{"title":"1.14.0 Format Version","type":"string","pattern":"^1.14.0$","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"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":{"description":"Offset of the visibility bounding box from the entity location point (in model space units).","title":"Visible Bounds Offset","type":"array","minItems":3,"maxItems":3,"items":{"type":"number"}},"visible_bounds_width":{"type":"number","description":"Width of the visibility bounding box (in model space units).","title":"Visible Bounds Width"},"visible_bounds_height":{"type":"number","description":"Height of the visible bounding box (in model space units).","title":"Visible Bounds Height"}}},"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":{"average_normals":{"type":"object","examples":[null]},"cubes":{"type":"array","description":"This is the list of cubes associated with this bone.","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/D_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/D_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/D_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/D_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/D_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/D_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","minItems":3,"maxItems":3,"description":"The bone pivots around this point (in model space units).","items":{"type":"number","description":"The bone pivots around this point (in model space units)."}},"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","minItems":3,"maxItems":3,"description":"The bone pivots around this point (in model space units).","items":{"type":"number","description":"This is the initial rotation of the bone around the pivot, pre-animation (in degrees, x-then-y-then-z order)."}},"texture_meshes":{"type":"array","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":{"type":"string"}}}}}},"E_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"}]},"E_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/E_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/E_uv"},"material_instance":{"type":"string","title":"Material Instance","description":"Specifies the UV's for the face that stretches"}}},"F":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"E":{"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":{"title":"1.16.0 Format Version","type":"string","pattern":"^1.16.0$","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"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/F"},"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/E_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/E_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/E_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/E_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/E_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/E_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"}}}}}},"G":{"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file diff --git a/resource/particles/particles.json b/resource/particles/particles.json index 68a6a278..a02c29f8 100644 --- a/resource/particles/particles.json +++ b/resource/particles/particles.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.resource.particle","examples":[{"format_version":"1.10.0","particle_effect":{"description":{"identifier":"blockception:particle","basic_render_parameters":{"material":"particles_alpha","texture":"textures/particle/particle"}},"curves":{},"components":{}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/C"}},{"properties":{"format_version":{"$ref":"#/definitions/DE"}}}],"definitions":{"B":{"description":"The minecraft particle identifier","examples":["namespace:particle_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Particle Identifier","type":"string"},"A":{"type":"object","additionalProperties":false,"description":"A particle definition file","title":"Particle 1.8.0","properties":{"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.","title":"Format Version"},"particle_effect":{"type":"object","additionalProperties":false,"properties":{"description":{"additionalProperties":false,"type":"object","properties":{"identifier":{"type":"string","description":"UNDOCUMENTED: identifier","title":"Identifier","$ref":"#/definitions/B"}},"description":"UNDOCUMENTED: description","title":"Description"},"components":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED: components","title":"Components"}},"description":"UNDOCUMENTED: particle effect","title":"Particle Effect"}}},"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"]},"F":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"E":{"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/F","description":"This is run once at emitter startup.","title":"Creation Expression"},"per_update_expression":{"$ref":"#/definitions/F","description":"This is run once per emitter update.","title":"Per Update Expression"}}},"G":{"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"}]}}}}}},"H":{"type":"object","title":"Emitter Rate Manual Component 1.10.0","description":"UNDOCUMENTED: ","additionalProperties":false,"properties":{"activation_expression":{"$ref":"#/definitions/D","description":"When the expression is non-zero, the emitter will emit particles. Evaluated every frame","title":"Activation Expression"},"expiration_expression":{"$ref":"#/definitions/D","description":"Emitter will expire if the expression is non-zero. Evaluated every frame","title":"Expiration Expression"}}},"I":{"type":"object","title":"Emitter Lifetime Once Component For 1.10.0","additionalProperties":false,"properties":{"active_time":{"$ref":"#/definitions/D","description":"How long the particles emit for evaluated once","title":"Active Time"}},"description":"UNDOCUMENTED: "},"J":{"type":"object","title":"Emitter Lifetime Looping Component For 1.10.0","additionalProperties":false,"properties":{"active_time":{"$ref":"#/definitions/D","description":"Emitter will emit particles for this time per loop evaluated once per particle emitter loop","title":"Active Time"},"sleep_time":{"$ref":"#/definitions/D","description":"Emitter will pause emitting particles for this time per loop evaluated once per particle emitter loop","title":"Sleep Time"}},"description":"UNDOCUMENTED: "},"BA":{"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"}}},"BB":{"type":"object","title":"Emitter Rate Instant Component For 1.10.0","additionalProperties":false,"properties":{"num_particles":{"$ref":"#/definitions/D","description":"This many particles are emitted at once evaluated once per particle emitter loop.","title":"Num Particles","default":10}},"description":"UNDOCUMENTED: "},"BC":{"type":"object","title":"Emitter Rate Manual Component For 1.10.0","additionalProperties":false,"properties":{"max_particles":{"$ref":"#/definitions/D","description":"Evaluated once per particle emitted","title":"Maximum Particles"}},"description":"UNDOCUMENTED: "},"BD":{"type":"object","title":"Emitter Rate Steady Component For 1.10.0","additionalProperties":false,"properties":{"max_particles":{"$ref":"#/definitions/D","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/D","description":"How often a particle is emitted, in particles/sec evaluated once per particle emitted","title":"Spawn Rate"}},"description":"UNDOCUMENTED: "},"BE":{"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/D","title":"X"},{"$ref":"#/definitions/D","title":"Y"},{"$ref":"#/definitions/D","title":"Z"}]}],"description":"UNDOCUMENTED: direction","title":"Direction"},"radius":{"$ref":"#/definitions/D","description":"UNDOCUMENTED: radius","title":"Radius"},"offset":{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"},"half_dimensions":{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","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: "},"BF":{"type":"object","title":"Emitter Shape Custom Component For 1.10.0","additionalProperties":false,"properties":{"direction":{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"}},"description":"UNDOCUMENTED: "},"BG":{"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/D","title":"X"},{"$ref":"#/definitions/D","title":"Y"},{"$ref":"#/definitions/D","title":"Z"}]}],"description":"UNDOCUMENTED: direction","title":"Direction"},"radius":{"$ref":"#/definitions/D","description":"UNDOCUMENTED: radius","title":"Radius"},"offset":{"type":"array","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","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/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}]}]},"surface_only":{"type":"boolean","description":"UNDOCUMENTED: surface only","title":"Surface Only"}},"description":"UNDOCUMENTED: "},"BH":{"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/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"}}},"BI":{"type":"object","title":"Emitter Shape Point Component For 1.10.0","description":"UNDOCUMENTED: ","additionalProperties":false,"properties":{"direction":{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"}}},"BJ":{"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/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}]}],"description":"UNDOCUMENTED: direction","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"},"radius":{"$ref":"#/definitions/D","description":"UNDOCUMENTED: radius","title":"Radius"},"surface_only":{"type":"boolean","description":"UNDOCUMENTED: surface only","title":"Surface Only"}}},"CA":{"type":"object","title":"Particle Appearance Billboard Component For 1.10.0","additionalProperties":false,"properties":{"size":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/D","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/D","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/D","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/D","description":"UNDOCUMENTED: step UV","title":"Step U V"},"description":"UNDOCUMENTED: step UV","title":"Step U V"},"frames_per_second":{"$ref":"#/definitions/D","description":"UNDOCUMENTED: frames per second","title":"Frames Per Second"},"max_frame":{"$ref":"#/definitions/D","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/D","description":"UNDOCUMENTED: uv","title":"Uv"},"description":"UNDOCUMENTED: uv","title":"Uv"},"uv_size":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/D","description":"UNDOCUMENTED: uv size","title":"Uv Size"},"description":"UNDOCUMENTED: uv size","title":"Uv Size"}},"description":"UNDOCUMENTED: uv","title":"Uv"}},"description":"UNDOCUMENTED: "},"CB":{"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","anyOf":[{"type":"array","description":"Direct color field","items":{"$ref":"#/definitions/D"}},{"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/D","description":"UNDOCUMENTED: interpolant","title":"Interpolant"}}}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"CC":{"type":"object","title":"Particle Appearance Lighting Component For 1.10.0","additionalProperties":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"CE":{"description":"A minecraft block identifier","examples":["namespace:block"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Block Identifier","type":"string"},"CD":{"type":"array","title":"Particle Expire If Not In Blocks Component For 1.10.0","additionalProperties":false,"items":{"$ref":"#/definitions/CE","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/D","description":"UNDOCUMENTED: per update expression","title":"Per Update Expression"},"per_render_expression":{"$ref":"#/definitions/D","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/D"},{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","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/D","description":"Specifies the initial rotation in degrees","title":"Rotation"},"rotation_rate":{"$ref":"#/definitions/D","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/D"},"max_lifetime":{"$ref":"#/definitions/D","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/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"A"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"B"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"C"},{"$ref":"#/definitions/D","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/D","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/D"},"description":"The linear acceleration applied to the particle. Units are blocks/sec/sec","title":"Linear Acceleration"},"linear_drag_coefficient":{"$ref":"#/definitions/D","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/D","description":"Acceleration applies to the rotation speed of the particle","title":"Rotation Acceleration","default":0},"rotation_drag_coefficient":{"$ref":"#/definitions/D","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/D","description":"UNDOCUMENTED: relative position","title":"Relative Position"},"description":"UNDOCUMENTED: relative position","title":"Relative Position"},"rotation":{"$ref":"#/definitions/D","description":"UNDOCUMENTED: rotation","title":"Rotation"}},"description":"UNDOCUMENTED: "},"C":{"type":"object","additionalProperties":false,"description":"A particle definition file","title":"Particle 1.8.0","properties":{"format_version":{"type":"string","const":"1.10.0","description":"A version that tells minecraft what type of data format can be expected when reading this file.","title":"Format Version"},"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","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: basic render parameters","title":"Basic Render Parameters"}},"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"input":{"$ref":"#/definitions/D","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/D"}},{"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":{"type":"string","title":"Horizontal Range","description":"What is the range the input is mapped onto"}}}},"components":{"additionalProperties":false,"type":"object","description":"The particle components.","title":"Components","properties":{"minecraft:emitter_initialization":{"$ref":"#/definitions/E"},"minecraft:emitter_lifetime_events":{"$ref":"#/definitions/G"},"minecraft:emitter_lifetime_expression":{"$ref":"#/definitions/H"},"minecraft:emitter_lifetime_once":{"$ref":"#/definitions/I"},"minecraft:emitter_lifetime_looping":{"$ref":"#/definitions/J"},"minecraft:emitter_local_space":{"$ref":"#/definitions/BA"},"minecraft:emitter_rate_instant":{"$ref":"#/definitions/BB"},"minecraft:emitter_rate_manual":{"$ref":"#/definitions/BC"},"minecraft:emitter_rate_steady":{"$ref":"#/definitions/BD"},"minecraft:emitter_shape_box":{"$ref":"#/definitions/BE"},"minecraft:emitter_shape_custom":{"$ref":"#/definitions/BF"},"minecraft:emitter_shape_disc":{"$ref":"#/definitions/BG"},"minecraft:emitter_shape_entity_aabb":{"$ref":"#/definitions/BH"},"minecraft:emitter_shape_point":{"$ref":"#/definitions/BI"},"minecraft:emitter_shape_sphere":{"$ref":"#/definitions/BJ"},"minecraft:particle_appearance_billboard":{"$ref":"#/definitions/CA"},"minecraft:particle_appearance_tinting":{"$ref":"#/definitions/CB"},"minecraft:particle_appearance_lighting":{"$ref":"#/definitions/CC"},"minecraft:particle_expire_if_not_in_blocks":{"$ref":"#/definitions/CD"},"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"}}}}}}}}}},"DE":{"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file +{"$id":"blockception.minecraft.resource.particle","examples":[{"format_version":"1.10.0","particle_effect":{"description":{"identifier":"blockception:particle","basic_render_parameters":{"material":"particles_alpha","texture":"textures/particle/particle"}},"curves":{},"components":{}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.8.0"}}},"then":{"$ref":"#/definitions/A"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/C"}},{"properties":{"format_version":{"$ref":"#/definitions/DE"}}}],"definitions":{"B":{"description":"The minecraft particle identifier","examples":["namespace:particle_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Particle Identifier","type":"string"},"A":{"type":"object","additionalProperties":false,"description":"A particle definition file","title":"Particle 1.8.0","properties":{"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.","title":"Format Version"},"particle_effect":{"type":"object","additionalProperties":false,"properties":{"description":{"additionalProperties":false,"type":"object","properties":{"identifier":{"type":"string","description":"UNDOCUMENTED: identifier","title":"Identifier","$ref":"#/definitions/B"}},"description":"UNDOCUMENTED: description","title":"Description"},"components":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED: components","title":"Components"}},"description":"UNDOCUMENTED: particle effect","title":"Particle Effect"}}},"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"]},"F":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"E":{"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/F","description":"This is run once at emitter startup.","title":"Creation Expression"},"per_update_expression":{"$ref":"#/definitions/F","description":"This is run once per emitter update.","title":"Per Update Expression"}}},"G":{"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"}]}}}}}},"H":{"type":"object","title":"Emitter Rate Manual Component 1.10.0","description":"UNDOCUMENTED: ","additionalProperties":false,"properties":{"activation_expression":{"$ref":"#/definitions/D","description":"When the expression is non-zero, the emitter will emit particles. Evaluated every frame","title":"Activation Expression"},"expiration_expression":{"$ref":"#/definitions/D","description":"Emitter will expire if the expression is non-zero. Evaluated every frame","title":"Expiration Expression"}}},"I":{"type":"object","title":"Emitter Lifetime Once Component For 1.10.0","additionalProperties":false,"properties":{"active_time":{"$ref":"#/definitions/D","description":"How long the particles emit for evaluated once","title":"Active Time"}},"description":"UNDOCUMENTED: "},"J":{"type":"object","title":"Emitter Lifetime Looping Component For 1.10.0","additionalProperties":false,"properties":{"active_time":{"$ref":"#/definitions/D","description":"Emitter will emit particles for this time per loop evaluated once per particle emitter loop","title":"Active Time"},"sleep_time":{"$ref":"#/definitions/D","description":"Emitter will pause emitting particles for this time per loop evaluated once per particle emitter loop","title":"Sleep Time"}},"description":"UNDOCUMENTED: "},"BA":{"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"}}},"BB":{"type":"object","title":"Emitter Rate Instant Component For 1.10.0","additionalProperties":false,"properties":{"num_particles":{"$ref":"#/definitions/D","description":"This many particles are emitted at once evaluated once per particle emitter loop.","title":"Num Particles","default":10}},"description":"UNDOCUMENTED: "},"BC":{"type":"object","title":"Emitter Rate Manual Component For 1.10.0","additionalProperties":false,"properties":{"max_particles":{"$ref":"#/definitions/D","description":"Evaluated once per particle emitted","title":"Maximum Particles"}},"description":"UNDOCUMENTED: "},"BD":{"type":"object","title":"Emitter Rate Steady Component For 1.10.0","additionalProperties":false,"properties":{"max_particles":{"$ref":"#/definitions/D","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/D","description":"How often a particle is emitted, in particles/sec evaluated once per particle emitted","title":"Spawn Rate"}},"description":"UNDOCUMENTED: "},"BE":{"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/D","title":"X"},{"$ref":"#/definitions/D","title":"Y"},{"$ref":"#/definitions/D","title":"Z"}]}],"description":"UNDOCUMENTED: direction","title":"Direction"},"radius":{"$ref":"#/definitions/D","description":"UNDOCUMENTED: radius","title":"Radius"},"offset":{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"},"half_dimensions":{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","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: "},"BF":{"type":"object","title":"Emitter Shape Custom Component For 1.10.0","additionalProperties":false,"properties":{"direction":{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"}},"description":"UNDOCUMENTED: "},"BG":{"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/D","title":"X"},{"$ref":"#/definitions/D","title":"Y"},{"$ref":"#/definitions/D","title":"Z"}]}],"description":"UNDOCUMENTED: direction","title":"Direction"},"radius":{"$ref":"#/definitions/D","description":"UNDOCUMENTED: radius","title":"Radius"},"offset":{"type":"array","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","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/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}]}]},"surface_only":{"type":"boolean","description":"UNDOCUMENTED: surface only","title":"Surface Only"}},"description":"UNDOCUMENTED: "},"BH":{"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/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"}}},"BI":{"type":"object","title":"Emitter Shape Point Component For 1.10.0","description":"UNDOCUMENTED: ","additionalProperties":false,"properties":{"direction":{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED: direction","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"}}},"BJ":{"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/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}]}],"description":"UNDOCUMENTED: direction","title":"Direction"},"offset":{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Z"}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Offset"},"radius":{"$ref":"#/definitions/D","description":"UNDOCUMENTED: radius","title":"Radius"},"surface_only":{"type":"boolean","description":"UNDOCUMENTED: surface only","title":"Surface Only"}}},"CA":{"type":"object","title":"Particle Appearance Billboard Component For 1.10.0","additionalProperties":false,"properties":{"size":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/D","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/D","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/D","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/D","description":"UNDOCUMENTED: step UV","title":"Step U V"},"description":"UNDOCUMENTED: step UV","title":"Step U V"},"frames_per_second":{"$ref":"#/definitions/D","description":"UNDOCUMENTED: frames per second","title":"Frames Per Second"},"max_frame":{"$ref":"#/definitions/D","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/D","description":"UNDOCUMENTED: uv","title":"Uv"},"description":"UNDOCUMENTED: uv","title":"Uv"},"uv_size":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/D","description":"UNDOCUMENTED: uv size","title":"Uv Size"},"description":"UNDOCUMENTED: uv size","title":"Uv Size"}},"description":"UNDOCUMENTED: uv","title":"Uv"}},"description":"UNDOCUMENTED: "},"CB":{"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","anyOf":[{"type":"array","description":"Direct color field","items":{"$ref":"#/definitions/D"}},{"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/D","description":"UNDOCUMENTED: interpolant","title":"Interpolant"}}}],"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"}}},"CC":{"type":"object","title":"Particle Appearance Lighting Component For 1.10.0","additionalProperties":false,"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"CE":{"description":"A minecraft block identifier","examples":["namespace:block"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Block Identifier","type":"string"},"CD":{"type":"array","title":"Particle Expire If Not In Blocks Component For 1.10.0","additionalProperties":false,"items":{"$ref":"#/definitions/CE","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/D","description":"UNDOCUMENTED: per update expression","title":"Per Update Expression"},"per_render_expression":{"$ref":"#/definitions/D","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/D"},{"type":"array","items":[{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"X"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Y"},{"$ref":"#/definitions/D","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/D","description":"Specifies the initial rotation in degrees","title":"Rotation"},"rotation_rate":{"$ref":"#/definitions/D","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/D"},"max_lifetime":{"$ref":"#/definitions/D","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/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"A"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"B"},{"$ref":"#/definitions/D","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"C"},{"$ref":"#/definitions/D","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/D","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/D"},"description":"The linear acceleration applied to the particle. Units are blocks/sec/sec","title":"Linear Acceleration"},"linear_drag_coefficient":{"$ref":"#/definitions/D","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/D","description":"Acceleration applies to the rotation speed of the particle","title":"Rotation Acceleration","default":0},"rotation_drag_coefficient":{"$ref":"#/definitions/D","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/D","description":"UNDOCUMENTED: relative position","title":"Relative Position"},"description":"UNDOCUMENTED: relative position","title":"Relative Position"},"rotation":{"$ref":"#/definitions/D","description":"UNDOCUMENTED: rotation","title":"Rotation"}},"description":"UNDOCUMENTED: "},"C":{"type":"object","additionalProperties":false,"description":"A particle definition file","title":"Particle 1.8.0","properties":{"format_version":{"type":"string","const":"1.10.0","description":"A version that tells minecraft what type of data format can be expected when reading this file.","title":"Format Version"},"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","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: basic render parameters","title":"Basic Render Parameters"}},"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":"UNDOCUMENTED","$comment":"UNDOCUMENTED","properties":{"input":{"$ref":"#/definitions/D","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/D"}},{"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":{"type":"string","title":"Horizontal Range","description":"What is the range the input is mapped onto"}}}},"components":{"additionalProperties":false,"type":"object","description":"The particle components.","title":"Components","properties":{"minecraft:emitter_initialization":{"$ref":"#/definitions/E"},"minecraft:emitter_lifetime_events":{"$ref":"#/definitions/G"},"minecraft:emitter_lifetime_expression":{"$ref":"#/definitions/H"},"minecraft:emitter_lifetime_once":{"$ref":"#/definitions/I"},"minecraft:emitter_lifetime_looping":{"$ref":"#/definitions/J"},"minecraft:emitter_local_space":{"$ref":"#/definitions/BA"},"minecraft:emitter_rate_instant":{"$ref":"#/definitions/BB"},"minecraft:emitter_rate_manual":{"$ref":"#/definitions/BC"},"minecraft:emitter_rate_steady":{"$ref":"#/definitions/BD"},"minecraft:emitter_shape_box":{"$ref":"#/definitions/BE"},"minecraft:emitter_shape_custom":{"$ref":"#/definitions/BF"},"minecraft:emitter_shape_disc":{"$ref":"#/definitions/BG"},"minecraft:emitter_shape_entity_aabb":{"$ref":"#/definitions/BH"},"minecraft:emitter_shape_point":{"$ref":"#/definitions/BI"},"minecraft:emitter_shape_sphere":{"$ref":"#/definitions/BJ"},"minecraft:particle_appearance_billboard":{"$ref":"#/definitions/CA"},"minecraft:particle_appearance_tinting":{"$ref":"#/definitions/CB"},"minecraft:particle_appearance_lighting":{"$ref":"#/definitions/CC"},"minecraft:particle_expire_if_not_in_blocks":{"$ref":"#/definitions/CD"},"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"}}}}}}}}}},"DE":{"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file diff --git a/resource/render_controllers/render_controllers.json b/resource/render_controllers/render_controllers.json index b1fb9918..753f062c 100644 --- a/resource/render_controllers/render_controllers.json +++ b/resource/render_controllers/render_controllers.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.render_controllers.json","examples":[{"format_version":"1.8.0","render_controllers":{"controller.render.example":{"geometry":"Geometry.default","materials":[{"*":"Material.default"}],"textures":["Texture.default"]}}}],"type":"object","title":"Render Controllers","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","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/C"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/C"}},{"properties":{"format_version":{"$ref":"#/definitions/D"}}}],"definitions":{"A_color":{"anyOf":[{"type":"number","description":"A color definition as number, between 0 and 1","title":"Color Number","minimum":0,"maximum":1},{"type":"string","description":"A color definition in molang, must result in a float between 0 and 1","title":"Molang Color"}]},"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"]},"A":{"additionalProperties":false,"type":"object","title":"Render Controllers 1.8.0","description":"Render_Controllers 1.8.0","required":["render_controllers","format_version"],"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."},"render_controllers":{"type":"object","propertyNames":{"pattern":"^controller\\.render\\.[a-z\\.]+","examples":["controller.render.example"]},"additionalProperties":{"additionalProperties":false,"type":"object","title":"Render Controller","description":"A single render_controller definition","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"},"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":{"description":"UNDOCUMENTED: color","title":"Color","additionalProperties":false,"type":"object","properties":{"r":{"$ref":"#/definitions/A_color","description":"The value of red, must result in a float between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/A_color","description":"The value of green, must result in a float between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/A_color","description":"The value of blue, must result in a float between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/A_color","description":"The value of alpha, must result in a float between 0 and 1","title":"A"}}},"filter_lighting":{"type":"boolean","description":"UNDOCUMENTED: filter lighting","title":"Filter Lighting"},"geometry":{"type":"string","description":"UNDOCUMENTED: geometry","title":"Geometry"},"ignore_lighting":{"type":"boolean","description":"UNDOCUMENTED: ignore lighting","title":"Ignore Lighting"},"is_hurt_color":{"type":"object","title":"Is Hurt Color","additionalProperties":false,"description":"The color that is overlay when hurt","properties":{"r":{"$ref":"#/definitions/A_color","description":"The value of red, must result in a float between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/A_color","description":"The value of green, must result in a float between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/A_color","description":"The value of blue, must result in a float between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/A_color","description":"The value of alpha, must result in a float between 0 and 1","title":"A"}}},"light_color_multiplier":{"$ref":"#/definitions/B","description":"The amount of light that blends into what is being rendered, lower values gives darker rendering, (1 = 100%)","title":"Light Color Multiplier"},"materials":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties","title":"Material"},"description":"UNDOCUMENTED: materials","title":"Materials"},"description":"UNDOCUMENTED: materials","title":"Materials"},"on_fire_color":{"additionalProperties":false,"type":"object","properties":{"r":{"$ref":"#/definitions/A_color","description":"The value of red, must result in a float between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/A_color","description":"The value of green, must result in a float between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/A_color","description":"The value of blue, must result in a float between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/A_color","description":"The value of alpha, must result in a float between 0 and 1","title":"A"}},"description":"UNDOCUMENTED: on fire color","title":"On Fire Color"},"overlay_color":{"additionalProperties":false,"type":"object","properties":{"r":{"$ref":"#/definitions/A_color","description":"The value of red, must result in a float between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/A_color","description":"The value of green, must result in a float between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/A_color","description":"The value of blue, must result in a float between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/A_color","description":"The value of alpha, must result in a float between 0 and 1","title":"A"}},"description":"Overlays this color ontop of any rendering parts","title":"Overlay Color"},"part_visibility":{"type":"array","minItems":1,"items":{"description":"A collection of object that describe which bones are hidden or not","title":"Part Visibilty","type":"object","minProperties":1,"additionalProperties":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}],"description":"Describes which bones are visible or not, can be a string, boolean or number","title":"Part Visibilty"}},"description":"UNDOCUMENTED: part visibility","title":"Part Visibility"},"textures":{"type":"array","minItems":1,"items":{"type":"string","description":"UNDOCUMENTED: textures","title":"Textures"},"description":"UNDOCUMENTED: textures","title":"Textures"},"uv_anim":{"additionalProperties":false,"type":"object","required":["offset","scale"],"properties":{"offset":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/B","description":"UNDOCUMENTED: offset","title":"Offset"},"description":"UNDOCUMENTED: offset","title":"Offset"},"scale":{"type":"array","description":"UNDOCUMENTED: scale","title":"Scale","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/B","description":"UNDOCUMENTED: scale","title":"Scale"}}},"description":"UNDOCUMENTED: uv anim","title":"Uv Anim"}}},"description":"UNDOCUMENTED: render controllers","title":"Render Controllers"}}},"C_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"}]},"C":{"additionalProperties":false,"type":"object","title":"Render Controllers 1.10.0","description":"Render_controllers 1.10.0","properties":{"format_version":{"title":"1.10.0 Format Version","type":"string","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"render_controllers":{"type":"object","propertyNames":{"pattern":"^controller\\.render\\.[a-z\\.]+","examples":["controller.render.example"]},"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/C_color","description":"The value of red, between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/C_color","description":"The value of green, between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/C_color","description":"The value of blue, between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/C_color","description":"The value of alpha, between 0 and 1","title":"A"}},"description":"UNDOCUMENTED: color","title":"Color"},"filter_lighting":{"type":"boolean","description":"UNDOCUMENTED: filter lighting","title":"Filter Lighting"},"geometry":{"type":"string","description":"UNDOCUMENTED: geometry","title":"Geometry"},"ignore_lighting":{"type":"boolean","description":"UNDOCUMENTED: ignore lighting","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/C_color","description":"The value of red, between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/C_color","description":"The value of green, between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/C_color","description":"The value of blue, between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/C_color","description":"The value of alpha, between 0 and 1","title":"A"}}},"light_color_multiplier":{"$ref":"#/definitions/B","description":"The amount of light that blends into what is being rendered, lower values gives darker rendering, (1 = 100%)","title":"Light Color Multiplier"},"materials":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Material"},"description":"UNDOCUMENTED: materials","title":"Materials"},"description":"UNDOCUMENTED: materials","title":"Materials"},"on_fire_color":{"additionalProperties":false,"type":"object","properties":{"r":{"$ref":"#/definitions/C_color","description":"The value of red, must result in a float between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/C_color","description":"The value of green, must result in a float between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/C_color","description":"The value of blue, must result in a float between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/C_color","description":"The value of alpha, must result in a float between 0 and 1","title":"A"}},"description":"UNDOCUMENTED: on fire color","title":"On Fire Color"},"overlay_color":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED: overlay color","title":"Overlay Color","properties":{"r":{"$ref":"#/definitions/C_color","description":"The value of red, between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/C_color","description":"The value of green, between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/C_color","description":"The value of blue, between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/C_color","description":"The value of alpha, between 0 and 1","title":"A"}}},"part_visibility":{"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"}]}},"description":"UNDOCUMENTED: part visibility","title":"Part Visibility"},"textures":{"type":"array","minItems":1,"items":{"type":"string","description":"UNDOCUMENTED: textures","title":"Textures"},"description":"UNDOCUMENTED: textures","title":"Textures"},"uv_anim":{"additionalProperties":false,"type":"object","required":["offset","scale"],"properties":{"offset":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/B","description":"UNDOCUMENTED: offset","title":"Offset"},"description":"UNDOCUMENTED: offset","title":"Offset"},"scale":{"type":"array","description":"UNDOCUMENTED: scale","title":"Scale","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/B","description":"UNDOCUMENTED: scale","title":"Scale"}}},"description":"UNDOCUMENTED: uv anim","title":"Uv Anim"}}},"description":"UNDOCUMENTED: render controllers","title":"Render Controllers"}}},"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file +{"$id":"blockception.minecraft.render_controllers.json","examples":[{"format_version":"1.8.0","render_controllers":{"controller.render.example":{"geometry":"Geometry.default","materials":[{"*":"Material.default"}],"textures":["Texture.default"]}}}],"type":"object","title":"Render Controllers","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","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/C"}},{"if":{"properties":{"format_version":{"type":"string","const":"1.10.0"}}},"then":{"$ref":"#/definitions/C"}},{"properties":{"format_version":{"$ref":"#/definitions/D"}}}],"definitions":{"A_color":{"anyOf":[{"type":"number","description":"A color definition as number, between 0 and 1","title":"Color Number","minimum":0,"maximum":1},{"type":"string","description":"A color definition in molang, must result in a float between 0 and 1","title":"Molang Color"}]},"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"]},"A":{"additionalProperties":false,"type":"object","title":"Render Controllers 1.8.0","description":"Render_Controllers 1.8.0","required":["render_controllers","format_version"],"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."},"render_controllers":{"type":"object","propertyNames":{"pattern":"^controller\\.render\\.[a-z\\.]+","examples":["controller.render.example"]},"additionalProperties":{"additionalProperties":false,"type":"object","title":"Render Controller","description":"A single render_controller definition","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"},"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":{"description":"UNDOCUMENTED: color","title":"Color","additionalProperties":false,"type":"object","properties":{"r":{"$ref":"#/definitions/A_color","description":"The value of red, must result in a float between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/A_color","description":"The value of green, must result in a float between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/A_color","description":"The value of blue, must result in a float between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/A_color","description":"The value of alpha, must result in a float between 0 and 1","title":"A"}}},"filter_lighting":{"type":"boolean","description":"UNDOCUMENTED: filter lighting","title":"Filter Lighting"},"geometry":{"type":"string","description":"UNDOCUMENTED: geometry","title":"Geometry"},"ignore_lighting":{"type":"boolean","description":"UNDOCUMENTED: ignore lighting","title":"Ignore Lighting"},"is_hurt_color":{"type":"object","title":"Is Hurt Color","additionalProperties":false,"description":"The color that is overlay when hurt","properties":{"r":{"$ref":"#/definitions/A_color","description":"The value of red, must result in a float between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/A_color","description":"The value of green, must result in a float between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/A_color","description":"The value of blue, must result in a float between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/A_color","description":"The value of alpha, must result in a float between 0 and 1","title":"A"}}},"light_color_multiplier":{"$ref":"#/definitions/B","description":"The amount of light that blends into what is being rendered, lower values gives darker rendering, (1 = 100%)","title":"Light Color Multiplier"},"materials":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":{"type":"string","description":"UNDOCUMENTED: additionalProperties","title":"Material"},"description":"UNDOCUMENTED: materials","title":"Materials"},"description":"UNDOCUMENTED: materials","title":"Materials"},"on_fire_color":{"additionalProperties":false,"type":"object","properties":{"r":{"$ref":"#/definitions/A_color","description":"The value of red, must result in a float between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/A_color","description":"The value of green, must result in a float between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/A_color","description":"The value of blue, must result in a float between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/A_color","description":"The value of alpha, must result in a float between 0 and 1","title":"A"}},"description":"UNDOCUMENTED: on fire color","title":"On Fire Color"},"overlay_color":{"additionalProperties":false,"type":"object","properties":{"r":{"$ref":"#/definitions/A_color","description":"The value of red, must result in a float between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/A_color","description":"The value of green, must result in a float between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/A_color","description":"The value of blue, must result in a float between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/A_color","description":"The value of alpha, must result in a float between 0 and 1","title":"A"}},"description":"Overlays this color ontop of any rendering parts","title":"Overlay Color"},"part_visibility":{"type":"array","minItems":1,"items":{"description":"A collection of object that describe which bones are hidden or not","title":"Part Visibilty","type":"object","minProperties":1,"additionalProperties":{"oneOf":[{"type":"string"},{"type":"boolean"},{"type":"number"}],"description":"Describes which bones are visible or not, can be a string, boolean or number","title":"Part Visibilty"}},"description":"UNDOCUMENTED: part visibility","title":"Part Visibility"},"textures":{"type":"array","minItems":1,"items":{"type":"string","description":"UNDOCUMENTED: textures","title":"Textures"},"description":"UNDOCUMENTED: textures","title":"Textures"},"uv_anim":{"additionalProperties":false,"type":"object","required":["offset","scale"],"properties":{"offset":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/B","description":"UNDOCUMENTED: offset","title":"Offset"},"description":"UNDOCUMENTED: offset","title":"Offset"},"scale":{"type":"array","description":"UNDOCUMENTED: scale","title":"Scale","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/B","description":"UNDOCUMENTED: scale","title":"Scale"}}},"description":"UNDOCUMENTED: uv anim","title":"Uv Anim"}}},"description":"UNDOCUMENTED: render controllers","title":"Render Controllers"}}},"C_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"}]},"C":{"additionalProperties":false,"type":"object","title":"Render Controllers 1.10.0","description":"Render_controllers 1.10.0","properties":{"format_version":{"title":"1.10.0 Format Version","type":"string","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"render_controllers":{"type":"object","propertyNames":{"pattern":"^controller\\.render\\.[a-z\\.]+","examples":["controller.render.example"]},"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/C_color","description":"The value of red, between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/C_color","description":"The value of green, between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/C_color","description":"The value of blue, between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/C_color","description":"The value of alpha, between 0 and 1","title":"A"}},"description":"UNDOCUMENTED: color","title":"Color"},"filter_lighting":{"type":"boolean","description":"UNDOCUMENTED: filter lighting","title":"Filter Lighting"},"geometry":{"type":"string","description":"UNDOCUMENTED: geometry","title":"Geometry"},"ignore_lighting":{"type":"boolean","description":"UNDOCUMENTED: ignore lighting","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/C_color","description":"The value of red, between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/C_color","description":"The value of green, between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/C_color","description":"The value of blue, between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/C_color","description":"The value of alpha, between 0 and 1","title":"A"}}},"light_color_multiplier":{"$ref":"#/definitions/B","description":"The amount of light that blends into what is being rendered, lower values gives darker rendering, (1 = 100%)","title":"Light Color Multiplier"},"materials":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":{"type":"string","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Material"},"description":"UNDOCUMENTED: materials","title":"Materials"},"description":"UNDOCUMENTED: materials","title":"Materials"},"on_fire_color":{"additionalProperties":false,"type":"object","properties":{"r":{"$ref":"#/definitions/C_color","description":"The value of red, must result in a float between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/C_color","description":"The value of green, must result in a float between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/C_color","description":"The value of blue, must result in a float between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/C_color","description":"The value of alpha, must result in a float between 0 and 1","title":"A"}},"description":"UNDOCUMENTED: on fire color","title":"On Fire Color"},"overlay_color":{"additionalProperties":false,"type":"object","description":"UNDOCUMENTED: overlay color","title":"Overlay Color","properties":{"r":{"$ref":"#/definitions/C_color","description":"The value of red, between 0 and 1","title":"R"},"g":{"$ref":"#/definitions/C_color","description":"The value of green, between 0 and 1","title":"G"},"b":{"$ref":"#/definitions/C_color","description":"The value of blue, between 0 and 1","title":"B"},"a":{"$ref":"#/definitions/C_color","description":"The value of alpha, between 0 and 1","title":"A"}}},"part_visibility":{"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"}]}},"description":"UNDOCUMENTED: part visibility","title":"Part Visibility"},"textures":{"type":"array","minItems":1,"items":{"type":"string","description":"UNDOCUMENTED: textures","title":"Textures"},"description":"UNDOCUMENTED: textures","title":"Textures"},"uv_anim":{"additionalProperties":false,"type":"object","required":["offset","scale"],"properties":{"offset":{"type":"array","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/B","description":"UNDOCUMENTED: offset","title":"Offset"},"description":"UNDOCUMENTED: offset","title":"Offset"},"scale":{"type":"array","description":"UNDOCUMENTED: scale","title":"Scale","minItems":2,"maxItems":2,"items":{"$ref":"#/definitions/B","description":"UNDOCUMENTED: scale","title":"Scale"}}},"description":"UNDOCUMENTED: uv anim","title":"Uv Anim"}}},"description":"UNDOCUMENTED: render controllers","title":"Render Controllers"}}},"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.0"]}}} \ No newline at end of file diff --git a/resource/sounds/sound_definitions.json b/resource/sounds/sound_definitions.json index 1c418146..85b50cf8 100644 --- a/resource/sounds/sound_definitions.json +++ b/resource/sounds/sound_definitions.json @@ -1 +1 @@ -{"$id":"blockception.minecraft.sound_definition","type":"object","additionalProperties":false,"title":"Sound File For ","description":"UNDOCUMENTED","$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":"UNDOCUMENTED"},"category":{"type":"string","title":"Sound Category","enum":["ambient","block","music","weather","ui","bucket","neutral","player","hostile","record","bottle"],"description":"UNDOCUMENTED: category"},"sounds":{"title":"Sounds","description":"UNDOCUMENTED: sounds","items":{"title":"Sounds","description":"UNDOCUMENTED: sounds","anyOf":[{"$id":"#/Sound/sounds/stringItem","type":"string","$ref":"#/definitions/SoundPath","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Sounds"},{"additionalProperties":false,"$id":"#/Sound/sounds/ObjectItem","type":"object","required":["name"],"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}},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Sounds"}]}},"max_distance":{"title":"Max Distance","description":"UNDOCUMENTED"}}},"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","enum":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.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 +{"$id":"blockception.minecraft.sound_definition","type":"object","additionalProperties":false,"title":"Sound File For ","description":"UNDOCUMENTED","$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":"UNDOCUMENTED"},"category":{"type":"string","title":"Sound Category","enum":["ambient","block","music","weather","ui","bucket","neutral","player","hostile","record","bottle"],"description":"UNDOCUMENTED: category"},"sounds":{"title":"Sounds","description":"UNDOCUMENTED: sounds","items":{"title":"Sounds","description":"UNDOCUMENTED: sounds","anyOf":[{"$id":"#/Sound/sounds/stringItem","type":"string","$ref":"#/definitions/SoundPath","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Sounds"},{"additionalProperties":false,"$id":"#/Sound/sounds/ObjectItem","type":"object","required":["name"],"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}},"description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","title":"Sounds"}]}},"max_distance":{"title":"Max Distance","description":"UNDOCUMENTED"}}},"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","examples":["1.17.40","1.17.30","1.17.0","1.16.0","1.15.0","1.14.0","1.13.0","1.12.0","1.10.0","1.8.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