creating shared dict
This commit is contained in:
@@ -6,6 +6,9 @@ import org.bukkit.entity.Player as Player
|
||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause as TeleportCause
|
||||
import org.bukkit.block as bblock
|
||||
|
||||
|
||||
shared = {}
|
||||
|
||||
server = bukkit.Bukkit.getServer()
|
||||
|
||||
def log(text):
|
||||
|
||||
39
main.py
39
main.py
@@ -3,7 +3,6 @@ __plugin_version__ = "3.0"
|
||||
__plugin_mainclass__ = "foobar"
|
||||
|
||||
import sys
|
||||
import thread
|
||||
from traceback import format_exc as print_traceback
|
||||
|
||||
# damn pythonloader changed the PATH
|
||||
@@ -24,14 +23,14 @@ def onEnable():
|
||||
|
||||
@hook.disable
|
||||
def onDisable():
|
||||
mod["reports"].stopChecking()
|
||||
shared["modules"]["reports"].stopChecking()
|
||||
log("RedstonerUtils disabled!")
|
||||
|
||||
|
||||
log("Loading RedstonerUtils...")
|
||||
|
||||
# Import all modules, in this order
|
||||
modules = [
|
||||
load_modules = [
|
||||
"misc",
|
||||
"adminchat",
|
||||
"lagchunks",
|
||||
@@ -45,39 +44,11 @@ modules = [
|
||||
"motd",
|
||||
"abot"
|
||||
]
|
||||
mod = {}
|
||||
for module in modules:
|
||||
shared["modules"] = {}
|
||||
for module in load_modules:
|
||||
try:
|
||||
mod[module] = __import__(module)
|
||||
shared["modules"][module] = __import__(module)
|
||||
log("Module %s loaded." % module)
|
||||
except:
|
||||
error("Failed to import module %s:" % module)
|
||||
error(print_traceback())
|
||||
|
||||
|
||||
|
||||
#
|
||||
# /pyeval - run python ingame
|
||||
#
|
||||
# has to be in main.py so we can access the modules
|
||||
|
||||
def evalThread(sender, code):
|
||||
try:
|
||||
msg(sender, "%s" % unicode(eval(code)), False, "a")
|
||||
except Exception, e:
|
||||
msg(sender, "%s: %s" % (e.__class__.__name__, e), False, "c")
|
||||
thread.exit()
|
||||
|
||||
@hook.command("pyeval")
|
||||
def onPyevalCommand(sender, args):
|
||||
if sender.hasPermission("utils.pyeval"):
|
||||
if not checkargs(sender, args, 1, -1):
|
||||
return True
|
||||
msg(sender, "%s" % " ".join(args), False, "e")
|
||||
try:
|
||||
thread.start_new_thread(evalThread, (sender, " ".join(args)))
|
||||
except Exception, e:
|
||||
msg(sender, "&cInternal error: %s" % e)
|
||||
else:
|
||||
noperm(sender)
|
||||
return True
|
||||
|
||||
28
misc.py
28
misc.py
@@ -105,6 +105,7 @@ def onPluginversionsCommand(sender, args):
|
||||
msg(sender, "&6" + plugin.getDescription().getName() + "&r: &e" + plugin.getDescription().getVersion())
|
||||
return True
|
||||
|
||||
|
||||
#
|
||||
# /echo - essentials echo sucks and prints mail alerts sometimes
|
||||
#
|
||||
@@ -112,3 +113,30 @@ def onPluginversionsCommand(sender, args):
|
||||
@hook.command("echo")
|
||||
def onEchoCommand(sender, args):
|
||||
msg(sender, " ".join(args).replace("\\n", "\n"))
|
||||
|
||||
|
||||
#
|
||||
# /pyeval - run python ingame
|
||||
#
|
||||
# has to be in main.py so we can access the modules
|
||||
|
||||
def evalThread(sender, code):
|
||||
try:
|
||||
msg(sender, "%s" % unicode(eval(code)), False, "a")
|
||||
except Exception, e:
|
||||
msg(sender, "%s: %s" % (e.__class__.__name__, e), False, "c")
|
||||
thread.exit()
|
||||
|
||||
@hook.command("pyeval")
|
||||
def onPyevalCommand(sender, args):
|
||||
if sender.hasPermission("utils.pyeval"):
|
||||
if not checkargs(sender, args, 1, -1):
|
||||
return True
|
||||
msg(sender, "%s" % " ".join(args), False, "e")
|
||||
try:
|
||||
thread.start_new_thread(evalThread, (sender, " ".join(args)))
|
||||
except Exception, e:
|
||||
msg(sender, "&cInternal error: %s" % e)
|
||||
else:
|
||||
noperm(sender)
|
||||
return True
|
||||
|
||||
Reference in New Issue
Block a user