diff --git a/mods/default/furnace.lua b/mods/default/furnace.lua index 8ef016be..f565fa6d 100644 --- a/mods/default/furnace.lua +++ b/mods/default/furnace.lua @@ -113,6 +113,9 @@ local function furnace_node_timer(pos, elapsed) local srclist, fuellist local dst_full = false + local timer_elapsed = meta:get_int("timer_elapsed") or 0 + meta:set_int("timer_elapsed", timer_elapsed + 1) + local cookable, cooked local fuel @@ -240,9 +243,12 @@ local function furnace_node_timer(pos, elapsed) swap_node(pos, "default:furnace_active") -- make sure timer restarts automatically result = true - -- Play sound while the furnace is active - minetest.sound_play("default_furnace_active", - {pos = pos, max_hear_distance = 16, gain = 1}) + + -- Play sound every 5 seconds while the furnace is active + if timer_elapsed == 0 or (timer_elapsed+1) % 5 == 0 then + minetest.sound_play("default_furnace_active", + {pos = pos, max_hear_distance = 16, gain = 1}) + end else if fuellist and not fuellist[1]:is_empty() then fuel_state = S("@1%", 0) @@ -251,6 +257,7 @@ local function furnace_node_timer(pos, elapsed) swap_node(pos, "default:furnace") -- stop timer on the inactive furnace minetest.get_node_timer(pos):stop() + meta:set_int("timer_elapsed", 0) end diff --git a/mods/default/sounds/default_furnace_active.ogg b/mods/default/sounds/default_furnace_active.ogg index 40acd3b2..536edc24 100644 Binary files a/mods/default/sounds/default_furnace_active.ogg and b/mods/default/sounds/default_furnace_active.ogg differ