If you're a server admin, a player on a server with lots of plugins, or just love automating every aspect of your minecraft experience, you will honestly wonder how you lived without this mod...
Note: if you're looking for LiteLoader it now has its own shiny new thread!
- Easy to use GUI. Just activate the mod then just press the key you want to bind. No need to memorize key codes or names!
- Bind keys which are already used for something else! Want to put a macro on the number keys, mouse buttons or WASD? Using the override function you can use these keys for both their normal function or as macros when you need them.
- Edit keybinds quickly. Change your binds whenever you want. You can even copy and move macros from key to key with drag 'n drop.
- Multiple configurations. Different binds in different servers? No problem! It even switches automatically.
- In-game text editor. Want to make a complex macro? No need to alt-tab to notepad, create and edit text files inside minecraft.
- Lots of easy-to-use parameters. Lists of friends, automatic responses, warp points, towns, you name it.
- Scripting! Build custom auto-announcers, time-delay messages, or create your own auto-walk, toggleable-sneak or sprint keys.
- Custom GUIs! Create your own custom GUI and hook up your macros for instant in-game menus
- Permissions System Server admins can lock down chosen features of the mod using the easy-to-setup Client Permissions plugin, allowing seamless integration with the server's existing rank system.
- Install LiteLoader
- Download the .litemod file for your version of minecraft here and save it into your "mods" folder (create the "mods" folder if it does not already exist) NOTE: Some browsers will change the file extension to .zip when downloading, if this happens be sure to change it back to .litemod or LiteLoader will not find the mod!
- Run the Minecraft client
- Check the Controls screen in the Minecraft configuration to make sure there are no conflicts with other keys you use. This mod adds pages to the Controls screen for enhanced configuration of any mods which add custom keys
Expand for more images:
To bind keys:
- In-game, simply press [SNEAK KEY]+GRAVE (change the key in the options if this doesn't work for you) and you will be prompted to press a key.
- Press the key you would like to bind or click it on the on-screen keyboard
- Enter the chat command (including the / at the start), separate multiple commands with pipe "|"
- Press ENTER to save the keybind, press ESC to cancel it. To edit a keybind repeat the same process.
- If the key doesn't have any other function (eg. it is not bound to any other built-in command or function) then just press the key
- If the key is bound to another function (such as the WASD keys or T,I etc) press your [MACRO ACTIVATE] key (as you set in the options) followed by the key.
- Alternatively if the key is bound to another function press [MACRO OVERRIDE]+[KEY] (again, you can set this in the Controls screen)
You can find out a lot of useful information about the mod via my tutorials on YouTube.
To get started using the mod, you can find an list of commands and keycodes and guide to the other features in the mod in the readme.txt
As of version 0.8.5 language packs are no longer required as the supported languages are directly integrated into the main download and will automatically switch based on the chosen Minecraft language. If you would like to provide a language pack for your language please contact me via PM.
Current language packs in the mod:
- German Language pack by AJFire and Gorlem
- French Language pack by Chokapix
- Polish Language pack by kamild1996
- Dutch Language pack by Dyon123
- Spanish Language pack by agubelu
- Ukrainian Language pack by eXtendedZero
Changes for 0.9.11
- Updated to Minecraft 1.6.4 and tweak system 1.8
- Large internal overhaul of the events system, might be bugs please let me know.
- API Version to 13, now supports modules providing custom events.
- Added experimental filterablechat gui and corresponding event, for science. Disabled by default.
- All script actions that logically ought to return a value now return a value.
- Added return value info to the command reference screen
- Fixed issue with using expansion operator as an array index not working as expected
- Fixed durability change event on shears
- Updated for Minecraft 1.6.2, and believe me this was no picnic
- Kick/disconnect now properly triggers onJoinGame when rejoining
- Improvements to macro enqueue/dequeue which should prevent CoModificationException when calling STOP inside an EXEC'd task
- Fixed ECHO not working inside UNSAFE when flood protection is enabled (still prevented when flood protection is off)
- Improved escaping for | inside script actions, \| should now work as expected in regex and ECHO
- Fixed issue with array iterator position var
- Improved SETRES to work more reliably than the old version
- Added RESOURCEPACK command as an alias of TEXTUREPACK, both versions work for compatibility purposes
- Added environment var iterator "env" with iterator variable VARNAME
- API Version bump to 12
- Online player list $$u is now sorted again
- Fixed issue with numpad enter not being recognised on Macs
- Use fixed custom font in binding screen to avoid display being messed up
- INDEXOF now takes a fourth parameter which when set to TRUE will perform a case-sensitive lookup (default is case-insensitive)
- Added ENCODE and DECODE which perform base64 encode and decode, you're welcome Bagline
- Added SQRT function with signature SQRT(input,#outvar); Only works on integers
- Added CALCYAWTO (calc yaw to) function which provides functionality of old POLARXZ. This function returns the YAW value (in minecraft degrees, 0 points SOUTH) that points to the specified X/Z coordinate pair
- File include limit is now configurable (previously hard-coded limit was 10 includes)
- Added SPLIT and JOIN which can explode and implode arrays:
- Updated Russian translation by boroda_ua
- Updated Ukranian translation by eXtendedZero
- Updated to Minecraft 1.5.2
- Added UNSAFE blocks which disable the execution rate limit normally applied to macros
- Added GUI for assigning custom GUI's to available "slots" such as ingame, inchat, etc.
- Added "scoreboard" and "indebug" slots for ingame GUI's
- Added SHOWGUI command for displaying arbitrary custom GUI's: SHOWGUI("somecustomgui");
- Added BINDGUI command for assigning GUI's to slots via script: BINDGUI("ingame","somecustomgui");
- Added armour item max damage vars: BOOTSDAMAGE, LEGGINGSDAMAGE, CHESTPLATEDAMAGE, HELMDAMAGE containing the total damage the armour item can take
- Added armour item name vars: BOOTSNAME, LEGGINGSNAME, CHESTPLATENAME, HELMNAME containing the name of the armour item equipped
- Added CHATVISIBLE, CHATOPACITY, CHATSCALE, CHATWIDTH, CHATHEIGHT, CHATHEIGHTFOCUSED commands for setting chat options
- Added vertical style to progress bar control
- Added support for using expressions in progressbar min and max fields
- Fixed auto-craft for recipes with wildcard block types in the recipe
- Modified auto-crafting status GUI to display failure reasons when auto-crafting fails
- Auto-crafting now returns NORECIPE if a recipe is not found (previously returned NOTSTARTED). NOTSTARTED now indicates a recipe was found but sufficient items to craft the recipe were not.
- Added SERVERMOTD, SERVERNAME, MAXPLAYERS, ONLINEPLAYERS, HITPROGRESS, DISPLAYWIDTH, DISPLAYHEIGHT, CANFLY and FLYING environment variables
- Added HITPROGRESS variable (block breaking progress (range 0-9)
- Added SCREEN environment variable containing currently displayed custom GUI
- Allowed sorting of parameter lists using CTRL+S
- API revisions, API version now 10
- GETSLOT, GETSLOTITEM and SLOTCLICK now act upon the hotbar if no container is currently open using virtual slot ID's 1-9
- Added command reference screen to in-game text editor
- Added SETPROPERTY command for setting GUI control properties via script: SETPROPERTY(controlname,propertyname,value)
- Added "visible" property to all controls, only settable using SETPROPERTY currently
- Updated for Minecraft 1.5.1
- Compatibility with Forge's new runtime deobfuscation
- More consistent handling of array-type specifiers
- Scripting API improvements
- PLAYSOUND now takes a volume value as the second argument (range 0-100)
- GAMMA/FOV and other settings commands parse variables correctly
- Nonexistent environment vars no longer return "False" and will return their name, as per previous behaviour
- Environment vars update more quickly
- ProgressBar control with dynamic expression parsing
- Enchantments on enchanted books can be iterated using the enchantments iterator
- Updated Ukranian translation provided by eXtendedZero and Alexemov
- Updated Russian translation provided by boroda_ua
- EXEC doesn't unexpectedly add quotes to string variables any more
- Changed handling of quotes inside IF and IIF to avoid messing up string comparisons
- Added BREAK for escaping loops
- Added DAYTIME and DAYTICKS variables
- Updated to MC 1.4.7 even though I didn't really need to
- Added VEHICLE variable, which contains the currently ridden entity name
- Added SATURATION variable containing current food saturation variable (rounded to nearest integer)
- Fixed the following issues
- Iterator bug, iterator not removing provider from stack when eval'd inside non-executed conditional blocks
- CHATCLEAN in incoming chat messages causing inifinite loop
- Escaped quotes in the text area messing up highlighting/not being recognised
- Permissions mask not protecting onChat and onJoinedGame
- Undefined variables cause entire string to be blanked out
- String variables in conditions not working correctly
- Crash when using mouse with more than 5 buttons
- Threading issue when adding text to a TextArea
- Item pickup event triggering for nearby players as well as the player
- Bug when assigning strings containing colour codes to a label
- Issue with configs drop-down not being clickable on events or buttons panel
- Iterator bug, iterator not removing provider from stack when eval'd inside non-executed conditional blocks
- Added iterator for player effects called "effects" which provides the following iterator vars:
EFFECTID // Internal effect ID number EFFECT // Bare effect name eg. "SPEED" EFFECTNAME // Effect name eg. "Speed II" EFFECTPOWER // Effect multiplier, eg. 2 EFFECTTIME // Remaining effect time in seconds
- Added new options to GUI command, can now use "macroplayback" and "texteditor" as options
- Added debounce compatibility setting to help combat key event duplication on slow computerss
- Added reserved key detection for Rei Minimap, VoxelPlayer and VoxelFlight
- Added onConfigChange event
- Added option to tell flood protection to ignore messages starting with /
- Changed the way that %-expansions are handled inside conditions so that %-expanded variables are consistently treated as strings.
- Russian language pack supplied by boroda-ua
- Norwegian language pack supplied by glitchdetector
- Added $$k parameter which lists available texture packs
- Updated item enumeration method, should more reliably detect all types of item in the game now, including potions
- Enchantments iterator now has ENCHANTMENTNAME and ENCHANTMENTPOWER as well
- To uninstall the mod, just delete the .liteloader file from your "mods" folder
- All mod configuration information is stored in a folder macros inside your minecraft mods folder, you can save and restore this folder if you want to copy your macros to another computer
- This mod shouldn't create conflicts with other mods using modloader or forge, but to be certain it is worth avoiding binding keys used by other mods. If in doubt delete the .macros.txt file and ensure other mods run as normal.
If you would like to show your support for the mod by including a clickable banner in your sig, click the spoiler next to one of the banners below and copy the code into your forum signature:
I have spent a lot of time developing this mod and some people have asked if they can donate but I believe in making mods for fun and do not wish to make money from it. However if you really would like to make a donation then I recommend making a donation to Vexx32, who will use it to buy minecraft gift codes for people! This way your good will can go towards helping someone to play the game.
Click the donate button to donate to Vexx32's minecraft gift code account:
- The Macro / Keybind Mod is Copyright © 2011-2013 Mumfrey
- LiteLoader is Copyright © 2012-2013 Mumfrey
- You may include this mod in compilation packs or mod collections provided it is unmodified
- You may redistribute LiteLoader binaries, and/or use the source code to make your own LiteMods
- You may redistribute the mod, provided it is umodified
- If you redistribute the mod, I would appreciate it if you provide appropriate attribution where possible and include the above copright message, but this is not a requirement
- You may decompile the mod for personal use but you may not redistribute modified or recompiled versions
Thanks to the MCP team and everyone who's given suggestions and feedback. Special thanks to AJFire for making the original mod logo and providing the german translation. Thanks also to Chokapix for the french translation, kamild1996 for the Polish translation, Dyon123 for the dutch translation, agubelu for the spanish translation, eXtendZero for the Ukrainian translation, and Gorlem for updating the german translation for 1.4!
Enjoy! Please post feedback, comments, abuse here.