35 lines
1.2 KiB
Lua

local Event = require('__stdlib__/stdlib/event/event')
local function set_group_options(index, ...)
local player = game.players[index]
local set = player.mod_settings
for _, val in pairs({...}) do
local func_name = val:find('subgroups') and 'recipe_subgroups' or 'recipe_groups'
if set[val].value then
player['enable_'..func_name]()
else
player['disable_'..func_name]()
end
end
end
local function on_init()
for index in pairs(game.players) do
set_group_options(index, 'picker-use-groups', 'picker-use-subgroups')
end
end
Event.register(Event.core_events.init, on_init)
local function on_player_created(event)
set_group_options(event.player_index, 'picker-use-groups', 'picker-use-subgroups')
end
Event.register(defines.events.on_player_created, on_player_created)
local function on_runtime_mod_setting_changed(event)
local setting = event.setting
if setting == 'picker-use-groups' or setting == 'picker-use-subgroups' then
set_group_options(event.player_index, setting)
end
end
Event.register(defines.events.on_runtime_mod_setting_changed, on_runtime_mod_setting_changed)