mirror of
https://github.com/minetest-mods/carpets.git
synced 2024-12-20 20:35:42 +01:00
Create modutils.lua
This commit is contained in:
parent
66c935c91c
commit
39d3d1a615
42
modutils.lua
Normal file
42
modutils.lua
Normal file
@ -0,0 +1,42 @@
|
||||
local modutils = {}
|
||||
|
||||
local function check_depend(this, modname)
|
||||
local depends = this.depends
|
||||
if depends[modname] then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
function modutils.get_depend_checker(modname)
|
||||
-- Definition of returning object attributes
|
||||
local this = { }
|
||||
this.modname = modname
|
||||
this.depends = {} -- depends.txt parsed
|
||||
this.check_depend = check_depend -- method
|
||||
|
||||
-- get module path
|
||||
local modpath = minetest.get_modpath(modname)
|
||||
if not modpath then
|
||||
return nil -- module not found
|
||||
end
|
||||
|
||||
-- read the depends file
|
||||
local dependsfile = io.open(modpath .. "/depends.txt")
|
||||
if not dependsfile then
|
||||
return nil
|
||||
end
|
||||
|
||||
-- parse the depends file
|
||||
for line in dependsfile:lines() do
|
||||
if line:sub(-1) == "?" then
|
||||
line = line:sub(1, -2)
|
||||
end
|
||||
this.depends[line] = true
|
||||
end
|
||||
|
||||
return this
|
||||
end
|
||||
|
||||
return modutils
|
Loading…
Reference in New Issue
Block a user