{
  "format_version": "1.17.0",
  "minecraft:spawn_rules": {
    "description": {
      "identifier": "silverlabs_nat:firefly",
      "population_control": "animal"
    },
    "conditions": [
      {
        "minecraft:spawns_on_surface": {},
        "minecraft:spawns_on_block_filter": [
          "minecraft:grass",
          "minecraft:mud",
          "minecraft:leaves",
          "minecraft:leaves2"
        ],
        "minecraft:brightness_filter": {
          "min": 0,
          "max": 7,
          "adjust_for_weather": true
        },
        "minecraft:weight": {
          "default": 38
        },
        "minecraft:herd": {
          "min_size": 2,
          "max_size": 3
        },
        "minecraft:biome_filter": [
          {
            "test": "has_biome_tag",
            "operator": "==",
            "value": "forest"
          },
          {
            "test": "has_biome_tag",
            "operator": "!=",
            "value": "extreme_hills"
          },
          {
            "test": "has_biome_tag",
            "operator": "!=",
            "value": "frozen"
          }
        ]
      },
      {
        "minecraft:spawns_on_surface": {},
        "minecraft:spawns_on_block_filter": [
          "minecraft:grass",
          "minecraft:mud",
          "minecraft:leaves",
          "minecraft:leaves2"
        ],
        "minecraft:brightness_filter": {
          "min": 0,
          "max": 7,
          "adjust_for_weather": true
        },
        "minecraft:weight": {
          "default": 38
        },
        "minecraft:herd": {
          "min_size": 2,
          "max_size": 3
        },
        "minecraft:biome_filter": [
          {
            "test": "has_biome_tag",
            "operator": "==",
            "value": "flower_forest"
          },
          {
            "test": "has_biome_tag",
            "operator": "!=",
            "value": "extreme_hills"
          },
          {
            "test": "has_biome_tag",
            "operator": "!=",
            "value": "frozen"
          }
        ]
      },
      {
        "minecraft:spawns_on_surface": {},
        "minecraft:spawns_on_block_filter": [
          "minecraft:grass",
          "minecraft:mud",
          "minecraft:leaves",
          "minecraft:leaves2"
        ],
        "minecraft:brightness_filter": {
          "min": 0,
          "max": 7,
          "adjust_for_weather": true
        },
        "minecraft:weight": {
          "default": 38
        },
        "minecraft:herd": {
          "min_size": 2,
          "max_size": 3
        },
        "minecraft:biome_filter": [
          {
            "test": "has_biome_tag",
            "operator": "==",
            "value": "plains"
          },
          {
            "test": "has_biome_tag",
            "operator": "!=",
            "value": "extreme_hills"
          },
          {
            "test": "has_biome_tag",
            "operator": "!=",
            "value": "frozen"
          }
        ]
      },
      {
        "minecraft:spawns_on_surface": {},
        "minecraft:spawns_on_block_filter": [
          "minecraft:grass",
          "minecraft:mud",
          "minecraft:leaves",
          "minecraft:leaves2"
        ],
        "minecraft:brightness_filter": {
          "min": 0,
          "max": 7,
          "adjust_for_weather": true
        },
        "minecraft:weight": {
          "default": 38
        },
        "minecraft:herd": {
          "min_size": 2,
          "max_size": 3
        },
        "minecraft:biome_filter": [
          {
            "test": "has_biome_tag",
            "operator": "==",
            "value": "grove"
          },
          {
            "test": "has_biome_tag",
            "operator": "!=",
            "value": "extreme_hills"
          },
          {
            "test": "has_biome_tag",
            "operator": "!=",
            "value": "frozen"
          }
        ]
      },
      {
        "minecraft:spawns_on_surface": {},
        "minecraft:spawns_on_block_filter": [
          "minecraft:grass",
          "minecraft:mud",
          "minecraft:leaves",
          "minecraft:leaves2"
        ],
        "minecraft:brightness_filter": {
          "min": 0,
          "max": 7,
          "adjust_for_weather": true
        },
        "minecraft:weight": {
          "default": 38
        },
        "minecraft:herd": {
          "min_size": 2,
          "max_size": 3
        },
        "minecraft:biome_filter": [
          {
            "test": "has_biome_tag",
            "operator": "==",
            "value": "swamp"
          },
          {
            "test": "has_biome_tag",
            "operator": "!=",
            "value": "extreme_hills"
          },
          {
            "test": "has_biome_tag",
            "operator": "!=",
            "value": "frozen"
          }
        ]
      },
      {
        "minecraft:spawns_on_surface": {},
        "minecraft:spawns_on_block_filter": [
          "minecraft:grass",
          "minecraft:mud",
          "minecraft:leaves",
          "minecraft:leaves2"
        ],
        "minecraft:brightness_filter": {
          "min": 0,
          "max": 7,
          "adjust_for_weather": true
        },
        "minecraft:weight": {
          "default": 38
        },
        "minecraft:herd": {
          "min_size": 2,
          "max_size": 3
        },
        "minecraft:biome_filter": [
          {
            "test": "has_biome_tag",
            "operator": "==",
            "value": "mangrove_swamp"
          },
          {
            "test": "has_biome_tag",
            "operator": "!=",
            "value": "extreme_hills"
          },
          {
            "test": "has_biome_tag",
            "operator": "!=",
            "value": "frozen"
          }
        ]
      },
      {
        "minecraft:spawns_on_surface": {},
        "minecraft:spawns_on_block_filter": [
          "minecraft:grass",
          "minecraft:mud",
          "minecraft:leaves",
          "minecraft:leaves2"
        ],
        "minecraft:brightness_filter": {
          "min": 0,
          "max": 7,
          "adjust_for_weather": true
        },
        "minecraft:weight": {
          "default": 38
        },
        "minecraft:herd": {
          "min_size": 2,
          "max_size": 3
        },
        "minecraft:biome_filter": [
          {
            "test": "has_biome_tag",
            "operator": "==",
            "value": "mooshroom_island"
          },
          {
            "test": "has_biome_tag",
            "operator": "!=",
            "value": "extreme_hills"
          },
          {
            "test": "has_biome_tag",
            "operator": "!=",
            "value": "frozen"
          }
        ]
      },
      {
        "minecraft:spawns_on_surface": {},
        "minecraft:spawns_on_block_filter": [
          "minecraft:grass",
          "minecraft:mud",
          "minecraft:leaves",
          "minecraft:leaves2"
        ],
        "minecraft:brightness_filter": {
          "min": 0,
          "max": 7,
          "adjust_for_weather": true
        },
        "minecraft:weight": {
          "default": 38
        },
        "minecraft:herd": {
          "min_size": 2,
          "max_size": 3
        },
        "minecraft:biome_filter": {
          "any_of": [
            {
              "test": "has_biome_tag",
              "operator": "==",
              "value": "bop_ks:bayou"
            },
            {
              "test": "has_biome_tag",
              "operator": "==",
              "value": "bop_ks:bog"
            },
            {
              "test": "has_biome_tag",
              "operator": "==",
              "value": "bop_ks:grassland"
            },
            {
              "test": "has_biome_tag",
              "operator": "==",
              "value": "bop_ks:lavender_field"
            },
            {
              "test": "has_biome_tag",
              "operator": "==",
              "value": "bop_ks:mystic_grove"
            },
            {
              "test": "has_biome_tag",
              "operator": "==",
              "value": "bop_ks:orchard"
            },
            {
              "test": "has_biome_tag",
              "operator": "==",
              "value": "bop_ks:pasture"
            },
            {
              "test": "has_biome_tag",
              "operator": "==",
              "value": "bop_ks:rocky_shrubland"
            },
            {
              "test": "has_biome_tag",
              "operator": "==",
              "value": "bop_ks:shrubland"
            },
            {
              "test": "has_biome_tag",
              "operator": "==",
              "value": "bop_ks:wetland"
            }
          ]
        }
      }
    ]
  }
}
