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.event.player.PlayerTeleportEvent.TeleportCause as TeleportCause
import org.bukkit.block as bblock import org.bukkit.block as bblock
shared = {}
server = bukkit.Bukkit.getServer() server = bukkit.Bukkit.getServer()
def log(text): def log(text):

41
main.py
View File

@@ -3,7 +3,6 @@ __plugin_version__ = "3.0"
__plugin_mainclass__ = "foobar" __plugin_mainclass__ = "foobar"
import sys import sys
import thread
from traceback import format_exc as print_traceback from traceback import format_exc as print_traceback
# damn pythonloader changed the PATH # damn pythonloader changed the PATH
@@ -24,14 +23,14 @@ def onEnable():
@hook.disable @hook.disable
def onDisable(): def onDisable():
mod["reports"].stopChecking() shared["modules"]["reports"].stopChecking()
log("RedstonerUtils disabled!") log("RedstonerUtils disabled!")
log("Loading RedstonerUtils...") log("Loading RedstonerUtils...")
# Import all modules, in this order # Import all modules, in this order
modules = [ load_modules = [
"misc", "misc",
"adminchat", "adminchat",
"lagchunks", "lagchunks",
@@ -45,39 +44,11 @@ modules = [
"motd", "motd",
"abot" "abot"
] ]
mod = {} shared["modules"] = {}
for module in modules: for module in load_modules:
try: try:
mod[module] = __import__(module) shared["modules"][module] = __import__(module)
log("Module %s loaded." % module) log("Module %s loaded." % module)
except: except:
error("Failed to import module %s:" % module) error("Failed to import module %s:" % module)
error(print_traceback()) 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()) msg(sender, "&6" + plugin.getDescription().getName() + "&r: &e" + plugin.getDescription().getVersion())
return True return True
# #
# /echo - essentials echo sucks and prints mail alerts sometimes # /echo - essentials echo sucks and prints mail alerts sometimes
# #
@@ -112,3 +113,30 @@ def onPluginversionsCommand(sender, args):
@hook.command("echo") @hook.command("echo")
def onEchoCommand(sender, args): def onEchoCommand(sender, args):
msg(sender, " ".join(args).replace("\\n", "\n")) 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