load Config
Loads the plugin configuration from the config.yml file and initializes all configuration properties.
This method performs a complete configuration loading sequence that includes:
Ensuring the default configuration file exists
Reloading the configuration from disk
Parsing and caching all configuration values
Applying default values for missing or invalid entries
Validating configuration values for correctness
Configuration Loading Process:
Default Configuration Setup:
Calls saveDefaultConfig() to create config.yml if it doesn't exist
Ensures the configuration file has all required sections and keys
Preserves existing configuration values when adding new defaults
Configuration Reload:
Calls reloadConfig() to read the current configuration from disk
Refreshes the internal FileConfiguration instance
Handles YAML parsing errors gracefully
Value Extraction and Caching:
Reads each configuration value using type-safe methods
Applies default values for missing or invalid configuration entries
Caches values in memory for efficient access throughout plugin lifecycle
Database Configuration Loading:
Host: Defaults to "localhost" for local database connections
Port: Defaults to 3306 (standard MySQL port)
Database Name: Defaults to "minecraft_mmo"
Username: Defaults to "user" (should be changed in production)
Password: Defaults to "password" (should be changed in production)
SSL Usage: Defaults to false (disabled for local connections)
Connection Pool Size: Defaults to 10 connections
Debug Configuration Loading:
Debug Mode: Defaults to true (enabled for development)
Log Level: Defaults to "INFO" for balanced logging
Gameplay Settings Loading:
Welcome Messages: Defaults to true (enabled by default)
Welcome Message: Defaults to "Welcome to Minecraft MMO, %player%!"
Autosave Interval: Defaults to 5 minutes
Error Handling:
Missing configuration sections are handled gracefully with defaults
Invalid data types are caught and replaced with default values
YAML parsing errors are logged but don't prevent plugin loading
Malformed configuration values fall back to safe defaults
Thread Safety: This method should be called from the main server thread during plugin initialization to avoid conflicts with Bukkit's configuration system.
Performance Considerations:
Configuration loading involves file I/O and should be done sparingly
All values are cached after loading for efficient runtime access
Configuration reloading during runtime is supported but not recommended
Since
1.0.0
See also
for default configuration file creation
for configuration reloading from disk
for the underlying configuration system