{"$schema":"http://json-schema.org/draft-07/schema","$id":"blockception.behavior.spawn_rules","examples":[{"format_version":"1.8.0","minecraft:spawn_rules":{"description":{"identifier":"minecraft:entity","population_control":"ambient"},"conditions":[{}]}}],"type":"object","title":"Spawn Rules","description":"Data-Driven spawning allows you to adjust the spawn conditions of mobs.","additionalProperties":false,"required":["format_version","minecraft:spawn_rules"],"properties":{"format_version":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","enum":["1.8.0","1.10.0","1.12.0"]},"minecraft:spawn_rules":{"type":"object","title":"Spawn Rules","description":"Data-Driven spawning allows you to adjust the spawn conditions of mobs.","additionalProperties":false,"properties":{"description":{"type":"object","title":"Description","description":"The descripton of to which entity this spawn rule belongs.","$comment":"UNDOCUMENTED","additionalProperties":false,"required":["identifier","population_control"],"properties":{"identifier":{"title":"Identifier","description":"The entity identifier this spawn rule will apply to, entity must exist.","$comment":"UNDOCUMENTED","$ref":"#/definitions/A"},"population_control":{"type":"string","title":"Population Control","description":"Setting an entity to a pool it will spawn as long as that pool hasn't reached the spawn limit.","$comment":"UNDOCUMENTED","enum":["ambient","animal","water_animal","monster","cat","pillager"]}}},"conditions":{"type":"array","title":"Conditions","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","items":{"additionalProperties":false,"type":"object","title":"Condition","description":"UNDOCUMENTED.","$comment":"UNDOCUMENTED","properties":{"minecraft:biome_filter":{"$ref":"#/definitions/B"},"minecraft:brightness_filter":{"$ref":"#/definitions/JC"},"minecraft:delay_filter":{"$ref":"#/definitions/JD"},"minecraft:density_limit":{"$ref":"#/definitions/JE"},"minecraft:difficulty_filter":{"$ref":"#/definitions/JF"},"minecraft:disallow_spawns_in_bubble":{"$ref":"#/definitions/JG"},"minecraft:distance_filter":{"$ref":"#/definitions/JH"},"minecraft:height_filter":{"$ref":"#/definitions/JI"},"minecraft:herd":{"$ref":"#/definitions/JJ"},"minecraft:mob_event_filter":{"$ref":"#/definitions/BAA"},"minecraft:permute_type":{"$ref":"#/definitions/BAB"},"minecraft:player_in_village_filter":{"$ref":"#/definitions/BAC"},"minecraft:spawn_event":{"$ref":"#/definitions/BAD"},"minecraft:spawns_above_block_filter":{"$ref":"#/definitions/BAE"},"minecraft:spawns_lava":{"$ref":"#/definitions/BAF"},"minecraft:spawns_on_block_filter":{"$ref":"#/definitions/BAG"},"minecraft:spawns_on_block_prevented_filter":{"$ref":"#/definitions/BAH"},"minecraft:spawns_on_surface":{"$ref":"#/definitions/BAI"},"minecraft:spawns_underground":{"$ref":"#/definitions/BAJ"},"minecraft:spawns_underwater":{"$ref":"#/definitions/BBA"},"minecraft:weight":{"$ref":"#/definitions/BBB"},"minecraft:world_age_filter":{"$ref":"#/definitions/BBC"}}}}}}},"definitions":{"A":{"description":"A minecraft entity identifier.","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$","title":"Entity Identifier","type":"string","defaultSnippets":[{"label":"New Identifier","body":"$1:$2"}]},"C_filters_spec":{"defaultSnippets":[{"label":"New Test","body":{"test":"$1","value":"$2"}},{"label":"New All_of Test","body":{"all_of":[{"test":"$1","value":"$2"},{"test":"$3","value":"$4"}]}},{"label":"New Any_of Test","body":{"any_of":[{"test":"$1","value":"$2"},{"test":"$3","value":"$4"}]}},{"label":"New None_of Test","body":{"none_of":[{"test":"$1","value":"$2"},{"test":"$3","value":"$4"}]}}],"examples":[{"all_of":[{}]},{"any_of":[{}]},{"none_of":[{}]}],"oneOf":[{"propertyNames":{"enum":["all_of","any_of","none_of"]},"properties":{"all_of":{"title":"All Of","description":"All tests in an `all_of` group must pass in order for the group to pass.","$ref":"#/definitions/C_groups_spec"},"any_of":{"title":"Any Of","description":"Oneormoretestsinan`