Change /sudo command fixes #14
This commit is contained in:
@@ -8,6 +8,7 @@ import org.bukkit.entity.Player as Player
|
||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause as TeleportCause
|
||||
import org.bukkit.block as bblock
|
||||
import org.bukkit.event.entity as entity
|
||||
import org.bukkit.command.ConsoleCommandSender
|
||||
from org.bukkit.entity import *
|
||||
|
||||
|
||||
@@ -110,7 +111,7 @@ def noperm(player):
|
||||
def runas(player, cmd):
|
||||
"""
|
||||
run a command as player
|
||||
the cmd should no be prefixed with a /
|
||||
the cmd should NOT be prefixed with a /
|
||||
"""
|
||||
player.chat("/" + cmd)
|
||||
|
||||
|
||||
25
misc.py
25
misc.py
@@ -43,26 +43,21 @@ def on_sudo_command(sender, args):
|
||||
execute command/chat *as* a player/console
|
||||
"""
|
||||
if sender.hasPermission("utils.sudo"):
|
||||
plugin_header(sender, "Sudo")
|
||||
if not checkargs(sender, args, 2, -1):
|
||||
return True
|
||||
target = args[0]
|
||||
|
||||
cmd = " ".join(args[1:])
|
||||
msg(sender, "Running '&e%s&r' as &3%s" % (cmd, target))
|
||||
if cmd[0] == "/":
|
||||
msg(sender, "&2[SUDO] &rRunning '&e%s&r' as &3%s" % (cmd, target))
|
||||
is_cmd = cmd[0] == "/"
|
||||
is_console = target.lower() == "server" or target.lower() == "console"
|
||||
if is_console:
|
||||
if is_cmd:
|
||||
cmd = cmd[1:]
|
||||
if target.lower() == "server" or target.lower() == "console":
|
||||
runas(server.getConsoleSender(), cmd)
|
||||
elif server.getPlayer(target):
|
||||
runas(server.getPlayer(target), cmd)
|
||||
else:
|
||||
msg(sender, "&cPlayer %s not found!" % target)
|
||||
else:
|
||||
if target.lower() == "server" or target.lower() == "console":
|
||||
runas(server.getConsoleSender(), "say %s" % cmd)
|
||||
elif server.getPlayer(target):
|
||||
server.getPlayer(target).chat(cmd)
|
||||
server.dispatchCommand(server.getConsoleSender(), cmd)
|
||||
return True
|
||||
target_player = server.getPlayer(target)
|
||||
if target_player:
|
||||
target_player.chat(cmd)
|
||||
else:
|
||||
msg(sender, "&cPlayer %s not found!" % target)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user