diff options
author | NEMESIS13cz <seke94@seznam.cz> | 2015-08-10 16:44:08 +0200 |
---|---|---|
committer | NEMESIS13cz <seke94@seznam.cz> | 2015-08-10 16:44:08 +0200 |
commit | 366d57c47fe92571c1f5321c1b4783606b144b3b (patch) | |
tree | c67315ed5cc3721f5908f9aa6bbbf62ad31ac9ad /playermanager.py | |
parent | 90872da066e858e16cc358ecdb6b3b753bf019d3 (diff) |
Created central Player class
Diffstat (limited to 'playermanager.py')
-rw-r--r-- | playermanager.py | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/playermanager.py b/playermanager.py new file mode 100644 index 0000000..ba3900a --- /dev/null +++ b/playermanager.py @@ -0,0 +1,106 @@ +from helpers import * +import org.bukkit.entity.Player as Base_player +import blockplacemods as blockmods +import snowbrawl +import loginsecurity as login +import calc +import chatgroups as cg +import adminchat as ac + +players = [] + +############################################################### +# Outside-accessible functions + +def get_player(name): + for player in players: + if player.get_name() == name: + return player + return None + +############################################################## +# Events + +@hook.event("player.PlayerQuitEvent", "highest") +def on_quit(event): + for i in range(len(players)): + if players[i].get_uuid() == uid(event.getPlayer()): + players.remove(i) + return + +@hook.event("player.PlayerJoinEvent", "highest") +def on_join(event): + players.append(Player(event.getPlayer())) + +############################################################# +# Player class + +class Player(): + + def __init__(self, player): + self.player = player + + def get_java_player(self): + return self.player + + def get_uuid(self): + return uid(self.player) + + def get_name(self): + return self.get_java_player().getName() + + def get_display_name(self): + return self.get_java_player().getDisplayName() + + def in_sb_arena(self): + for arena in snowbrawl.arenas: + if arena.in_players(self.get_java_player()): + return True + return False + + def get_sb_arena(self): + for arena in snowbrawl.arenas: + if arena.in_players(self.get_java_player()): + return arena + return None + + def logged_in(self): + return self.get_name() not in login.logging_in + + def has_autoflip_slab_on(self): + return blockmods.isEnabled("slab", self.get_uuid()) + + def has_autofill_cauldron(self): + return blockmods.isEnabled("cauldron", self.get_uuid()) + + def has_autoface_piston(self): + return blockmods.isEnabled("piston", self.get_uuid()) + + def has_calc(self): + return self.get_uuid() in calc.calc_users + + def in_cg(self): + return self.get_uuid() in cg.groups.keys() + + def get_cg(self): + if self.in_cg: + return cg.groups[self.get_uuid()] + else: + return None + + def get_cg_key(self): + return cg.get_key(self.get_uuid()) + + def has_cg_toggle(self): + return self.get_uuid() in cg.cg_toggle_list + + def in_ac(self): + return self.get_java_player().hasPermission(ac.ac_permission) + + def get_ac_key(self): + return ac.get_key(self.get_uuid()) + + def has_ac_toggle(self): + return self.get_name() in ac.ac_toggle_list + + |