--- If the settings object for the given player name doesn't exist, it is created. -- @param name The name of the player to ensure has a settings object. local function settings_init(name) if worldeditadditions.farwand.player_data[name] == nil then minetest.log("INFO", "Initialising settings for "..name) worldeditadditions.farwand.player_data[name] = { maxdist = 1000, skip_liquid = true } end end --- Gets a given farwand setting for the given player name. -- @param string name The name of the player to get the setting for. -- @param string setting_name The name of the setting to fetch. -- @return any The value of the setting. function worldeditadditions.farwand.setting_get(name, setting_name) if setting_name == nil then return nil end settings_init(name) return worldeditadditions.farwand.player_data[name][setting_name] end --- Sets a given farwand setting for the given player name to the given value. -- @param string name The name of the player to set the setting for. -- @param string setting_name The name of the setting to set. -- @param any setting_value The value to set the setting to. -- @return bool Whether setting the setting was successful or not. function worldeditadditions.farwand.setting_set(name, setting_name, setting_value) if setting_name == nil then return false end settings_init(name) worldeditadditions.farwand.player_data[name][setting_name] = setting_value return true end