Mojang - Внутренний сервис, делегирующийся и обменивающийся запросами с production REST-эндпоинтами компании Mojang для получения информации об игровых аккаунтах Minecraft.
Для использования сервиса необходимо использовать модельный
интерфейс me.moonways.bridgenet.model.mojang.MojangServiceModel
:
@Inject
private MojangServiceModel serviceModel;
Данный интерфейс предоставляет возможность получать актуальные
и кешированные данные игровых аккаунтов Minecraft.
Приведем примеры.
Для верификации пользователя как пиратский/лицензионный
мы можем использовать следующий функционал:
boolean isPirate = serviceModel.isPirate("Notch"); // false
boolean isPirate = serviceModel.isPirate("aboba538174"); // true
Для получения актуального идентификатора пользователя по его
ник-нейму мы можем использовать следующий функционал:
Optional<String> idOptional = serviceModel.getMinecraftId("Notch");
if (!idOptional.isPresent()) {
// user is not exists.
}
Для получения параметров текстур установленного скина на
игровом аккаунте мы можем использовать следующий функционал:
Optional<Skin> skinOptional = serviceModel.getMinecraftSkinByNick("Notch");
if (!skinOptional.isPresent()) {
// user is not exists.
}
Для получения оригинального никнейма игрового аккаунта
мы можем использовать следующий функционал:
String id = "069a79f4....e38aaf5";
Optional<String> nicknameOptional = serviceModel.getMinecraftNick(id);
if (!nicknameOptional.isPresent()) {
// user is not exists.
}
String nickname = "nOtCh";
Optional<String> nicknameOptional = serviceModel.getNameWithOriginCase(nickname); // Notch
if (!nicknameOptional.isPresent()) {
// user is not exists.
}
Конфигурационные данные, на которых базируется запуск сервиса
под имплементаций эндпоинта:
<service>
<!-- RMI Protocol service bind port -->
<bindPort>7013</bindPort>
<!-- Service direction name -->
<name>mojang</name>
<!-- Target service class type -->
<modelPath>me.moonways.bridgenet.model.mojang.MojangServiceModel</modelPath>
</service>
- Реализация эндпоинта лежит в модуле
endpoints/mojang
; - Имплементацией основного модельного интерфейса сервиса
являетсяme.moonways.endpoint.mojang.MojangServiceEndpoint
; - Реализация эндпоинта использует REST-запросы, результаты которых сразу кеширует
на определенное время, и при повторном запросе каких-либо данных преварительно
пытается найти их в кешированных.