mirror of
https://github.com/appgurueu/modlib.git
synced 2024-11-25 16:53:46 +01:00
Code quality
This commit is contained in:
parent
6937b6782c
commit
9b72be42af
40
init.lua
40
init.lua
@ -96,6 +96,25 @@ local function get_resource(modname, resource, ...)
|
||||
return concat_path{minetest.get_modpath(modname), resource, ...}
|
||||
end
|
||||
|
||||
local function load_module(self, module_name_or_alias)
|
||||
local module_name = modules[module_name_or_alias]
|
||||
if not module_name then
|
||||
-- no such module
|
||||
return
|
||||
end
|
||||
local environment
|
||||
if module_name ~= module_name_or_alias then
|
||||
-- alias handling
|
||||
environment = self[module_name]
|
||||
else
|
||||
environment = dofile(minetest
|
||||
and get_resource(self.modname, module_name .. ".lua")
|
||||
or (parent_dir .. module_name .. ".lua"))
|
||||
end
|
||||
self[module_name_or_alias] = environment
|
||||
return environment
|
||||
end
|
||||
|
||||
local rawget, rawset = rawget, rawset
|
||||
modlib = setmetatable({
|
||||
-- TODO bump on release
|
||||
@ -114,26 +133,7 @@ modlib = setmetatable({
|
||||
error(dump(value), 2)
|
||||
end
|
||||
end
|
||||
}, {
|
||||
__index = function(self, module_name_or_alias)
|
||||
local module_name = modules[module_name_or_alias]
|
||||
if not module_name then
|
||||
-- module not available, return nil
|
||||
return
|
||||
end
|
||||
local environment
|
||||
if module_name ~= module_name_or_alias then
|
||||
-- alias handling
|
||||
environment = self[module_name]
|
||||
else
|
||||
environment = dofile(minetest
|
||||
and get_resource(self.modname, module_name .. ".lua")
|
||||
or (parent_dir .. module_name .. ".lua"))
|
||||
end
|
||||
self[module_name_or_alias] = environment
|
||||
return environment
|
||||
end
|
||||
})
|
||||
}, { __index = load_module })
|
||||
|
||||
-- Force load file module to pass dir_delim & to set concat_path
|
||||
modlib.file = assert(loadfile(get_resource"file.lua"))(dir_delim)
|
||||
|
Loading…
Reference in New Issue
Block a user