package server.command;
import server.Player;
import server.SyntaxException;
import server.token.TokenString;
public class FollowCommand extends Command {
private static final TokenString TS_FOLLOW = new TokenString("%MN1 %v1/begins/begin/ to follow %Mc21/%x2/%n2/.");
public FollowCommand() {
super(CommandCategory.INTERACTION, "Follow another player.");
}
@Override
public void run(Player player) throws SyntaxException {
String name = CommandProcessor.nextToken();
if (CommandProcessor.nextToken() != null) {
throw new SyntaxException();
}
if (name == null || name.equals("-")) {
player.setFollow(null);
player.sendText(true, "You're no longer following anyone.");
}
else {
Player target = player.matchLocalPlayer(name);
if (target == null) {
player.sendText(true, "There's noone here by that name.");
return;
}
if (target == player) {
player.sendText(true, "You can't follow yourself.");
return;
}
player.setFollow(target);
player.sendText(true, null, null, null, TS_FOLLOW, null, player, target);
target.sendText(true, null, TS_FOLLOW, null, null, null, player, target);
}
}
@Override
public String[] getSyntax(Player player) {
return new String[] { "[player|-]" };
}
}