add player_as_op prefix

This commit is contained in:
plachta3 2015-02-08 15:08:01 +01:00
parent 6c6ebafb90
commit 20ac6bdaed
4 changed files with 57 additions and 18 deletions

View File

@ -1,6 +1,7 @@
# 'dumb' parameter, will just use what you put in
banhammer:
1: /ban !1
# name parameter is replaced with the command users name
gmon:
0: /gamemode creative !name
@ -8,6 +9,11 @@ gmon:
gmoff:
0: /gamemode survival !name
1: /gamemode survival !1
# call command which needs permission with default player
day:
0: player_as_op /time set 0
# putting a P after the parameter specifies this is a player, and BA should try to guess which player
# useful for things like "/to e0n" instead of "/to Ne0nx3r0"
# This will ONLY look for players that are online
@ -16,6 +22,7 @@ to:
2: /tp !1p !2p
bring:
1: /tp !1p !name
# multiple command example
# note spaces in an alias go within quotes
"tp then kick":

View File

@ -3,6 +3,7 @@ package com.ne0nx3r0.betteralias.alias;
public enum AliasCommandTypes
{
PLAYER,
PLAYER_AS_OP,
CONSOLE,
REPLY_MESSAGE,
WAIT,

View File

@ -107,6 +107,12 @@ public class AliasManager
sArgLine = sArgLine.substring(sArgLine.indexOf(" ")+1);
}
else if(sType.equalsIgnoreCase("player_as_op"))
{
type = AliasCommandTypes.PLAYER_AS_OP;
sArgLine = sArgLine.substring(sArgLine.indexOf(" ")+1);
}
else if(sType.equalsIgnoreCase("reply"))
{
type = AliasCommandTypes.REPLY_MESSAGE;
@ -342,7 +348,6 @@ public class AliasManager
plugin.getServer().getScheduler().runTaskLater(plugin, new Runnable()
{
@Override
public void run()
{
csWait.sendMessage(message);
@ -375,6 +380,35 @@ public class AliasManager
"[BetterAlias] "+ChatColor.AQUA+"Running: "+sNewCommand), ac.waitTime);
}
}
else if(ac.type.equals(AliasCommandTypes.PLAYER_AS_OP) && player != null)
{
AliasManager.plugin.getLogger().log(
Level.INFO,
"[BetterAlias] {0}Running player_as_op command for {1}: {2}",
new Object[] { ChatColor.AQUA, player.getName(), sNewCommand }
);
if(player.isOp() == false)
{
try
{
player.setOp(true);
AliasManager.plugin.getServer().dispatchCommand(player, sNewCommand.substring(1));
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
player.setOp(false);
}
}
else
{
AliasManager.plugin.getServer().dispatchCommand(player, sNewCommand.substring(1));
}
}
else if(ac.type.equals(AliasCommandTypes.CONSOLE)
|| player == null)
{
@ -440,7 +474,6 @@ public class AliasManager
this.command = command;
}
@Override
public void run()
{
plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(), command);
@ -458,7 +491,6 @@ public class AliasManager
this.command = command;
}
@Override
public void run()
{
Player p = plugin.getServer().getPlayer(playerName);

View File

@ -15,7 +15,6 @@ public class BetterAliasCommandExecutor implements CommandExecutor
this.plugin = plugin;
}
@Override
public boolean onCommand(CommandSender cs, Command cmnd, String alias, String[] args)
{
// To allow nulling server commands out