diff --git a/resource/animation_controllers/animation_controller.json b/resource/animation_controllers/animation_controller.json index a6308552..bbc60525 100644 --- a/resource/animation_controllers/animation_controller.json +++ b/resource/animation_controllers/animation_controller.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.animation_controller","examples":[{"format_version":"1.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":{"$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","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"},"C":{"title":"Molang Number","description":"The minecraft molang definition that results in a float","anyOf":[{"type":"string","minLength":0,"format":"molang"},{"type":"number"}]},"A":{"type":"object","title":"Resourcepack Animation Controller 1.8.0","description":"TODO description","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","description":"TODO description: animations","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":"TODO description: 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":"TODO description: transitions","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":"UNDOCUMENTATED","type":"array","items":{"pattern":"^.+;$","title":"Molang","description":"UNDOCUMENTATED","type":"string"}},"on_exit":{"title":"On Exit","description":"UNDOCUMENTATED","type":"array","items":{"pattern":"^.+;$","title":"Molang","description":"UNDOCUMENTATED","type":"string"}}}}},"initial_state":{"type":"string","description":"TODO description: 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":{"$ref":"#/definitions/B"}}]},"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":"Resourcepack Animation Controller 1.10.0","description":"TODO description","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","description":"TODO description: animations","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":"TODO description: 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":"TODO description: transitions","title":"Transitions","examples":[{"some_state":"query.is_sheared"}]}},"variables":{"type":"object","additionalProperties":{"additionalProperties":false,"type":"object","required":["input"],"properties":{"input":{"title":"Input","description":"","$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":"UNDOCUMENTATED","type":"array","items":{"pattern":"^.+=.+;$","title":"Molang","description":"UNDOCUMENTATED","type":"string"}},"on_exit":{"title":"On Exit","description":"UNDOCUMENTATED","type":"array","items":{"pattern":"^.+=.+;$","title":"Molang","description":"UNDOCUMENTATED","type":"string"}}}}},"initial_state":{"type":"string","description":"TODO description: 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 +{"$schema":"http://json-schema.org/draft-07/schema","$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"},"C":{"title":"Molang Number","description":"The minecraft molang definition that results in a float","anyOf":[{"type":"string","minLength":0,"format":"molang"},{"type":"number"}]},"A":{"type":"object","title":"Resourcepack Animation Controller 1.8.0","description":"TODO description","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":"TODO description: 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":"UNDOCUMENTATED","type":"array","items":{"pattern":"^.+;$","title":"Molang","description":"UNDOCUMENTATED","type":"string"}},"on_exit":{"title":"On Exit","description":"UNDOCUMENTATED","type":"array","items":{"pattern":"^.+;$","title":"Molang","description":"UNDOCUMENTATED","type":"string"}}}}},"initial_state":{"type":"string","description":"TODO description: 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":"Resourcepack Animation Controller 1.10.0","description":"TODO description","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":"TODO description: 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":"TODO description: transitions","title":"Transitions","examples":[{"some_state":"query.is_sheared"}]}},"variables":{"type":"object","additionalProperties":{"additionalProperties":false,"type":"object","required":["input"],"properties":{"input":{"title":"Input","description":"","$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":"UNDOCUMENTATED","type":"array","items":{"pattern":"^.+=.+;$","title":"Molang","description":"UNDOCUMENTATED","type":"string"}},"on_exit":{"title":"On Exit","description":"UNDOCUMENTATED","type":"array","items":{"pattern":"^.+=.+;$","title":"Molang","description":"UNDOCUMENTATED","type":"string"}}}}},"initial_state":{"type":"string","description":"TODO description: 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/entity/entity.json b/resource/entity/entity.json index 4caa8642..627683eb 100644 --- a/resource/entity/entity.json +++ b/resource/entity/entity.json @@ -1 +1 @@ -{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.resource.entity","examples":[{"format_version":"1.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/G"}}}],"definitions":{"B":{"type":"string","title":"Entity Identifier 1.8.0","description":"The minecraft entity identifier","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$"},"C":{"type":"string","title":"Molang / String","description":"Molang definition","format":"molang"},"D":{"title":"Molang Number","description":"The minecraft molang definition that results in a float","anyOf":[{"type":"string","minLength":0,"format":"molang"},{"type":"number"}]},"A":{"type":"object","title":"Resourcepack Actor Animation 1.8.0","description":"TODO description","additionalProperties":false,"required":["format_version","minecraft:client_entity"],"properties":{"format_version":{"title":"1.8.0 Format Version","type":"string","pattern":"^1.8.0$","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:client_entity":{"type":"object","additionalProperties":false,"title":"Client Entity","description":"The entity description for clientside rendering, animations and models","properties":{"description":{"additionalProperties":false,"title":"Description","description":"TODO description: description","type":"object","required":["identifier"],"properties":{"animations":{"description":"The connecting of animations in animations controllers with the actuall animations, names should corosponds","title":"Animations Schema","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"}},"animation_controllers":{"type":"array","minItems":1,"description":"TODO description: animation controllers","title":"Animation Controllers","items":{"type":"object","additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"},"description":"TODO description: animation controllers","title":"Animation Controllers"}},"enable_attachables":{"type":"boolean","description":"TODO description: enable attachables","title":"Enable Attachables"},"geometry":{"title":"Geometry","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"},"description":"TODO description: geometry"},"identifier":{"type":"string","description":"TODO description: identifier","title":"Identifier","$ref":"#/definitions/B"},"materials":{"type":"object","description":"TODO description: materials","title":"Materials","additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"}},"min_engine_version":{"type":"string","pattern":"[0-9]+\\.[0-9]+\\.[0-9]+","description":"TODO description: min engine version","title":"Min Engine Version"},"particle_effects":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"},"description":"TODO description: particle effects","title":"Particle Effects"},"particle_emitters":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"},"description":"TODO description: particle emitters","title":"Particle Emitters"},"render_controllers":{"type":"array","description":"TODO description: render controllers","title":"Render Controllers","minItems":1,"items":{"type":"string","description":"TODO description: render controllers","title":"Render Controllers"}},"sound_effects":{"title":"Sound Effects","description":"TODO description: sound effects","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"}},"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}}},"scripts":{"additionalProperties":false,"type":"object","description":"TODO description: scripts","title":"Scripts","properties":{"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":{"$ref":"#/definitions/D"},"scale":{"type":"string","description":"TODO description: scale","title":"Scale"},"scalex":{"$ref":"#/definitions/D","title":"Scale X"},"scaley":{"$ref":"#/definitions/D","title":"Scale Y"},"scalez":{"$ref":"#/definitions/D","title":"Scale Z"}}},"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":{"type":"string","title":"Item Identifier 1.8.0","description":"The minecraft item identifier","pattern":"^[0-9a-zA-Z:_\\-\\.]+$"},"E":{"type":"object","title":"Resourcepack Actor Animation 1.10.0","description":"TODO description","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","title":"Client Entity","description":"The client entity definition","required":["description"],"properties":{"description":{"title":"Description","type":"object","required":["identifier"],"description":"The entity description for clientside rendering, animations and models","additionalProperties":false,"properties":{"animations":{"title":"Animations","description":"The collection of animations and animations controllers","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"A reference to an animation or animation controller","title":"Animation Reference","examples":[{"basic":"controller.generic.basic"}]}},"enable_attachables":{"type":"boolean","description":"TODO description: 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/F"},"materials":{"type":"object","additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"},"description":"TODO description: materials","title":"Materials"},"min_engine_version":{"type":"string","pattern":"[0-9]+\\.[0-9]+\\.[0-9]+","description":"TODO description: min engine version","title":"Min Engine Version"},"particle_effects":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"},"description":"TODO description: particle effects","title":"Particle Effects"},"particle_emitters":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"},"description":"TODO description: particle emitters","title":"Particle Emitters"},"render_controllers":{"type":"array","description":"TODO description: render controllers","title":"Render Controllers","minItems":1,"items":{"oneOf":[{"type":"string"},{"type":"object","additionalProperties":{"type":"string","description":"A render controller","title":"Render Controller"}}]}},"scripts":{"additionalProperties":false,"type":"object","title":"Scripts","description":"TODO","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":{"type":"string","description":"A molang condition","title":"Molang"}}]}},"initialize":{"type":"array","description":"Clientside molang variables that are to be evualated during the creation of the entity","title":"Initialize","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":"TODO description: parent setup","title":"Parent Setup","$ref":"#/definitions/D"},"scale":{"type":"string","description":"TODO description: scale","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":"TODO description: sound effects","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"TODO description: additionalProperties","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"}}}},"additionalProperties":false}},"additionalProperties":false},"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 +{"$schema":"http://json-schema.org/draft-07/schema","$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/G"}}}],"definitions":{"B":{"type":"string","title":"Entity Identifier 1.8.0","description":"The minecraft entity identifier","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$"},"C":{"type":"string","title":"Molang / String","description":"Molang definition","format":"molang"},"D":{"title":"Molang Number","description":"The minecraft molang definition that results in a float","anyOf":[{"type":"string","minLength":0,"format":"molang"},{"type":"number"}]},"A":{"type":"object","title":"Resourcepack Actor Animation 1.8.0","description":"TODO description","additionalProperties":false,"required":["format_version","minecraft:client_entity"],"properties":{"format_version":{"title":"1.8.0 Format Version","type":"string","pattern":"^1.8.0$","description":"A version that tells minecraft what type of data format can be expected when reading this file."},"minecraft:client_entity":{"type":"object","additionalProperties":false,"title":"Client Entity","description":"The entity description for clientside rendering, animations and models","properties":{"description":{"additionalProperties":false,"title":"Description","description":"TODO description: description","type":"object","required":["identifier"],"properties":{"animations":{"description":"The connecting of animations in animations controllers with the actuall animations, names should corosponds","title":"Animations Schema","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"}},"animation_controllers":{"type":"array","minItems":1,"description":"TODO description: animation controllers","title":"Animation Controllers","items":{"type":"object","additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"},"description":"TODO description: animation controllers","title":"Animation Controllers"}},"enable_attachables":{"type":"boolean","description":"TODO description: enable attachables","title":"Enable Attachables"},"geometry":{"title":"Geometry","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"},"description":"TODO description: geometry"},"identifier":{"type":"string","description":"TODO description: identifier","title":"Identifier","$ref":"#/definitions/B"},"materials":{"type":"object","description":"TODO description: materials","title":"Materials","additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"}},"min_engine_version":{"type":"string","pattern":"[0-9]+\\.[0-9]+\\.[0-9]+","description":"TODO description: min engine version","title":"Min Engine Version"},"particle_effects":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"},"description":"TODO description: particle effects","title":"Particle Effects"},"particle_emitters":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"},"description":"TODO description: particle emitters","title":"Particle Emitters"},"render_controllers":{"type":"array","description":"TODO description: render controllers","title":"Render Controllers","minItems":1,"items":{"type":"string","description":"TODO description: render controllers","title":"Render Controllers"}},"sound_effects":{"title":"Sound Effects","description":"TODO description: sound effects","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"}},"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}}},"scripts":{"additionalProperties":false,"type":"object","description":"TODO description: scripts","title":"Scripts","properties":{"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":{"$ref":"#/definitions/D"},"scale":{"type":"string","description":"TODO description: scale","title":"Scale"},"scalex":{"$ref":"#/definitions/D","title":"Scale X"},"scaley":{"$ref":"#/definitions/D","title":"Scale Y"},"scalez":{"$ref":"#/definitions/D","title":"Scale Z"}}},"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":{"type":"string","title":"Item Identifier 1.8.0","description":"The minecraft item identifier","pattern":"^[0-9a-zA-Z:_\\-\\.]+$"},"E":{"type":"object","title":"Resourcepack Actor Animation 1.10.0","description":"TODO description","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","title":"Client Entity","description":"The client entity definition","required":["description"],"properties":{"description":{"title":"Description","type":"object","required":["identifier"],"description":"The entity description for clientside rendering, animations and models","additionalProperties":false,"properties":{"animations":{"title":"Animations","description":"The collection of animations and animations controllers","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"A reference to an animation or animation controller","title":"Animation Reference","examples":[{"basic":"controller.generic.basic"}]}},"enable_attachables":{"type":"boolean","description":"TODO description: 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/F"},"materials":{"type":"object","additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"},"description":"TODO description: materials","title":"Materials"},"min_engine_version":{"type":"string","pattern":"[0-9]+\\.[0-9]+\\.[0-9]+","description":"TODO description: min engine version","title":"Min Engine Version"},"particle_effects":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"},"description":"TODO description: particle effects","title":"Particle Effects"},"particle_emitters":{"type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"TODO description: additionalProperties","title":"TODO"},"description":"TODO description: particle emitters","title":"Particle Emitters"},"render_controllers":{"type":"array","description":"TODO description: render controllers","title":"Render Controllers","minItems":1,"items":{"oneOf":[{"type":"string"},{"type":"object","additionalProperties":{"type":"string","description":"A render controller","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","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":"TODO description: parent setup","title":"Parent Setup","$ref":"#/definitions/D"},"scale":{"type":"string","description":"TODO description: scale","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":"TODO description: sound effects","type":"object","minProperties":1,"additionalProperties":{"type":"string","description":"TODO description: additionalProperties","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"}}}},"additionalProperties":false}},"additionalProperties":false},"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