Prerequisites
Before you begin, ensure you have the following tools installed on your system:Gradle
Build automation tool required for compiling LiquidBounce
Node.js
JavaScript runtime needed for the theme system
Git
Version control system for cloning the repository
JDK 21+
Java Development Kit version 21 or higher
LiquidBounce uses Gradle and requires Node.js for the custom theme located in
src-theme/. The project is configured to use JDK 21 with ZGC (Z Garbage Collector) for optimal performance.Verify Gradle installation
Check if Gradle is properly installed by running:Verify Node.js installation
Check if Node.js is properly installed by running:Setting up a workspace
Follow these steps to set up your LiquidBounce development workspace:Clone the repository
Clone the LiquidBounce repository with all submodules:
The
--recurse-submodules flag is important as it ensures all required submodules are cloned along with the main repository.Generate sources (optional)
Generate source files for a better development experience:This step is optional but recommended as it generates decompiled Minecraft sources for easier development and debugging.
Open in your IDE
Open the folder as a Gradle project in your preferred IDE:
- IntelliJ IDEA:
File > Openand select theLiquidBouncefolder - Eclipse:
File > Import > Gradle > Existing Gradle Project - VS Code: Open the folder and ensure the Gradle extension is installed
Project structure
Understanding the project structure will help you navigate the codebase:Build configuration
LiquidBounce is configured inbuild.gradle.kts with the following key settings:
- Fabric Loom: Gradle plugin for Fabric mod development
- Kotlin JVM: Kotlin support with explicit backing fields
- Access Widener: Located at
src/main/resources/liquidbounce.accesswidener - Custom Theme: Built from
src-theme/and bundled into the JAR
Key Gradle tasks
Dependencies
LiquidBounce includes several important dependencies:- Fabric API: Core modding framework
- Fabric Kotlin: Kotlin language support for Fabric
- ViaFabricPlus: Multi-version protocol support
- ModMenu: In-game mod configuration menu
- GraalVM Polyglot: ScriptAPI support for custom scripts
- MCEF: Chromium Embedded Framework for web rendering
- OkHttp: HTTP client library
- Discord IPC: Discord Rich Presence integration
Optional recommended mods for better performance include Sodium, Lithium, ImmediatelyFast, and Iris. These are automatically included in the development environment.
Troubleshooting
Build fails with 'Node.js not found'
Build fails with 'Node.js not found'
Ensure Node.js is installed and available in your PATH. The theme build process (
src-theme/) requires npm to install dependencies and build the UI.Gradle daemon fails to start
Gradle daemon fails to start
If you see OutOfMemory errors, increase the JVM heap size in
gradle.properties:Mixins not being applied
Mixins not being applied
Ensure the access widener is properly configured in Clean and rebuild the project:
build.gradle.kts:Submodules not cloned
Submodules not cloned
If you forgot to use
--recurse-submodules when cloning, initialize them manually:Next steps
Now that you have LiquidBounce set up, head over to the quick start guide to learn how to run the client and use your first modules.Quick start guide
Learn how to launch the client, access the ClickGUI, and enable your first modules