computing/api.lua

94 lines
2.9 KiB
Lua
Raw Normal View History

2024-11-18 10:02:54 -03:00
modComputing.apps = { }
modComputing.debug = function(text, playername)
if text ~= nil
and type(text) == "string"
and text ~= ""
then
if core.settings:get_bool(modComputing.modname..".debug") then
if playername ~= nil
and type(playername) == "string"
and playername ~= ""
then
local player = core.get_player_by_name(playername)
if player ~=nil and player:is_player() then
core.chat_send_player(
playername, text
)
core.log('action',"["..modComputing.modname:upper()..":DEBUG:"..playername.."] "..text)
else
core.log('error',
"["..modComputing.modname:upper()..":DEBUG] "
..modComputing.translate(
"Unable to address debug for player '%s'."
):format(dump(playername))
)
core.log('action',"["..modComputing.modname:upper()..":DEBUG] "..text)
end
else
core.chat_send_all(text)
core.log('action',"["..modComputing.modname:upper()..":DEBUG] "..text)
end
end
end
end
modComputing.log = function(text)
2024-11-18 10:02:54 -03:00
local sufix = "["..modComputing.modname:upper()..":ERRO] "
core.chat_send_all(sufix..text)
core.log('action',sufix..text)
return sufix..text
end
modComputing.add_app = function(appname, def)
if type(appname)=="string" and appname~="" then
if type(modComputing.apps[appname])~="table" then
2024-11-18 10:02:54 -03:00
if type(def.iconname)=="string" and def.iconname~="" then
if type(def.iconimage)=="string" and def.iconimage~="" then
if type(def.on_iconclick)=="string" and def.on_iconclick~="" then
modComputing.apps[appname] = {
iconname = def.iconname,
iconimage = def.iconimage,
on_iconclick = def.on_iconclick,
}
return true
else
return false, modComputing.log("modComputing.add_app(appname, def) : Invalid 'def.on_iconclick' variable!")
end
else
return false, modComputing.log("modComputing.add_app(appname, def) : Invalid 'def.iconimage' variable!")
end
else
return false, modComputing.log("modComputing.add_app(appname, def) : Invalid 'def.iconname' variable!")
end
else
return false, modComputing.log("modComputing.add_app(appname, def) : "..
("Unable to repeatedly add appname '%s'!"):format(appname)
)
end
else
return false, modComputing.log("modComputing.add_app(appname, def) : Invalid 'appname' variable!")
end
end
modComputing.get_appnames = function()
local appnames = {}
2024-11-18 10:02:54 -03:00
for k,v in pairs(modComputing.apps) do
table.insert(appnames, k)
end
return appnames
end
modComputing.get_app = function(appname)
if type(appname)=="string" and appname~="" then
if type(modComputing.apps[appname])=="table" then
return modComputing.apps[appname]
else
return false, modComputing.log("modComputing.get_app(appname) : "..
("Cannot find appname '@1'!"):format(appname)
)
end
else
return false, modComputing.log("modComputing.get_app(appname) : Invalid 'appname' variable!")
end
end