diff options
author | jomo <github@jomo.tv> | 2016-02-15 01:27:13 +0100 |
---|---|---|
committer | jomo <github@jomo.tv> | 2016-02-15 01:27:13 +0100 |
commit | 6a4d1447ece65d7cfcfba6b9596f60003e436490 (patch) | |
tree | 22299614e2be2eaeab83882f5937d33fdb3cf8c6 /nametags.py | |
parent | 5a0477fdbfaa222350c62ce948d8371c34bd538f (diff) |
rename tabnames to nametags
I think it's a more descriptive name
Diffstat (limited to 'nametags.py')
-rwxr-xr-x | nametags.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/nametags.py b/nametags.py new file mode 100755 index 0000000..88c0696 --- /dev/null +++ b/nametags.py @@ -0,0 +1,37 @@ +from helpers import *
+
+##############################################################
+# #
+# This module automatically puts people in the corresponding #
+# scoreboard team so that their name is colored properly and #
+# tab will be nicely sorted. #
+# #
+##############################################################
+
+ranks = ["visitor", "member", "builder", "trusted", "modintraining", "mod", "admin"]
+# prefixes are used for sorting in the tab list
+prefixes = {"admin":"a", "mod":"b", "modintraining":"c", "trusted":"d", "builder":"e", "member":"f","visitor":"g"}
+
+@hook.event("player.PlayerJoinEvent", "low")
+def on_player_join(event):
+ player = event.getPlayer()
+ team = get_team(player)
+ if team:
+ cmd = "scoreboard teams join %s %s" % (team, player.getName())
+ server.dispatchCommand(server.getConsoleSender(), cmd)
+
+def get_rank(player):
+ player_rank = None
+ for rank in ranks:
+ if not player.hasPermission("group.%s" % rank):
+ break
+ player_rank = rank
+ if not player_rank:
+ warn("Couldn't find rank for player %s" % player.getName())
+ return player_rank
+
+def get_team(player):
+ rank = get_rank(player)
+ if rank:
+ prefix = prefixes.get(rank)
+ return "_".join([prefix, rank])
\ No newline at end of file |