Jump to content

Help
Latest News Article

[1.2.5] Macro / Keybind mod v0.8.7 - Updated for 1.2.5!

1.2.5

1766 replies to this topic

#1

  • Location: Birmingham, UK
  • Minecraft: Mumfrey

Posted 11 July 2011 - 08:15 PM

*
POPULAR


Posted Image

If you're a server admin, a player on a server with lots of plugins, or a user of Single Player Commands you will honestly wonder how you lived without this mod...

Posted Image
  • Ridiculously easy to use! Just activate the mod then just press the key you want to bind. No memorizing key codes or names!
  • Bind keys which are already used for something else! Want to put a macro on the number keys 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.

This mod is compatible with most other mods and works well with Single Player Commands. It uses ModLoader for compatibility and does not edit any Notch classes at all.

In essence, this mod modifies the minecraft client to allow you to bind any keyboard key you like to chat commands or simple script functions (like sprinting or opening a gui). Most importantly, it lets you do this without knowing any key codes and has a full, easy-to-use GUI! No more typing obscure commands in order to bind keys. Plus you can edit your binds any time you like and even move and copy them to other keys with just drag-n-drop!

There are also some advanced features like including files and parameters in your macros including a nifty item selection screen, customisable friends list, and lots more. You can also have multiple different configurations and quickly switch between them (for example so that you can have different binds for single player or online).

This mod requires Risugami's ModLoader so make sure you install that first!

Posted Image

  • Install ModLoader
  • Download the .zip file here (direct link) and save it into your "mods" folder (create the "mods" folder if it does not already exist)
  • 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 use ModLoader
Posted Image

Posted Image

Posted Image

Expand for more images:
Spoiler

Posted Image

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.
Posted Image

To get started quickly with the mod, you can use the following codes in your keybind macros to have the mod prompt you for the value to insert. A more extensive list and guide to the other features in the mod is available in the readme.txt
  • Include the code $$? anywhere in your macro as many times as you like to be prompted for a parameter when you run the macro, the parameter will be inserted wherever you enter $$?
  • Include the code $$f anywhere in your macro to be prompted for a friend name (works the same as a parameter)
  • Include the code $$u to prompt for an online user
  • Include the code $$[name] to prompt for a named variable! Unlimited variables!
  • Include the code $$i to prompt for an item with a scrollable list, or $$i:d to include the damage value for the item (to get coloured wool or different steps)
  • Include the code $$<filename.txt> to insert a file (the file must end with .txt and be enclosed in < > as shown. You can include, $$?, $$i, $$f and even other $$<file.txt> in your file.
  • Include the code $$! to halt processing of the macro and leave the last command in the chat buffer.
  • Include the code $$h to prompt for a "home", this option supports automatically fetching homes from the server
  • Include the code $$t to prompt for a "town", this option also supports auto-population
  • Include the code $$m to prompt for a text file to include, similar to $$<file.txt> but allows you to choose the file on-the-fly
  • Include the code $$0 through $$9 to prompt for a text list, supports unlimited text entries of unlimited length
  • Include the code $$w to prompt for a "warp point". This works the same as homes and towns and supports automatic retrieval from the server
  • Include the code $$p to prompt for a "place" (a set of coordinates). You can also include $$px, $$py, $$pz and $$pn to insert only the X, Y, Z or NAME parts of the place respectively.
Posted Image
  • 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)
Posted Image

Posted Image

Posted Image

Posted Image

Posted Image

Posted Image

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: For historic language pack information expand the spoiler:
Spoiler

Posted Image

Here's a short video showing the basics of using this mod:



Posted Image

Changes for version 0.8.7:
  • Updated for Minecraft 1.2.5
  • Added option to log sent messages in the local chat history (defaults to off)
  • Added RANDOM, TIME and PLAYSOUND script actions
  • Added optional 5th parameter to MATCH to specify default value to use if the match fails
  • Event bind buttons now have icons
  • Event-specific help content added when editing an event binding
  • Added YAW, PITCH and DIRECTION global variables
  • Added onPickupItem and onPlayerJoined events
  • Fixed list parameters not retriggering macro compilation
  • Made some improvements to the key injection subsystem to support more reliable injection of key events
Older version changelogs:
Spoiler

Posted Image

  • To uninstall the mod, just delete the .zip file from your "mods" folder
  • Key binds are saved in a file macros.txt in your minecraft folder, you can save and restore this file if you want to copy your macros to another computer
  • This mod shouldn't create conflicts with other mods using modloader, 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. Also ensure that you install modLoader before installing Improved Chat, as mentioned in the Improved Chat thread.

Posted Image

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:

Posted Image
Spoiler
Posted Image
Spoiler
Posted Image
Spoiler
Posted Image
Spoiler

Posted Image

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 and kamild1996 for the Polish translation.

Enjoy! Please post feedback, comments, abuse here. :)
Posted Image

Register or log in to remove.

#2

Posted 18 July 2011 - 05:30 AM

Improved chat by wd1966 have this function :)
http://www.minecraft...sneak-and-chat/
I don't think many people will install your mod because the most of functions are included in Improved chat. But CTRL+<key> is an interesting idea. :rolleyes:
->Add more functions!

#3

    Sarkos

    Zombie Killer

  • Members
  • 199 posts

Posted 18 July 2011 - 05:34 AM

VA, Improved chat hasnt been updated too 1.7.3...

#4

  • Location: Canada
  • Minecraft: Ju0z45

Posted 18 July 2011 - 06:35 AM

Really like this mod, very useful for my sever, recommended it to our regulars, thanks so much!

#5

Posted 18 July 2011 - 08:31 AM

View PostSarkos, on 18 July 2011 - 05:34 AM, said:

VA, Improved chat hasnt been updated too 1.7.3...
I got version that works with 1.7.3. Maybe third party update but it works! Try to search the 1.7.3 compatible version with Google.

#6

  • Location: Birmingham, UK
  • Minecraft: Mumfrey

Posted 18 July 2011 - 09:02 AM

Indeed, thanks for your comments! Improved Chat does look amazing, maybe he will add the quick-bind function used here to that mod? On my travels I did find Improved Chat but it seems very heavyweight if you just want simple keybind functions. I've tried to keep this as tiny as possible (and use modloader for compatibility) as I think it may still appeal to people who like to keep things minimalist.

The two features which may appeal to users are the ability to quickly edit macros/binds in-game, and the fact that you needn't memorise either the LWJGL key codes nor the key names to bind unusual keys: simply press the key you want to bind.

I'll add a link to Improved Chat to the OP though :)
Posted Image

#7

    AJFire

    Carpenter

  • Members
  • 40 posts

Posted 21 July 2011 - 12:05 AM

i really would like to use your mod but it conflicts with improved chat mod (i dont like the binding-system in icm)
When i press tab, it tells me that i should press a button, but nothing happen after that.

#8

  • Location: Birmingham, UK
  • Minecraft: Mumfrey

Posted 27 July 2011 - 11:04 AM

Hmm, sorry you're having trouble. It shouldn't conflict with Improved Chat, I have just installed Improved Chat and tested it and I've been unable to replicate the behaviour you describe. Did you install ModLoader before installing Improved Chat (as mentioned in the Improved Chat forum post)?

I tried with a clean install of 1.7.3, installed Modloader and my own mod, then installed Improved Chat and everything worked as expected, so I don't know what else to try.

Sorry I can't help any more but if you're still having trouble it may be worth checking that there aren't other conflicts - are you running any other ModLoader mods?
Posted Image

#9

    psgts

    Tree Puncher

  • Members
  • 11 posts
  • Minecraft: Proskillgod

Posted 28 July 2011 - 03:00 AM

I love this mod! I like the idea overall. But is ther way to only issue part of the command so you can enter the last part of the command? If your wondering why it is because i do not like typeing the same command over and over with a diffrence of 1thing.
Epic faction server. Fullforcegames.com:25565
join pro8bits =D

#10

    AJFire

    Carpenter

  • Members
  • 40 posts

Posted 28 July 2011 - 09:05 PM

Ok, works now for me. Fresh minecraft, with Inventory Tweaks, HDPatch, an your mod.
I really love your mod because it's easier to bind keys than in Improved Chat.
I hope you are still in the mood for developing this mod, 'cause i have some requests :D

1. Bind Scripts to a key like "> script(welcome.txt)"

inside welcome.txt:

Quote

/give AJFire 278 1
Hi Everybody
/msg MarinaX \

Where "\" just writes "/msg MarinaX" in the chat without pressing enter.

:D

#11

    Job3rt

    Out of the Water

  • Members
  • 9 posts

Posted 29 July 2011 - 11:36 AM

Great Mod! Its awesome! You should be proud! :Diamond: :Diamond: :Diamond:

#12

  • Location: Birmingham, UK
  • Minecraft: Mumfrey

Posted 29 July 2011 - 08:18 PM

View Postpsgts, on 28 July 2011 - 03:00 AM, said:

...is ther way to only issue part of the command so you can enter the last part of the command?

View PostAJFire, on 28 July 2011 - 09:05 PM, said:

...I hope you are still in the mood for developing this mod, 'cause i have some requests :D

1. Bind Scripts to a key like "> script(welcome.txt)"...

I really like both of these ideas! I'll release an update as soon as I can which supports this, I've coded most of it already but I need to properly test it all to make sure there's nothing I've missed, and make it a little prettier too.

To address the first idea, I've made it so that adding $$? anywhere in a macro will bring up a prompt when the macro is executed and will replace the $$? with whatever is entered. It also remembers what was entered, so entering repeat commands is easy, even across sessions (it stores the params in macros.txt).

For the second point I've added the ability to enter $$<filename.txt> to substitute the contents of the file into the macro at that point, which adds a lot of flexibility. You can even put these macro file includes inside a macro file, just be sure not to include the same file inside itself!

Finally, entering $$! in a macro will stop the macro at that point and put the last command into the chat buffer. This works either in an included file or in a simple macro, so the example above could be written as:
/give AJFire 278 1|Hi Everybody|/msg MarinaX $$!
Obviously anything after $$! is ignored.

You could also use
/give AJFire $$? 1|Hi Everybody|/msg MarinaX $$!
to provide a prompt for what item to give :)

Once I've ironed out the bugs and fully tested it I'll put it up here, the last part may need some fixing to work with Improved Chat or it might not even be possible to coexist, I'll have to do some testing of that too.

Thanks for your suggestions and feedback!
Posted Image

#13

  • Location: Portland, Oregon, United States of America
  • Minecraft: Natethegreat832

Posted 06 August 2011 - 12:58 AM

Are you in any relation to Jesus? I LOVE THIS MOD!

"Nothing to Fear but Fear itself... and Herobrine"
Need a nice friendly Harccore Faction PvP server to play on? LegendsCraft is probably one of the best choices. Easy to join, tons of fun, and friendly staff... What if I said Chuck Testa played on here?


#14

  • Location: Birmingham, UK
  • Minecraft: Mumfrey

Posted 10 August 2011 - 12:04 AM

Well having tested all the new features I've now uploaded a new version 0.2 (see links in the original post) which supports the parameter codes I mentioned above plus new codes $$i and $$f which prompt for an item or friend respectively (check out the video for a full demo of the new stuff). Half the coding time on this was actually making a ListBox and ScrollBar control to support the new interface features, as I felt it was important to try and keep everything feeling very simple and easy to use!

Posted Image

The testing resulted in the following restrictions on including files: You can include a maximum of 10 files per macro (this includes files included by other files) which stops the processing getting too ludicrous and mitigates accidental recursion! Also, filenames can only include letters, numbers, space, underscore, dash and dot and must end in .txt

Hope you like the new stuff, please feel free to post any other ideas, suggestions or comments and I'll try to implement them if I can.
Posted Image

#15

    psgts

    Tree Puncher

  • Members
  • 11 posts
  • Minecraft: Proskillgod

Posted 11 August 2011 - 08:07 AM

im confused what are the friend/item thingys for i dnt quite get it
Epic faction server. Fullforcegames.com:25565
join pro8bits =D

#16

Posted 11 August 2011 - 08:35 AM

Will this also work with single player commands?
As that would be the greatest and awesome thing :D


EDIT:
This unfortunately doesn't work with singleplayer commands :(
Please make this work with singleplayer commands.
Please
Posted Image

#17

  • Location: Birmingham, UK
  • Minecraft: Mumfrey

Posted 11 August 2011 - 10:35 AM

View Postpsgts, on 11 August 2011 - 08:07 AM, said:

im confused what are the friend/item thingys for i dnt quite get it
Sorry I didn't explain very well, basically they're just specialised parameters which give you a list of stuff rather than just typing things in.

You mentioned above that you'd like to be able to enter "part" of a command when you execute it - with the new version there are two possible ways of doing this:

1) You can use AJFire's method, which basically will pump a macro into the chat buffer allowing you to complete it, so for example making the macro
/give psgts 4 $$!
will put /give psgts 4 into chat and allow you to type the amount on the end then press enter. However this isn't very useful if you want to enter something in the middle of your command, so on to option...

2) You can use the new method, which allows you to put $$? anywhere in the macro and be prompted for it when you execute the macro. For example
/give psgts $$? 64
will prompt you for the item number. However in this scenario you have to remember the item number, or have a cheat sheet handy with the item numbers on it. The "item" option allows you to instead enter $$i and as well as being prompted you now get an on-screen list of items (as pictured). $$f does exactly the same thing but allows you to maintain a list of "friends", essentially for private messaging or other admin functions.

I should mention that you can also combine paramters in a single macro, so you could actually write:

/give $$f $$i $$?
and it will work perfectly fine, prompting for all 3 parameters in turn.

Hopefully that now makes sense, if it's still not clear take a look at the video which shows the stuff in action.

View PostAwesomer6, on 11 August 2011 - 08:35 AM, said:

Will this also work with single player commands?
As that would be the greatest and awesome thing :D


EDIT:
This unfortunately doesn't work with singleplayer commands :(
Please make this work with singleplayer commands.
Please
I'll take a look, I've not used Single Player Commands myself so I'll have a look at the code and check. The mod itself definitely works in single player as that's where I test the stuff, I just manually disable it before release. If I can make it work then I'll certainly release an updated version which supports that.
Posted Image

#18

Posted 11 August 2011 - 10:55 AM

View PostMumfrey, on 11 August 2011 - 10:35 AM, said:

Sorry I didn't explain very well, basically they're just specialised parameters which give you a list of stuff rather than just typing things in.

You mentioned above that you'd like to be able to enter "part" of a command when you execute it - with the new version there are two possible ways of doing this:

1) You can use AJFire's method, which basically will pump a macro into the chat buffer allowing you to complete it, so for example making the macro
/give psgts 4 $!
will put /give psgts 4 into chat and allow you to type the amount on the end then press enter. However this isn't very useful if you want to enter something in the middle of your command, so on to option...

2) You can use the new method, which allows you to put $? anywhere in the macro and be prompted for it when you execute the macro. For example
/give psgts $? 64
will prompt you for the item number. However in this scenario you have to remember the item number, or have a cheat sheet handy with the item numbers on it. The "item" option allows you to instead enter $i and as well as being prompted you now get an on-screen list of items (as pictured). $f does exactly the same thing but allows you to maintain a list of "friends", essentially for private messaging or other admin functions.

I should mention that you can also combine paramters in a single macro, so you could actually write:

/give $f $i $?
and it will work perfectly fine, prompting for all 3 parameters in turn.

Hopefully that now makes sense, if it's still not clear take a look at the video which shows the stuff in action.


I'll take a look, I've not used Single Player Commands myself so I'll have a look at the code and check. The mod itself definitely works in single player as that's where I test the stuff, I just manually disable it before release. If I can make it work then I'll certainly release an updated version which supports that.


Thank you very much and thank you for replying so quickly


Posted Image

#19

Posted 11 August 2011 - 01:32 PM

this sounds to be an amazing plugin but ...
if you test the stuff on ssp, why do you disable this fonction when you release your mod ?
I'm french so please be indulgent with my english
Posted Image

#20

  • Location: Birmingham, UK
  • Minecraft: Mumfrey

Posted 11 August 2011 - 03:44 PM

View Poststan-fear, on 11 August 2011 - 01:32 PM, said:

this sounds to be an amazing plugin but ...
if you test the stuff on ssp, why do you disable this fonction when you release your mod ?
I test on SSP for simplicity using a test harness which pipes all of the output to the console so that I can test that macros are outputting what they should. The test harness also checks the issued commands to make sure they don't contain illegal characters and aren't longer than 100 characters in length. Taking the server out of the picture is just easier and quicker for testing purposes basically.

Since you can't issue chat commands in single player I just thought it sensible to disable it because it could cause confusion having the macro capability but not actually sending the messages anywhere!

I didn't realise that Single Player Commands existed, now that I'm aware of it I can look into how it handles commands and adjust my mod so that if Single Player Commands mod is detected it will enable itself in SSP. It would be naïve to just assume that it masquerades as a server, but if that is indeed what it does (specifically, if it hooks into EntityPlayerSP.sendChatMessage()) then making this work in SSP is trivial - if not then I'll engineer it so that it does work :)
Posted Image