ModLoaderConfig🔗
Inherits: Object
Class for managing per-mod configurations.
Constants🔗
• LOG_NAME
: "ModLoader:Config"
🔗
• DEFAULT_CONFIG_NAME
: "default"
🔗
Method Descriptions🔗
• ModConfig
create_config(mod_id: String, config_name: String, config_data: Dictionary)
static🔗
Description:🔗
Creates a new configuration for a mod.
Parameters:🔗
mod_id
(String
): The ID of the mod.config_name
(String
): The name of the configuration.config_data
(Dictionary
): The configuration data to be stored.
Returns:
• ModConfig
update_config(config: ModConfig)
static🔗
Description:🔗
Updates an existing ModConfig
object with new data and saves the config file.
Parameters:🔗
Returns:
• bool
delete_config(config: ModConfig)
static🔗
Description:🔗
Deletes a ModConfig
object and performs cleanup operations.
Parameters:🔗
Returns:
bool
: True if the deletion was successful, False otherwise.
• void set_current_config(config: ModConfig)
static🔗
Description:🔗
Sets the current configuration of a mod to the specified configuration.
Parameters:🔗
• Dictionary
get_config_schema(mod_id: String)
static🔗
Description:🔗
Returns the schema for the specified mod id.
Parameters:🔗
mod_id
(String
): The ID of the mod.
Returns:
- A dictionary representing the schema for the mod's configuration file.
• Dictionary
get_schema_for_prop(config: ModConfig, prop: String)
static🔗
Description:🔗
Retrieves the schema for a specific property key.
Parameters:🔗
config
(ModConfig
): TheModConfig
object from which to retrieve the schema.prop
(String
): The property key for which to retrieve the schema.
Returns:
Dictionary
: The schema dictionary for the specified property.
• Array
get_mods_with_config()
static🔗
Description:🔗
Retrieves an Array of mods that have configuration files.
Returns:
Array
: An Array containing the mod data of mods that have configuration files.
• Dictionary
get_configs(mod_id: String)
static🔗
Description:🔗
Retrieves the configurations dictionary for a given mod ID.
Parameters:🔗
mod_id
: The ID of the mod.
Returns:
Dictionary
: A dictionary containing the configurations for the specified mod. If the mod ID is invalid or no configurations are found, an empty dictionary is returned.
• ModConfig
get_config(mod_id: String, config_name: String)
static🔗
Description:🔗
Retrieves the configuration for a specific mod and configuration name.
Parameters:🔗
Returns:
• bool
has_current_config(mod_id: String)
static🔗
Description:🔗
Checks whether a mod has a current configuration set.
Parameters:🔗
mod_id
(String
): The ID of the mod.
Returns:
bool
: True if the mod has a current configuration, false otherwise.
• bool
has_config(mod_id: String, config_name: String)
static🔗
Description:🔗
Checks whether a mod has a configuration with the specified name.
Parameters:🔗
Returns:
bool
: True if the mod has a configuration with the specified name, False otherwise.
• ModConfig
get_default_config(mod_id: String)
static🔗
Description:🔗
Retrieves the default configuration for a specified mod ID.
Parameters:🔗
mod_id
(String
): The ID of the mod.
Returns:
ModConfig
: TheModConfig
object representing the default configuration for the specified mod. If the mod ID is invalid or no configuration is found, returns null.
• ModConfig
get_current_config(mod_id: String)
static🔗
Description:🔗
Retrieves the currently active configuration for a specific mod.
Parameters:🔗
mod_id
(String
): The ID of the mod.
Returns:
• String
get_current_config_name(mod_id: String)
static🔗
Description:🔗
Retrieves the name of the current configuration for a specific mod.
Parameters:🔗
mod_id
(String
): The ID of the mod.
Returns:
String
The currently active configuration name for the given mod id or an empty string if not found.
• ModConfig
refresh_config_data(config: ModConfig)
static🔗
Description:🔗
Refreshes the data of the provided configuration by reloading it from the config file.
Parameters:🔗
Returns:
ModConfig
: TheModConfig
object with refreshed data if successful, or the original object otherwise.
• void refresh_current_configs()
static🔗
Description:🔗
Iterates over all mods to refresh the data of their current configurations, if available.
Returns:
- No return value
Compares the previous configuration data with the refreshed data and emits the [signal ModLoader.current_config_changed] signal if changes are detected.
This function ensures that any changes made to the configuration files outside the application are reflected within the application's runtime, allowing for dynamic updates without the need for a restart.