Mojang API¶
If the request is failed, it throws appropriate exception. For example, MojangException
is thrown when the mojang server returns error message.
How to get AccessToken
or UUID
?¶
You can get these token by Mojang Authentication or Microsoft Xbox Authentication. See Login and Sessions.
var session = await loginHandler.Authenticate();
var username = session.Username;
var uuid = session.UUID;
Methods¶
GetUUID¶
username -> uuid
Mojang mojang = new Mojang(new HttpClient());
PlayerUUID uuid = await mojang.GetUUID("username");
// uuid.UUID
// uuid.IsLegacy
// uuid.IsDemo
GetUUIDs¶
usernames -> uuids
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¶
note: this api has been deprecated by 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¶
note: this api only works on xbox account
Mojang mojang = new Mojang(new HttpClient());
PlayerProfile profile = await mojang.GetProfileUsingAccessToken("accessToken");
GetPlayerAttributes¶
note: this api only works on xbox account
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¶
note: this api only works on xbox account
Mojang mojang = new Mojang(new HttpClient());
string[] blocklists = await mojang.GetPlayerBlocklist("accessToken");
GetPlayerCertificates¶
note: this api only works on xbox account
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¶
note: this api only works on xbox account
Mojang mojang = new Mojang(new HttpClient());
PlayerProfile profile = await mojang.ChangeName("accessToken", "newName");
ChangeSkin¶
note: this api only works on xbox account
Mojang mojang = new Mojang(new HttpClient());
// SkinType.Steve or SkinType.Alex
PlayerProfile response = await mojang.ChangeSkin("uuid", "accessToken", SkinType.Steve, "skinUrl");
UploadSkin¶
note: this api only works on xbox account
Mojang mojang = new Mojang(new HttpClient());
// SkinType.Steve or SkinType.Alex
await mojang.UploadSkin("accessToken", SkinType.Steve, "skin_png_file_path");
Mojang mojang = new Mojang(new HttpClient());
Stream stream; // create stream for uploading skin
await mojang.UploadSkin("accessToken", SkinType.Steve, stream, "file_name");
ResetSkin¶
note: this api only works on xbox account
GetBlockedServer¶
GetStatistics¶
note: this api was obsoleted by mojang
Mojang mojang = new Mojang(new HttpClient());
Statistics stats = await mojang.GetStatistics(
StatisticOption.ItemSoldMinecraft,
StatisticOption.ItemSoldCobalt
);
// stats.Total
// stats.Last24h
// stats.SaleVelocityPerSeconds
CheckGameOwnership¶
note1: this api only works on xbox account
note2: this api does not check xbox game pass. if the user has xbox game pass instead of purchase minecraft, this api return false
. but the user owns minecraft and can play it.