package com.cardshifter.api.outgoing;
import com.cardshifter.api.messages.Message;
import java.util.Arrays;
/** Message reporting server status. Sent in response to ServerQueryMessage.Request.STATUS */
public class ServerStatusMessage extends Message {
private int users;
private int ais;
private int games;
private String[] mods;
/** Constructor. (no params) */
public ServerStatusMessage() {
this(0, 0, 0, new String[]{});
}
/**
* Constructor.
* @param users Number of online users (excluding AIs)
* @param ais Number of AIs available to play with
* @param games Number of games currently running
* @param mods Names of the available mods
*/
public ServerStatusMessage(int users, int ais, int games, String[] mods) {
super("status");
this.users = users;
this.ais = ais;
this.games = games;
this.mods = mods;
}
/**
* @return Number of available AIs
*/
public int getAis() {
return ais;
}
/**
* @return Number of games running
*/
public int getGames() {
return games;
}
/**
* @return The number of online users (excluding AIs)
*/
public int getUsers() {
return users;
}
/**
* @return The names of the available mods
*/
public String[] getMods() {
return Arrays.copyOf(mods, mods.length);
}
/** @return This message as converted to String */
@Override
public String toString() {
return "ServerStatusMessage{" +
"users=" + users +
", ais=" + ais +
", games=" + games +
", mods=" + Arrays.toString(mods) +
'}';
}
}