An OpenMod plugin which adds command cooldowns.
To install, use the command openmod install OpenMod.Cooldowns.
To install RocketMod cooldowns too, use the command openmod install OpenMod.Cooldowns.Rocket.
The default config file contains one setting, reloadPersistent:enabled which is set to true.
This will enable cooldowns to persist throughout server restarts and OpenMod reloads by writing command execution times to a file for the user.
Command cooldowns are configured through the data config of OpenMod roles. The structure of the config is as follows:
cooldowns:
- command: CommandId
cooldown: cooldown time spanIf you're using OpenMod.Cooldowns.Rocket, the command id will be the name found in Commands.config.xml prefixed by Rocket..
For the /heal command, the id would be Rocket.heal.
The following example is a modified version of the default openmod.roles.yaml file to apply a cooldown of 30 seconds to the help command.
roles:
- id: default
priority: 0
parents: []
permissions:
- OpenMod.Core:commands.help
displayName: Default
data:
cooldowns:
- command: OpenMod.Core.Commands.OpenModCommands.CommandHelp
cooldown: 30 seconds
isAutoAssigned: true
- id: vip
priority: 1
parents:
- default
permissions:
- SomeKitsPlugin:kits.vip
displayName:
data: {}
isAutoAssigned: falseIf multiple cooldowns for the same command apply to a user, the cooldown originating from the role with the highest priority will be applied.
The cooldown time span follows a format of multiple portions each defining a decimal number and its value. A list of these possible values are:
- Days - days, day, and d
- Hours - hours, hour, hrs, hr, h
- Minutes - minutes, minute, mins, min, m
- Seconds - seconds, second, secs, sec, s
- Milliseconds - milliseconds, millisecond, millis, milli, ms
All of the following are valid cooldown time spans:
- 10 days 20 hours 30 minutes
- 10 days, 20 hours, and 30 minutes
- 10d 20h 30m
- 10d20h30m
- 10.8 days
- 30 seconds 500 milliseconds
This plugin only contains one permission - OpenMod.Cooldowns:immune. This permission makes the inheritor immune to all cooldowns.