mirror of
				https://github.com/mt-mods/xcompat.git
				synced 2025-10-31 08:15:28 +01:00 
			
		
		
		
	Avoid crash when sound_api function for a key is undefined (#4)
* Avoid crash when sound_api function for a key is undefined * Refactor function to override sounds using sound_api * Change override_sounds for validate_sounds
This commit is contained in:
		
							
								
								
									
										15
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								init.lua
									
									
									
									
									
								
							| @@ -2,9 +2,20 @@ local modpath = minetest.get_modpath("sound_api") | ||||
|  | ||||
| sound_api = dofile(modpath .. "/sound_api_core/init.lua") | ||||
|  | ||||
| local function validate_sound(key) | ||||
|     if key and sound_api[key] then | ||||
|         return true | ||||
|     elseif key then | ||||
|         minetest.log("warning", "attempted to call invalid sound: "..key) | ||||
|     else | ||||
|         minetest.log("warning", "sound_def is missing a sound_api key") | ||||
|     end | ||||
|     return false | ||||
| end | ||||
|  | ||||
| minetest.register_on_mods_loaded(function() | ||||
|     for name, def in pairs(minetest.registered_nodes) do | ||||
|         if def._sound_def and def._sound_def.key then | ||||
|         if def._sound_def and validate_sound(def._sound_def.key) then | ||||
|             minetest.override_item(name, { | ||||
|                 sounds = sound_api[def._sound_def.key](def._sound_def.input) | ||||
|             }) | ||||
| @@ -13,7 +24,7 @@ minetest.register_on_mods_loaded(function() | ||||
|  | ||||
|     local old_reg_node = minetest.register_node | ||||
|     function minetest.register_node(name, def) | ||||
|         if def._sound_def and def._sound_def.key then | ||||
|         if def._sound_def and validate_sound(def._sound_def.key) then | ||||
|             def.sounds = sound_api[def._sound_def.key](def._sound_def.input) | ||||
|         end | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user