AutoRanker automatically executes commands on players when the players have met certain requirements in their LogBlock history, in terms of number of blocks created and blocks destroyed, and time spent online.
The intended use case for this plugin is to have players automatically promoted through different ranks as the amount of their work on the server accumulates. Note that this use requires a separate plugin to facilitate ranking commands, such as bPermissions.
Currently the plugin checks if a player meets the requirements of each rank when they log in. If there is interest among server admins, I could make it check periodically for each player that is logged in.
The config file is plugins/AutoRanker/config.yml.
Provide a list of ranks in the configuration file. For each rank, provide the set of requirements for achieving that rank, such as the following:
created: blocks placeddestroyed: blocks destroyeddaysonline: days since the player's first loginhoursonline: hours the player has spent logged inhaspermission: a prerequisite permission, such as for a base grouphasnotpermission: a postrequisite permission, to indicate that a player already has this rank or otherwise shouldn't be eligible for it
group.… permissions, this should be the permission that is to be granted for this rank. Otherwise it can be left blank.For each rank, also provide the commands that should be executed when the requirements are met, in which {PLAYER} is replaced by the name of the player who has met the requirements.
Below is an example configuration with two ranks, builder and architect, using bPermissions to manage the player groups.
ranks:
builder:
requirements:
daysonline: 2
hoursonline: 2
created: 1000
destroyed: 2000
haspermission: group.default
hasnotpermission: group.builder
commands:
- exec u:{PLAYER} a:setgroup v:builder
- say {PLAYER} has achieved Builder rank.
architect:
requirements:
daysonline: 60
hoursonline: 24
created: 10000
destroyed: 20000
haspermission: group.builder
hasnotpermission: group.architect
commands:
- exec u:{PLAYER} a:setgroup v:architect
- say {PLAYER} has achieved Architect rank.
/autorank reloadautorank.reload (default: op)LogBlock is required.
To use the hours online and days online rank requirements, you must have in your LogBlock configuration logPlayerInfo set to true, e.g.:
logging:
logPlayerInfo: true