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) 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 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 = {} 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