Skip to main content

What are Commands?

Commands provide a text-based interface to interact with LiquidBounce features. They allow you to configure modules, manage settings, and perform various operations without using the GUI.
Commands are defined in Command.kt and managed by CommandManager.kt. They support parameters, subcommands, and auto-completion.

Command Prefix

By default, all commands start with a period (.). You can change this prefix in the command settings.
var prefix by text("Prefix", ".")
Source: CommandManager.kt:111
If you forget the prefix, you can always access it through the ClickGUI settings.

Command Syntax

Commands follow a structured syntax:
<prefix><command> [subcommand] <required_parameter> [optional_parameter]

Examples

# Toggle a module
.toggle KillAura

# Add a friend with alias
.friend add PlayerName "Best Friend"

# Set a module value
.value KillAura Range 4.2

# Bind a module to a key
.bind Flight G

Command Structure

Each command consists of:
  • Name: Primary identifier for the command
  • Aliases: Alternative names (e.g., t for toggle)
  • Parameters: Required or optional inputs
  • Subcommands: Nested commands for organization
  • Handler: The code that executes when the command runs
class Command(
    val name: String,
    val aliases: List<String>,
    val parameters: List<Parameter<*>>,
    val subcommands: List<Command>,
    val executable: Boolean,
    val handler: Handler?,
    val requiresIngame: Boolean,
)
Source: Command.kt:43-51

Built-in Commands

LiquidBounce includes many built-in commands organized by category:

Client Commands

  • toggle (alias: t) - Enable or disable a module
  • bind - Bind a module to a key
  • binds - List all module keybinds
  • hide - Hide a module from the HUD
  • panic - Quickly disable all modules
  • value - Get or set module values
  • config - Manage configurations
  • localconfig - Manage local configuration files
  • client - Client settings and information
  • friend - Manage friends list
    • add <name> [alias] - Add a friend
    • remove <name> - Remove a friend
    • alias <name> <alias> - Set friend alias
    • list - Show all friends
    • clear - Remove all friends
  • targets - Manage target priorities
  • help - Show available commands
  • clear - Clear chat history
  • script - Manage scripts
  • debug - Toggle debug modes

In-Game Commands

  • ping - Check your connection latency
  • tps - Display server ticks per second
  • serverinfo - Show server information
  • coordinates (alias: coords) - Display your position
  • username - Change your username display
  • say - Send a chat message
  • fakeplayer - Spawn a fake player for testing
  • remoteview - View from another player’s perspective
  • vclip - Teleport vertically
  • teleport - Teleport to coordinates
  • playerteleport - Teleport to a player
  • itemgive - Give yourself items (creative)
  • itemrename - Rename held item
  • itemenchant - Enchant held item
  • itemskull - Get player skulls
  • itemstack - Modify item stack size

Module-Specific Commands

  • xray - Configure X-Ray block list
  • invsee - View another player’s inventory
  • autoaccount - Manage auto-login accounts
  • autodisable - Configure auto-disable conditions
  • models - Manage deep learning models
  • translate - Translate messages
  • autotranslate - Configure auto-translation
  • marketplace - Browse and install scripts/configs
Source: Full command list from CommandManager.kt:124-165

Parameters

Commands can accept different types of parameters:

Parameter Types

  • String: Text input (use quotes for spaces: "Best Friend")
  • Integer: Whole numbers
  • Float: Decimal numbers
  • Boolean: true/false values
  • Module: Module names (with auto-completion)
  • Player: Player names (with auto-completion)
  • Block: Minecraft block types
  • Item: Minecraft items

Required vs Optional

Parameters can be:
  • Required: Must be provided (shown as <parameter>)
  • Optional: Can be omitted (shown as [parameter])
  • Vararg: Accepts multiple values
// Required parameter
ParameterBuilder.module()
    .required()
    .build()

// Optional parameter
ParameterBuilder.begin<String>("alias")
    .verifiedBy(ParameterBuilder.STRING_VALIDATOR)
    .optional()
    .build()
Source: Example from CommandFriend.kt:194-203

Auto-Completion

The command system provides intelligent auto-completion:
  • Command names: Press Tab to see available commands
  • Module names: Auto-completes module names when typing
  • Player names: Suggests online players
  • Subcommands: Shows available subcommands
  • Parameter values: Context-aware suggestions
fun autoComplete(
    builder: SuggestionsBuilder,
    tokenizationResult: Pair<List<String>, List<Int>>,
    commandIdx: Int,
    isNewParameter: Boolean
)
Source: Command.kt:200-205

Subcommands

Many commands have subcommands for better organization. For example, the friend command:
.friend add PlayerName          # Add friend
.friend remove PlayerName       # Remove friend
.friend alias PlayerName "BFF"  # Set alias
.friend list                    # List all friends
.friend clear                   # Clear all friends
Subcommands are organized hierarchically:
val subcommandMap = Object2ObjectRBTreeMap<String, Command>(String.CASE_INSENSITIVE_ORDER)
Source: Command.kt:71

Command Execution

When you execute a command:
  1. Tokenization: The input is split into command parts
  2. Command Lookup: The command is found in the registry
  3. Validation: Parameters are validated and parsed
  4. Execution: The command handler runs
  5. Feedback: Results are displayed in chat
fun execute(cmd: String) {
    val args = tokenizeCommand(cmd).first
    // Command resolution and execution...
}
Source: CommandManager.kt:237-363

Error Handling

The command system provides helpful error messages:

Unknown Command

If you type an unknown command, the system suggests similar commands:
Unknown command: 'toggl'
Did you mean:
- toggle
- t
The hint system uses Levenshtein distance to find similar commands:
val hintCount by int("HintCount", 5, 0..10)
Source: CommandManager.kt:116

Invalid Parameters

Clear messages when parameters are wrong:
  • Missing required parameters
  • Invalid parameter types
  • Out-of-range values

Command Examples

# Toggle modules
.toggle KillAura
.t Velocity

# Bind modules
.bind Flight G
.bind Speed R

# Hide modules
.hide NameTags

Creating Custom Commands

You can create custom commands using the scripting system! Check out the Scripting page to learn more.

Command Best Practices

1

Use Tab Completion

Press Tab while typing to see suggestions and save time
2

Learn Aliases

Common commands have short aliases (.t instead of .toggle)
3

Quote Strings with Spaces

Use quotes for names or aliases with spaces: .friend add Player "Best Bud"
4

Use Help Command

Type .help to see all available commands and their usage
5

Check Command Feedback

Read the chat messages to confirm your commands executed correctly

Troubleshooting

  • Check your command prefix in settings
  • Verify the command name (use .help to list all commands)
  • Make sure LiquidBounce is enabled
  • Check if the parameter is required
  • Verify parameter type (number vs. string)
  • Use quotes for multi-word strings
  • Some commands require you to be in a world
  • Check if you have the necessary permissions (creative mode for item commands)

Modules

Learn about modules that commands control

Configuration

Understand configuration and values

Scripting

Create custom commands with scripts

ClickGUI

Alternative GUI-based control

Build docs developers (and LLMs) love