super("gamemode [PLAYER] MODE", "set gameMode for a specific player.");
}
public void execute(Player player, String message) {
String[] args = extractArguments(message);
Player target;
Integer gameMode;
try {
if (args.length == 1) {
target = player;
gameMode = Integer.parseInt(args[0]);
} else if (args.length == 2) {
target = player.getServer().findPlayer(args[0]);
if (target == null) {
player.addTMessage(Color.RED, "Player not online (%s)", args[1]);
return;
}
gameMode = Integer.parseInt(args[1]);
} else {
player.addTMessage(Color.RED, "Invalid number of arguments!");
return;
}
} catch (NumberFormatException e) {
player.addTMessage(Color.RED, "Invalid gameMode %s!", args[0]);
return;
}
if (gameMode != 0 && gameMode != 1 && gameMode != 2) {
player.addTMessage(Color.RED, "Invalid gameMode %d!", gameMode);
return;
}
player.getServer().runCommand("gamemode", gameMode + " " + target.getName());
}