Removed color support for /me for players w/o perms

This commit is contained in:
Dico200
2015-04-13 18:16:00 +02:00
parent ce3b911b35
commit 211fb08265
2 changed files with 12 additions and 10 deletions

View File

@@ -39,7 +39,6 @@ def error(text):
""" """
server.getLogger().severe("[RedstonerUtils] %s" % text) server.getLogger().severe("[RedstonerUtils] %s" % text)
def msg(player, text, usecolor = True, basecolor = None): def msg(player, text, usecolor = True, basecolor = None):
""" """
send a message to player 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 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 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 basecolor:
if usecolor: if usecolor:
text = colorify(text) text = colorify(text)
@@ -56,15 +55,16 @@ def msg(player, text, usecolor = True, basecolor = None):
player.sendMessage(colorify(text) if usecolor else text) player.sendMessage(colorify(text) if usecolor else text)
def broadcast(perm, text): def broadcast(perm, text, usecolor = True):
""" """
better than bukkit's broadcast. better than bukkit's broadcast.
bukkit only works with permissibles that are subscribed to perm 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()]: for recipient in list(server.getOnlinePlayers()) + [server.getConsoleSender()]:
if not perm or recipient.hasPermission(perm): if not perm or recipient.hasPermission(perm):
msg(recipient, text) msg(recipient, text, usecolor = False)
def colorify(text): def colorify(text):
@@ -115,7 +115,10 @@ def runas(player, cmd):
run a command as player run a command as player
the cmd should NOT be prefixed with a / 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): def is_player(obj):

View File

@@ -17,9 +17,7 @@ def on_join(event):
# send welcome broadcast # send welcome broadcast
if not player.hasPlayedBefore(): if not player.hasPlayedBefore():
broadcast("utils.greet_new", "") broadcast("utils.greet_new", "\n&a&lPlease welcome &f" + player.getDisplayName() + " &a&lto Redstoner!\n")
broadcast("utils.greet_new", "&a&lPlease welcome &f" + player.getDisplayName() + " &a&lto Redstoner!")
broadcast("utils.greet_new", "")
# clear out some eventual crap before # clear out some eventual crap before
msg(player, " \n \n \n \n \n \n \n \n \n \n \n \n ") 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", description = "Sends a message in third person",
helpNoargs = True) helpNoargs = True)
def on_me_command(sender, command, label, args): 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 return None
# #