Merge branch 'dev' of bitbucket.org:redstonesheep/redstoner-utils into dev

This commit is contained in:
Louis Vogt
2014-08-07 02:36:23 +02:00
6 changed files with 27 additions and 19 deletions

View File

@@ -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.")

View File

@@ -58,10 +58,8 @@ def add(sender, names):
friends[sender_id] = []
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 = server.getPlayer(name)
if player:
player_id = uid(player)
not_yourself = player != sender
@@ -80,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:
@@ -94,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)
@@ -110,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))

View File

@@ -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
"""

View File

@@ -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&lto Redstoner!")
broadcast("utils.greet_new", "")

View File

@@ -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
@@ -19,9 +19,13 @@ def print_help(sender):
def print_list(sender):
try: # new thread, anything can happen.
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"]))
except:
warn("Failed to complete report's print_list() thread")
def tp_report(sender, rep_id):
@@ -40,7 +44,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:
@@ -57,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

View File

@@ -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':" % keyword)
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")