Main purpose of this plugin is to limit command usage and/or add cool thing to your commands!
All configuration options should be self-explanatory. If you need help, ask me.
I'm open to all suggestions and feature requests, so do not hesitate to post a comment on discussion page!
Dependencies:
- Vault - for economy and permissions support
- Economy plugin - for economy features
- If you use Factions, you must set ""allowNoSlashCommand": true" to "false"! Or users will be able to use "f home" without "/" with no warmup or cooldown!
All features are fully configurable and can be enabled or disabled!
All features can be configured globally or per-command!
(new features are added to top of this list)
- Command confirmations
- Custom permissions
- Custom permission needed messages
- Shared limits
- Shared cooldowns
- Advanced aliases
- Warmups
- Canceling warmups on various events
- Block container access during warmups
- Potion effects during warmups
- Cooldowns
- Prices (money, item, experience)
- Requirements (experience levels)
- Limits
- Timed limit resets
- Messages
- Grouping
- UUIDs
- Command signs
- Localization
- Block /<pluginname>:<command> syntax
- Easy configuration
Warmups are timers that are run before command is executed. Player has to wait configured time period before his command takes effect.
Canceling warmups on various events:
Active warmups can be canceled on player’s move, sneak, sprint, game mode change or by taking damage.
Block container access during warmups:
When player has active warmup, he will not be able to access any containers. This was done on request, because of some kind of creative game mode exploiting.
Potion effects during warmups:
Players can be affected by any number of potion effects during warmups. Potion effects affects player for same time as warmup time.
Cooldowns:
Cooldowns are timers that are run after executing command. Player has to wait for configured amount of time before being able to use that specific command again.
This plugin also offers some cool stuff! You are able to reset (clear, stop) all players’ cooldowns on death or on contrary start (activate) them on death!
Shared cooldowns:
One command can start cooldown of other commands. This is done per-command so you can create some crazy things like “/spawn” command starting cooldown of “/home” and “/warp” but at the same time “/home” only starting cooldown of “/warp” and not “/spawn”.
Prices (money, item, experience):
Every command can have set price of money, item and/or experience. You can use multiple types of prices for each command and player has to pay all of them. Command can cost $50 and 5 diamonds and 5 experience levels or just $10, it’s up to you.
Requirements (experience levels):
Every command can have experience level requirement. This means that command will only be usable by player when he is of set level. Command can be set to require level 30 and player has to be this or higher level to be able to use the command.
Limits:
Every command can be limited (or blocked by zero limit) by number of uses. Once player reaches limit, he cannot use that command any more. You can configure to reset this limit on players’ death and create per-life commands like “/repair” once per life!
Shared limits:
Commands can share same limits or trigger limits of other commands. So player can have access to /day and /night, but can only use those commands 5 time combined, so player will have to choose which one and how many time he will use them.
Timed limit resets:
Limits can be globally (per command) or locally (per player and command) reset in set intervals. Global reset will reset limits of all players for specified command after set interval, while local reset will reset limits of one player for specified command after set interval after he last used limited command.
You can now limit your donors and/or players to use certain command only some times a week! E.g. command "/tnt" 10 times a week.
Custom permissions
Custom permissions can be set basically for any command from any other (or even this) plugin. Giving you ultimate control over all commands on your server.
Custom permission needed messages
When command is denied by Custom permission, you can send any message to player notifying him why he can't use that command or how to access or buy it.
Messages:
This allows you to send custom message whenever player uses command associated with that message. For example send player “Welcome home, buddy!” message when he uses “/home”.
Grouping:
All commands can be grouped to “as you wish many” groups with separate cooldowns/prices/etc. allowing you to set different prices for your players and donors! Only thing you have to do is assign that config group to your permission group by “booscooldowns.<groupname>” permission.
UUIDs:
Plugin stores all limits and cooldowns via UUIDs, so no more cooldown/limit resets by changing name.
Command signs:
This allows you to create signs which will run command written on them on right click. Nothing more, nothing else. Simple.
Localization:
All messages in this plugin are 100% configurable so you can translate, edit… whatever you want.
Aliases:
Advanced command aliasing. Player uses “/home”, but “/warp home” is used instead. Simple enough eh? Dynamic command arguments are supported!
- $1
- first command argument
- $2
- second command argument
- $*
- all remaining command arguments
- $player
- player who used command
- $world
- world of player who used command
- E.g. /tp to *: /teleport $player $1 $2
- If player called Stan uses command "/tp to Bruce" it will change to "/teleport Stan to Bruce"
Configuration is easy, because you can use time units like seconds, minutes, hours, days, weeks or even months!
- /bcd reload
- Reloads config.yml
- booscooldowns.reload
- Reloads config.yml
- /bcd clearcooldowns <player> [command]
- Clears all active cooldowns (or specified command) of player
- booscooldowns.clearcooldowns
- Clears all active cooldowns (or specified command) of player
- /bcd clearuses <player> [command]
- Clears all command (or specified command) limits of player
- booscooldowns.clearuses
- Clears all command (or specified command) limits of player
- /bcd clearwarmups <player> [command]
- Clears all active warmups (or specified command) of player
- booscooldowns.clearwarmups
- Clears all active warmups (or specified command) of player
- /bcd limits
- Shows how many time you can still use limited commands
- booscooldowns.list.limits
- Shows how many time you can still use limited commands
- /bcd set <category> <command> <value> [group]
- Sets something to config.yml (see below)
- booscooldowns.set
- Sets something to config.yml (see below)
- /bcd startglobalreset
- Starts all configured global limit reset timers
- You have to use this just once, to start timers on desired time (e.g. sunday midnight)
- booscooldowns.globalreset
<category> can be cooldown, warmup, price, itemcost, xpcost, limit, message
<command> can be * or any command starting with / (to add command with parameters, replace spaces with _ like /home_set)
<value> can be number (for warmup, cooldown, price, xpcost, limit), ITEM,number (for itemcost), string for message (cannot contain spaces right now, edit config.yml instead)
[group] can be any group, if not specified, will be set for default group
More permissions:
- ColoredCarrot for his awesome JSON API
- Koz for his great video tutorial
- Add new option to disable command
- Add configurable per-command cooldown messages
- Add action-bar features
By downloading/buying this plugin you agree to the following:
- You will not -Redacted-/resell/forward/send this plugin to anyone for any reason
- You will not get a refund under any circumstances
- This plugin may only be used on one server (bungee network counts as one), unless you have a statement from me stating that you may use it on more
This plugin uses MCStats.org to collect anonymous data. Data are sent to mcstats.org where they are processed to create informative graphs for developer. MCStats is free, open source and anonymous. All data is public and freely available for every plugin. To disable data collection, set "opt-out:" to true in /plugins/PluginMetrics/config.yml.