From b31e887aa440f321d3f0c22c492798418153cc91 Mon Sep 17 00:00:00 2001 From: jomo Date: Thu, 7 Aug 2014 01:39:12 +0200 Subject: [PATCH 1/8] better /lol search --- saylol.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/saylol.py b/saylol.py index 6da18c9..f13d93c 100644 --- a/saylol.py +++ b/saylol.py @@ -38,9 +38,14 @@ def print_lol(sender, lid): def search_lols(sender, keyword): + if not keyword: + msg(sender, "&cPlease provide a keyword to search for!") + return + msg(sender, "&aLols containing '&6%s&a':") for i, lol in enumerate(lols): if keyword in lol: msg(sender, "&a%s: &e%s" % (str(i).rjust(3), lol)) + msg(sender, "") # empty line showing end of list @hook.command("lol") From 733e669e8b189595ec2e31d36a93eac49fc24e76 Mon Sep 17 00:00:00 2001 From: jomo Date: Thu, 7 Aug 2014 01:50:26 +0200 Subject: [PATCH 2/8] clarifiy known_player a bit more --- helpers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers.py b/helpers.py index 2c8426c..7a5a62e 100644 --- a/helpers.py +++ b/helpers.py @@ -160,7 +160,7 @@ def retrieve_player(uuid_str): def known_player(player): """ - to be used on OfflinePlayer + to be used on OfflinePlayer (which can be online!) returns True if the player has been on the server this is different to HasPlayedBefore(), which will return False on first join """ From 286ca74f71433faa9ab76440e5c9fbf1ba1c0d4a Mon Sep 17 00:00:00 2001 From: jomo Date: Thu, 7 Aug 2014 02:10:36 +0200 Subject: [PATCH 3/8] fix %s --- saylol.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/saylol.py b/saylol.py index f13d93c..8f5d461 100644 --- a/saylol.py +++ b/saylol.py @@ -41,7 +41,7 @@ def search_lols(sender, keyword): if not keyword: msg(sender, "&cPlease provide a keyword to search for!") return - msg(sender, "&aLols containing '&6%s&a':") + msg(sender, "&aLols containing '&6%s&a':" % keyword) for i, lol in enumerate(lols): if keyword in lol: msg(sender, "&a%s: &e%s" % (str(i).rjust(3), lol)) From 363f5cdddab1c1b16a7fa82adcb8092d069f8e47 Mon Sep 17 00:00:00 2001 From: jomo Date: Thu, 7 Aug 2014 02:19:53 +0200 Subject: [PATCH 4/8] remove WTF methods from player welcome --- friends.py | 2 -- misc.py | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/friends.py b/friends.py index ce9b111..4f24d79 100644 --- a/friends.py +++ b/friends.py @@ -59,8 +59,6 @@ def add(sender, names): for name in names: player = server.getOfflinePlayer(name) - # FIXME: breaks if player not known - # FIXME: might to a blocking call, maybe we can use getOfflinePlayers() if known_player(player): player_id = uid(player) not_yourself = player != sender diff --git a/misc.py b/misc.py index e743d00..d91a82c 100644 --- a/misc.py +++ b/misc.py @@ -14,7 +14,7 @@ def on_join(event): player = event.getPlayer() # send welcome broadcast - if not server.getOfflinePlayer(player.getName()).hasPlayedBefore(): + if not player.hasPlayedBefore(): broadcast("utils.greet_new", "") broadcast("utils.greet_new", "&a&lPlease welcome &f" + player.getDisplayName() + " &a<o Redstoner!") broadcast("utils.greet_new", "") From a48919c94ce7c141d6a918a6f306a20f85061f7d Mon Sep 17 00:00:00 2001 From: jomo Date: Thu, 7 Aug 2014 02:21:44 +0200 Subject: [PATCH 5/8] get rid of OfflinePlayer in forcefield --- forcefield.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/forcefield.py b/forcefield.py index bafe4a9..94f7747 100644 --- a/forcefield.py +++ b/forcefield.py @@ -55,8 +55,8 @@ def change_whitelist(sender, add, names): #Add names if add == True else Remove whitelists[sender_id] = [] for name in names: - player = server.getOfflinePlayer(name) - if player.hasPlayedBefore(): + player = server.getPlayer(name) + if player: player_id = uid(player) pname = player.getName() sname = stripcolors(sender.getDisplayName()) @@ -82,7 +82,7 @@ def change_whitelist(sender, add, names): #Add names if add == True else Remove forcefield_header(sender, "&f%s &cwas %s in your forcefield whitelist!" % (pname, var)) else: - forcefield_header(sender, "&cplayer &f%s &cwas not found." % name) + forcefield_header(sender, "&cplayer &f%s &cwas not found (must be online)." % name) else: forcefield_header(sender, "&cGive space-separated playernames.") From 6d04f31a8c2555af3732af0522c979c8d6c42cc2 Mon Sep 17 00:00:00 2001 From: jomo Date: Thu, 7 Aug 2014 02:24:45 +0200 Subject: [PATCH 6/8] get rid of offlineplayer in friends --- friends.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/friends.py b/friends.py index 4f24d79..6522406 100644 --- a/friends.py +++ b/friends.py @@ -58,8 +58,8 @@ def add(sender, names): friends[sender_id] = [] for name in names: - player = server.getOfflinePlayer(name) - if known_player(player): + player = server.getPlayer(name) + if player: player_id = uid(player) not_yourself = player != sender @@ -78,7 +78,7 @@ def add(sender, names): if added: friendmessage(sender, "&a&o%s&a added." % ", ".join(added)) if notfound: - friendmessage(sender, "&c&o%s&c not found." % ", ".join(notfound)) + friendmessage(sender, "&c&o%s&c not found. (must be online)" % ", ".join(notfound)) if friendalready: friendmessage(sender, "&c&o%s&c is/are already your friend." % ", ".join(friendalready)) if not not_yourself: @@ -92,8 +92,8 @@ def rem(sender, names): notafriend = [] for name in names: - player = server.getOfflinePlayer(name) - if known_player(player): + player = server.Player(name) + if player: player_id = uid(player) if player_id in friends.get(sender_id, []): friends[sender_id].remove(player_id) @@ -108,7 +108,7 @@ def rem(sender, names): if removed: friendmessage(sender, "&a&o%s&a removed." % ", ".join(removed)) if notfound: - friendmessage(sender, "&c&o%s&c not found." % ", ".join(notfound)) + friendmessage(sender, "&c&o%s&c not found. (must be online)" % ", ".join(notfound)) if notafriend: friendmessage(sender, "&c&o%s&c is/are not in your friends list." % ", ".join(notafriend)) From bea7d369acd4b24968842ce19a12e05f8be8b7f9 Mon Sep 17 00:00:00 2001 From: jomo Date: Thu, 7 Aug 2014 02:27:49 +0200 Subject: [PATCH 7/8] get rid of dico's stupid nonsense :3 --- reports.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/reports.py b/reports.py index 0b3cfcc..8d8533b 100644 --- a/reports.py +++ b/reports.py @@ -1,5 +1,5 @@ from helpers import * -from java.util.UUID import fromString as id_to_player +from java.util.UUID import fromString as juuid import time import thread @@ -21,7 +21,8 @@ def print_help(sender): def print_list(sender): msg(sender, "&a" + str(len(reports)) + " reports:") for i, report in enumerate(reports): - msg(sender, "&8[&e" + str(i) + " &c" + report["time"] + "&8] &3" + server.getOfflinePlayer(id_to_player(report["uuid"])).getName() + "&f: &a" + report["msg"]) + name = server.getOfflinePlayer(juuid(report["uuid"])).getName() + msg(sender, "&8[&e%s&c%s&8] &3%s&f: &a%s" % (i, report["time"], name, report["msg"])) def tp_report(sender, rep_id): @@ -40,7 +41,7 @@ def delete_report(sender, rep_id): reports.pop(rep_id) save_reports() msg(sender, "&aReport #%s deleted." % rep_id) - reporter = server.getOfflinePlayer(id_to_player(report["uuid"])) + reporter = server.getOfflinePlayer(juuid(report["uuid"])) plugin_header(reporter, "Report") msg(reporter, "&aReport '&e%s&a' was resolved by %s." % (report["msg"], sender.getName())) else: From 0cf6c5340549e53ac3bae40a881724cc308112aa Mon Sep 17 00:00:00 2001 From: jomo Date: Thu, 7 Aug 2014 02:30:44 +0200 Subject: [PATCH 8/8] use new thread for reports list --- reports.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/reports.py b/reports.py index 8d8533b..77e522d 100644 --- a/reports.py +++ b/reports.py @@ -19,10 +19,13 @@ def print_help(sender): def print_list(sender): - msg(sender, "&a" + str(len(reports)) + " reports:") - for i, report in enumerate(reports): - name = server.getOfflinePlayer(juuid(report["uuid"])).getName() - msg(sender, "&8[&e%s&c%s&8] &3%s&f: &a%s" % (i, report["time"], name, report["msg"])) + try: # new thread, anything can happen. + msg(sender, "&a" + str(len(reports)) + " reports:") + for i, report in enumerate(reports): + name = server.getOfflinePlayer(juuid(report["uuid"])).getName() + msg(sender, "&8[&e%s&c%s&8] &3%s&f: &a%s" % (i, report["time"], name, report["msg"])) + except: + warn("Failed to complete report's print_list() thread") def tp_report(sender, rep_id): @@ -58,7 +61,8 @@ def on_rp_command(sender, args): plugin_header(sender, "Reports") if len(args) > 0: if args[0] == "list": - print_list(sender) + # needs to run in seperate thread because of getOfflinePlayer + thread.start_new_thread(print_list, (sender)) else: if not checkargs(sender, args, 2, 2): return True