mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-27 19:45:22 +09:00
Merge branch 'core'
This commit is contained in:
@@ -28,6 +28,7 @@ function Gui._get_data(key) return Gui_data[key] end
|
||||
|
||||
function Gui:_load_parts(parts)
|
||||
for _,part in pairs(parts) do
|
||||
verbose('Gui Extraction: '..part)
|
||||
self[part] = require('/GuiParts/'..part)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -17,11 +17,12 @@ Pass a table with the names of the objects you want and it will be return in tha
|
||||
|
||||
local StdExpCoreLib = {}
|
||||
|
||||
require '/commands'
|
||||
StdExpCoreLib.Ranking = require '/ranking'
|
||||
StdExpCoreLib.Server = require '/server'
|
||||
StdExpCoreLib.Sync = require '/sync'
|
||||
StdExpCoreLib.Gui = require '/gui'
|
||||
require('/commands')
|
||||
StdExpCoreLib.Ranking = require('/ranking')
|
||||
StdExpCoreLib.Server = require('/server')
|
||||
StdExpCoreLib.Sync = require('/sync')
|
||||
StdExpCoreLib.Gui = require('/gui')
|
||||
verbose('Begain Gui Part Loading')
|
||||
StdExpCoreLib.Gui:_load_parts{
|
||||
'inputs',
|
||||
'toolbar',
|
||||
@@ -34,6 +35,7 @@ return function(rtn)
|
||||
local _return = {}
|
||||
for _,name in pairs(rtn) do
|
||||
if StdExpCoreLib[name] then
|
||||
verbose('Core File Extraction: '..name)
|
||||
table.insert(_return,StdExpCoreLib[name])
|
||||
end
|
||||
end
|
||||
|
||||
@@ -284,6 +284,7 @@ end
|
||||
-- see Addons/playerRanks for examples
|
||||
function Ranking._rank:edit(key,set_value,value)
|
||||
if game then return end
|
||||
verbose('Edited Rank: '..self.name..'/'..key)
|
||||
if set_value then self[key] = value return end
|
||||
if key == 'disallow' then
|
||||
self.disallow = table.merge(self.disallow,value,true)
|
||||
@@ -300,6 +301,7 @@ end
|
||||
function Ranking._group:create(obj)
|
||||
if game then return end
|
||||
if not is_type(obj.name,'string') then return end
|
||||
verbose('Created Group: '..obj.name)
|
||||
setmetatable(obj,{__index=Ranking._group})
|
||||
self.index = #Ranking._groups(names)+1
|
||||
obj.ranks = {}
|
||||
@@ -318,6 +320,7 @@ function Ranking._group:add_rank(obj)
|
||||
not is_type(obj.short_hand,'string') or
|
||||
not is_type(obj.tag,'string') or
|
||||
not is_type(obj.colour,'table') then return end
|
||||
verbose('Created Rank: '..obj.name)
|
||||
setmetatable(obj,{__index=Ranking._rank})
|
||||
obj.group = self
|
||||
obj.allow = obj.allow or {}
|
||||
@@ -336,6 +339,7 @@ end
|
||||
-- see Addons/playerRanks for examples
|
||||
function Ranking._group:edit(key,set_value,value)
|
||||
if game then return end
|
||||
verbose('Edited Group: '..self.name..'/'..key)
|
||||
if set_value then self[key] = value return end
|
||||
if key == 'disallow' then
|
||||
self.disallow = table.merge(self.disallow,value,true)
|
||||
|
||||
@@ -90,6 +90,13 @@ function Sync.emit_embeded(args)
|
||||
game.write_file('embeded.json',table.json(log_data)..'\n',true,0)
|
||||
end
|
||||
|
||||
-- set up error handle
|
||||
verbose('Set New Error Handle')
|
||||
_G.error_handle = function(err)
|
||||
local color = _G.Color and Color.to_hex(defines.text_color.bg) or '0x0'
|
||||
Sync.emit_embeded{title='SCRIPT ERROR',color=color,description='There was an error in the script @Developers ',Error=err}
|
||||
end
|
||||
|
||||
--- used to get the number of admins currently online
|
||||
-- @usage Sync.count_admins()
|
||||
-- @treturn int the number of admins online
|
||||
|
||||
@@ -17,17 +17,18 @@ Pass a table with the names of the objects you want and it will be return in tha
|
||||
|
||||
local StdLib = {}
|
||||
|
||||
require '/table'
|
||||
require '/string'
|
||||
require '/time'
|
||||
StdLib.Color = require '/color'
|
||||
StdLib.Game = require '/game'
|
||||
StdLib.Event = require '/event'
|
||||
require('/table')
|
||||
require('/string')
|
||||
require('/time')
|
||||
StdLib.Color = require('/color')
|
||||
StdLib.Game = require('/game')
|
||||
StdLib.Event = require('/event')
|
||||
|
||||
return function(rtn)
|
||||
local _return = {}
|
||||
for _,name in pairs(rtn) do
|
||||
if StdLib[name] then
|
||||
verbose('StdLib Extraction: '..name)
|
||||
table.insert(_return,StdLib[name])
|
||||
end
|
||||
end
|
||||
|
||||
48
control.lua
48
control.lua
@@ -8,59 +8,69 @@ Discord: https://discord.gg/r6dC2uK
|
||||
]]
|
||||
--Please Only Edit Below This Line-----------------------------------------------------------
|
||||
|
||||
-- A base for functions to keep things clean
|
||||
_G._ = {}
|
||||
|
||||
-- Replaces the base error function
|
||||
_error = error
|
||||
error = function(err)
|
||||
if _G.Sync and _G.Sync.emit_embeded and game then
|
||||
local color = _G.Color and Color.to_hex(defines.text_color.bg) or '0x0'
|
||||
Sync.emit_embeded{title='SCRIPT ERROR',color=color,description='There was an error in the script @Developers ',Error=err}
|
||||
elseif _G.error_handle and type(error_handle) == 'function' then
|
||||
verbose('Error Called: '..err)
|
||||
if _G.error_handle and type(error_handle) == 'function' then
|
||||
verbose('Exception Caught By Error Handle')
|
||||
local success, _err = error_handle(err)
|
||||
if not success then _error({handle=_err,err=err}) end
|
||||
elseif _G.Game and game then
|
||||
verbose('Exception Caught By Game Print')
|
||||
if Game.print_all(err) == 0 then
|
||||
_error(err)
|
||||
end
|
||||
else
|
||||
verbose('Failed to catch error')
|
||||
_error(err)
|
||||
end
|
||||
end
|
||||
-- Replaces the base require function
|
||||
-- Replaces the base require function and verbose function
|
||||
_verbose = false -- Set to true for more on the loading of the files
|
||||
function verbose(str) if _verbose then log(str) print(str) end end
|
||||
verbose('============================= START =============================')
|
||||
require_return_err = false -- Set to false when removing files; set to true for debuging
|
||||
_require = require
|
||||
require = function(path)
|
||||
local _return = {pcall(_require,path)}
|
||||
if not table.remove(_return, 1) and require_return_err then error(unpack(_return)) end
|
||||
if not table.remove(_return, 1) then verbose('Failed to load: '..path..' ('.._return[1]..')') if require_return_err then error(unpack(_return)) end
|
||||
else verbose('Loaded: '..path) end
|
||||
return unpack(_return)
|
||||
end
|
||||
|
||||
require("mod-gui")
|
||||
verbose('Begain Base Lib Loading')
|
||||
require('mod-gui')
|
||||
-- Loads the stdlib and allows Core Game and Event
|
||||
Color, Game, Event = require('/StdLib/load'){'Color','Game','Event'}
|
||||
Color, Game, Event = require('StdLib/load'){'Color','Game','Event'}
|
||||
|
||||
-- loads the ExpLib, functions are placed into the lua global
|
||||
local ExpLib = require 'ExpLib'
|
||||
verbose('ExpLib Initiation')
|
||||
ExpLib._unpack_to_G(ExpLib)
|
||||
--_G.Sync.emit_embeded = nil -- Un-comment this line if you are not using the json.data
|
||||
|
||||
verbose('Begain Core File Loading')
|
||||
-- Loads the ExpCore files. These are need in order to run the other addons
|
||||
Ranking, Sync, Server, Gui = require('/ExpCore/load'){'Ranking','Sync','Server','Gui'}
|
||||
local success,err = pcall(require,'/ExpCore/GuiParts/test')
|
||||
if success then Gui.test = err end
|
||||
if Gui.popup then Gui.popup._load() end
|
||||
if Sync._load then Sync._load() end
|
||||
Ranking, Sync, Server, Gui = require('ExpCore/load'){'Ranking','Sync','Server','Gui'}
|
||||
local success,err = require('ExpCore/GuiParts/test')
|
||||
if success then verbose('Gui Test Initiation') Gui.test = err end
|
||||
if Gui.popup then verbose('Gui Popup Initiation') Gui.popup._load() end
|
||||
if Sync._load then verbose('Sync Initiation') Sync._load() end
|
||||
-- Loads the ranks that Ranking uses
|
||||
require('/ExpCore/ranks')
|
||||
verbose('Base Ranks Initiation')
|
||||
require('ExpCore/ranks')
|
||||
-- Loads any edits that are not need in core pcall as file may not be present
|
||||
pcall(require,'/Addons/playerRanks')
|
||||
verbose('Extented Ranks Initiation')
|
||||
require('Addons/playerRanks')
|
||||
-- Makes sure that all the little details are cleaned up
|
||||
verbose('Ranking Initiation')
|
||||
Ranking._auto_edit_ranks()
|
||||
-- Loads all the addons
|
||||
verbose('Begain Addons Loading')
|
||||
local success,err = pcall(require,'Addons/load')
|
||||
if not success then error(err) end
|
||||
-- Loads anything that does not use ExpCore (source given in the file)
|
||||
verbose('Begain Stand Alone Loading')
|
||||
local success,err = pcall(require,'StandAlone/load')
|
||||
if not success then error(err) end
|
||||
verbose('============================== END ==============================')
|
||||
Reference in New Issue
Block a user