Converted reports module to UUID and minor changes to forcefield module

This commit is contained in:
Dico
2014-07-17 15:26:48 +02:00
parent b1f00d3fe4
commit a54263a59d
2 changed files with 18 additions and 20 deletions

View File

@@ -1,7 +1,6 @@
from helpers import * from helpers import *
from java.util.UUID import fromString as java_uuid from java.util.UUID import fromString as id_to_player
from org.bukkit.util import Vector from org.bukkit.util import Vector
from traceback import format_exc as print_traceback
ff_perms = ["utils.forcefield", "utils.forcefield.ignore"] ff_perms = ["utils.forcefield", "utils.forcefield.ignore"]
ff_prefix = "&8[&aFF&8]" ff_prefix = "&8[&aFF&8]"
@@ -76,15 +75,12 @@ def whitelist_add(sender, add, players):
def whitelist_list(sender): def whitelist_list(sender):
sender_id = str(sender.getUniqueId()) sender_id = str(sender.getUniqueId())
msg(sender, "%s &aForceField Whitelist:" % ff_prefix) msg(sender, "%s &aForceField Whitelist:" % ff_prefix)
try: count = 0
count = 0 for player_id in whitelists.get(sender_id, []):
for player_id in whitelists.get(sender_id, []): count += 1
count += 1 msg(sender, "&a %s. &f%s" % (count, server.getOfflinePlayer(id_to_player(player_id)).getName()))
msg(sender, "&a %s. &f%s" % (count, server.getOfflinePlayer(java_uuid(player_id)).getName())) if count == 0:
if count == 0: msg(sender, "&c Your whitelist has no entries.")
msg(sender, "&c Your whitelist has no entries.")
except:
log(print_traceback())
def whitelist_clear(sender): def whitelist_clear(sender):

View File

@@ -1,4 +1,5 @@
from helpers import * from helpers import *
from java.util.UUID import fromString as id_to_player
import json import json
import time import time
import thread import thread
@@ -7,7 +8,8 @@ reports_filename = "plugins/redstoner-utils.py.dir/files/reports.json"
time_format = "%Y.%m.%d %H:%M" time_format = "%Y.%m.%d %H:%M"
reports = [] reports = []
check_reports = True check_reports = True
check_delay = 60*10 # seconds check_delay = 60 * 10 # Every 10 minutes, staff will be notified about pending reports.
rp_permission = "utils.rp"
try: try:
reports = json.loads(open(reports_filename).read()) reports = json.loads(open(reports_filename).read())
except Exception, e: except Exception, e:
@@ -24,8 +26,7 @@ def print_help(sender):
def print_list(sender): def print_list(sender):
msg(sender, "&a" + str(len(reports)) + " reports:") msg(sender, "&a" + str(len(reports)) + " reports:")
for i, report in enumerate(reports): for i, report in enumerate(reports):
msg(sender, "&8[&e" + str(i) + " &c" + report["time"] + "&8] &3" + report["player"] + "&f: &a" + report["msg"]) msg(sender, "&8[&e" + str(i) + " &c" + report["time"] + "&8] &3" + server.getOfflinePlayer(id_to_player(report["uuid"])).getName() + "&f: &a" + report["msg"])
def tp_report(sender, rep_id): def tp_report(sender, rep_id):
if rep_id >= len(reports) or rep_id < 0: if rep_id >= len(reports) or rep_id < 0:
@@ -43,7 +44,7 @@ def delete_report(sender, rep_id):
reports.pop(rep_id) reports.pop(rep_id)
save_reports() save_reports()
msg(sender, "&aReport #%s deleted." % rep_id) msg(sender, "&aReport #%s deleted." % rep_id)
reporter = server.getOfflinePlayer(report["player"]) reporter = server.getOfflinePlayer(id_to_player(report["uuid"]))
plugin_header(reporter, "Report") plugin_header(reporter, "Report")
msg(reporter, "&aReport '&e%s&a' was resolved by %s." % (report["msg"], sender.getName())) msg(reporter, "&aReport '&e%s&a' was resolved by %s." % (report["msg"], sender.getName()))
else: else:
@@ -61,7 +62,7 @@ def save_reports():
@hook.command("rp") @hook.command("rp")
def on_rp_command(sender, args): def on_rp_command(sender, args):
if sender.hasPermission("utils.rp"): if sender.hasPermission(rp_permission):
plugin_header(sender, "Reports") plugin_header(sender, "Reports")
if len(args) > 0: if len(args) > 0:
if args[0] == "list": if args[0] == "list":
@@ -102,8 +103,9 @@ def on_report_command(sender, args):
text = " ".join(args) text = " ".join(args)
loc = sender.getLocation() loc = sender.getLocation()
reporter = sender.name reporter = sender.name
reporter_id = str(sender.getUniqueId())
report = { report = {
"player": reporter, "uuid": reporter_id,
"msg": text, "msg": text,
"x": int(loc.x), "x": int(loc.x),
"y": int(loc.y), "y": int(loc.y),
@@ -115,7 +117,7 @@ def on_report_command(sender, args):
} }
reports.append(report) reports.append(report)
save_reports() save_reports()
broadcast("utils.rp", "&aReport #" + str(len(reports) -1) + ": " + reporter + "&f: " + text) broadcast(rp_permission, "&aReport #" + str(len(reports) -1) + ": " + reporter + "&f: " + text)
msg(sender, "&aReported \"&e" + text + "&a\"") msg(sender, "&aReported \"&e" + text + "&a\"")
return True return True
@@ -128,8 +130,8 @@ def reports_reminder(): # needs 2 args for unknown reason
log("Reports reminder thread killed.") log("Reports reminder thread killed.")
thread.exit() thread.exit()
if len(reports) > 0: if len(reports) > 0:
broadcast("utils.rp", "&2--=[ Reports ]=--") broadcast(rp_permission, "&2--=[ Reports ]=--")
broadcast("utils.rp", "&aThere are %s pending reports!" % len(reports)) broadcast(rp_permission, "&aThere are %s pending reports!" % len(reports))
def stop_reporting(): def stop_reporting():