-- Localize & Initialize local register_hammer = uniham.register_hammer local modpath = uniham.modpath local registry = modpath..DIR_DELIM..'registry' local depends = io.open(modpath..DIR_DELIM..'depends.txt', 'rb') local log_prefix = '['..minetest.get_current_modname()..'] ' -- Check if a file exists -- -- This function validates the existence of a file by trying to open the file -- for reading. If this succeeds the file is present. -- -- @param file_name The file name (path) to be checked local file_exists = function (file_name) local f = io.open(file_name ,'r') if f ~= nil then io.close(f) return true else return false end end -- Check if the depends.txt file was read properly -- Iterate over all lines -- Check if the mod exists -- Check if a registry file exists -- dofile() the file and print a log message if depends ~= nil then local lines = {} for line in depends:lines() do local modname = line:gsub('?', '') if minetest.get_modpath(modname) then local registry_file = registry..DIR_DELIM..modname..'.lua' if file_exists(registry_file) then dofile(registry_file) local message = 'Loaded built-in '..modname..' support' minetest.log('action', log_prefix..message) end end end end