BindAliasPlus

BindAliasPlus

be like cfg pro in counter strike

by
585 Downloads
fabricgame-mechanicsmagic
Rent Server with this Mod

About this Mod

BindAliasPlus

A Fabric client-side mod that lets you create aliases (macros) and bind them to keys/mouse buttons, so one key press can run a full sequence of actions — similar to a “bind/alias config” workflow.

Client-only: servers do not need to install this mod.


Installation

  1. Install Fabric Loader for your Minecraft version.
  2. Download the mod from Modrinth: https://modrinth.com/mod/bind-alias-plus/versions
  3. Put the .jar into your Minecraft mods folder.
  4. Launch Minecraft.

Core idea

You define an alias as a list of steps, then bind a key to run it.

  • Steps are separated by spaces.
  • A step can be:
    • an alias with no args: jump
    • an alias with args: swapSlot\10\39 (args are separated by backslash \)

You can bind keys so that:

  • on press it runs one alias
  • on release it runs another alias (typical +something / -something pattern)

Syntax

A) Alias definitions are split by spaces

An alias definition is a sequence of steps split by space :

  • equipElytra jump wait\1 jump swapSlot\19 +use -use

B) Step arguments are split by backslash \

If a step contains \, the part before the first \ is the alias name, and the rest are its arguments:

  • swapSlot\10\39 → alias name swapSlot, args: 10, 39
  • wait\20 → alias name wait, args: 20

C) Spaces inside a single step argument

If a single step argument must contain spaces, wrap that argument in double quotes.

This matters mostly for the built-ins that send chat/commands, or for nested definitions (see next section).


Nested definitions (important): BuiltinAliasWithGreedyStringArgs and ;

Some built-in aliases take a greedy string payload so you can define / bind / unbind / chat / run commands from inside another alias:

  • alias
  • bind
  • unbind
  • say
  • sendCommand

The key trick: avoid quotes by using ;

Outer parsing always splits alias steps by spaces.

So if you write a nested payload that contains spaces, you normally need quotes to keep it as a single argument.

However, for the greedy-string built-ins you can also avoid quotes by writing the nested payload as a single token and using semicolon ; to separate pieces inside that token.

Examples (both work):

  • With quotes (payload has spaces):

    • /alias makeJumpAlias alias\"jump +jump wait\1 -jump"
  • Without quotes (payload is one token, use ; as separators):

    • /alias makeJumpAlias alias\jump;+jump;wait\1;-jump

How greedy-string built-ins process the payload

  • alias\..., bind\..., unbind\...:

    • they replace ; with space before sending the final chat command to the game.
    • This is what makes /alias makeJumpAlias alias\jump;+jump;wait\1;-jump work: it sends a chat command /alias jump +jump wait\1 -jump when makeJumpAlias is called.
  • say\... and sendCommand\...:

    • they do NOT replace ;.
    • Whatever you put in their payload is sent as-is (so ; stays as a literal character).

Commands

/alias <name> <definition>

Create or replace a user alias.

Notes:

  • You cannot overwrite built-in aliases.
  • User aliases run by expanding the definition into steps.

Example:

  • /alias pearl swapSlot\12 +use wait\1 -use swapSlot\12

/bind <key> <definition-or-aliasName>

Bind a key/mouse button.

Behavior:

  1. If <definition-or-aliasName> matches an existing alias name (including +name/-name forms), it binds to that alias.
  2. Otherwise it treats it as an inline definition and creates an internal alias for the bind.

Press/release behavior:

  • If your bind definition contains +something and/or -something, the mod can derive an “opposite” release side automatically from those +/- steps.

Examples:

  • /bind g jump
  • /bind g +forward wait\10 -forward

/bindByAliasName <key> <aliasName>

Bind a key directly to an existing alias name.

Examples:

  • /bindByAliasName mouse5 +fly
  • /bindByAliasName g jump

/unbind <key>

Remove a bind.

Example:

  • /unbind mouse5

/reloadCFG

Reload config file from disk.


Configuration file

Path:

  • config/bind-alias-plus.cfg

Rules:

  • One command per line
  • Leading / is optional
  • # starts a comment line

Reload after editing:

  • /reloadCFG

Built-in aliases

BindAliasPlus ships with built-in aliases you can call inside your alias definitions.

1) Built-ins with arguments (use \ between args)

Alias Arguments What it does Example
log\text text Log message to console (debug) log\Hello
slot\n n=1..9 Select hotbar slot slot\3
swapSlot\a\b a,b Swap two slots swapSlot\10\39
swapSlot\a a Swap slot a with the currently selected hotbar slot swapSlot\19
wait\ticks ticks Delay execution (20 ticks = 1 second) wait\20
yaw\deg deg Add to yaw (relative) yaw\90
pitch\deg deg Add to pitch (relative) pitch\-30
setYaw\deg deg Set yaw (absolute) setYaw\180
setPitch\deg deg Set pitch (absolute) setPitch\0
alias\payload / alias\"payload" payload Create/replace an alias. If you want to avoid quotes, you can write the payload as one token and use ; (it will be converted to spaces). alias\jump;+jump;wait\1;-jump
bind\payload / bind\"payload" payload Bind a key. If you want to avoid quotes, write the payload as one token and use ; (it will be converted to spaces). bind\mouse4;+bow
unbind\key key Unbind a key. (No special ; handling needed.) unbind\g
say\text / say\"text" text Send a chat message. ; is NOT special here (it is sent literally). Quotes only needed if text has spaces. say\"hello world"
sendCommand\cmd / sendCommand\"cmd" cmd Send a command (no leading /). ; is NOT special here. Quotes only needed if command has spaces. sendCommand\"gamemode creative"

Slot numbering for swapSlot

Slots follow Minecraft’s internal indexing in this mod’s UI docs:

  • 1-9 → hotbar
  • 10-36 → inventory
  • 37-40 → armor slots (37 feet … 40 head)
  • 41 → offhand

2) Aliases without arguments (direct actions)

These are available by default and are convenient for press/release patterns:

Alias Equivalent to What it does
+attack / -attack builtinAttack\1 / builtinAttack\0 Hold/release left-click
+use / -use builtinUse\1 / builtinUse\0 Hold/release right-click
+forward / -forward builtinForward\1 / builtinForward\0 Hold/release forward
+back / -back builtinBack\1 / builtinBack\0 Hold/release back
+left / -left builtinLeft\1 / builtinLeft\0 Hold/release left
+right / -right builtinRight\1 / builtinRight\0 Hold/release right
+jump / -jump builtinJump\1 / builtinJump\0 Hold/release jump
+sneak / -sneak builtinSneak\1 / builtinSneak\0 Hold/release sneak
+sprint / -sprint builtinSprint\1 / builtinSprint\0 Hold/release sprint
drop / dropStack builtinDrop\0 / builtinDrop\1 Drop one / whole stack
swapHand Swap main-hand and offhand
cyclePerspective Cycle camera perspective
FPS / TPS / TPS2 builtinSetPerspective\0/1/2 Set specific perspective
+silent / -silent builtinSilent\1 / builtinSilent\0 Suppress/restore bind/alias feedback messages
reloadCFG Reload config file

Examples

Elytra + firework (press-and-hold)

Put:

  • Elytra in slot 10 (inventory first row, first slot)
  • Fireworks in slot 19 (inventory second row, first slot)

Then:

  • /alias equipElytra swapSlot\10\39
  • /alias jump +jump wait\1 -jump
  • /alias +fly equipElytra jump wait\1 jump swapSlot\19 +use -use
  • /alias -fly equipElytra swapSlot\19
  • /bind mouse5 +fly

Quick bow without using a hotbar slot

Put your bow in slot 11:

  • /alias +bow swapSlot\11 +use
  • /alias -bow -use swapSlot\11
  • /bind mouse4 +bow

Toggle bind pattern (state switcher)

You can create toggle switches by rebinding a key to different aliases on each press. This is useful when you want state to persist after releasing the key (unlike press-and-hold pattern).

Complete elytra toggle example

Put:

  • Elytra in slot 10 (inventory first row, first slot)
  • Fireworks in slot 26 (inventory third row, first slot)

Config file setup:

# Define reusable equipment aliases
alias +equipElytra swapSlot\10\39
alias -equipElytra swapSlot\10\39
alias +holdFireworks swapSlot\26\41
alias -holdFireworks swapSlot\26\41

# Define jump helper
alias jump +jump wait\1 -jump

# Define the actual fly action
alias +fly +equipElytra jump wait\1 jump +holdFireworks +use -use
alias -fly -equipElytra -holdFireworks

# State switcher: creates two states that toggle back and forth
alias fly1 bind\"mouse5 fly2" +fly
alias fly2 bind\"mouse5 fly1" -fly

# Initial bind
bind mouse5 fly1

How it works:

  1. Press mouse5 → executes fly1 → rebinds mouse5 to fly2 → runs +fly (equips elytra and activates)
  2. Press mouse5 again → executes fly2 → rebinds mouse5 back to fly1 → runs -fly (unequips elytra)
  3. State persists even after releasing the key (this is the key difference from press-and-hold pattern)

Using +silent/-silent to avoid chat spam

When rebinding keys frequently, you'll see "Bound key..." messages. Use silent mode to suppress them:

# Wrap bind commands in silent mode
alias fly1 +silent bind\"mouse5 fly2" -silent +fly
alias fly2 +silent bind\"mouse5 fly1" -silent -fly
bind mouse5 fly1

Or keep it cleaner - the bind built-in is already silent by default when called from inside an alias:

# The bind commands won't spam, but +fly/-fly will show normal feedback
alias fly1 bind\"mouse5 fly2" +fly
alias fly2 bind\"mouse5 fly1" -fly
bind mouse5 fly1

Toggle vs Press-and-hold comparison

Toggle pattern (state switcher):

  • Use bind mouse5 fly1 with rebinding logic
  • State persists after releasing the key
  • Press once to activate, press again to deactivate
  • Good for: toggleable modes, equipment swapping

Press-and-hold pattern:

  • Use bind mouse5 +fly directly
  • Activates on press, deactivates on release
  • Must hold the key to keep active
  • Good for: temporary actions, charge-and-release mechanics

Both patterns can use the same +fly/-fly aliases!


Notes / limitations

  • Keybind triggers are ignored while you are typing in: chat, sign editor, book editor, command block screen.
  • Automation can be suspicious on some servers (anti-cheat). Use responsibly.

License

CC0-1.0

Available Versions

BindAliasPlus 1.1.1release
MC 1.21.9, 1.21.10, 1.21.11fabric
February 26, 2026
BindAliasPlus 1.1.0release
MC 1.21.9, 1.21.10, 1.21.11fabric
February 26, 2026
BindAliasPlus 1.0.4release
MC 1.21.9, 1.21.10, 1.21.11fabric
February 13, 2026
BindAliasPlus 1.0.4release
MC 1.21.5, 1.21.6, 1.21.7, 1.21.8fabric
February 11, 2026
BindAliasPlus 1.0.4release
MC 1.21, 1.21.1, 1.21.2, 1.21.3fabric
February 11, 2026

How to Install BindAliasPlus on Your Server

1

Order Server

Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).

2

Set fabric Loader

In the panel under "Egg", select the fabric loader and matching Minecraft version (1.21.11).

3

Install Mod

Open the mod browser in the dashboard and search for "BindAliasPlus". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.

Compatibility

Mod Loaders

fabric

Minecraft Versions

1.21.11, 1.21.10, 1.21.9 (+9 more)

Server-side

Unsupported

Recommended RAM

4 GB(min. 3 GB)

Frequently Asked Questions

BindAliasPlus server crashes on startup – what to do?

Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.11). You can switch loaders with one click in the panel.

Is BindAliasPlus compatible with fabric?

BindAliasPlus officially supports fabric for Minecraft 1.21.11, 1.21.10, 1.21.9. The Mado dashboard automatically detects incompatible loader combinations.

Server lagging with BindAliasPlus – how to optimize performance?

Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if BindAliasPlus consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.

Rent Modded Server

Install BindAliasPlus with just one click on your server.

Recommended RAM
4 GBab €8/mo
Min. 3 GB | +1 GB pro 8 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
Creative Commons Zero v1.0 Universal
Server-side
Unsupported

Supported Versions

1.21.111.21.101.21.91.21.81.21.71.21.61.21.51.21.41.21.31.21.2+2 more