
if minetest.get_modpath("mobs") and not mobs.mod and mobs.mod ~= "redo" then
	minetest.log("error", "[mobs_birds] mobs redo API not found!")
	return
end

-- local variables
local l_skins_gull = {
	{"animal_gull_mesh.png"},
	{"gull_black.png"},
	{"gull_gray.png"},
	{"gull_grayblue.png"}
}
local l_skins_bird = {
	{"bird_blueish.png"},
	{"bird_brown.png"},
	{"bird_gray.png"},
	{"bird_grayblue.png"},
	{"bird_red.png"},
	{"bird_redish.png"}
}
local l_anims = {
	speed_normal = 24,	speed_run = 24,
	stand_start = 1,	stand_end = 95,
	walk_start = 1,		walk_end = 95,
	run_start = 1,		run_end = 95
}
local l_model				= "animal_gull.b3d"
local l_egg_texture			= "default_cloud.png"
local l_capture_chance_h	= 5
local l_capture_chance_n	= 60
local l_spawn_in			= {"air"}
local l_spawn_near_gull		= {"default:water_source", "default:water_flowing"}
local l_spawn_near_bird		= {
	"default:leaves", "default:pine_needles",
	"default:jungleleaves", "default:cactus"
}
local l_spawn_chance_gull	= 24000
local l_spawn_chance_bird	= 36000

-- load settings
dofile(minetest.get_modpath("mobs_birds").."/SETTINGS.txt")
if not ENABLE_LARGE_BIRDS then
	l_spawn_chance_bird = l_spawn_chance_bird - 18000
end
if not ENABLE_SMALL_BIRDS then
	l_spawn_chance_bird = l_spawn_chance_bird - 18000
end

-- gulls
if ENABLE_GULLS then

	mobs:register_mob("mobs_birds:gull", {
		type = "animal",
		passive = true,
		hp_min = 5,
		hp_max = 10,
		armor = 100,
		collisionbox = {-1, -0.3, -1, 1, 0.3, 1},
		visual = "mesh",
		mesh = l_model,
		textures = l_skins_gull,
		rotate = 270,
		walk_velocity = 4,
		run_velocity = 6,
		fall_speed = 0,
		stepheight = 3,
		fly = true,
		keep_flying = true,
		water_damage = 0,
		lava_damage = 10,
		light_damage = 0,
		view_range = 14,
		animation = l_anims,
		on_rightclick = function(self, clicker)
			mobs:capture_mob(self, clicker, l_capture_chance_h, l_capture_chance_n, 0, true, nil)
		end
	})

	mobs:spawn({
		name = "mobs_birds:gull",
		nodes = l_spawn_in,
		neighbors = l_spawn_near_gull,
		max_light = 5,
		interval = 30,
		chance = l_spawn_chance_gull,
		min_height = 0,
		max_height = 200,
	})

	mobs:register_egg("mobs_birds:gull", "Gull", l_egg_texture, 1)
end

-- large birds
if ENABLE_LARGE_BIRDS then

	mobs:register_mob("mobs_birds:bird_lg", {
		type = "animal",
		passive = true,
		hp_min = 5,
		hp_max = 10,
		armor = 100,
		collisionbox = {-0.5, -0.3, -0.5, 0.5, 0.3, 0.5},
		visual = "mesh",
		mesh = l_model,
		textures = l_skins_bird,
		visual_size = {x = .5, y = .5},
		rotate = 270,
		walk_velocity = 4,
		run_velocity = 6,
		fall_speed = 0,
		stepheight = 3,
		fly = true,
		keep_flying = true,
		water_damage = 0,
		lava_damage = 10,
		light_damage = 0,
		view_range = 12,
		animation = l_anims,
		on_rightclick = function(self, clicker)
			mobs:capture_mob(self, clicker, l_capture_chance_h, l_capture_chance_n, 0, true, nil)
		end
	})

	mobs:spawn({
		name = "mobs_birds:bird_lg",
		nodes = l_spawn_in,
		neighbors = l_spawn_near_bird,
		max_light = 5,
		interval = 30,
		chance = l_spawn_chance_bird,
		min_height = 0,
		max_height = 200,
	})

	mobs:register_egg("mobs_birds:bird_lg", "Large bird", l_egg_texture, 1)
end

-- small birds
if ENABLE_SMALL_BIRDS then

	mobs:register_mob("mobs_birds:bird_sm", {
		type = "animal",
		passive = true,
		hp_min = 2,
		hp_max = 5,
		armor = 100,
		collisionbox = {-0.25, -0.3, -0.25, 0.25, 0.3, 0.25},
		visual = "mesh",
		mesh = l_model,
		textures = l_skins_bird,
		visual_size = {x = .25, y = .25},
		rotate = 270,
		walk_velocity = 4,
		run_velocity = 6,
		fall_speed = 0,
		stepheight = 3,
		fly = true,
		keep_flying = true,
		water_damage = 0,
		lava_damage = 10,
		light_damage = 0,
		view_range = 10,
		animation = l_anims,
		on_rightclick = function(self, clicker)
			mobs:capture_mob(self, clicker, l_capture_chance_h, l_capture_chance_n, 0, true, nil)
		end
	})

	mobs:spawn({
		name = "mobs_birds:bird_sm",
		nodes = l_spawn_in,
		neighbors = l_spawn_near_bird,
		max_light = 5,
		interval = 30,
		chance = l_spawn_chance_bird,
		min_height = 0,
		max_height = 200,
	})

	mobs:register_egg("mobs_birds:bird_sm", "Small bird", l_egg_texture, 1)
end
