ServerAPI/src/main/java/xyz/etztech/serverapi/web/api/QueryAPI.java

59 lines
1.5 KiB
Java

package xyz.etztech.serverapi.web.api;
import com.expediagroup.graphql.annotations.GraphQLName;
import com.fasterxml.jackson.annotation.JsonProperty;
import org.bukkit.Server;
public class QueryAPI {
private final String type;
private final String version;
private final String motd;
@JsonProperty("current_players")
private final int currentPlayers;
@JsonProperty("max_players")
private final int maxPlayers;
public QueryAPI(String type, String version, String motd, int currentPlayers, int maxPlayers) {
this.type = type;
this.version = version;
this.motd = motd;
this.currentPlayers = currentPlayers;
this.maxPlayers = maxPlayers;
}
@GraphQLName("type")
public String getType() {
return type;
}
@GraphQLName("version")
public String getVersion() {
return version;
}
@GraphQLName("motd")
public String getMotd() {
return motd;
}
@GraphQLName("current_players")
public Integer getCurrentPlayers() {
return currentPlayers;
}
@GraphQLName("max_players")
public Integer getMaxPlayers() {
return maxPlayers;
}
public static QueryAPI fromMinecraft(Server server) {
return new QueryAPI(
server.getName(),
server.getBukkitVersion().split("-")[0], // 1.x.x-R0.1-SNAPSHOT
server.getMotd(),
server.getOnlinePlayers().size(),
server.getMaxPlayers()
);
}
}