diff --git a/forcefield.py b/forcefield.py index 94f7747..497c853 100644 --- a/forcefield.py +++ b/forcefield.py @@ -1,4 +1,5 @@ #pylint: disable = F0401 +import thread from helpers import * from org.bukkit.util import Vector from math import sin @@ -28,7 +29,7 @@ def on_forcefield_command(sender, args): args[0] = args[0].upper() # If it gets to this point, there are argument(s). if args[0] in ["WHITELIST", "WL", "WLIST"]: # Whitelist commands if not args[1:] or args[1].upper() == "LIST": - whitelist_list(sender) + thread.start_new_thread(whitelist_list, (sender,)) return True args[1] = args[1].upper() # If it gets too this point, there is a second argument. @@ -88,15 +89,18 @@ def change_whitelist(sender, add, names): #Add names if add == True else Remove def whitelist_list(player): - player_id = uid(player) - count = 0 - forcefield_header(player, "&bForcefield whitelist:") - for user_id in whitelists.get(player_id, []): - count += 1 - pname = retrieve_player(user_id).getName() - msg(player, "&b %s. &f%s" % (count, pname)) - if count == 0: - msg(player, "&c Your whitelist has no entries.") + try: + player_id = uid(player) + count = 0 + forcefield_header(player, "&bForcefield whitelist:") + for user_id in whitelists.get(player_id, []): + count += 1 + pname = retrieve_player(user_id).getName() + msg(player, "&b %s. &f%s" % (count, pname)) + if count == 0: + msg(player, "&c Your whitelist has no entries.") + except: + warn("Unable to finish whitelist_list process") def whitelist_clear(player): diff --git a/friends.py b/friends.py index 6522406..d8a70ea 100644 --- a/friends.py +++ b/friends.py @@ -1,3 +1,4 @@ +import thread from helpers import * friends = open_json_file("friends", {}) # {Player_UUID:[List_of_friend_uuids]} @@ -25,22 +26,23 @@ def friendmessage(player, message): # sends a message with a prefix def ls(sender): - sender_friends = friends.get(uid(sender), False) - if sender_friends: - friends_string = "" - for uuid in sender_friends: - friends_string += (retrieve_player(uuid).getName() + ", ") - friendmessage(sender, "&aYour friends list: " + friends_string[:len(friends_string)-2]) - else: - friendmessage(sender, "&cYour friends list is empty") + try: + sender_friends = friends.get(uid(sender), False) + if sender_friends: + friends_string = "" + for uuid in sender_friends: + friends_string += (retrieve_player(uuid).getName() + ", ") + friendmessage(sender, "&aYour friends list: " + friends_string[:len(friends_string)-2]) + else: + friendmessage(sender, "&cYour friends list is empty") + except: + warn("Unable to finish friends' ls process") def clear(sender): sender_id = uid(sender) if friends.get(sender_id, False): - for uuid in friends[sender_id]: - friendmessage(retrieve_player(uuid), "&c&o%s &cremoved you from their friends list" % stripcolors(sender.getDisplayName())) friends.pop(sender_id) friendmessage(sender, "&aFriends list cleared") save_friends() @@ -133,7 +135,7 @@ def on_friend_command(sender, args): # /friends list if cmd in ["list", "lst", "*"]: - ls(sender) + thread.start_new_thread(ls, (sender,)) # /friends clear elif cmd in ["clear", "/"]: diff --git a/main.py b/main.py index 701c1d5..2b2d762 100644 --- a/main.py +++ b/main.py @@ -44,7 +44,7 @@ shared["load_modules"] = [ "motd", "abot", "forcefield", - "friends" + "damnspam" ] shared["modules"] = {} for module in shared["load_modules"]: diff --git a/mentio.py b/mentio.py index 89c5f10..496bf2f 100644 --- a/mentio.py +++ b/mentio.py @@ -112,6 +112,12 @@ def del_keyword(sender, args): msg(sender, "&cWe can't remove something that doesn't exist! Try &6/mentio list") +def show_help(player): + msg(player, "&a/mentio add ") + msg(player, "&a/mentio del ") + msg(player, "&a/mentio list") + + @hook.command("mentio") def onListenCommand(sender, args): plugin_header(sender, "Mentio") @@ -136,8 +142,8 @@ def onListenCommand(sender, args): msg(sender, "&c- &3%s" % word) if not keywords: msg(sender, "&cYou are currently listening for no words! Try &6/mentio add ") + else: + show_help(sender) else: - msg(sender, "&a/mentio add ") - msg(sender, "&a/mentio del ") - msg(sender, "&a/mentio list") + show_help(sender) return True \ No newline at end of file diff --git a/reports.py b/reports.py index 77e522d..361340d 100644 --- a/reports.py +++ b/reports.py @@ -22,8 +22,8 @@ def print_list(sender): 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"])) + name = retrieve_player(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") @@ -62,7 +62,7 @@ def on_rp_command(sender, args): if len(args) > 0: if args[0] == "list": # needs to run in seperate thread because of getOfflinePlayer - thread.start_new_thread(print_list, (sender)) + thread.start_new_thread(print_list, (sender,)) else: if not checkargs(sender, args, 2, 2): return True diff --git a/saylol.py b/saylol.py index 8f5d461..58b8ae9 100644 --- a/saylol.py +++ b/saylol.py @@ -30,10 +30,8 @@ def print_lol(sender, lid): broadcast(None, "&8[&blol&8] &7%s&8: &e%s" % (dispname, lols[lid])) last_msg = time() else: - plugin_header(sender, "SayLol") msg(sender, "&cInvalid id") else: - plugin_header(sender, "SayLol") msg(sender, "&cYou can use SayLol again in &a%s seconds!" % int(timeout + 1 - (time() - last_msg))) @@ -41,9 +39,10 @@ def search_lols(sender, keyword): if not keyword: msg(sender, "&cPlease provide a keyword to search for!") return + keyword = keyword.lower() msg(sender, "&aLols containing '&6%s&a':" % keyword) for i, lol in enumerate(lols): - if keyword in lol: + if keyword in lol.lower(): msg(sender, "&a%s: &e%s" % (str(i).rjust(3), lol)) msg(sender, "") # empty line showing end of list