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