1
0
mirror of https://github.com/minetest/minetest_game.git synced 2024-12-22 23:10:17 +01:00

Add furnace sounds (#2569)

Two sounds are played; one while the furnace is active (sound used is "fire_fire") and one after an item is cooked (sound used is "default_cool_lava").
This commit is contained in:
An0n3m0us 2020-08-07 18:40:02 +01:00 committed by GitHub
parent 4858c2b3fb
commit 0a96bac46d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 0 deletions

View File

@ -340,6 +340,10 @@ sonictechtonic (CC BY 3.0):
https://www.freesound.org/people/sonictechtonic/sounds/241872/ https://www.freesound.org/people/sonictechtonic/sounds/241872/
player_damage.ogg player_damage.ogg
iankath (CC0 1.0)
https://freesound.org/people/iankath/sounds/173991/
default_furnace_active.ogg
Models Models
------ ------

View File

@ -113,6 +113,9 @@ local function furnace_node_timer(pos, elapsed)
local srclist, fuellist local srclist, fuellist
local dst_full = false 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 cookable, cooked
local fuel local fuel
@ -154,6 +157,9 @@ local function furnace_node_timer(pos, elapsed)
else else
dst_full = true dst_full = true
end end
-- Play cooling sound
minetest.sound_play("default_cool_lava",
{pos = pos, max_hear_distance = 16, gain = 0.1}, true)
else else
-- Item could not be cooked: probably missing fuel -- Item could not be cooked: probably missing fuel
update = true update = true
@ -237,6 +243,12 @@ local function furnace_node_timer(pos, elapsed)
swap_node(pos, "default:furnace_active") swap_node(pos, "default:furnace_active")
-- make sure timer restarts automatically -- make sure timer restarts automatically
result = true result = true
-- 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 = 0.5}, true)
end
else else
if fuellist and not fuellist[1]:is_empty() then if fuellist and not fuellist[1]:is_empty() then
fuel_state = S("@1%", 0) fuel_state = S("@1%", 0)
@ -245,6 +257,7 @@ local function furnace_node_timer(pos, elapsed)
swap_node(pos, "default:furnace") swap_node(pos, "default:furnace")
-- stop timer on the inactive furnace -- stop timer on the inactive furnace
minetest.get_node_timer(pos):stop() minetest.get_node_timer(pos):stop()
meta:set_int("timer_elapsed", 0)
end end

Binary file not shown.