Added cancelled event property, added player loading
This commit is contained in:
@@ -10,6 +10,14 @@ class py_event:
|
|||||||
except:
|
except:
|
||||||
warn("Player doesn't exist")
|
warn("Player doesn't exist")
|
||||||
|
|
||||||
|
@property
|
||||||
|
def cancelled(self):
|
||||||
|
return self.event.isCancelled()
|
||||||
|
|
||||||
|
@cancelled.setter
|
||||||
|
def cancelled(self, value):
|
||||||
|
self.event.setCancelled(value)
|
||||||
|
|
||||||
def event_handler(event_name = None, priority = "normal"):
|
def event_handler(event_name = None, priority = "normal"):
|
||||||
def decorator(wrapped):
|
def decorator(wrapped):
|
||||||
@hook.event(event_name, priority)
|
@hook.event(event_name, priority)
|
||||||
|
|||||||
@@ -9,9 +9,9 @@ from com.ziclix.python.sql import zxJDBC
|
|||||||
class py_player:
|
class py_player:
|
||||||
def __init__(self,player):
|
def __init__(self,player):
|
||||||
self.player = player
|
self.player = player
|
||||||
self.login_time = time.time()
|
self.logging_in = True
|
||||||
self.logging_in = False
|
|
||||||
|
|
||||||
|
self.login_time = time.time()
|
||||||
self.nickname = self.name
|
self.nickname = self.name
|
||||||
self.registered = False
|
self.registered = False
|
||||||
self.password = "None"
|
self.password = "None"
|
||||||
@@ -24,6 +24,9 @@ class py_player:
|
|||||||
def kick(self, kick_message = "You have been kicked from the server!"):
|
def kick(self, kick_message = "You have been kicked from the server!"):
|
||||||
self.player.KickPlayer(kick_message)
|
self.player.KickPlayer(kick_message)
|
||||||
|
|
||||||
|
def msg(self, message):
|
||||||
|
self.player.sendMessage(message)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
return self.player.getName()
|
return self.player.getName()
|
||||||
@@ -81,14 +84,31 @@ def fetch_player(player):
|
|||||||
for prop in properties:
|
for prop in properties:
|
||||||
prop = props[properties.index(prop)]
|
prop = props[properties.index(prop)]
|
||||||
|
|
||||||
|
else:
|
||||||
|
player.kick("Something went wrong while loading your player data, please contact an admin")
|
||||||
|
return
|
||||||
|
player.logging_in = False
|
||||||
|
player.msg("You have succesfully logged into redstoner!")
|
||||||
|
|
||||||
|
|
||||||
|
blocked_events = ["block.BlockBreakEvent", "block.BlockPlaceEvent", "player.PlayerMoveEvent",
|
||||||
|
"player.AsyncPlayerChatEvent","player.PlayerTeleportEvent",
|
||||||
|
"player.PlayerCommandPreprocessEvent", "player.PlayerInteractEvent"]
|
||||||
|
|
||||||
|
for event in blocked_events:
|
||||||
|
@hook.event(event,"highest")
|
||||||
|
def on_blocked_event(event):
|
||||||
|
player = py_players[event.getPlayer()]
|
||||||
|
if player.logging_in:
|
||||||
|
event.setCancelled(True)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@hook.event("player.PlayerJoinEvent","lowest")
|
@hook.event("player.PlayerJoinEvent","lowest")
|
||||||
def on_join(event):
|
def on_join(event):
|
||||||
player = py_player(event.getPlayer())
|
player = py_player(event.getPlayer())
|
||||||
py_players.append(player)
|
py_players.append(player)
|
||||||
|
player.msg("Your input will be blocked for a short while")
|
||||||
fetch_player(player)
|
fetch_player(player)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user