{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.minecraft.behavior.entities","defaultSnippets":[{"label":"New entity","body":{"format_version":"${1:1.20.80}","minecraft:entity":{"description":{"identifier":"$2:${3:${TM_FILENAME/[\\.].*//}}","is_spawnable":"^{4:true}","is_summonable":"^{5:true}","is_experimental":"^{6:false}"},"components":"^{$7}"}}}],"examples":[{"format_version":"1.20.80","minecraft:entity":{"description":{"identifier":"namespace:entity","is_spawnable":true,"is_summonable":true},"component_groups":{},"components":{},"events":{}}}],"type":"object","title":"Entity Behavior","description":"The minecraft entity behavior specification.","required":["format_version","minecraft:entity"],"additionalProperties":false,"properties":{"format_version":{"$ref":"#/definitions/A"},"minecraft:entity":{"$ref":"#/definitions/B"}},"definitions":{"A":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^([1-9]+)\\.([0-9]+)\\.([0-9]+)$","type":"string","default":"1.20.81","examples":["1.20.81","1.20.40","1.19.0","1.12.0","1.10.0","1.8.0"],"defaultSnippets":[{"label":"New Format version","body":"1.${1|8,10,12,17,18,19,20|}.${3|2|0|}"}]},"C":{"description":"A minecraft entity identifier.","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Entity Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"D":{"title":"Molang Boolean","description":"The minecraft molang definition that results in a boolean.","anyOf":[{"type":"string","minLength":0},{"type":"boolean"}],"examples":["(1.0)","(0.0)"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"E":{"title":"Molang Number","description":"The minecraft molang definition that results in a float.","anyOf":[{"type":"string","minLength":0},{"type":"number"}],"examples":["(1.0)","(0.0)"],"defaultSnippets":[{"label":"New Molang","body":"$1"}]},"H":{"title":"Range [A, B]","description":"A described range.","examples":[[0.0,1.0]],"oneOf":[{"type":"number"},{"type":"array","items":[{"type":"number","title":"A","description":"The first value of the range."},{"type":"number","title":"B","description":"The second value of the range."}]},{"type":"object","additionalProperties":false,"properties":{"range_min":{"type":"number","title":"Range Min","description":"The minimum value of the range."},"range_max":{"type":"number","title":"Range Max","description":"The maximum value of the range."}}}]},"G":{"description":"Specifies the initial value of a specific attribute for an entity when spawned.","type":"object","title":"Attribute","additionalProperties":false,"required":[],"properties":{"min":{"type":"number","description":"The minimum starting health an entity has.","title":"Minimum","minimum":0},"max":{"type":"number","description":"The maximum starting health an entity has.","title":"Maximum"},"value":{"description":"The amount of health an entity to start with by default.","title":"Value","$ref":"#/definitions/H"}},"examples":[{"value":1,"max":1}]},"I":{"additionalProperties":false,"type":"object","title":"Add Rider","description":"Adds a rider to the entity. Requires `minecraft:rideable.`","required":["entity_type"],"properties":{"entity_type":{"type":"string","description":"The entity type that will be riding this entity.","title":"Entity Type"},"spawn_event":{"type":"string","description":"The spawn event that will be used when the riding entity is created.","title":"Spawn Event"}},"examples":[{"entity_type":"minecraft:rabbit"},{"entity_type":"minecraft:rabbit","spawn_event":"self:example"}]},"J":{"type":"object","title":"Admire Item","description":"Causes the mob to ignore attackable targets for a given duration.","additionalProperties":false,"properties":{"cooldown_after_being_attacked":{"type":"integer","default":0,"description":"Duration, in seconds, for which mob won't admire items if it was hurt.","title":"Cooldown After Being Attacked"},"duration":{"type":"integer","default":10,"description":"Dur