microexpansion/init.lua
beepbopbeepboop a21dbd9b82
Unify spacing
* Fix spacing in various files

---------

Co-authored-by: theFox6 <the.Fox6@gmx.de>
2024-01-24 09:53:14 +01:00

85 lines
2.4 KiB
Lua

-- microexpansion/init.lua
microexpansion = {}
microexpansion.data = {}
microexpansion.modpath = minetest.get_modpath("microexpansion") -- Get modpath
microexpansion.worldpath = minetest.get_worldpath() -- Get worldpath
local modpath = microexpansion.modpath -- Modpath pointer
-- Formspec GUI related stuff
microexpansion.gui_bg = "bgcolor[#080808BB;true]background[5,5;1,1;gui_formbg.png;true]"
microexpansion.gui_slots = "listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]"
microexpansion.settings = {
huge_stacks = minetest.settings:get_bool("microexpansion_huge_stacks"),
simple_craft = minetest.settings:get_bool("microexpansion_simple_craft")
}
microexpansion.uinv_category_enabled = minetest.global_exists("unified_inventory") and unified_inventory.add_category_item and true or false
-- logger
function microexpansion.log(content, log_type)
assert(content, "microexpansion.log: missing content")
if not content then return false end
if log_type == nil then log_type = "action" end
minetest.log(log_type, "[MicroExpansion] "..content)
end
-- Load API
dofile(modpath.."/api.lua")
-- Machine Registration
dofile(modpath.."/register.lua")
-------------------
----- MODULES -----
-------------------
local loaded_modules = {}
local settings = Settings(modpath.."/modules.conf"):to_table()
-- [function] Get module path
function microexpansion.get_module_path(name)
local module_path = modpath.."/modules/"..name
local handle = io.open(module_path.."/init.lua")
if handle then
io.close(handle)
return module_path
end
end
-- [function] Load module (overrides modules.conf)
function microexpansion.load_module(name)
if not loaded_modules[name] then
local module_path = microexpansion.get_module_path(name)
if module_path then
dofile(module_path.."/init.lua")
loaded_modules[name] = true
return true
else
microexpansion.log("Invalid module \""..name.."\". The module either does not exist "..
"or is missing an init.lua file.", "error")
end
else
return true
end
end
-- [function] Require module (does not override modules.conf)
function microexpansion.require_module(name)
if settings[name] then
microexpansion.log("loading module " .. name)
return microexpansion.load_module(name)
else
microexpansion.log("not loading module " .. name)
end
end
for name,enabled in pairs(settings) do
if enabled ~= false then
microexpansion.load_module(name)
end
end