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/
|
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
|
||||||
------
|
------
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
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