From c30578525fd9520de238ef9880a4e45ac4924495 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 b9f4d468ae5b0dcee400efa2081b902b9b0ae1f8 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 217f2cb579fd1d22d3e51d502862242d46c49526 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 b7aed64fe532949acd122d1626079cf0626696f5 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 939e744a337fb8bbaab67bb0d82eec6ba1e0b863 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 7c2c87a05e80b850f6d1a701ad21166eedc4b32c 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 ec192ad7904439545d29bb76fd8d479120082acd 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 c87adff9baa6694bd78f74b9b7277ed6bfc3571f 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