콘텐츠로 이동

Mojang API

요청이 실패하면 적절한 예외가 발생합니다. 예를 들어, Mojang 서버가 오류 메시지를 반환할 때 MojangException이 발생합니다.

AccessToken 또는 UUID를 어떻게 얻나요?

이 토큰들은 Mojang 인증 또는 Microsoft Xbox 인증을 통해 얻을 수 있습니다. 로그인과 세션을 참조하세요.

var session = await loginHandler.Authenticate();
var username = session.Username;
var uuid = session.UUID;

메서드

GetUUID

사용자명 -> UUID

Mojang mojang = new Mojang(new HttpClient());
PlayerUUID uuid = await mojang.GetUUID("username");

// uuid.UUID
// uuid.IsLegacy
// uuid.IsDemo

GetUUIDs

사용자명들 -> UUID들

Mojang mojang = new Mojang(new HttpClient());
PlayerUUID[] uuids = await mojang.GetUUIDs(new string[] { "user1", "user2" });

foreach (PlayerUUID uuid in uuids)
{
    Console.WriteLine(uuid.UUID);
}

GetNameHistories

참고: 이 API는 Mojang에 의해 더 이상 사용되지 않습니다

Mojang mojang = new Mojang(new HttpClient());
NameHistory[] response = await mojang.GetNameHistories("uuid");

foreach (NameHistory item in response.Histories)
{
    // item.Name
    // item.ChangedToAt
    // item.ChangedTime
}

GetProfileUsingUUID

Mojang mojang = new Mojang(new HttpClient());
PlayerProfile profile = await mojang.GetProfileUsingUUID("uuid");

// profile.UUID
// profile.Name
// profile.Skin
// profile.IsLegacy

GetProfileUsingAccessToken

참고: 이 API는 Xbox 계정에서만 작동합니다

Mojang mojang = new Mojang(new HttpClient());
PlayerProfile profile = await mojang.GetProfileUsingAccessToken("accessToken");

GetPlayerAttributes

참고: 이 API는 Xbox 계정에서만 작동합니다

Mojang mojang = new Mojang(new HttpClient());
PlayerAttributes attributes = await mojang.GetPlayerAttributes("accessToken");

// attributes.Privileges.OnlineChat
// attributes.Privileges.MultiplayerServer
// attributes.Privileges.MultiplayerRealms
// attributes.Privileges.Telemtry
// attributes.ProfanityFilterPreferences.ProfanityFilterOn

GetPlayerBlocklist

참고: 이 API는 Xbox 계정에서만 작동합니다

Mojang mojang = new Mojang(new HttpClient());
string[] blocklists = await mojang.GetPlayerBlocklist("accessToken");

GetPlayerCertificates

참고: 이 API는 Xbox 계정에서만 작동합니다

Mojang mojang = new Mojang(new HttpClient());
PlayerCertificates certs = await mojang.GetPlayerCertificates("accessToken");

// certs.KeyPair.PrivateKey
// certs.KeyPair.PublicKey
// certs.PublicKeySignature
// certs.ExpiresAt
// certs.RefreshedAfter

CheckNameAvailability

Mojang mojang = new Mojang(new HttpClient());
string? result = await mojang.CheckNameAvailability("accessToken", "newName");

ChangeName

참고: 이 API는 Xbox 계정에서만 작동합니다

Mojang mojang = new Mojang(new HttpClient());
PlayerProfile profile = await mojang.ChangeName("accessToken", "newName");

ChangeSkin

참고: 이 API는 Xbox 계정에서만 작동합니다

Mojang mojang = new Mojang(new HttpClient());

// SkinType.Steve 또는 SkinType.Alex
PlayerProfile response = await mojang.ChangeSkin("uuid", "accessToken", SkinType.Steve, "skinUrl");

UploadSkin

참고: 이 API는 Xbox 계정에서만 작동합니다

Mojang mojang = new Mojang(new HttpClient());

// SkinType.Steve 또는 SkinType.Alex
await mojang.UploadSkin("accessToken", SkinType.Steve, "skin_png_file_path");
Mojang mojang = new Mojang(new HttpClient());
Stream stream; // 스킨 업로드를 위한 스트림 생성
await mojang.UploadSkin("accessToken", SkinType.Steve, stream, "file_name");

ResetSkin

참고: 이 API는 Xbox 계정에서만 작동합니다

Mojang mojang = new Mojang(new HttpClient());
await mojang.ResetSkin("uuid", "accessToken");

GetBlockedServer

Mojang mojang = new Mojang(new HttpClient());
string[] servers = await mojang.GetBlockedServer();

GetStatistics

참고: 이 API는 Mojang에 의해 폐지되었습니다

Mojang mojang = new Mojang(new HttpClient());
Statistics stats = await mojang.GetStatistics(
    StatisticOption.ItemSoldMinecraft,
    StatisticOption.ItemSoldCobalt
);

// stats.Total
// stats.Last24h
// stats.SaleVelocityPerSeconds

CheckGameOwnership

참고1: 이 API는 Xbox 계정에서만 작동합니다
참고2: 이 API는 Xbox 게임 패스를 확인하지 않습니다. 사용자가 구매 대신 Xbox 게임 패스로 마인크래프트를 가지고 있다면, 이 API는 false를 반환합니다. 하지만 사용자는 마인크래프트를 소유하고 있으며 플레이할 수 있습니다.

Mojang mojang = new Mojang(new HttpClient());
bool result = await mojang.CheckGameOwnership("accessToken");

if (result)
    Console.WriteLine("마인크래프트 JE를 소유하고 있습니다");
else
    Console.WriteLine("마인크래프트 JE를 소유하고 있지 않습니다");