A modern, multi-version rewrite of The Macro / Keybind Mod — the long-running client-side Minecraft mod that binds keys, mouse buttons and menus to scripts: from a one-liner that types a command to a full automation routine with variables, loops, conditionals, events and pathfinding.
The original (net.eq2online.macros, by Mumfrey) froze at Minecraft 1.12.2 on the
now-defunct LiteLoader. MacroKeybindMod revives it from the ground up on Fabric, with
first-class multi-version support.
-
:material-vector-square:{ .lg } One engine, every version
A pure-JVM scripting core with zero Minecraft dependencies, wired into Fabric and compiled against 23 Minecraft versions (1.14.4 → 1.21.11) from a single source tree.
-
:material-code-braces:{ .lg } Two languages, one runtime
Write the classic
$${ … }$$MKB syntax or a clean modern brace syntax — both compile to the same instruction set. -
:material-map-marker-path:{ .lg } Its own pathfinding
A from-scratch A* over the block grid (walk / diagonal / step / fall / parkour) — no Baritone. Drive it straight from a script with
goto(x, y, z). -
:material-flask-outline:{ .lg } Tested
The engine ships a real unit-test suite (363 tests): lexer, parser, runtime VM, variables, expressions, actions, pathfinding.
!!! tip "Try it in your browser" The Script Editor runs MacroKeybindMod scripts live — write a macro, press Run, see the output. No install needed.
=== "Legacy MKB syntax"
```macro
$${
// toggle an auto-clicker
if(automine);
log("Automine off"); unset(automine);
else;
log("Automine on"); set(automine);
do; key(attack); while(automine);
endif;
}$$
```
=== "Modern syntax"
```macro
if automine {
log("Automine off")
unset(automine)
} else {
log("Automine on")
set(automine)
forever {
key(attack)
}
}
```
Both compile to the same flat instruction list and run on the same virtual machine. See The DSL Language.
:engine pure-JVM Kotlin · no Minecraft lexer → compiler → AST → interpreter VM variables · expressions · actions · params pathfinding (A*) · macro model · modules shaded in (Jar-in-Jar) :fabric Stonecutter · 23 Minecraft versions keybinds · MC actions · GUI · events · navigation
The engine is independently buildable and testable — the heart of the project never needs Minecraft to develop or verify. See Architecture.
- :material-rocket-launch: Getting Started — install, bind a key, write your first macro.
- :material-book-open-variant: The DSL Language — variables, expressions, control flow, both syntaxes.
- :material-variable: Parameters & Variables —
$$codes and%var%expansion. - :material-map-marker-path: Pathfinding — the A* engine and
goto. - :material-pencil-box-outline: Script Editor — try scripts live in the browser.
- :material-format-list-bulleted: Catalog — every action, variable and event.
!!! warning "Use responsibly" Automating gameplay can violate a server's rules (for example, Hypixel's Terms of Service). MacroKeybindMod is a general-purpose client tool; how you use it — and any consequences — are your responsibility.