Библиотека для упрощения работы с api сервера spm.
Официальный сайт api: https://sp-api.ru/spm
<dependency>
<groupId>com.github.l524l</groupId>
<artifactId>JavaSpApi</artifactId>
<version>1.0</version>
</dependency>
implementation 'com.github.l524l:JavaSpApi:1.0'
Так же вы можете скачать jar файл и подключить его как библиотеку к своему проекту
Для использования библиотеки нужно создать объект класса SpApi
SpApi spApi = new SpApi();
Список основных методов класса SpApi:
- getServerWeather() - возвращает объект класса
Weather
- getServerTime() - возвращает объект класса
Time
- getServerOnlinePlayers() - возвращает объект класса
OnlinePlayers
- getServerLastChatMessages() - возвращает объект класса
LastChatMessages
Важно! При работе с данными методами может быть вызвано исключение
SpApiException
, которое нужно обработать.
Класс предназначен для получения погоды на сервере
Список основных методов класса:
- getWeather() - возвращает элемент enum'а
WeatherType
Содержит значение состояния погоды:
CLEAR
, RAIN
, THUNDER
public class Example {
public static void main(String[] args){
try {
SpApi spApi = new SpApi();
Weather weather = spApi.getServerWeather();
weather.getWeather(); //CLEAR, RAIN, THUNDER
} catch (SpApiException e) {
//Какая-либо ошибка библиотеки
}
}
}
Класс предназначен для получения времени на сервере
Список основных методов класса:
- getTime() - возвращает элемент enum'а
TimeOfDay
- getTicks() - возвращает
int
кол-во игровых тиков на сервере - getFormated() - возвращает
String
форматированное представление времени типа:00:00
Содержит значение состояния времени:
DAY
, NIGHT
public class Example {
public static void main(String[] args){
try {
SpApi spApi = new SpApi();
Time time = spApi.getServerTime();
time.getTime(); //DAY
time.getTicks(); //12000
time.getFormated(); //12:00
} catch (SpApiException e) {
//Какая-либо ошибка библиотеки
}
}
}
Класс предназначен для получения и работы со списком игроков которые играют на сервере в данный момент
Список основных методов класса:
- getPlayers() - возвращает массив
Player[]
объектов классаPlayer
- getPlayersAsList() - возвращает список
List<Player>
объектов классаPlayer
- getCount() - возвращает
int
кол-во играющих на сервере игроков в данный момент - getMax() - возвращает
int
максимально возможное кол-во игроков на сервере - checkStatusByName(
String nickname
) - возвращаетboolean
онлайн игрок или нет - checkStatusByUUID(
UUID playerUUID
) - возвращаетboolean
онлайн игрок или нет - findByName(
String nickname
) - возвращает объект классаPlayer
, если игрок онлайн если нет генерирует исключение PlayerNotFoundException - findByUUID(
UUID playerUUID
) - возвращает объект классаPlayer
, если игрок онлайн если нет генерирует исключение PlayerNotFoundException
public class Example {
public static void main(String[] args){
try {
SpApi spApi = new SpApi();
OnlinePlayers players = spApi.getServerOnlinePlayers();
Player[] playersArray = players.getPlayers();
List<Player> playersList = players.getPlayersAsList();
int count = players.getCount();
int max = players.getMax();
boolean status1 = players.checkStatusByName("nickname");
boolean status2 = players.checkStatusByUUID(UUID.fromString("3717bdea-73f6-490b-b525-da415c0879e7"));
Player player1 = players.findByName("nickname");
Player player1 = players.findByUUID(UUID.fromString("3717bdea-73f6-490b-b525-da415c0879e7"));
} catch (PlayerNotFoundException e) {
//Пользователь не найден
} catch (SpApiException e) {
//Какая-либо ошибка библиотеки
}
}
}
Класс предназначен для работы с данными игрока
Список основных методов класса:
- getNickname() - возвращает
String
никнейм игрока - getUuid() - возвращает
UUID
uuid игрока
public class Example {
public static void main(String[] args){
try {
SpApi spApi = new SpApi();
OnlinePlayers players = spApi.getServerOnlinePlayers();
Player player = players.findByName("nickname");
player.getNickname(); //nickname
UUID uuid = player.getUuid();
uuid.toString(); //3717bdea-73f6-490b-b525-da415c0879e7
} catch (PlayerNotFoundException e) {
//Пользователь не найден
} catch (SpApiException e) {
//Какая-либо ошибка библиотеки
}
}
}
Класс предназначен для работы со списком последних 50 сообщений глобального чата
Список основных методов класса:
- getMessages() - возвращает массив
Message[]
объектов классаMessage
- getMessagesAsList() - возвращает список
List<Message>
объектов классаMessage
- findMessagesBySenderName(
String nickname
) - возвращает списокList<Message>
объектов классаMessage
отправленных конкретным игроком, если сообщений нет вернёт пустой список - findMessagesBySenderUUID(
UUID playerUUID
) - возвращает списокList<Message>
объектов классаMessage
отправленных конкретным игроком, если сообщений нет вернёт пустой список
public class Example {
public static void main(String[] args){
try {
SpApi spApi = new SpApi();
LastChatMessages lastChatMessages = spApi.getServerLastChatMessages();
Message[] messageArray = lastChatMessages.getMessages();
List<Message> messageList = lastChatMessages.getMessagesAsList();
List<Message> senderMessages1 = lastChatMessages.findMessagesBySenderName("nickname");
List<Message> senderMessages2 = lastChatMessages.findMessagesBySenderUUID(UUID.fromString("3717bdea-73f6-490b-b525-da415c0879e7"));
} catch (SpApiException e) {
//Какая-либо ошибка библиотеки
}
}
}
Класс предназначен для работы с данными сообщения чата
Список основных методов класса:
- getSender() - возвращает объект класса
Player
игрока, отправившего сообщение - getMessage() - возвращает
String
текст сообщения - getTime() - возвращает объект класса
LocalDateTime
время отправления сообщения - getTimeAsLong() - возвращает
long
UnixTime время отправления сообщения
public class Example {
public static void main(String[] args){
try {
SpApi spApi = new SpApi();
LastChatMessages lastChatMessages = spApi.getServerLastChatMessages();
Message[] messageArray = lastChatMessages.getMessages();
Message message = messageArray[0];
Player sender = message.getSender();
String text = message.getMessage();
long unixTime = message.getTimeAsLong();
LocalDateTime localDateTime = message.getTime();
} catch (SpApiException e) {
//Какая-либо ошибка библиотеки
}
}
}
Список исключений:
- SpApiException - любое исключение при работе с библиотекой
- PlayerNotFoundException - наследует
SpApiException
исключение если игрок не найден - SpApiServerException - наследует
SpApiException
исключение вызванное в ходе получения данных с сервера API