9
0
mirror of https://github.com/Auxilor/EcoJobs.git synced 2025-12-22 08:29:24 +00:00

Added placeholder to get total number of players with specific job

- %ecojobs_<id>_total_players%
This commit is contained in:
Bruno de Araujo Alves
2022-10-10 18:50:05 -03:00
parent e0b2ae4f40
commit c80dd2371c
2 changed files with 23 additions and 1 deletions

View File

@@ -31,7 +31,7 @@ class EcoJobsPlugin : LibReforgePlugin() {
PlayerPlaceholder( PlayerPlaceholder(
this, this,
"job_level" "job_level"
) { it.activeJobLevel?.level.toString() ?: "" }.register() ) { it.activeJobLevel?.level.toString() }.register()
PlayerPlaceholder( PlayerPlaceholder(
this, this,

View File

@@ -171,6 +171,28 @@ class Job(
) { ) {
it.getJobLevel(this).toString() it.getJobLevel(this).toString()
}.register() }.register()
PlayerPlaceholder(
plugin,
"${id}_total_players"
) {
getTotalPlayers(this).toNiceString()
}.register()
}
private fun getTotalPlayers(job: Job): Int {
val offlinePlayers = Bukkit.getServer().offlinePlayers
val onlinePlayers = Bukkit.getServer().onlinePlayers
val allPlayers = offlinePlayers + onlinePlayers
var countPlayerWithJob = 0
for (player in allPlayers.distinct()) {
if (player.activeJob?.id == job.id)
countPlayerWithJob += 1
}
return countPlayerWithJob
} }
fun getLevel(level: Int): JobLevel = levels.get(level) { fun getLevel(level: Int): JobLevel = levels.get(level) {