CommandHelper is an alias, macro, and scripting plugin for Minecraft that lets you:
- Alias commands like /battle to run /warp #battlearena.
- Write a script to let players message each other while offline.
- Create an automated battle arena that automatically resets.
- Write your own /tp, /time, or /warp
- Do much more, from the simple to the complex, with zero Java code.
Remember that CommandHelper is open source.
CommandHelper works on multiplayer, and also as a command line program.
|For||With platform||How to install|
|Command Line (limited support)||Linux/Mac/Limited Windows support||Command Line Scripting|
To download the latest version, go to enginehub and download the latest successful build. If you are on Linux or Windows with Cygwin, and want to automate the process of grabbing the latest build, you can use this bash script.
How do you use CommandHelper? We have a set of easy to follow articles that you can read!
- Want to setup simple aliases? Try the Beginner's Guide
- Want to script completely new features? Follow the Learning Trail below.
- Just want the API? See the API reference.
- Want an example configuration? See the this example.
Tired of writing your scripts in a plain black and white text editor? Try these syntax hightlighters!
- TextWrangler and BBEdit - Mac OS X Forum Link - Created by Connor Griffin (Very Outdated)
- Notepad++ (Default Theme) - Windows Forum Link - Created by MrMagical
- Notepad++ (Obsidian Theme) - Windows Forum Link - Created by TTSDA (based on MrMagical's Highlighter)
- gedit - GNOME/Cross-platform Forum Link - Created by MrMagical
If you create a syntax highlighter for your favorite text editor, put a link in the forum, and I'll add it to the wiki!
Feature requests and bugs
Long-term planned features can be found on the roadmap, and short term features can be found on the issue tracker. To request your own features or file a bug, use our issue tracker. Known bugs can be found on the issue tracker.
If you would to request new functions, it is typically easy to add those, so please post your feature request in the issue tracker. If you happen to find a bug in the program, please let us know so we can fix it!
Want to help?
CommandHelper is turning into a large project, and I would love for more people to help work on it. Don't know java? Great! There are things for you to do too! If you're interested in any of the following tasks, feel free to get in touch with me, and we can get you started!
- Documentation: There's lots of complexity in the plugin, and without solid documentation, it is nearly worthless. While some of the documentation is generated programmatically, many pages are not. The auto documentation generator leaves room for more detailed information too -- none of which is currently filled in :( From writing examples for each function, to working on the main documentation, and keeping the current documentation up to speed, there's actually alot to do that has nothing to do with coding!
- Testing: While a large portion of CommandHelper has automated tests, there is still no substitute for running beta versions of CommandHelper on a real server. It would be nice to know that several servers have put it through the ringer before a version goes to full release status.
- Programming: From adding functions, to writing test cases, to working on the core aspects of CommandHelper, there are many different tasks to conquer.
Do you like the plugin alot? I certainly don't expect donations, and the any money I receive won't influence the amount of time I spend on the plugin (well, maybe it will), however I do spend alot of time working on it, and I certainly won't turn anything down if you want to say thank you! If you reeeeally want a feature added to Command Helper, and you're willing to pay money, get in contact with me, and we can discuss contract work, and we can discuss your needs, but otherwise, donations are just a way for you to tell me thanks!
- 3.3.0 was a huge update, and had it's own update log
- Be sure to read the changelog, as there are update breakages.
- Player's pitch and yaw (the way they're facing) is preserved when using set_ploc
- Fixed a bug when dealing with offline players in pinfo (as well as a few other functions)
- substr() now works properly if the last argument is left off
- When using an ivar as the second parameter in assign(), it works properly now.
- Added interpreter mode!
- Added user defined procedures
- read() and include() are subject to the base-dir restriction now
- # comments work even if they aren't the first character on the line. C style block comments are also available. /* */
- Commands can be run from the console. If the command doesn't make sense to run without a player, the command should fail gracefully.
- Added include and procedures. See this page for more details.
- Potion Effects can now be accessed with set_peffect. See the guide on the minecraft wiki for ID numbers and other information
- Added case-sensitive option to make it possible to toggle command matching being case sensitive or not
- Arrays are much more flexible now
- The \u escape sequence is implemented in the lexer. This allows insertion of arbitrary unicode characters into scripts.
- The WG/WE series of functions are implemented now
- Added functions: sqrt, include, proc, return, pinv, set_pinv, min, max, is_proc, call_proc, pexp/set_pexp (experimental), ptexp/set_ptexp (experimental), plevel/set_plevel (experimental), pmode/set_pmode, set_peffect (requires CraftBukkit), array_resize, range, Economy Functions, call_alias, item_drop, set_phealth, equals_ic, sk_all_regions, sk_pos1, sk_pos2, sk_region_info, sk_region_overlaps
- See the Upgrade Notices for information regarding the persistance engine, if you use user aliases or store_value/get_value.
- Added exception handling, and fixed more bugs with command matching and optional variables. Also added more advanced permission syntax for commands.
- Added functions: set_display_name, reset_display_name, try, array_index_exists,is_array, is_boolean, is_double, is_integer, is_null, is_string, substr, to_lower, to_upper, length, throw
- Newlines are now handled in an expected manner in all functions. The escape sequence '\n' has been added, which allows for newlines to be embedded in a string in a script.
- Command labels can now be used to specify what groups have permission to run this command
- Fixed a bug where no argument functions in the root of the command would give a compile error.
- The repeat command "/." now requires the user to have permission (commandhelper.repeat). This gives the server admin finer grained control of the plugin, and in fact allows all functionality of the plugin to be removed, through settings and permissions.
For the full changelog, including the changelog for older releases, see this page