add agnostic way to use mod

This commit is contained in:
unknown 2022-01-29 20:46:20 -05:00
parent 87df854e11
commit 599ddf9f1c
2 changed files with 21 additions and 6 deletions

View File

@ -1,7 +1,3 @@
globals = {
"sound_api",
}
read_globals = {
"minetest",
"sound_api", "minetest",
}

View File

@ -1,3 +1,22 @@
local modpath = minetest.get_modpath("sounds_api")
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)