diff --git a/.luacheckrc b/.luacheckrc index 4982063..2efe27d 100644 --- a/.luacheckrc +++ b/.luacheckrc @@ -1,7 +1,3 @@ globals = { - "sound_api", -} - -read_globals = { - "minetest", + "sound_api", "minetest", } \ No newline at end of file diff --git a/init.lua b/init.lua index 6b8f3ef..abce091 100644 --- a/init.lua +++ b/init.lua @@ -1,3 +1,22 @@ local modpath = minetest.get_modpath("sounds_api") -sound_api = dofile(modpath .. "/sound_api_core/init.lua") \ No newline at end of file +sound_api = dofile(modpath .. "/sound_api_core/init.lua") + +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 + minetest.override_item(name, { + sounds = sound_api[def._sound_def.key](def._sound_def.input) + }) + end + end + + local old_reg_node = minetest.register_node + function minetest.register_node(name, def) + if def._sound_def and def._sound_def.key then + def.sounds = sound_api[def._sound_def.key](def._sound_def.input) + end + + old_reg_node(name, def) + end +end) \ No newline at end of file