mirror of
https://github.com/minetest/minetest_game.git
synced 2024-12-22 15:00:18 +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:
parent
4858c2b3fb
commit
0a96bac46d
@ -340,6 +340,10 @@ sonictechtonic (CC BY 3.0):
|
||||
https://www.freesound.org/people/sonictechtonic/sounds/241872/
|
||||
player_damage.ogg
|
||||
|
||||
iankath (CC0 1.0)
|
||||
https://freesound.org/people/iankath/sounds/173991/
|
||||
default_furnace_active.ogg
|
||||
|
||||
|
||||
Models
|
||||
------
|
||||
|
@ -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
|
||||
|
||||
@ -154,6 +157,9 @@ local function furnace_node_timer(pos, elapsed)
|
||||
else
|
||||
dst_full = true
|
||||
end
|
||||
-- Play cooling sound
|
||||
minetest.sound_play("default_cool_lava",
|
||||
{pos = pos, max_hear_distance = 16, gain = 0.1}, true)
|
||||
else
|
||||
-- Item could not be cooked: probably missing fuel
|
||||
update = true
|
||||
@ -237,6 +243,12 @@ local function furnace_node_timer(pos, elapsed)
|
||||
swap_node(pos, "default:furnace_active")
|
||||
-- make sure timer restarts automatically
|
||||
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
|
||||
if fuellist and not fuellist[1]:is_empty() then
|
||||
fuel_state = S("@1%", 0)
|
||||
@ -245,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
|
||||
|
||||
|
||||
|
BIN
mods/default/sounds/default_furnace_active.ogg
Normal file
BIN
mods/default/sounds/default_furnace_active.ogg
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user