From b4772dc59d3ac28f6913cc0b1b1a2546bd17bfea Mon Sep 17 00:00:00 2001 From: Cooldude2606 Date: Sun, 26 Jul 2020 21:27:24 +0100 Subject: [PATCH 1/3] Fixed issue with add_player and remove_player --- expcore/roles.lua | 179 ++++++++++++++++++++++------------------------ 1 file changed, 87 insertions(+), 92 deletions(-) diff --git a/expcore/roles.lua b/expcore/roles.lua index ad18234b..a95d1918 100644 --- a/expcore/roles.lua +++ b/expcore/roles.lua @@ -119,15 +119,15 @@ local write_json = _C.write_json --- @dep expcore.common local Roles = { _prototype={}, config={ - order={}, -- Contains the order of the roles, lower index is better - roles={}, -- Contains the raw info for the roles, indexed by role name - flags={}, -- Contains functions that run when a flag is added/removed from a player - internal={}, -- Contains all internally accessed roles, such as root, default - players={} -- Contains the roles that players have + order = {}, -- Contains the order of the roles, lower index is better + roles = {}, -- Contains the raw info for the roles, indexed by role name + flags = {}, -- Contains functions that run when a flag is added/removed from a player + internal = {}, -- Contains all internally accessed roles, such as root, default + players = {} -- Contains the roles that players have }, events = { - on_role_assigned=script.generate_event_name(), - on_role_unassigned=script.generate_event_name(), + on_role_assigned = script.generate_event_name(), + on_role_unassigned = script.generate_event_name(), } } @@ -145,7 +145,7 @@ end) -- there is a second half called role_update which triggers after the event call, it also is called when a player joins local function emit_player_roles_updated(player, type, roles, by_player_name, skip_game_print) by_player_name = game.player and game.player.name or by_player_name or '' - local by_player = Game.get_player_from_any(by_player_name) + local by_player = game.players[by_player_name] local by_player_index = by_player and by_player.index or 0 -- get the event id from the type of emit local event = Roles.events.on_role_assigned @@ -153,12 +153,13 @@ local function emit_player_roles_updated(player, type, roles, by_player_name, sk event = Roles.events.on_role_unassigned end -- convert the roles to objects and get the names of the roles - local role_names = {} - for index, role in pairs(roles) do + local index, role_names, valid_roles = 0, {}, {} + for _, role in ipairs(roles) do role = Roles.get_role_from_any(role) if role then - roles[index] = role - table.insert(role_names, role.name) + index = index + 1 + valid_roles[index] = role + role_names[index] = role.name end end -- output to all the different locations: game print, player sound, event trigger and role log @@ -175,7 +176,7 @@ local function emit_player_roles_updated(player, type, roles, by_player_name, sk tick=game.tick, player_index=player.index, by_player_index=by_player_index, - roles=roles + roles=valid_roles }) write_json('log/roles.log', { player_name=player.name, @@ -194,7 +195,7 @@ game.player.print(Roles.debug()) ]] function Roles.debug() local output = '' - for index, role_name in pairs(Roles.config.order) do + for index, role_name in ipairs(Roles.config.order) do local role = Roles.config.roles[role_name] local color = role.custom_color or Colours.white color = string.format('[color=%d, %d, %d]', color.r, color.g, color.b) @@ -212,7 +213,7 @@ Roles.print_to_roles({'Administrator', 'Moderator'}, 'Hello, World!') ]] function Roles.print_to_roles(roles, message) - for _, role in pairs(roles) do + for _, role in ipairs(roles) do role = Roles.get_role_from_any(role) if role then role:print(message) end end @@ -230,9 +231,9 @@ function Roles.print_to_roles_higher(role, message) role = Roles.get_role_from_any(role) if not role then return end local roles = {} - for index, role_name in pairs(Roles.config.order) do + for index, role_name in ipairs(Roles.config.order) do if index <= role.index and role_name ~= Roles.config.internal.default then - table.insert(roles, role_name) + roles[#roles+1] = role_name end end Roles.print_to_roles(roles, message) @@ -250,9 +251,9 @@ function Roles.print_to_roles_lower(role, message) role = Roles.get_role_from_any(role) if not role then return end local roles = {} - for index, role_name in pairs(Roles.config.order) do + for index, role_name in ipairs(Roles.config.order) do if index >= role.index and role_name ~= Roles.config.internal.default then - table.insert(roles, role_name) + roles[#roles+1] = role_name end end Roles.print_to_roles(roles, message) @@ -318,8 +319,8 @@ function Roles.get_player_roles(player) local roles = Roles.config.players[player.name] or {} local default = Roles.config.roles[Roles.config.internal.default] local rtn = {default} - for _, role_name in pairs(roles) do - table.insert(rtn, Roles.config.roles[role_name]) + for index, role_name in ipairs(roles) do + rtn[index+1] = Roles.config.roles[role_name] end return rtn end @@ -336,7 +337,7 @@ function Roles.get_player_highest_role(player) local roles = Roles.get_player_roles(player) if not roles then return end local highest - for _, role in pairs(roles) do + for _, role in ipairs(roles) do if not highest or role.index < highest.index then highest = role end @@ -344,9 +345,9 @@ function Roles.get_player_highest_role(player) return highest end ---- Assinment. +--- Assignment. -- Functions for changing player's roles --- @section assinment +-- @section assignment --[[-- Gives a player the given role(s) with an option to pass a by player name used in the log @tparam LuaPlayer player the player that will be assigned the roles @@ -365,10 +366,11 @@ Roles.assign_player('Cooldude2606', 'Moderator', nil, true) function Roles.assign_player(player, roles, by_player_name, skip_checks, silent) local valid_player = Game.get_player_from_any(player) if not skip_checks and not valid_player then return end + if not player then return end if type(roles) ~= 'table' or roles.name then roles = {roles} end - for _, role in pairs(roles) do + for _, role in ipairs(roles) do role = Roles.get_role_from_any(role) if role then role:add_player(valid_player or player, valid_player == nil, true) @@ -400,7 +402,7 @@ function Roles.unassign_player(player, roles, by_player_name, skip_checks, silen if type(roles) ~= 'table' or roles.name then roles = {roles} end - for _, role in pairs(roles) do + for _, role in ipairs(roles) do role = Roles.get_role_from_any(role) if role then role:remove_player(valid_player or player, valid_player == nil, true) @@ -453,7 +455,7 @@ function Roles.player_has_role(player, search_role) if not roles then return end search_role = Roles.get_role_from_any(search_role) if not search_role then return end - for _, role in pairs(roles) do + for _, role in ipairs(roles) do if role.name == search_role.name then return true end end return false @@ -471,7 +473,7 @@ local has_flag = Roles.player_has_flag(game.player, 'is_donator') function Roles.player_has_flag(player, flag_name) local roles = Roles.get_player_roles(player) if not roles then return end - for _, role in pairs(roles) do + for _, role in ipairs(roles) do if role:has_flag(flag_name) then return true end @@ -491,7 +493,7 @@ local has_flag = Roles.player_has_flag(game.player, 'is_donator') function Roles.player_allowed(player, action) local roles = Roles.get_player_roles(player) if not roles then return end - for _, role in pairs(roles) do + for _, role in ipairs(roles) do if role:is_allowed(action) then return true end @@ -499,7 +501,7 @@ function Roles.player_allowed(player, action) return false end ---- Definations. +--- Definitions. -- Functions which are used to define roles -- @section checks @@ -522,17 +524,17 @@ function Roles.define_role_order(order) _C.error_if_runtime() Roles.config.order = {} local done = {} - for _, role in ipairs(order) do + for index, role in ipairs(order) do if type(role) == 'table' and role.name then done[role.name] = true - table.insert(Roles.config.order, role.name) + Roles.config.order[index] = role.name else done[role] = true - table.insert(Roles.config.order, role) + Roles.config.order[index] = role end end -- Check no roles were missed - for role_name, _ in pairs(Roles.config.roles) do + for role_name in pairs(Roles.config.roles) do if not done[role_name] then error('Role missing '..role_name..' from role order, all defined roles must be included.', 2) end @@ -555,7 +557,7 @@ end @tparam string name the name of the flag which the roles will have @tparam function callback the function that is called when roles are assigned -@usage-- Defineing a flag trigger +@usage-- Defining a flag trigger Roles.define_flag_trigger('is_donator', function(player, state) player.character_running_speed_modifier = state and 1.5 or 1 end) @@ -598,7 +600,7 @@ end @tparam[opt=name] string short_hand the shortened version of the name @treturn Roles._prototype the start of the config chain for this role -@usage-- Defineing a new role +@usage-- Defining a new role local role = Roles.new_role('Moderator', 'Mod') ]] @@ -649,7 +651,7 @@ function Roles._prototype:allow(actions) if type(actions) ~= 'table' then actions = {actions} end - for _, action in pairs(actions) do + for _, action in ipairs(actions) do self.allowed_actions[action]=true end return self @@ -659,7 +661,7 @@ end @tparam table actions indexed with numbers and is an array of action names, order has no effect @treturn Roles._prototype allows chaining -@usage-- Disalow an action for a role, useful if inherit an action from a parent +@usage-- Disallow an action for a role, useful if inherit an action from a parent role:disallow{ 'command/kill', 'gui/game settings' @@ -670,7 +672,7 @@ function Roles._prototype:disallow(actions) if type(actions) ~= 'table' then actions = {actions} end - for _, action in pairs(actions) do + for _, action in ipairs(actions) do self.allowed_actions[action]=false end return self @@ -733,7 +735,7 @@ function Roles._prototype:has_flag(name) end --- Role Properties. --- Functions for chaning other proerties +-- Functions for changing other properties -- @section properties --[[-- Sets a custom player tag for the role, can be accessed by other code @@ -850,30 +852,31 @@ role:add_player(game.player) ]] function Roles._prototype:add_player(player, skip_check, skip_event) - player = Game.get_player_from_any(player) + local valid_player = Game.get_player_from_any(player) -- Default role cant have players added or removed if self.name == Roles.config.internal.default then return end -- Check the player is valid, can be skipped but a name must be given - if not player then - if skip_check then - player = {name=player} - else - return false - end + local player_name + if valid_player then + player_name = valid_player.name + elseif skip_check then + player_name = player + else + return false end -- Add the role name to the player's roles - local player_roles = Roles.config.players[player.name] + local player_roles = Roles.config.players[player_name] if player_roles then - for _, role_name in pairs(player_roles) do + for _, role_name in ipairs(player_roles) do if role_name == self.name then return false end end - table.insert(player_roles, self.name) + player_roles[#player_roles+1] = self.name else - Roles.config.players[player.name] = {self.name} + Roles.config.players[player_name] = {self.name} end -- Emits event if required - if not skip_event then - emit_player_roles_updated(player, 'assign', {self}) + if valid_player and not skip_event then + emit_player_roles_updated(valid_player, 'assign', {self}) end return true end @@ -889,37 +892,39 @@ role:remove_player(game.player) ]] function Roles._prototype:remove_player(player, skip_check, skip_event) - player = Game.get_player_from_any(player) + local valid_player = Game.get_player_from_any(player) -- Default role cant have players added or removed if self.name == Roles.config.internal.default then return end -- Check the player is valid, can be skipped but a name must be given - if not player then - if skip_check then - player = {name=player} - else - return false - end + local player_name + if valid_player then + player_name = valid_player.name + elseif skip_check then + player_name = player + else + return false end -- Remove the role from the players roles - local player_roles = Roles.config.players[player.name] - local rtn = false + local player_roles = Roles.config.players[player_name] + local found = false if player_roles then - for index, role_name in pairs(player_roles) do + for index, role_name in ipairs(player_roles) do if role_name == self.name then - table.remove(player_roles, index) - rtn = true + player_roles[index] = player_roles[#player_roles] + player_roles[#player_roles] = nil + found = true break end end if #player_roles == 0 then - Roles.config.players[player.name] = nil + Roles.config.players[player_name] = nil end end -- Emits event if required - if not skip_event then - emit_player_roles_updated(player, 'unassign', {self}) + if valid_player and not skip_event then + emit_player_roles_updated(valid_player, 'unassign', {self}) end - return rtn + return found end --[[-- Returns an array of all the players who have this role, can be filtered by online status @@ -935,30 +940,20 @@ local players = role:get_players(true) ]] function Roles._prototype:get_players(online) local players = {} - -- Gets all players that have this role + -- Search all players to check if they have this role for player_name, player_roles in pairs(Roles.config.players) do - for _, role_name in pairs(player_roles) do + for _, role_name in ipairs(player_roles) do if role_name == self.name then - table.insert(players, player_name) + local player = game.players[player_name] + -- Filter by online state if required + if online == nil or player.connected == online then + players[#players+1] = player + end + break end end end - -- Convert the player names to LuaPlayer - for index, player_name in pairs(players) do - players[index] = Game.get_player_from_any(player_name) - end - -- Filter by online if param is defined - if online == nil then - return players - else - local filtered = {} - for _, player in pairs(players) do - if player.connected == online then - table.insert(filtered, player) - end - end - return filtered - end + return players end --[[-- Will print a message to all players with this role @@ -971,7 +966,7 @@ role:print('Hello, World!') ]] function Roles._prototype:print(message) local players = self:get_players(true) - for _, player in pairs(players) do + for _, player in ipairs(players) do player.print(message) end return #players @@ -979,7 +974,7 @@ end --- Used internally to be the first trigger on an event change, would be messy to include this in 4 different places local function role_update(event) - local player = Game.get_player_by_index(event.player_index) + local player = game.players[event.player_index] -- Updates flags given to the player for flag, async_token in pairs(Roles.config.flags) do local state = Roles.player_has_flag(player, flag) @@ -1006,8 +1001,8 @@ Event.add(defines.events.on_player_joined_game, role_update) -- Every 60 seconds the auto promote check is preformed Event.on_nth_tick(3600, function() local promotes = {} - for _, player in pairs(game.connected_players) do - for _, role in pairs(Roles.config.roles) do + for _, player in ipairs(game.connected_players) do + for _, role in ipairs(Roles.config.roles) do if role.auto_promote_condition then local success, err = pcall(role.auto_promote_condition, player) if not success then From e5c8c6030f93dc4d7c05c40b9cff0441952ccd56 Mon Sep 17 00:00:00 2001 From: Cooldude2606 Date: Sun, 26 Jul 2020 21:35:51 +0100 Subject: [PATCH 2/3] Fixed padding assignment on "order" --- expcore/roles.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/expcore/roles.lua b/expcore/roles.lua index a95d1918..477a5fb5 100644 --- a/expcore/roles.lua +++ b/expcore/roles.lua @@ -119,7 +119,7 @@ local write_json = _C.write_json --- @dep expcore.common local Roles = { _prototype={}, config={ - order = {}, -- Contains the order of the roles, lower index is better + order = {}, -- Contains the order of the roles, lower index is better roles = {}, -- Contains the raw info for the roles, indexed by role name flags = {}, -- Contains functions that run when a flag is added/removed from a player internal = {}, -- Contains all internally accessed roles, such as root, default From 550e11c83d4a37a162d177b6bc3dd5a03debd950 Mon Sep 17 00:00:00 2001 From: Cooldude2606 Date: Sat, 1 Aug 2020 00:05:35 +0000 Subject: [PATCH 3/3] Automatic Doc Update --- docs/addons/Advanced-Start.html | 2 +- docs/addons/Chat-Popups.html | 2 +- docs/addons/Chat-Reply.html | 2 +- docs/addons/Compilatron.html | 2 +- docs/addons/Damage-Popups.html | 2 +- docs/addons/Death-Logger.html | 2 +- docs/addons/Discord-Alerts.html | 2 +- docs/addons/Inventory-Clear.html | 2 +- docs/addons/Pollution-Grading.html | 2 +- docs/addons/Scorched-Earth.html | 2 +- docs/addons/Spawn-Area.html | 2 +- docs/addons/Tree-Decon.html | 2 +- docs/commands/Admin-Chat.html | 2 +- docs/commands/Cheat-Mode.html | 2 +- docs/commands/Clear-Inventory.html | 2 +- docs/commands/Debug.html | 2 +- docs/commands/Find.html | 2 +- docs/commands/Help.html | 2 +- docs/commands/Home.html | 2 +- docs/commands/Interface.html | 2 +- docs/commands/Jail.html | 2 +- docs/commands/Kill.html | 2 +- docs/commands/Me.html | 2 +- docs/commands/Rainbow.html | 2 +- docs/commands/Repair.html | 2 +- docs/commands/Reports.html | 2 +- docs/commands/Roles.html | 2 +- docs/commands/Spawn.html | 2 +- docs/commands/Teleport.html | 2 +- docs/commands/Warnings.html | 2 +- docs/configs/Advanced-Start.html | 2 +- docs/configs/Bonuses.html | 2 +- docs/configs/Chat-Reply.html | 2 +- docs/configs/Commands-Auth-Admin.html | 2 +- docs/configs/Commands-Auth-Roles.html | 2 +- .../Commands-Auth-Runtime-Disable.html | 2 +- docs/configs/Commands-Parse-Roles.html | 2 +- docs/configs/Commands-Parse.html | 2 +- docs/configs/Compilatron.html | 2 +- docs/configs/Death-Logger.html | 2 +- docs/configs/Discord-Alerts.html | 2 +- docs/configs/File-Loader.html | 2 +- docs/configs/Permission-Groups.html | 2 +- docs/configs/Player-List.html | 2 +- docs/configs/Pollution-Grading.html | 2 +- docs/configs/Popup-Messages.html | 2 +- docs/configs/Preset-Player-Colours.html | 2 +- docs/configs/Preset-Player-Quickbar.html | 2 +- docs/configs/Repair.html | 2 +- docs/configs/Rockets.html | 2 +- docs/configs/Roles.html | 2 +- docs/configs/Science.html | 2 +- docs/configs/Scorched-Earth.html | 2 +- docs/configs/Spawn-Area.html | 2 +- docs/configs/Statistics.html | 2 +- docs/configs/Tasks.html | 2 +- docs/configs/Warnings.html | 2 +- docs/configs/Warps.html | 2 +- docs/configs/inventory_clear.html | 2 +- docs/control/Jail.html | 2 +- docs/control/Production.html | 2 +- docs/control/Reports.html | 2 +- docs/control/Rockets.html | 2 +- docs/control/Tasks.html | 2 +- docs/control/Warnings.html | 2 +- docs/control/Warps.html | 2 +- docs/core/Async.html | 2 +- docs/core/Commands.html | 2 +- docs/core/Common.html | 2 +- docs/core/Datastore.html | 2 +- docs/core/Groups.html | 2 +- docs/core/Gui.html | 2 +- docs/core/PlayerData.html | 2 +- docs/core/Roles.html | 24 +++++++++---------- docs/data/Alt-View.html | 2 +- docs/data/Bonus.html | 2 +- docs/data/Greetings.html | 2 +- docs/data/Player-Colours.html | 2 +- docs/data/Quickbar.html | 2 +- docs/data/Tag.html | 2 +- docs/guis/Player-List.html | 2 +- docs/guis/Readme.html | 2 +- docs/guis/Rocket-Info.html | 2 +- docs/guis/Science-Info.html | 2 +- docs/guis/Task-List.html | 2 +- docs/guis/Warps-List.html | 2 +- docs/guis/server-ups.html | 2 +- docs/index.html | 2 +- docs/modules/control.html | 2 +- .../modules.addons.station-auto-name.html | 2 +- docs/modules/overrides.debug.html | 2 +- docs/modules/overrides.math.html | 2 +- docs/modules/overrides.table.html | 2 +- docs/modules/utils.event.html | 2 +- docs/modules/utils.event_core.html | 2 +- docs/modules/utils.task.html | 2 +- docs/topics/LICENSE.html | 2 +- docs/topics/README.md.html | 2 +- 98 files changed, 109 insertions(+), 109 deletions(-) diff --git a/docs/addons/Advanced-Start.html b/docs/addons/Advanced-Start.html index cb81819a..b4fedd31 100644 --- a/docs/addons/Advanced-Start.html +++ b/docs/addons/Advanced-Start.html @@ -361,7 +361,7 @@ generated by LDoc diff --git a/docs/addons/Chat-Popups.html b/docs/addons/Chat-Popups.html index 7396897d..7645cb1b 100644 --- a/docs/addons/Chat-Popups.html +++ b/docs/addons/Chat-Popups.html @@ -362,7 +362,7 @@ generated by LDoc diff --git a/docs/addons/Chat-Reply.html b/docs/addons/Chat-Reply.html index 16e3ca27..bef5ca5b 100644 --- a/docs/addons/Chat-Reply.html +++ b/docs/addons/Chat-Reply.html @@ -389,7 +389,7 @@ generated by LDoc diff --git a/docs/addons/Compilatron.html b/docs/addons/Compilatron.html index 77558e11..74459852 100644 --- a/docs/addons/Compilatron.html +++ b/docs/addons/Compilatron.html @@ -598,7 +598,7 @@ generated by LDoc diff --git a/docs/addons/Damage-Popups.html b/docs/addons/Damage-Popups.html index f9ff8ade..593ac914 100644 --- a/docs/addons/Damage-Popups.html +++ b/docs/addons/Damage-Popups.html @@ -362,7 +362,7 @@ generated by LDoc diff --git a/docs/addons/Death-Logger.html b/docs/addons/Death-Logger.html index c7d17fdd..b44e1aa4 100644 --- a/docs/addons/Death-Logger.html +++ b/docs/addons/Death-Logger.html @@ -417,7 +417,7 @@ generated by LDoc diff --git a/docs/addons/Discord-Alerts.html b/docs/addons/Discord-Alerts.html index 33645060..700191e0 100644 --- a/docs/addons/Discord-Alerts.html +++ b/docs/addons/Discord-Alerts.html @@ -473,7 +473,7 @@ generated by LDoc diff --git a/docs/addons/Inventory-Clear.html b/docs/addons/Inventory-Clear.html index 7ce622bf..d3c74619 100644 --- a/docs/addons/Inventory-Clear.html +++ b/docs/addons/Inventory-Clear.html @@ -361,7 +361,7 @@ generated by LDoc diff --git a/docs/addons/Pollution-Grading.html b/docs/addons/Pollution-Grading.html index 32ef3656..07eca129 100644 --- a/docs/addons/Pollution-Grading.html +++ b/docs/addons/Pollution-Grading.html @@ -333,7 +333,7 @@ generated by LDoc diff --git a/docs/addons/Scorched-Earth.html b/docs/addons/Scorched-Earth.html index 0a31328e..b31fe9e2 100644 --- a/docs/addons/Scorched-Earth.html +++ b/docs/addons/Scorched-Earth.html @@ -417,7 +417,7 @@ generated by LDoc diff --git a/docs/addons/Spawn-Area.html b/docs/addons/Spawn-Area.html index 5d96c8ef..3e635291 100644 --- a/docs/addons/Spawn-Area.html +++ b/docs/addons/Spawn-Area.html @@ -389,7 +389,7 @@ generated by LDoc diff --git a/docs/addons/Tree-Decon.html b/docs/addons/Tree-Decon.html index 020f9de7..f353d1ef 100644 --- a/docs/addons/Tree-Decon.html +++ b/docs/addons/Tree-Decon.html @@ -389,7 +389,7 @@ generated by LDoc diff --git a/docs/commands/Admin-Chat.html b/docs/commands/Admin-Chat.html index ee6bab2f..fe1bd0d5 100644 --- a/docs/commands/Admin-Chat.html +++ b/docs/commands/Admin-Chat.html @@ -401,7 +401,7 @@ generated by LDoc diff --git a/docs/commands/Cheat-Mode.html b/docs/commands/Cheat-Mode.html index 269427ee..c0cdead4 100644 --- a/docs/commands/Cheat-Mode.html +++ b/docs/commands/Cheat-Mode.html @@ -374,7 +374,7 @@ generated by LDoc diff --git a/docs/commands/Clear-Inventory.html b/docs/commands/Clear-Inventory.html index 722db4ce..6dd3fdc6 100644 --- a/docs/commands/Clear-Inventory.html +++ b/docs/commands/Clear-Inventory.html @@ -401,7 +401,7 @@ generated by LDoc diff --git a/docs/commands/Debug.html b/docs/commands/Debug.html index 73ae9b91..b6b2e741 100644 --- a/docs/commands/Debug.html +++ b/docs/commands/Debug.html @@ -378,7 +378,7 @@ generated by LDoc diff --git a/docs/commands/Find.html b/docs/commands/Find.html index 8972fd64..3f3256dc 100644 --- a/docs/commands/Find.html +++ b/docs/commands/Find.html @@ -373,7 +373,7 @@ generated by LDoc diff --git a/docs/commands/Help.html b/docs/commands/Help.html index aba8dbae..b6766805 100644 --- a/docs/commands/Help.html +++ b/docs/commands/Help.html @@ -417,7 +417,7 @@ generated by LDoc diff --git a/docs/commands/Home.html b/docs/commands/Home.html index 879b81eb..295fb230 100644 --- a/docs/commands/Home.html +++ b/docs/commands/Home.html @@ -471,7 +471,7 @@ generated by LDoc diff --git a/docs/commands/Interface.html b/docs/commands/Interface.html index e72c871c..cea8d2cc 100644 --- a/docs/commands/Interface.html +++ b/docs/commands/Interface.html @@ -429,7 +429,7 @@ generated by LDoc diff --git a/docs/commands/Jail.html b/docs/commands/Jail.html index 2a9eaf3a..62c68f97 100644 --- a/docs/commands/Jail.html +++ b/docs/commands/Jail.html @@ -624,7 +624,7 @@ generated by LDoc diff --git a/docs/commands/Kill.html b/docs/commands/Kill.html index 92662ede..105dadaf 100644 --- a/docs/commands/Kill.html +++ b/docs/commands/Kill.html @@ -402,7 +402,7 @@ generated by LDoc diff --git a/docs/commands/Me.html b/docs/commands/Me.html index c91790d7..4d01e797 100644 --- a/docs/commands/Me.html +++ b/docs/commands/Me.html @@ -373,7 +373,7 @@ generated by LDoc diff --git a/docs/commands/Rainbow.html b/docs/commands/Rainbow.html index 7ea6f5a9..b44da161 100644 --- a/docs/commands/Rainbow.html +++ b/docs/commands/Rainbow.html @@ -401,7 +401,7 @@ generated by LDoc diff --git a/docs/commands/Repair.html b/docs/commands/Repair.html index cd32438a..b269385e 100644 --- a/docs/commands/Repair.html +++ b/docs/commands/Repair.html @@ -334,7 +334,7 @@ generated by LDoc diff --git a/docs/commands/Reports.html b/docs/commands/Reports.html index 2e5fbec4..35f1096b 100644 --- a/docs/commands/Reports.html +++ b/docs/commands/Reports.html @@ -598,7 +598,7 @@ generated by LDoc diff --git a/docs/commands/Roles.html b/docs/commands/Roles.html index 691f79ed..42e1079a 100644 --- a/docs/commands/Roles.html +++ b/docs/commands/Roles.html @@ -570,7 +570,7 @@ generated by LDoc diff --git a/docs/commands/Spawn.html b/docs/commands/Spawn.html index e54bcef6..11c5a7aa 100644 --- a/docs/commands/Spawn.html +++ b/docs/commands/Spawn.html @@ -402,7 +402,7 @@ generated by LDoc diff --git a/docs/commands/Teleport.html b/docs/commands/Teleport.html index 8174e4c0..fe0c7a4f 100644 --- a/docs/commands/Teleport.html +++ b/docs/commands/Teleport.html @@ -497,7 +497,7 @@ generated by LDoc diff --git a/docs/commands/Warnings.html b/docs/commands/Warnings.html index 2203fef8..778f0551 100644 --- a/docs/commands/Warnings.html +++ b/docs/commands/Warnings.html @@ -582,7 +582,7 @@ generated by LDoc diff --git a/docs/configs/Advanced-Start.html b/docs/configs/Advanced-Start.html index 1fa42c89..f21731ae 100644 --- a/docs/configs/Advanced-Start.html +++ b/docs/configs/Advanced-Start.html @@ -519,7 +519,7 @@ generated by LDoc diff --git a/docs/configs/Bonuses.html b/docs/configs/Bonuses.html index 36a25368..0ecfb68b 100644 --- a/docs/configs/Bonuses.html +++ b/docs/configs/Bonuses.html @@ -250,7 +250,7 @@ generated by LDoc diff --git a/docs/configs/Chat-Reply.html b/docs/configs/Chat-Reply.html index 5894c922..dafc3c1b 100644 --- a/docs/configs/Chat-Reply.html +++ b/docs/configs/Chat-Reply.html @@ -498,7 +498,7 @@ generated by LDoc diff --git a/docs/configs/Commands-Auth-Admin.html b/docs/configs/Commands-Auth-Admin.html index ac14ab39..7c827aae 100644 --- a/docs/configs/Commands-Auth-Admin.html +++ b/docs/configs/Commands-Auth-Admin.html @@ -307,7 +307,7 @@ generated by LDoc diff --git a/docs/configs/Commands-Auth-Roles.html b/docs/configs/Commands-Auth-Roles.html index c1320d42..7e2bd450 100644 --- a/docs/configs/Commands-Auth-Roles.html +++ b/docs/configs/Commands-Auth-Roles.html @@ -333,7 +333,7 @@ generated by LDoc diff --git a/docs/configs/Commands-Auth-Runtime-Disable.html b/docs/configs/Commands-Auth-Runtime-Disable.html index afc586ac..1b6e7ef1 100644 --- a/docs/configs/Commands-Auth-Runtime-Disable.html +++ b/docs/configs/Commands-Auth-Runtime-Disable.html @@ -455,7 +455,7 @@ generated by LDoc diff --git a/docs/configs/Commands-Parse-Roles.html b/docs/configs/Commands-Parse-Roles.html index 4d82d1bb..09e772cb 100644 --- a/docs/configs/Commands-Parse-Roles.html +++ b/docs/configs/Commands-Parse-Roles.html @@ -367,7 +367,7 @@ generated by LDoc diff --git a/docs/configs/Commands-Parse.html b/docs/configs/Commands-Parse.html index 0aee12b4..74b87fed 100644 --- a/docs/configs/Commands-Parse.html +++ b/docs/configs/Commands-Parse.html @@ -351,7 +351,7 @@ see ./expcore/commands.lua for more details

generated by LDoc diff --git a/docs/configs/Compilatron.html b/docs/configs/Compilatron.html index fcaea157..422c8b5e 100644 --- a/docs/configs/Compilatron.html +++ b/docs/configs/Compilatron.html @@ -367,7 +367,7 @@ generated by LDoc diff --git a/docs/configs/Death-Logger.html b/docs/configs/Death-Logger.html index 6817ab56..fa9157d4 100644 --- a/docs/configs/Death-Logger.html +++ b/docs/configs/Death-Logger.html @@ -429,7 +429,7 @@ generated by LDoc diff --git a/docs/configs/Discord-Alerts.html b/docs/configs/Discord-Alerts.html index d42cbbb0..5943b415 100644 --- a/docs/configs/Discord-Alerts.html +++ b/docs/configs/Discord-Alerts.html @@ -250,7 +250,7 @@ generated by LDoc diff --git a/docs/configs/File-Loader.html b/docs/configs/File-Loader.html index 7963f691..e4cec416 100644 --- a/docs/configs/File-Loader.html +++ b/docs/configs/File-Loader.html @@ -253,7 +253,7 @@ generated by LDoc diff --git a/docs/configs/Permission-Groups.html b/docs/configs/Permission-Groups.html index 458a6ee3..d1bbb2d7 100644 --- a/docs/configs/Permission-Groups.html +++ b/docs/configs/Permission-Groups.html @@ -308,7 +308,7 @@ generated by LDoc diff --git a/docs/configs/Player-List.html b/docs/configs/Player-List.html index 324226d6..a68bac4f 100644 --- a/docs/configs/Player-List.html +++ b/docs/configs/Player-List.html @@ -797,7 +797,7 @@ generated by LDoc diff --git a/docs/configs/Pollution-Grading.html b/docs/configs/Pollution-Grading.html index 65a05db0..36030d46 100644 --- a/docs/configs/Pollution-Grading.html +++ b/docs/configs/Pollution-Grading.html @@ -397,7 +397,7 @@ generated by LDoc diff --git a/docs/configs/Popup-Messages.html b/docs/configs/Popup-Messages.html index 5110f055..a21a4d19 100644 --- a/docs/configs/Popup-Messages.html +++ b/docs/configs/Popup-Messages.html @@ -427,7 +427,7 @@ generated by LDoc diff --git a/docs/configs/Preset-Player-Colours.html b/docs/configs/Preset-Player-Colours.html index 4ac0f60b..24509ce0 100644 --- a/docs/configs/Preset-Player-Colours.html +++ b/docs/configs/Preset-Player-Colours.html @@ -337,7 +337,7 @@ generated by LDoc diff --git a/docs/configs/Preset-Player-Quickbar.html b/docs/configs/Preset-Player-Quickbar.html index cedd6db3..f7a9aee0 100644 --- a/docs/configs/Preset-Player-Quickbar.html +++ b/docs/configs/Preset-Player-Quickbar.html @@ -250,7 +250,7 @@ generated by LDoc diff --git a/docs/configs/Repair.html b/docs/configs/Repair.html index 4018d584..a2634fc4 100644 --- a/docs/configs/Repair.html +++ b/docs/configs/Repair.html @@ -427,7 +427,7 @@ generated by LDoc diff --git a/docs/configs/Rockets.html b/docs/configs/Rockets.html index 989b1f82..22649334 100644 --- a/docs/configs/Rockets.html +++ b/docs/configs/Rockets.html @@ -847,7 +847,7 @@ generated by LDoc diff --git a/docs/configs/Roles.html b/docs/configs/Roles.html index 4548c387..7f55c015 100644 --- a/docs/configs/Roles.html +++ b/docs/configs/Roles.html @@ -305,7 +305,7 @@ generated by LDoc diff --git a/docs/configs/Science.html b/docs/configs/Science.html index ba7dc7bc..e63c0b2f 100644 --- a/docs/configs/Science.html +++ b/docs/configs/Science.html @@ -367,7 +367,7 @@ generated by LDoc diff --git a/docs/configs/Scorched-Earth.html b/docs/configs/Scorched-Earth.html index 014f2e43..956d486e 100644 --- a/docs/configs/Scorched-Earth.html +++ b/docs/configs/Scorched-Earth.html @@ -401,7 +401,7 @@ generated by LDoc diff --git a/docs/configs/Spawn-Area.html b/docs/configs/Spawn-Area.html index c4d03e74..cac1ee1a 100644 --- a/docs/configs/Spawn-Area.html +++ b/docs/configs/Spawn-Area.html @@ -757,7 +757,7 @@ generated by LDoc diff --git a/docs/configs/Statistics.html b/docs/configs/Statistics.html index 1b5608b3..a075e436 100644 --- a/docs/configs/Statistics.html +++ b/docs/configs/Statistics.html @@ -637,7 +637,7 @@ generated by LDoc diff --git a/docs/configs/Tasks.html b/docs/configs/Tasks.html index e3607e8d..64ef9d93 100644 --- a/docs/configs/Tasks.html +++ b/docs/configs/Tasks.html @@ -397,7 +397,7 @@ generated by LDoc diff --git a/docs/configs/Warnings.html b/docs/configs/Warnings.html index 3f36bc5f..45912912 100644 --- a/docs/configs/Warnings.html +++ b/docs/configs/Warnings.html @@ -368,7 +368,7 @@ generated by LDoc diff --git a/docs/configs/Warps.html b/docs/configs/Warps.html index cd18521c..838d0f13 100644 --- a/docs/configs/Warps.html +++ b/docs/configs/Warps.html @@ -787,7 +787,7 @@ generated by LDoc diff --git a/docs/configs/inventory_clear.html b/docs/configs/inventory_clear.html index 7e2ec758..56ec0832 100644 --- a/docs/configs/inventory_clear.html +++ b/docs/configs/inventory_clear.html @@ -250,7 +250,7 @@ generated by LDoc diff --git a/docs/control/Jail.html b/docs/control/Jail.html index 2f69225f..0601bd9b 100644 --- a/docs/control/Jail.html +++ b/docs/control/Jail.html @@ -1221,7 +1221,7 @@ generated by LDoc diff --git a/docs/control/Production.html b/docs/control/Production.html index 654c4eed..9c17f791 100644 --- a/docs/control/Production.html +++ b/docs/control/Production.html @@ -1342,7 +1342,7 @@ generated by LDoc diff --git a/docs/control/Reports.html b/docs/control/Reports.html index 33bf0cc6..a955e881 100644 --- a/docs/control/Reports.html +++ b/docs/control/Reports.html @@ -1123,7 +1123,7 @@ generated by LDoc diff --git a/docs/control/Rockets.html b/docs/control/Rockets.html index 58c68146..c5a98580 100644 --- a/docs/control/Rockets.html +++ b/docs/control/Rockets.html @@ -997,7 +997,7 @@ generated by LDoc diff --git a/docs/control/Tasks.html b/docs/control/Tasks.html index deb5b527..ace37844 100644 --- a/docs/control/Tasks.html +++ b/docs/control/Tasks.html @@ -983,7 +983,7 @@ Tasks.update_task(task_id, 'We need more iron!', gam generated by LDoc diff --git a/docs/control/Warnings.html b/docs/control/Warnings.html index a0e978bf..6a839ee3 100644 --- a/docs/control/Warnings.html +++ b/docs/control/Warnings.html @@ -1506,7 +1506,7 @@ generated by LDoc diff --git a/docs/control/Warps.html b/docs/control/Warps.html index fea79c2c..0576e2fb 100644 --- a/docs/control/Warps.html +++ b/docs/control/Warps.html @@ -1520,7 +1520,7 @@ Warps.make_warp_tag(warp_id) generated by LDoc diff --git a/docs/core/Async.html b/docs/core/Async.html index 92c153ee..fbac0d1a 100644 --- a/docs/core/Async.html +++ b/docs/core/Async.html @@ -611,7 +611,7 @@ Async.register(function(player, message) generated by LDoc diff --git a/docs/core/Commands.html b/docs/core/Commands.html index e3a6d14d..9d8d4e7e 100644 --- a/docs/core/Commands.html +++ b/docs/core/Commands.html @@ -2426,7 +2426,7 @@ nb: use error(error_message) within your callback to trigger do not trigger dire generated by LDoc diff --git a/docs/core/Common.html b/docs/core/Common.html index eefdbad4..df19de0e 100644 --- a/docs/core/Common.html +++ b/docs/core/Common.html @@ -2765,7 +2765,7 @@ https://github.com/Refactorio/RedMew/blob/9184b2940f311d8c9c891e83429fc57ec7e0c4 generated by LDoc diff --git a/docs/core/Datastore.html b/docs/core/Datastore.html index 57499adf..41dbb360 100644 --- a/docs/core/Datastore.html +++ b/docs/core/Datastore.html @@ -2945,7 +2945,7 @@ ExampleData:on_update(function(key, value) generated by LDoc diff --git a/docs/core/Groups.html b/docs/core/Groups.html index 684a1c89..cdf418d2 100644 --- a/docs/core/Groups.html +++ b/docs/core/Groups.html @@ -1441,7 +1441,7 @@ generated by LDoc diff --git a/docs/core/Gui.html b/docs/core/Gui.html index 0e299b92..31f1c814 100644 --- a/docs/core/Gui.html +++ b/docs/core/Gui.html @@ -4419,7 +4419,7 @@ Gui.left_toolbar_button('entity/inserter', generated by LDoc diff --git a/docs/core/PlayerData.html b/docs/core/PlayerData.html index a074e33f..ea1ce743 100644 --- a/docs/core/PlayerData.html +++ b/docs/core/PlayerData.html @@ -529,7 +529,7 @@ generated by LDoc diff --git a/docs/core/Roles.html b/docs/core/Roles.html index 0ce11277..eac56200 100644 --- a/docs/core/Roles.html +++ b/docs/core/Roles.html @@ -43,9 +43,9 @@