From 73ac77711e69dd7c8551b3ceb393e0afa87d13a2 Mon Sep 17 00:00:00 2001 From: Blockception Bot Date: Mon, 5 Jul 2021 15:42:13 +0000 Subject: [PATCH] auto: Generated Json Schemas --- behavior/animation_controllers/animation_controller.json | 2 +- behavior/animations/animations.json | 2 +- behavior/blocks/blocks.json | 2 +- behavior/features/features.json | 2 +- behavior/items/items.json | 2 +- resource/animation_controllers/animation_controller.json | 2 +- resource/animations/actor_animation.json | 2 +- resource/entity/entity.json | 2 +- resource/models/entity/model_entity.json | 2 +- resource/particles/particles.json | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/behavior/animation_controllers/animation_controller.json b/behavior/animation_controllers/animation_controller.json index 58795190..291009d6 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.10.0","animation_controllers":{"controller.animation.example":{"initial_state":"default","states":{"default":{"transitions":[{"state_1":"query.is_baby"}]},"state_1":{}}}}}],"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 when to animate","maxProperties":1,"minProperties":1,"additionalProperties":{"$ref":"#/definitions/B"}}]},"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"}}},"A_commands":{"type":"string","description":"The event or commands to execute","title":"Commands","oneOf":[{"pattern":"^@s .+$","title":"Event"},{"pattern":"^/.+$","title":"Command"},{"pattern":"^.+;$","title":"Molang"}]},"B":{"type":"string","title":"Molang / String","description":"Molang definition","format":"molang","examples":["query.variant"]},"A":{"type":"object","title":"Animation Controller 1.8.0","description":"Animation controller for behaviors 1.8.0","required":["format_version","animation_controllers"],"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."},"animation_controllers":{"type":"object","title":"Animation Controllers Schema","description":"The animation controllers schema for 1.8.0","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 1.8.0","required":["states"],"minProperties":1,"properties":{"states":{"title":"States","description":"The states of this animation controller","propertyNames":{"pattern":"[a-z\\.]+"},"minProperties":1,"additionalProperties":{"additionalProperties":false,"title":"Animation State","description":"Animation state","type":"object","properties":{"animations":{"title":"Animations","description":"The animations definition for 1.8.0","type":"array","items":{"$ref":"#/definitions/A_animationspec","description":"The animation key to play, defined in the entity","title":"Animation"}},"on_entry":{"type":"array","description":"Events, commands or transitions to preform","title":"On Entry","items":{"$ref":"#/definitions/A_commands"}},"on_exit":{"type":"array","description":"Events, commands or transitions to preform","title":"On Exit","items":{"$ref":"#/definitions/A_commands"}},"transitions":{"title":"Transition","description":"The transition definition for 1.8.0","minProperties":1,"type":"array","items":{"title":"Transition","description":"A transition to another state","type":"object","examples":[{"default":"query.is_chested"}],"additionalProperties":{"$ref":"#/definitions/B"},"minProperties":1,"maxProperties":1}}}}},"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"]}}}}}},"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":{"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"}}},"C_commands":{"type":"string","title":"Commands","description":"The event or commands to execute","examples":["@s example:event"],"oneOf":[{"pattern":"^@s .+$","title":"Event"},{"pattern":"^/.+$","title":"Command"},{"pattern":"^.+;$","title":"Molang"}]},"C":{"type":"object","required":["format_version","animation_controllers"],"additionalProperties":false,"title":"Animation Controller 1.10.0","description":"Animation controller for minecraft behavior 1.10.0","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."},"animation_controllers":{"type":"object","title":"Animation Controllers","description":"The animation controllers schema for 1.10.0","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 1.10.0","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 1.10.0","type":"array","items":{"$ref":"#/definitions/C_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/C_commands"}},"on_exit":{"type":"array","description":"Events, commands or transitions to preform on exit of this state","title":"On Exit","items":{"$ref":"#/definitions/C_commands"}},"transitions":{"title":"Transition","description":"The transition definition for 1.10.0","minProperties":1,"type":"array","items":{"title":"Transitions","description":"A object specification on how to transition","type":"object","maxProperties":1,"minProperties":1,"additionalProperties":{"$ref":"#/definitions/B"}}}}}},"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"}}}}}},"D":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^(1)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ No newline at end of file +{"$id":"blockception.minecraft.behavior.animation_controller","examples":[{"format_version":"1.10.0","animation_controllers":{"controller.animation.example":{"initial_state":"default","states":{"default":{"transitions":[{"state_1":"query.is_baby"}]},"state_1":{}}}}}],"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 when to animate","maxProperties":1,"minProperties":1,"additionalProperties":{"$ref":"#/definitions/B"}}]},"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"}}},"A_commands":{"type":"string","description":"The event or commands to execute","title":"Commands","oneOf":[{"pattern":"^@s .+$","title":"Event"},{"pattern":"^/.+$","title":"Command"},{"pattern":"^.+;$","title":"Molang"}]},"B":{"type":"string","title":"Molang","description":"Molang definition","format":"molang","examples":["query.variant"]},"A":{"type":"object","title":"Animation Controller 1.8.0","description":"Animation controller for behaviors 1.8.0","required":["format_version","animation_controllers"],"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."},"animation_controllers":{"type":"object","title":"Animation Controllers Schema","description":"The animation controllers schema for 1.8.0","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 1.8.0","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 1.8.0","type":"array","items":{"$ref":"#/definitions/A_animationspec","description":"The animation key to play, defined in the entity","title":"Animation"}},"on_entry":{"type":"array","description":"Events, commands or transitions to preform","title":"On Entry","items":{"$ref":"#/definitions/A_commands"}},"on_exit":{"type":"array","description":"Events, commands or transitions to preform","title":"On Exit","items":{"$ref":"#/definitions/A_commands"}},"transitions":{"title":"Transition","description":"The transition definition for 1.8.0","minProperties":1,"type":"array","items":{"title":"Transition","description":"A transition to another state","type":"object","examples":[{"default":"query.is_chested"}],"additionalProperties":{"$ref":"#/definitions/B"},"minProperties":1,"maxProperties":1}}}}},"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"]}}}}}},"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":{"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"}}},"C_commands":{"type":"string","title":"Commands","description":"The event or commands to execute","examples":["@s example:event"],"oneOf":[{"pattern":"^@s .+$","title":"Event"},{"pattern":"^/.+$","title":"Command"},{"pattern":"^.+;$","title":"Molang"}]},"C":{"type":"object","required":["format_version","animation_controllers"],"additionalProperties":false,"title":"Animation Controller 1.10.0","description":"Animation controller for minecraft behavior 1.10.0","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."},"animation_controllers":{"type":"object","title":"Animation Controllers","description":"The animation controllers schema for 1.10.0","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 1.10.0","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 1.10.0","type":"array","items":{"$ref":"#/definitions/C_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/C_commands"}},"on_exit":{"type":"array","description":"Events, commands or transitions to preform on exit of this state","title":"On Exit","items":{"$ref":"#/definitions/C_commands"}},"transitions":{"title":"Transition","description":"The transition definition for 1.10.0","minProperties":1,"type":"array","items":{"title":"Transitions","description":"A object specification on how to transition","type":"object","maxProperties":1,"minProperties":1,"additionalProperties":{"$ref":"#/definitions/B"}}}}}},"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"}}}}}},"D":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^(1)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ No newline at end of file diff --git a/behavior/animations/animations.json b/behavior/animations/animations.json index ccebe07a..14451ded 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 / String","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)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ 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)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ No newline at end of file diff --git a/behavior/blocks/blocks.json b/behavior/blocks/blocks.json index 29adfdec..6e70562f 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"}},{"properties":{"format_version":{"$ref":"#/definitions/BCG"}}}],"definitions":{"B":{"type":"string","title":"Block Identifier","description":"A minecraft block identifier","pattern":"^[0-9a-zA-Z:_\\.\\-]+$","examples":["namespace:block"]},"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."},"I":{"additionalProperties":false,"type":"string","title":"Display Name 1.10.0","description":"Specifies the display name id for 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.","title":"Burn Odds"},"flame_odds":{"type":"integer","default":0,"description":"How likely the block will catch flame when next to a fire.","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 definition name to use.","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."},"DF":{"additionalProperties":false,"type":"string","title":"Display Name 1.16.100","description":"Specifies the display name id for 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.","title":"Burn Odds"},"flame_odds":{"type":"integer","default":0,"description":"How likely the block will catch flame when next to a fire.","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 definition name to use.","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 / String","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:destroy_time":{"$ref":"#/definitions/ID"},"minecraft:display_name":{"$ref":"#/definitions/IE"},"minecraft:entity_collision":{"$ref":"#/definitions/IF"},"minecraft:explosion_resistance":{"$ref":"#/definitions/IG"},"minecraft:flammable":{"$ref":"#/definitions/IH"},"minecraft:friction":{"$ref":"#/definitions/II"},"minecraft:geometry":{"$ref":"#/definitions/IJ"},"minecraft:immovable":{"$ref":"#/definitions/JA"},"minecraft:loot":{"$ref":"#/definitions/JB"},"minecraft:map_color":{"$ref":"#/definitions/JC"},"minecraft:material_instances":{"$ref":"#/definitions/JD"},"minecraft:onlypistonpush":{"$ref":"#/definitions/JE"},"minecraft:on_fall_on":{"$ref":"#/definitions/JF"},"minecraft:on_interact":{"$ref":"#/definitions/JG"},"minecraft:on_placed":{"$ref":"#/definitions/JH"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/JI"},"minecraft:on_player_placing":{"$ref":"#/definitions/JJ"},"minecraft:on_step_off":{"$ref":"#/definitions/BAA"},"minecraft:on_step_on":{"$ref":"#/definitions/BAB"},"minecraft:pick_collision":{"$ref":"#/definitions/BAC"},"minecraft:placement_filter":{"$ref":"#/definitions/BAD"},"minecraft:preventsjumping":{"$ref":"#/definitions/BAE"},"minecraft:random_ticking":{"$ref":"#/definitions/BAF"},"minecraft:rotation":{"$ref":"#/definitions/BAG"},"minecraft:ticking":{"$ref":"#/definitions/BAH"},"minecraft:unit_cube":{"$ref":"#/definitions/BAI"},"minecraft:unwalkable":{"$ref":"#/definitions/BAJ"}}},"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":"number","title":"Destroy Time 1.16.200","description":"Sets the destroy time property for the block. Greater numbers result in greater mining times."},"IE":{"additionalProperties":false,"type":"string","title":"Display Name 1.16.200","description":"Specifies the display name id for the block."},"IF":{"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"}]}}}]},"IG":{"additionalProperties":false,"type":"number","title":"Explosion Resistance 1.16.200","description":"Sets the explosion resistance for this block.","default":0.0},"IH":{"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.","title":"Burn Odds"},"flame_odds":{"type":"integer","default":0,"description":"How likely the block will catch flame when next to a fire.","title":"Flame Odds"}}},"II":{"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},"IJ":{"additionalProperties":false,"type":"string","title":"Geometry 1.16.200","description":"The geometry definition name to use.","pattern":"^geometry\\.[a-zA-Z0-9_\\-\\.]+$"},"JA":{"additionalProperties":false,"type":"boolean","title":"Immovable 1.16.200","description":"An Immovable block cannot be pushed by pistons"},"JB":{"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$"},"JC":{"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"},"JD_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"}}},"JD":{"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/JD_material_instance"}},"additionalProperties":{"$ref":"#/definitions/JD_material_instance"}},"JE":{"type":"boolean","title":"Only Piston Push 1.16.200","description":"Blocks with those components won't stick to stickyPistons"},"JF":{"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"}}},"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"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"JH":{"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"}}},"JI":{"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"}}},"JJ":{"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"}}},"BAA":{"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"}}},"BAB":{"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"}}},"BAC":{"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"}]}}}]},"BAD":{"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"}}}}}}},"BAE":{"title":"Prevents Jumping 1.16.200","description":"This component makes it so actors can't jump when walking on this block","type":"boolean"},"BAF":{"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"}}},"BAG":{"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"}]},"BAH":{"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"]}}}},"BAI":{"title":"Unit Cube 1.16.200","description":"Specifies that a unit cube is to be used with tessellation.","type":"string"},"BAJ":{"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"},"BBA_event_base":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"$ref":"#/definitions/BBA_event_functions","properties":{"sequence":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/BBA_event_functions"}},"randomize":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/BBA_event_functions","required":["weight"],"properties":{"weight":{"title":"Weight","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}}},"add_mob_effect":{"$ref":"#/definitions/BBB"},"damage":{"$ref":"#/definitions/BBC"},"decrement_stack":{"$ref":"#/definitions/BBD"},"die":{"$ref":"#/definitions/BBE"},"play_effect":{"$ref":"#/definitions/BBF"},"play_sound":{"$ref":"#/definitions/BBG"},"remove_mob_effect":{"$ref":"#/definitions/BBH"},"run_command":{"$ref":"#/definitions/BBI"},"set_block":{"$ref":"#/definitions/BBJ"},"set_block_at_pos":{"$ref":"#/definitions/BCA"},"set_block_property":{"$ref":"#/definitions/BCB"},"spawn_loot":{"$ref":"#/definitions/BCC"},"swing":{"$ref":"#/definitions/BCD"},"teleport":{"$ref":"#/definitions/BCE"},"transform_item":{"$ref":"#/definitions/BCF"}}},"BBA_event_functions":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":true,"properties":{"add_mob_effect":{"$ref":"#/definitions/BBB"},"damage":{"$ref":"#/definitions/BBC"},"decrement_stack":{"$ref":"#/definitions/BBD"},"die":{"$ref":"#/definitions/BBE"},"play_effect":{"$ref":"#/definitions/BBF"},"play_sound":{"$ref":"#/definitions/BBG"},"remove_mob_effect":{"$ref":"#/definitions/BBH"},"run_command":{"$ref":"#/definitions/BBI"},"set_block":{"$ref":"#/definitions/BBJ"},"set_block_at_pos":{"$ref":"#/definitions/BCA"},"set_block_property":{"$ref":"#/definitions/BCB"},"spawn_loot":{"$ref":"#/definitions/BCC"},"swing":{"$ref":"#/definitions/BCD"},"teleport":{"$ref":"#/definitions/BCE"},"transform_item":{"$ref":"#/definitions/BCF"}}},"BBB":{"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"}}},"BBC":{"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"}}},"BBD":{"type":"object","description":"Decrement item stack.","title":"Decrement Stack 1.16.200","additionalProperties":false,"properties":{}},"BBE":{"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"}}},"BBF":{"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"}}},"BBG":{"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"}}},"BBH":{"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"}}},"BBI":{"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"}}},"BBJ":{"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"}}},"BCA":{"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"}}},"BCB":{"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"}}},"BCC":{"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"}}},"BCD":{"type":"object","description":"Event causes the actor to swing.","title":"Swing 1.16.200","additionalProperties":false,"properties":{}},"BCE":{"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"}}},"BCF":{"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"}}},"BBA":{"title":"Events","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","properties":{"minecraft:on_interact":{"$ref":"#/definitions/BBA_event_base"},"minecraft:on_step_on":{"$ref":"#/definitions/BBA_event_base"},"minecraft:on_step_off":{"$ref":"#/definitions/BBA_event_base"},"minecraft:on_fall_on":{"$ref":"#/definitions/BBA_event_base"},"minecraft:on_placed":{"$ref":"#/definitions/BBA_event_base"},"minecraft:on_player_placing":{"$ref":"#/definitions/BBA_event_base"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/BBA_event_base"},"minecraft:ticking":{"$ref":"#/definitions/BBA_event_base"},"minecraft:random_ticking":{"$ref":"#/definitions/BBA_event_base"}},"additionalProperties":{"$ref":"#/definitions/BBA_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/BBA"},"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"}}}}}}}},"BCG":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^(1)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ 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"}},{"properties":{"format_version":{"$ref":"#/definitions/BCG"}}}],"definitions":{"B":{"type":"string","title":"Block Identifier","description":"A minecraft block identifier","pattern":"^[0-9a-zA-Z:_\\.\\-]+$","examples":["namespace:block"]},"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."},"I":{"additionalProperties":false,"type":"string","title":"Display Name 1.10.0","description":"Specifies the display name id for 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.","title":"Burn Odds"},"flame_odds":{"type":"integer","default":0,"description":"How likely the block will catch flame when next to a fire.","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 definition name to use.","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."},"DF":{"additionalProperties":false,"type":"string","title":"Display Name 1.16.100","description":"Specifies the display name id for 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.","title":"Burn Odds"},"flame_odds":{"type":"integer","default":0,"description":"How likely the block will catch flame when next to a fire.","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 definition name to use.","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:destroy_time":{"$ref":"#/definitions/ID"},"minecraft:display_name":{"$ref":"#/definitions/IE"},"minecraft:entity_collision":{"$ref":"#/definitions/IF"},"minecraft:explosion_resistance":{"$ref":"#/definitions/IG"},"minecraft:flammable":{"$ref":"#/definitions/IH"},"minecraft:friction":{"$ref":"#/definitions/II"},"minecraft:geometry":{"$ref":"#/definitions/IJ"},"minecraft:immovable":{"$ref":"#/definitions/JA"},"minecraft:loot":{"$ref":"#/definitions/JB"},"minecraft:map_color":{"$ref":"#/definitions/JC"},"minecraft:material_instances":{"$ref":"#/definitions/JD"},"minecraft:onlypistonpush":{"$ref":"#/definitions/JE"},"minecraft:on_fall_on":{"$ref":"#/definitions/JF"},"minecraft:on_interact":{"$ref":"#/definitions/JG"},"minecraft:on_placed":{"$ref":"#/definitions/JH"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/JI"},"minecraft:on_player_placing":{"$ref":"#/definitions/JJ"},"minecraft:on_step_off":{"$ref":"#/definitions/BAA"},"minecraft:on_step_on":{"$ref":"#/definitions/BAB"},"minecraft:pick_collision":{"$ref":"#/definitions/BAC"},"minecraft:placement_filter":{"$ref":"#/definitions/BAD"},"minecraft:preventsjumping":{"$ref":"#/definitions/BAE"},"minecraft:random_ticking":{"$ref":"#/definitions/BAF"},"minecraft:rotation":{"$ref":"#/definitions/BAG"},"minecraft:ticking":{"$ref":"#/definitions/BAH"},"minecraft:unit_cube":{"$ref":"#/definitions/BAI"},"minecraft:unwalkable":{"$ref":"#/definitions/BAJ"}}},"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":"number","title":"Destroy Time 1.16.200","description":"Sets the destroy time property for the block. Greater numbers result in greater mining times."},"IE":{"additionalProperties":false,"type":"string","title":"Display Name 1.16.200","description":"Specifies the display name id for the block."},"IF":{"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"}]}}}]},"IG":{"additionalProperties":false,"type":"number","title":"Explosion Resistance 1.16.200","description":"Sets the explosion resistance for this block.","default":0.0},"IH":{"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.","title":"Burn Odds"},"flame_odds":{"type":"integer","default":0,"description":"How likely the block will catch flame when next to a fire.","title":"Flame Odds"}}},"II":{"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},"IJ":{"additionalProperties":false,"type":"string","title":"Geometry 1.16.200","description":"The geometry definition name to use.","pattern":"^geometry\\.[a-zA-Z0-9_\\-\\.]+$"},"JA":{"additionalProperties":false,"type":"boolean","title":"Immovable 1.16.200","description":"An Immovable block cannot be pushed by pistons"},"JB":{"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$"},"JC":{"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"},"JD_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"}}},"JD":{"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/JD_material_instance"}},"additionalProperties":{"$ref":"#/definitions/JD_material_instance"}},"JE":{"type":"boolean","title":"Only Piston Push 1.16.200","description":"Blocks with those components won't stick to stickyPistons"},"JF":{"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"}}},"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"},"target":{"type":"string","default":"self","description":"The target of event executed on the block.","title":"Target"}}},"JH":{"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"}}},"JI":{"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"}}},"JJ":{"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"}}},"BAA":{"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"}}},"BAB":{"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"}}},"BAC":{"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"}]}}}]},"BAD":{"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"}}}}}}},"BAE":{"title":"Prevents Jumping 1.16.200","description":"This component makes it so actors can't jump when walking on this block","type":"boolean"},"BAF":{"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"}}},"BAG":{"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"}]},"BAH":{"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"]}}}},"BAI":{"title":"Unit Cube 1.16.200","description":"Specifies that a unit cube is to be used with tessellation.","type":"string"},"BAJ":{"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"},"BBA_event_base":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":false,"$ref":"#/definitions/BBA_event_functions","properties":{"sequence":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Sequence","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/BBA_event_functions"}},"randomize":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"title":"Randomize","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","$ref":"#/definitions/BBA_event_functions","required":["weight"],"properties":{"weight":{"title":"Weight","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"integer","minimum":0}}}},"add_mob_effect":{"$ref":"#/definitions/BBB"},"damage":{"$ref":"#/definitions/BBC"},"decrement_stack":{"$ref":"#/definitions/BBD"},"die":{"$ref":"#/definitions/BBE"},"play_effect":{"$ref":"#/definitions/BBF"},"play_sound":{"$ref":"#/definitions/BBG"},"remove_mob_effect":{"$ref":"#/definitions/BBH"},"run_command":{"$ref":"#/definitions/BBI"},"set_block":{"$ref":"#/definitions/BBJ"},"set_block_at_pos":{"$ref":"#/definitions/BCA"},"set_block_property":{"$ref":"#/definitions/BCB"},"spawn_loot":{"$ref":"#/definitions/BCC"},"swing":{"$ref":"#/definitions/BCD"},"teleport":{"$ref":"#/definitions/BCE"},"transform_item":{"$ref":"#/definitions/BCF"}}},"BBA_event_functions":{"title":"Event","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","additionalProperties":true,"properties":{"add_mob_effect":{"$ref":"#/definitions/BBB"},"damage":{"$ref":"#/definitions/BBC"},"decrement_stack":{"$ref":"#/definitions/BBD"},"die":{"$ref":"#/definitions/BBE"},"play_effect":{"$ref":"#/definitions/BBF"},"play_sound":{"$ref":"#/definitions/BBG"},"remove_mob_effect":{"$ref":"#/definitions/BBH"},"run_command":{"$ref":"#/definitions/BBI"},"set_block":{"$ref":"#/definitions/BBJ"},"set_block_at_pos":{"$ref":"#/definitions/BCA"},"set_block_property":{"$ref":"#/definitions/BCB"},"spawn_loot":{"$ref":"#/definitions/BCC"},"swing":{"$ref":"#/definitions/BCD"},"teleport":{"$ref":"#/definitions/BCE"},"transform_item":{"$ref":"#/definitions/BCF"}}},"BBB":{"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"}}},"BBC":{"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"}}},"BBD":{"type":"object","description":"Decrement item stack.","title":"Decrement Stack 1.16.200","additionalProperties":false,"properties":{}},"BBE":{"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"}}},"BBF":{"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"}}},"BBG":{"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"}}},"BBH":{"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"}}},"BBI":{"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"}}},"BBJ":{"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"}}},"BCA":{"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"}}},"BCB":{"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"}}},"BCC":{"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"}}},"BCD":{"type":"object","description":"Event causes the actor to swing.","title":"Swing 1.16.200","additionalProperties":false,"properties":{}},"BCE":{"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"}}},"BCF":{"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"}}},"BBA":{"title":"Events","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"object","properties":{"minecraft:on_interact":{"$ref":"#/definitions/BBA_event_base"},"minecraft:on_step_on":{"$ref":"#/definitions/BBA_event_base"},"minecraft:on_step_off":{"$ref":"#/definitions/BBA_event_base"},"minecraft:on_fall_on":{"$ref":"#/definitions/BBA_event_base"},"minecraft:on_placed":{"$ref":"#/definitions/BBA_event_base"},"minecraft:on_player_placing":{"$ref":"#/definitions/BBA_event_base"},"minecraft:on_player_destroyed":{"$ref":"#/definitions/BBA_event_base"},"minecraft:ticking":{"$ref":"#/definitions/BBA_event_base"},"minecraft:random_ticking":{"$ref":"#/definitions/BBA_event_base"}},"additionalProperties":{"$ref":"#/definitions/BBA_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/BBA"},"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"}}}}}}}},"BCG":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^(1)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ No newline at end of file diff --git a/behavior/features/features.json b/behavior/features/features.json index 6e71906c..91329b93 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":{"type":"string","title":"Feature Identifier","description":"A minecraft feature identifier","examples":["namespace:feature"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$"},"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":{"type":"string","title":"Block Identifier","description":"A minecraft block identifier","pattern":"^[0-9a-zA-Z:_\\.\\-]+$","examples":["namespace:block"]},"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 / String","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)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ 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":{"type":"string","title":"Feature Identifier","description":"A minecraft feature identifier","examples":["namespace:feature"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$"},"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":{"type":"string","title":"Block Identifier","description":"A minecraft block identifier","pattern":"^[0-9a-zA-Z:_\\.\\-]+$","examples":["namespace:block"]},"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)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ No newline at end of file diff --git a/behavior/items/items.json b/behavior/items/items.json index 3c323c9a..f66e3612 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":{"type":"string","title":"Item Identifier","description":"A minecraft item identifier","pattern":"^[0-9a-zA-Z:_\\-\\.]+$"},"C":{"type":"array","title":"Array Of 3 Items","description":"An array of 3 numbers","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 / String","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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: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 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"}}},"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":"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/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":"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"}}}}]}}}}}},"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":["brown","white","black","blue","cyan","gray","green","lightblue","silver","lime","magenta","pink","purple","red","yellow"]}}},"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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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.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"]}}},"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: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)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ 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":{"type":"string","title":"Item Identifier","description":"A minecraft item identifier","pattern":"^[0-9a-zA-Z:_\\-\\.]+$"},"C":{"type":"array","title":"Array Of 3 Items","description":"An array of 3 numbers","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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: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 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"}}},"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":"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/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":"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"}}}}]}}}}}},"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":["brown","white","black","blue","cyan","gray","green","lightblue","silver","lime","magenta","pink","purple","red","yellow"]}}},"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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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":"UNDOCUMENTED","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED"},"target":{"type":"string","title":"UNDOCUMENTED","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.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"]}}},"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: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)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ No newline at end of file diff --git a/resource/animation_controllers/animation_controller.json b/resource/animation_controllers/animation_controller.json index 031d249c..a6442adb 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":"1.10.0","animation_controllers":{"controller.animation.example":{"states":{"default":{"transitions":[{"state_1":"query.is_baby"}]},"state_1":{"animations":["state_1"],"transitions":[{"default":"query.all_animations_finished"}]}}}}}],"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/D"}},{"properties":{"format_version":{"$ref":"#/definitions/E"}}}],"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":{"oneOf":[{"type":"string","$ref":"#/definitions/B"},{"type":"number","description":"A blend weight"}]}}]},"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","pattern":"^.+;$"}}},"A_commands":{"type":"string","description":"The event or commands to execute","pattern":"^(@s .+|/.+)$"},"B":{"type":"string","title":"Molang / String","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"]},"A":{"type":"object","title":"Animation Controller 1.8.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["format_version","animation_controllers"],"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."},"animation_controllers":{"type":"object","title":"Animation Controllers Schema","description":"The animation controllers schema for 1.8.0","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 1.8.0","required":["states"],"minProperties":1,"properties":{"states":{"title":"States","description":"The states of this animation controller","propertyNames":{"pattern":"[a-z\\.]+"},"minProperties":1,"additionalProperties":{"additionalProperties":false,"title":"Animation State","description":"Animation state","type":"object","properties":{"animations":{"title":"Animations","description":"The animations definition for 1.10.0","type":"array","items":{"$ref":"#/definitions/A_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/A_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 1.8.0","minProperties":1,"type":"array","items":{"$ref":"#/definitions/A_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":{"additionalProperties":{"type":"number"}}}}},"on_entry":{"title":"On Entry","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"pattern":"^.+;$","title":"Molang","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}},"on_exit":{"title":"On Exit","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"pattern":"^.+;$","title":"Molang","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}}}},"initial_state":{"type":"string","description":"UNDOCUMENTED: initial state","title":"Initial State"}}}}}},"D_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/B"},{"type":"number","description":"A blend weight"}]}}]},"D_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":"^.+;$"}}},"D_commands":{"type":"string","description":"The event or commands to execute","pattern":"^(@s .+|/.+)$"},"D":{"type":"object","title":"Animation Controller 1.10.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["format_version","animation_controllers"],"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."},"animation_controllers":{"type":"object","title":"Animation Controllers Schema","description":"The animation controllers schema for 1.10.0","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 1.10.0","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,"additionalProperties":{"additionalProperties":false,"title":"Animation State","description":"Animation state","type":"object","properties":{"animations":{"title":"Animations","description":"The animations definition for 1.10.0","type":"array","items":{"$ref":"#/definitions/D_animationspec","title":"Animations"}},"blend_transition":{"title":"Blend Transition","description":"when transitioning away from this state, cross-fade over","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/D_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 1.10.0","minProperties":1,"type":"array","examples":[[{"some_state":"query.is_sheared"}]],"items":{"$ref":"#/definitions/D_animationspec","description":"UNDOCUMENTED: transitions","title":"Transitions","examples":[{"some_state":"query.is_sheared"}]}},"variables":{"type":"object","additionalProperties":{"additionalProperties":false,"type":"object","required":["input"],"properties":{"input":{"title":"Input","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/C"},"remap_curve":{"title":"Remap Curve","additionalProperties":{"propertyNames":{"pattern":"^([\\-\\+0-9]+|[\\-\\+0-9]+.[0-9]+)$"},"type":"number"}}}}},"on_entry":{"title":"On Entry","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"pattern":"^.+=.+;$","title":"Molang","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}},"on_exit":{"title":"On Exit","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"pattern":"^.+=.+;$","title":"Molang","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}}}},"initial_state":{"type":"string","description":"UNDOCUMENTED: initial state","title":"Initial State"}}}}}},"E":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^(1)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ No newline at end of file +{"$id":"blockception.minecraft.resource.animation_controller","examples":[{"format_version":"1.10.0","animation_controllers":{"controller.animation.example":{"states":{"default":{"transitions":[{"state_1":"query.is_baby"}]},"state_1":{"animations":["state_1"],"transitions":[{"default":"query.all_animations_finished"}]}}}}}],"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/D"}},{"properties":{"format_version":{"$ref":"#/definitions/E"}}}],"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":{"oneOf":[{"type":"string","$ref":"#/definitions/B"},{"type":"number","description":"A blend weight"}]}}]},"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","pattern":"^.+;$"}}},"A_commands":{"type":"string","description":"The event or commands to execute","pattern":"^(@s .+|/.+)$"},"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"]},"A":{"type":"object","title":"Animation Controller 1.8.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["format_version","animation_controllers"],"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."},"animation_controllers":{"type":"object","title":"Animation Controllers Schema","description":"The animation controllers schema for 1.8.0","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 1.8.0","required":["states"],"minProperties":1,"properties":{"states":{"title":"States","description":"The states of this animation controller","propertyNames":{"pattern":"[a-z\\.]+"},"minProperties":1,"additionalProperties":{"additionalProperties":false,"title":"Animation State","description":"Animation state","type":"object","properties":{"animations":{"title":"Animations","description":"The animations definition for 1.10.0","type":"array","items":{"$ref":"#/definitions/A_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/A_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 1.8.0","minProperties":1,"type":"array","items":{"$ref":"#/definitions/A_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":{"additionalProperties":{"type":"number"}}}}},"on_entry":{"title":"On Entry","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"pattern":"^.+;$","title":"Molang","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}},"on_exit":{"title":"On Exit","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"pattern":"^.+;$","title":"Molang","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}}}},"initial_state":{"type":"string","description":"UNDOCUMENTED: initial state","title":"Initial State"}}}}}},"D_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/B"},{"type":"number","description":"A blend weight"}]}}]},"D_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":"^.+;$"}}},"D_commands":{"type":"string","description":"The event or commands to execute","pattern":"^(@s .+|/.+)$"},"D":{"type":"object","title":"Animation Controller 1.10.0","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","required":["format_version","animation_controllers"],"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."},"animation_controllers":{"type":"object","title":"Animation Controllers Schema","description":"The animation controllers schema for 1.10.0","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 1.10.0","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,"additionalProperties":{"additionalProperties":false,"title":"Animation State","description":"Animation state","type":"object","properties":{"animations":{"title":"Animations","description":"The animations definition for 1.10.0","type":"array","items":{"$ref":"#/definitions/D_animationspec","title":"Animations"}},"blend_transition":{"title":"Blend Transition","description":"when transitioning away from this state, cross-fade over","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/D_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 1.10.0","minProperties":1,"type":"array","examples":[[{"some_state":"query.is_sheared"}]],"items":{"$ref":"#/definitions/D_animationspec","description":"UNDOCUMENTED: transitions","title":"Transitions","examples":[{"some_state":"query.is_sheared"}]}},"variables":{"type":"object","additionalProperties":{"additionalProperties":false,"type":"object","required":["input"],"properties":{"input":{"title":"Input","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","$ref":"#/definitions/C"},"remap_curve":{"title":"Remap Curve","additionalProperties":{"propertyNames":{"pattern":"^([\\-\\+0-9]+|[\\-\\+0-9]+.[0-9]+)$"},"type":"number"}}}}},"on_entry":{"title":"On Entry","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"pattern":"^.+=.+;$","title":"Molang","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}},"on_exit":{"title":"On Exit","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"array","items":{"pattern":"^.+=.+;$","title":"Molang","description":"UNDOCUMENTED","$comment":"UNDOCUMENTED","type":"string"}}}}},"initial_state":{"type":"string","description":"UNDOCUMENTED: initial state","title":"Initial State"}}}}}},"E":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^(1)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ No newline at end of file diff --git a/resource/animations/actor_animation.json b/resource/animations/actor_animation.json index 36b77c32..ff714e68 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 / String","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)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ 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)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ No newline at end of file diff --git a/resource/entity/entity.json b/resource/entity/entity.json index 688accf8..57598300 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":{"type":"string","title":"Entity Identifier 1.8.0","description":"A minecraft entity identifier","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$"},"C":{"type":"string","title":"Molang / String","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,"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":[{"basic":"controller.generic.basic"}]}},"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"}},"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"},"overlay_color":{"type":"string","description":"The colors of the dots on the egg","title":"Overlay Color","format":"color-hex"},"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,"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":[{"basic":"controller.generic.basic"}]}},"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"}},"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"},"overlay_color":{"type":"string","description":"The colors of the dots on the egg","title":"Overlay Color","format":"color-hex"},"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)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ 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":{"type":"string","title":"Entity Identifier 1.8.0","description":"A minecraft entity identifier","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$"},"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,"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":[{"basic":"controller.generic.basic"}]}},"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"}},"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"},"overlay_color":{"type":"string","description":"The colors of the dots on the egg","title":"Overlay Color","format":"color-hex"},"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,"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":[{"basic":"controller.generic.basic"}]}},"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"}},"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"},"overlay_color":{"type":"string","description":"The colors of the dots on the egg","title":"Overlay Color","format":"color-hex"},"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)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ No newline at end of file diff --git a/resource/models/entity/model_entity.json b/resource/models/entity/model_entity.json index 16074cd1..288f7f9c 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 / String","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)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ 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)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ No newline at end of file diff --git a/resource/particles/particles.json b/resource/particles/particles.json index 8c9b616d..abdf7069 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":{"type":"string","title":"Particle Identifier","description":"The minecraft particle identifier","examples":["namespace:particle_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$"},"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 / String","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"}},{"description":"An object of colors","type":"object","propertyNames":{"pattern":"(^[\\-0-9]+$|^[\\-0-9]+\\.[\\-0-9]+$)"},"additionalProperties":{"type":"string","description":"Color","format":"color-hex"}},{"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":{"type":"string","title":"Block Identifier","description":"A minecraft block identifier","pattern":"^[0-9a-zA-Z:_\\.\\-]+$","examples":["namespace:block"]},"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)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ 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":{"type":"string","title":"Particle Identifier","description":"The minecraft particle identifier","examples":["namespace:particle_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$"},"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"}},{"description":"An object of colors","type":"object","propertyNames":{"pattern":"(^[\\-0-9]+$|^[\\-0-9]+\\.[\\-0-9]+$)"},"additionalProperties":{"type":"string","description":"Color","format":"color-hex"}},{"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":{"type":"string","title":"Block Identifier","description":"A minecraft block identifier","pattern":"^[0-9a-zA-Z:_\\.\\-]+$","examples":["namespace:block"]},"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)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}} \ No newline at end of file