From 211fb082653b8ce5516b7c0af923fa5fa9070111 Mon Sep 17 00:00:00 2001 From: Dico200 Date: Mon, 13 Apr 2015 18:16:00 +0200 Subject: [PATCH] Removed color support for /me for players w/o perms --- helpers.py | 15 +++++++++------ misc.py | 7 +++---- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/helpers.py b/helpers.py index 6cd0ea9..17952d1 100644 --- a/helpers.py +++ b/helpers.py @@ -39,7 +39,6 @@ def error(text): """ server.getLogger().severe("[RedstonerUtils] %s" % text) - def msg(player, text, usecolor = True, basecolor = None): """ send a message to player @@ -47,7 +46,7 @@ def msg(player, text, usecolor = True, basecolor = None): unless usecolor is False, &-codes are translated to real color codes for that case, basecolor can be useful. basecolor accepts a single character as color code """ - if player and (player == server.getConsoleSender() or player.getPlayer()): # getPlayer() returns None when offline + if player and (player == server.getConsoleSender() or player.isOnline()): # getPlayer() returns None when offline if basecolor: if usecolor: text = colorify(text) @@ -56,15 +55,16 @@ def msg(player, text, usecolor = True, basecolor = None): player.sendMessage(colorify(text) if usecolor else text) -def broadcast(perm, text): +def broadcast(perm, text, usecolor = True): """ better than bukkit's broadcast. bukkit only works with permissibles that are subscribed to perm """ - text = colorify(text) + if usecolor: + text = colorify(text) for recipient in list(server.getOnlinePlayers()) + [server.getConsoleSender()]: if not perm or recipient.hasPermission(perm): - msg(recipient, text) + msg(recipient, text, usecolor = False) def colorify(text): @@ -115,7 +115,10 @@ def runas(player, cmd): run a command as player the cmd should NOT be prefixed with a / """ - player.chat("/" + cmd) + if is_player(player): + player.chat("/" + cmd) + else: + server.dispatchCommand(player, cmd) def is_player(obj): diff --git a/misc.py b/misc.py index 954d09a..d3abf05 100644 --- a/misc.py +++ b/misc.py @@ -17,9 +17,7 @@ def on_join(event): # send welcome broadcast 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", "") + broadcast("utils.greet_new", "\n&a&lPlease welcome &f" + player.getDisplayName() + " &a<o Redstoner!\n") # clear out some eventual crap before msg(player, " \n \n \n \n \n \n \n \n \n \n \n \n ") @@ -64,7 +62,8 @@ def on_sudo_command(sender, command, label, args): description = "Sends a message in third person", helpNoargs = True) def on_me_command(sender, command, label, args): - broadcast("utils.me", "&7- %s &7%s %s" % (sender.getDisplayName() if isinstance(sender, Player) else "&9CONSOLE", u"\u21E6", " ".join(args))) + text = colorify("&7- %s &7%s " % (sender.getDisplayName() if isinstance(sender, Player) else "&9CONSOLE", u"\u21E6")) + broadcast("utils.me", text + " ".join(args), usecolor = sender.hasPermission("essentials.chat.color")) return None #