summaryrefslogtreecommitdiff
path: root/playermanager.py
diff options
context:
space:
mode:
authorNEMESIS13cz <seke94@seznam.cz>2015-08-10 16:44:08 +0200
committerNEMESIS13cz <seke94@seznam.cz>2015-08-10 16:44:08 +0200
commit366d57c47fe92571c1f5321c1b4783606b144b3b (patch)
treec67315ed5cc3721f5908f9aa6bbbf62ad31ac9ad /playermanager.py
parent90872da066e858e16cc358ecdb6b3b753bf019d3 (diff)
Created central Player class
Diffstat (limited to 'playermanager.py')
-rw-r--r--playermanager.py106
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
+
+