-- ***********************************************************************************
--													   ***********************************************
--					Ambience							**************************************************
--													   ***********************************************
-- ***********************************************************************************


BIRDS = true

-- ***********************************************************************************
--		BIRDS 			**************************************************
-- ***********************************************************************************
if BIRDS == true then
	local bird = {}
	bird.sounds = {}
	bird_sound = function(p)
				local wanted_sound = {name="bird", gain=0.6}
				bird.sounds[minetest.hash_node_position(p)] = {
					handle = minetest.sound_play(wanted_sound, {pos=p, loop=true}),
					name = wanted_sound.name, }
			end

	bird_stop = function(p)
				local sound = bird.sounds[minetest.hash_node_position(p)]
				if sound ~= nil then
					minetest.sound_stop(sound.handle)
					bird.sounds[minetest.hash_node_position(p)] = nil
				end
			end
	minetest.register_on_dignode(function(p, node)
		if node.name == "4seasons:bird" then
			bird_stop(p)

		end
	end)
	minetest.register_abm({
			nodenames = { "4seasons:leaves_spring",'default:leaves' },
			interval = NATURE_GROW_INTERVAL,
			chance = 200,
			action = function(pos, node, active_object_count, active_object_count_wider)
				local air = { x=pos.x, y=pos.y+1,z=pos.z }
				local is_air = minetest.env:get_node_or_nil(air)
				if is_air ~= nil and is_air.name == 'air' then
					minetest.env:add_node(air,{type="node",name='4seasons:bird'})
					bird_sound(air)
				end
			end
	})
	minetest.register_abm({
			nodenames = {'4seasons:bird' },
			interval = NATURE_GROW_INTERVAL,
			chance = 2,
			action = function(pos, node, active_object_count, active_object_count_wider)
				minetest.env:remove_node(pos)
				bird_stop(pos)
			end
	})
end