This repository has been archived on 2024-08-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
redstoner-utils/wrapper_event.py

57 lines
1.5 KiB
Python

from wrapper import *
from util_events import utils_event, utils_events
from wrapper_player import *
from traceback import format_exc as print_traceback
class py_event(object):
def __init__(self,event):
self.event = event
try:
self.player = py_players[event.getPlayer()]
except:
warn("Player doesn't exist")
@property
def cancelled(self):
return self.event.isCancelled()
@cancelled.setter
def cancelled(self, value):
self.event.setCancelled(value)
@property
def message(self):
try:
return self.event.getMessage()
except:
raise AttributeError
@message.setter
def message(self, msg):
try:
self.event.setMessage(msg)
except:
raise AttributeError
def event_handler(event_name = None, priority = "normal", utils = False):
if not utils:
def decorator(wrapped):
@hook.event(event_name, priority)
def wrapper(event):
try:
wrapped(py_event(event))
except:
print(print_traceback())
return decorator
elif utils:
def decorator(wrapped):
@utils_event(event_name, priority, create_event = utils_events)
def wrapper(*args):
try:
wrapped(*args)
except:
print(print_traceback())
return decorator