What is Configuration?
The configuration system in LiquidBounce manages all settings, module states, and user preferences. It provides a hierarchical structure for storing and loading configurations, allowing you to save different setups for various scenarios.The configuration system is implemented in
ConfigSystem.kt and uses a hierarchy-based approach with JSON serialization.Configuration Structure
Configurations are organized hierarchically:Configuration Root
The configuration system uses a root folder in your Minecraft directory:Source:
ConfigSystem.kt:56-65Value Types
LiquidBounce supports various value types for configuration:Boolean
True/false toggles for binary settings
Integer
Whole numbers with optional min/max ranges
Float
Decimal numbers for precise values
Text
String values for names and text input
Range
Min/max value pairs (e.g., 3.0..6.0)
Choice
Selection from predefined options
Color
RGB/RGBA color values
Block/Item
Minecraft blocks or items
Multi-Choice
Multiple selections from a list
Mode Group
Grouped settings with multiple modes
Value Implementation
Values are implemented in theValue class:
Source:
Value.kt:63-73Value Properties
Each value has several important properties:Key Path
Values are identified by hierarchical keys:liquidbounce.module.killAura.range
Default Value
Each value stores its default state for restoration:Source:
Value.kt:254-256Value Listeners
Values support change listeners for reactive behavior:Source:
Value.kt:264-269Saving and Loading Configs
Automatic Saving
LiquidBounce automatically saves configurations when:- You change a setting
- You close the game
- You switch configurations
Manual Operations
- Save
- Load
- Backup
Configuration Files
Configurations are stored as JSON files:Serialization and Deserialization
The configuration system uses Gson for JSON processing:Serialization
Source:
ConfigSystem.kt:228-232Deserialization
Source:
ConfigSystem.kt:243-247Auto-Config Feature
One of LiquidBounce’s most powerful features is the Auto-Config system, which provides server-optimized configurations.Auto-configs are community-made configurations designed for specific servers and game modes.
What is Auto-Config?
Auto-config automatically adjusts your settings for optimal performance on specific servers. It includes:- Module enable/disable states
- Optimized value settings
- Server-specific configurations
- Protocol version information
- Bypass status indicators
Loading Auto-Configs
Source:
AutoConfig.kt:102-104Auto-Config Metadata
Auto-configs include metadata about their creation:- Server Address: Target server
- Protocol Version: Minecraft version
- Author: Who created it
- Date/Time: When it was created
- Client Version: LiquidBounce version used
- Status: Bypass status (bypassing, outdated, etc.)
Source:
AutoConfig.kt:289-298Value Groups
Value groups organize related settings together:Types of Value Groups
ValueGroup
ValueGroup
Basic grouping of related values
ToggleableValueGroup
ToggleableValueGroup
Groups that can be enabled/disabled (used by modules)
ModeValueGroup
ModeValueGroup
Groups with multiple selectable modes
Configuration Best Practices
Value State Management
Values use reactive state management with StateFlow:Source:
Value.kt:91-93Include Configuration
When creating auto-configs, you can control what gets included:- Whether to include module binds
- Whether to include hidden states
- Which modules to include
- Which categories to include
Finding Values by Key
The configuration system provides lookup functions:Source:
ConfigSystem.kt:90-96Using Configurations via Commands
Configuration Events
Values emit events when changed:Source:
Value.kt:243Immutable Values
Some values are marked as immutable and cannot be changed:Source:
Value.kt:260-262Conditional Inclusion
Values can be conditionally excluded from configs:Source:
Value.kt:276-278Troubleshooting
Config Not Loading
Config Not Loading
- Check if the file exists in the configs folder
- Verify JSON syntax is valid
- Look for error messages in the console
- Try reloading all configs with
.config reload
Settings Not Saving
Settings Not Saving
- Ensure LiquidBounce has write permissions
- Check if the value is marked as immutable
- Verify the config file isn’t corrupted
Auto-Config Issues
Auto-Config Issues
- Verify your protocol version matches
- Check server compatibility
- Ensure you have the latest LiquidBounce version
- Try loading the config manually
Related Topics
Modules
Learn about modules that configurations control
Commands
Use commands to manage configurations
Scripting
Access configuration programmatically
ClickGUI
Manage settings through the GUI