creating shared dict

This commit is contained in:
jomo
2014-07-14 01:16:40 +02:00
parent ba10e82171
commit 086a1fe064
3 changed files with 37 additions and 35 deletions

View File

@@ -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
View File

@@ -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
View File

@@ -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