40 lines
1.1 KiB
Lua
40 lines
1.1 KiB
Lua
local path = logistica.MODPATH.."/util"
|
|
|
|
dofile(path.."/common.lua")
|
|
dofile(path.."/rotations.lua")
|
|
dofile(path.."/hud.lua")
|
|
|
|
function logistica.set_infotext(pos, txt)
|
|
local meta = minetest.get_meta(pos)
|
|
meta:set_string("infotext", txt)
|
|
end
|
|
|
|
function logistica.ttos(val, name, skipnewlines, depth)
|
|
skipnewlines = skipnewlines or true
|
|
depth = depth or 0
|
|
|
|
local tmp = string.rep(" ", depth)
|
|
|
|
if name then tmp = tmp .. name .. " = " end
|
|
|
|
if type(val) == "table" then
|
|
tmp = tmp .. "{" .. (not skipnewlines and "\n" or "")
|
|
|
|
for k, v in pairs(val) do
|
|
tmp = tmp .. logistica.ttos(v, k, skipnewlines, depth + 1) .. "," .. (not skipnewlines and "\n" or "")
|
|
end
|
|
|
|
tmp = tmp .. string.rep(" ", depth) .. "}"
|
|
elseif type(val) == "number" then
|
|
tmp = tmp .. tostring(val)
|
|
elseif type(val) == "string" then
|
|
tmp = tmp .. string.format("%q", val)
|
|
elseif type(val) == "boolean" then
|
|
tmp = tmp .. (val and "true" or "false")
|
|
else
|
|
tmp = tmp .. "\"[inserializeable datatype:" .. type(val) .. "]\""
|
|
end
|
|
|
|
return tmp
|
|
end
|