AutoRanker
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.
Usage Configuration
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 group-
hasnotpermission
: a postrequisite permission, to indicate that a player already has this rank or otherwise shouldn't be eligible for it- If your groups inherit
group.…
permissions, this should be the permission that is to be granted for this rank. Otherwise it can be left blank.
- If your groups inherit
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.
Example configuration
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.
Commands & Permissions
- command:
/autorank reload
- permission:
autorank.reload
(default: op) - Reload the ranks from the config file.
Alternatives
- Autorank - rank based on amount of time played
- Ranker - rank based on amount of time played, money held, players killed, monsters killed
Requirements
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
@PinderGFX
you have it written above
Example configuration
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.
i cant find the config file in the folder (i extracted it like i do with all my programs?) any help?
Would LOVE a pvp kills rank up...
All this needs is Money earnt = rank up & PVP kills = rank up, and its perfect!
thanks!
A question, a friend is going java tutorials so I can create my own plugins, even a server :)
The problem is I'm looking for the API bukkit or bukkit API library, but can not find it. What do I need to create a plugin?
@javitomo
Yes, that is right. Good luck!
@clehner
I understand, then a solution would be, if I want to play 5 minutes each day for 30 days to ascend, would be:
5m x 30d = 150minutes
rounding
daysonline: 30 hoursonline: 2h
Thus 2h playing on the same day also count, but should spend 30 days ...
Thank you very much for your attention
@javitomo
With the existing system, it would be like
and then the user must play a total of 12 hours, and be at least 30 days old on the server, to get the rank. A more complex solution is not possible with this plugin currently.
Thanks for responding so quickly :)
I do not understand. You mean, you can do as follows:
Users who enter the server and play 30 minutes for 30 days, up from rank?
It is a good solution, and also compel them to be some time each day on the server, no?
@javitomo
Hi javitomo, It is a good suggestion, but the problem is that LogBlock does not store this information in its database. For a compromise you could add a requirement for hours online in addition to the days requirement.
Hello friend.
I have a problem, is not recorded, but could improve the plugin as follows, do not know if it is possible, but I think so.
The issue is that a player enters the server, and not reconnected within days, or even weeks, and upon returning, this amounts range ...
One could make the count for days when logged plugin? That is, you have to connect 1 time a day, so, to connect, for example, 30 days, this range go up ....
Is that the way it is now, has since the first time I ... and many rank up without deserve it ....
Thanks, sorry for my English, I'm Spanish and is translated by google translator
@mheiden
I believe I found the problem: a typo in the source code. Change hoursonline to hoursOnline for now. The next version I upload will have the proper capitalization.
Hmm still no respons, time to tag this plugin as bugged / outdated
@clehner Hmz idk what i did wrong but it promotes right away instead waiting 12hours...
Logblock saves the playerdata.... any suggestions, to make it promote after 12 hours instead of right away?
Yes, it works in 1.4.7-R1.
I could probably add a requirement for player or mob kills. If enough people request this I might do it.
@clehner:
Does this plugin work on 1.4.7-R1 ?
And will it get updated in the future?
Looking Goooood :D
Can you add pvp and mobs, sepaking of killing counter?
@Speedrookie
Play time is global, and is counted by LogBlock regardless of permission. haspermission just means that they have to have that permission to be considered for the promotion. I could add per-world requirements for block placement/breaking, but adding per-world play time would be a lot more work because LogBlock does not keep track of that.
Does this have per world times? Does "haspermission" mean that they have to be in that rank for the time to count? I have a creative, survival, skyblock and pvp server and each world has its own levels! I want them to be ranked on the time spent in that world!