package server.command;
import server.AdminFlag;
import server.Player;
import server.RoomEntity;
import server.SyntaxException;
public class InfoCommand extends Command {
public InfoCommand() {
super(CommandCategory.GENERAL, "Shows detail on something.");
}
@Override
public void run(Player player) throws SyntaxException {
String token = CommandProcessor.nextToken();
if (token == null || CommandProcessor.nextToken() != null) {
throw new SyntaxException();
}
RoomEntity target;
if (player.getAdminFlags().contains(AdminFlag.ADMIN_VIEWS)) {
target = player.matchGlobalRoomEntity(token);
}
else {
target = player.getPlayerByNickname(token);
if (target == null) {
target = player.matchLocalRoomEntity(token);
}
}
if (target == null) {
player.sendText(true, "There's nothing here by that name.");
return;
}
target.sendInfo(player);
}
@Override
public String[] getSyntax(Player player) {
return new String[] { "<player|npc|item>" };
}
}