mirror of
				https://github.com/luanti-org/minetest_game.git
				synced 2025-10-26 13:25:30 +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:
		| @@ -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.
										
									
								
							
		Reference in New Issue
	
	Block a user