PowerTool — Bind commands to items
Originally requested by InflamedSebi in this thread.
PowerTool allows you to bind commands to your in-hand items. Any item may be assigned commands for both left-click and right-click. Bound commands remain until you manually clear the binding.
Please post bugs and/or feature requests as dev.bukkit.org tickets.
- Bound commands may include special tokens which are appropriately substituted when the item is used. Currently, these are:
|%p||The name of the player you left-clicked or right-clicked.|
|%x||X-coordinate of the block targeted by your crosshairs|
|%y||Y-coordinate of the block targeted by your crosshairs|
|%z||Z-coordinate of the block targeted by your crosshairs|
|%Y||Y-coordinate of the nearest air block above the block targeted by your crosshairs|
All of these tokens are configurable.
Works in creative mode. Right-clicking and left-clicking players in creative mode will generally work, even when far away (up to 100 blocks).
Ability to define global power tools. These are administrator-defined binds that can be made available to whoever you want (based on permissions).
Fine-grained control over the use of power tools via permissions.
Global power tools may grant temporary permissions or even be run as the console. Needless to say, these features should be used with care.
The number of player-created binds may be limited based on group/permission.
Items may be further differentiated by custom display name (e.g. when given one via Anvils). Note this option is off by default, enable it in the configuration file.
There's only one command,
/powertool which may also be abbreviated
/powertool left <the-command-to-bind>— Binds the command (and its arguments) to the left-click action of the current item. The command must not include the first slash. This may also be abbreviated as
/powertool right <the-command-to-bind>— Binds the command (and its arguments) to the right-click action of the current item. This may also be abbreviated as
/powertool left— With no command to bind, the currently-bound left-click command is cleared from the current item. Use
/powertool rightto clear the right-click command.
/powertool list— Displays all player-defined power tools for the current player.
/powertool clear— Clears all bound commands from the current item.
/powertool clear <item-id-or-name>— Clears all bound commands from the specified item.
/powertool clear -a— Clears all bound commands from all items.
/powertool on— Enable power tools for this session (default is on).
/powertool off— Disable power tools for this session.
/powertool toggle— Toggle power tools availability. Can also be abbreviated as
/powertool reload— Re-reads config.yml.
PowerTool only supports Bukkit permissions (aka Superperms). By default, ops have all permissions.
powertool.use— Allows the use and creation of power tools. (Has
powertool.createas child permissions.)
powertool.use.*— Allows the use of all power tools.
powertool.use.<item-id>— Allows the use of a specific power tool identified by item-id. item-id may be numeric (e.g. 322 for golden apple), or the Bukkit Material name with or without underscores (e.g. GOLDEN_APPLE or GOLDENAPPLE). Note that Bukkit permissions are not case-sensitive, so both
powertool.create— Allows the creation of personal power tools. A player must be given this permission in order to use the left/right/list/clear subcommands.
powertool.reload— Allows use of
Additionally, per-group power tool limits may be defined using permissions. See the
options section in config.yml for details.
Global, Administrator-defined Binds
By editing config.yml, the server administrator can define binds for use by anyone with the
powertools: string: left-click: plugins right-click: version
The item ID ("string" in the above example) may be an integer item ID or a name. If using an integer item ID, you must quote it as a string, e.g.
'287' for "string." If using a name, you must use a standard Bukkit material name (found here). For example, for golden apples, you may use one of:
'golden apple'(since it has a space, it must be quoted)
Promote and demote users using the left-click and right-click actions of the current item:
/powertool l promote %p
/powertool r demote %p
Bind WorldEdit's copy & paste commands. Remember that many WorldEdit commands normally start with two slashes, but you must always omit the first slash.
/powertool left /copy
/powertool right /paste
License & Source
PowerTool is released under the Apache License, Version 2.0.
Sources may be found on GitHub:
Development builds of this project can be acquired at the provided continuous integration server.
These builds have not been approved by the BukkitDev staff. Use them at your own risk.
- PowerTool (Requires ToHPluginUtils.jar)
- PowerTool-standalone (includes ToHPluginUtils, like the version distributed on dev.bukkit.org)
- Allow setting/clearing global power tools from the command line (for those with the proper permission, of course).
- Allow player-specific power tools to override global ones.
- Allow global power tool flags (e.g. run-as-console) to be assigned to each individual action.
This version will update your config.yml to add a new option: use-display-names. Please see caveats about config file updates and global power tools.
- Allow items to be differentiated by display name. Items renamed by the anvil may treated as distinct power tools. This feature is off by default. See the new use-display-names option.
- Cleanup of storage code.
- Add run-as-console feature to global power tools. Globally-defined power tools may include a boolean flag, run-as-console which allows commands to run as console. This option defaults to false, meaning the global power tool runs the command as the player. Use this option with caution.
- Allow temporary permissions to be granted when using global power tools. Globally-defined power tools may include a permissions section. This allows the temporary granting of permissions to a player when they use a global power tool. See config.yml for details.
- Honor negated item-specific permissions when checking powertool.use.* (e.g. you can grant a group of users the powertool.use.* permissions and then specifically deny specific power tools by setting permission nodes to false, like powertool.use.sulphur. This would allow the use of all power tools except sulphur/gunpowder.)
- Catch when a command has been given too many arguments and complain accordingly. (ToHPluginUtils)
- Break powertool.use permission into powertool.use.* and powertool.create. Also support item-specific powertool.use permissions.
- Store player state as Bukkit metadata.
- Bukkit deprecation fixes.
This build introduces fine-grained control over power tool usage using permissions: powertool.use.* and powertool.use.<item-id>. It also introduces powertool.create which allows players to create their own power tools.
The old permission powertool.use remains for backwards compatibility and can be thought of as an alias for both powertool.use.* and powertool.create.
|File Name||Release Type||Game Version||Downloads||Date|
- Frame Protector
- Fixes and Anti-Griefing Tools
- 281,442 Monthly Downloads
- Admin Tools, Chat Related, Teleportation, Economy, and General
- 176,622 Monthly Downloads
- Admin Tools, Anti-Griefing Tools, Informational, Teleportation, and World Editing and Management
- 158,951 Monthly Downloads
- Role Playing, General, and Fun
- 143,653 Monthly Downloads
- 109,496 Monthly Downloads