MCC Island API - Docs
MCC Island API is a GraphQL API that provides access to public data from the MCC Island Minecraft server.
An API key is required. These can be generated on the Noxcrew Gateway website.
Any application using this API should send requests using an identifiable user-agent string, preferably including a way to contact you.
Ratelimits are enforced on a per-user basis, with the ratelimit being shown in the response headers (prefixed with X-Ratelimit).
Terms of Service
API Endpoints
https://api.mccisland.net/graphql
Headers
X-API-Key: <YOUR_API_KEY_HERE>
Queries
nextRotation
Description
Returns when this rotation will next rotate.
If the rotation is due the exact time this method is called, this method will return the next time that it will rotate.
player
Description
Given a UUID, returns a Player if they have logged in to MCC Island.
Example
Query
query player($uuid: UUID!) {
player(uuid: $uuid) {
uuid
username
ranks
crownLevel {
...CrownLevelFragment
}
status {
...StatusFragment
}
collections {
...CollectionsFragment
}
social {
...SocialFragment
}
statistics {
...StatisticsFragment
}
}
}
Variables
{
"uuid": "6a085b2c-19fb-4986-b453-231aa942bbec"
}
Response
{
"data": {
"player": {
"uuid": "6a085b2c-19fb-4986-b453-231aa942bbec",
"username": "LadyAgnes",
"ranks": ["CHAMP"],
"crownLevel": CrownLevel,
"status": Status,
"collections": Collections,
"social": Social,
"statistics": Statistics
}
}
}
playerByUsername
Description
Given a username, returns a Player object if they have logged into MCC Island with this username.
This method may not return a player that has this username if they have not logged in recently enough for us to verify that the player still owns this username.
Example
Query
query playerByUsername($username: String!) {
playerByUsername(username: $username) {
uuid
username
ranks
crownLevel {
...CrownLevelFragment
}
status {
...StatusFragment
}
collections {
...CollectionsFragment
}
social {
...SocialFragment
}
statistics {
...StatisticsFragment
}
}
}
Variables
{"username": "LadyAgnes"}
Response
{
"data": {
"playerByUsername": {
"uuid": "6a085b2c-19fb-4986-b453-231aa942bbec",
"username": "LadyAgnes",
"ranks": ["CHAMP"],
"crownLevel": CrownLevel,
"status": Status,
"collections": Collections,
"social": Social,
"statistics": Statistics
}
}
}
previousRotation
Description
Returns when this rotation last rotated.
If the rotation is due the exact time this method is called, this method will return the current time.
statistic
Description
Returns a statistic by it's name.
Example
Query
query statistic($key: String!) {
statistic(key: $key) {
key
forLeaderboard
rotations
leaderboard {
...LeaderboardEntryFragment
}
}
}
Variables
{"key": "games_played"}
Response
{
"data": {
"statistic": {
"key": "games_played",
"forLeaderboard": true,
"rotations": ["DAILY"],
"leaderboard": [LeaderboardEntry]
}
}
}
statistics
Description
Returns a list of all known statistics.
Response
Returns [Statistic!]!
Example
Query
query statistics {
statistics {
key
forLeaderboard
rotations
leaderboard {
...LeaderboardEntryFragment
}
}
}
Response
{
"data": {
"statistics": [
{
"key": "games_played",
"forLeaderboard": true,
"rotations": ["DAILY"],
"leaderboard": [LeaderboardEntry]
}
]
}
}
Types
Boolean
Description
The Boolean
scalar type represents true
or false
.
Example
true
Collections
Description
Collections data.
Fields
Field Name | Description |
---|---|
currency - Currency!
|
The player's earned currency. |
Example
{"currency": Currency}
CrownLevel
Description
A Crown Level and associated trophy data.
Fields
Field Name | Description |
---|---|
level - Int!
|
The overall Crown Level. |
nextEvolutionLevel - Int
|
The next level that the crown will evolve, if any. |
nextLevelProgress - ProgressionData
|
The progress the player is making towards their next level, if any. |
trophies - TrophyData!
|
The amount of trophies the player has. |
Arguments
|
Example
{
"level": 123,
"nextEvolutionLevel": 987,
"nextLevelProgress": ProgressionData,
"trophies": TrophyData
}
Currency
Description
A player's earned currency.
Fields
Field Name | Description |
---|---|
coins - Int!
|
The number of coins the player currently has. |
gems - Int!
|
The number of gems the player currently has. |
royalReputation - Int!
|
The amount of Royal Reputation the player currently has. |
silver - Int!
|
The amount of silver the player currently has. |
materialDust - Int!
|
The amount of material dust the player currently has. |
Example
{
"coins": 987,
"gems": 987,
"royalReputation": 123,
"silver": 987,
"materialDust": 123
}
DateTime
Description
An RFC-3339 compliant date time.
Example
"1996-12-19T16:39:57-08:00"
Game
Description
A game.
Values
Enum Value | Description |
---|---|
|
Hole in the Wall. |
|
To Get To The Other Side (TGTTOS). |
|
Battle Box. |
|
Sky Battle. |
|
Parkour Warrior. |
|
Dynaball. |
|
Rocket Spleef. |
Example
"HOLE_IN_THE_WALL"
Int
Description
The Int
scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
987
LeaderboardEntry
Description
An entry in a leaderboard.
Fields
Field Name | Description |
---|---|
player - Player
|
The player who has this entry. This will be |
rank - Int!
|
The rank for this entry. |
value - Int!
|
The value for this entry. |
Example
{"player": Player, "rank": 987, "value": 987}
Party
Description
A player's status within a party.
Example
{
"active": false,
"leader": Player,
"members": [Player]
}
Player
Description
A player who has logged in to MCC Island.
Fields
Field Name | Description |
---|---|
uuid - UUID!
|
The player's Minecraft UUID in dashed format. |
username - String
|
The player's username, if known. |
ranks - [Rank!]!
|
The ranks which the user is associated with, if any. |
crownLevel - CrownLevel!
|
The player's Crown Level and associated trophy data. |
status - Status
|
The current status of the player. This method is conditional on the player having the in-game "status" API setting enabled. |
collections - Collections
|
Collections data for the player. This method is conditional on the player having the in-game "collections" API setting enabled. |
social - Social
|
Social data for the player. This method is conditional on the player having the in-game "social" API setting enabled. |
statistics - Statistics
|
Statistics data for the player. This method is conditional on the player having the in-game "statistics" API setting enabled. |
Example
{
"uuid": "6a085b2c-19fb-4986-b453-231aa942bbec",
"username": "LadyAgnes",
"ranks": ["CHAMP"],
"crownLevel": CrownLevel,
"status": Status,
"collections": Collections,
"social": Social,
"statistics": Statistics
}
ProgressionData
Rank
Description
A rank.
Values
Enum Value | Description |
---|---|
|
The Champ rank. |
|
The Grand Champ rank. |
|
The Grand Champ Royale rank. |
|
The Creator rank. |
|
The Contestant rank. |
|
The Moderator rank. |
|
The Noxcrew rank. |
Example
"CHAMP"
Rotation
Description
A rotation period.
Each period resets at 10AM UTC.
Values
Enum Value | Description |
---|---|
|
A daily rotation that resets. |
|
A weekly rotation that resets on Tuesdays. |
|
A monthly rotation that resets on the first day of every month. |
|
A yearly rotation that resets on the first day of every year. |
|
A lifetime rotation; a rotation period used to indicate something never rotates. |
Example
"DAILY"
Server
Description
A server on the network.
Fields
Field Name | Description |
---|---|
category - ServerCategory!
|
The category of the server. |
subType - String!
|
The sub-type of the server that can hold additional information about the server. |
associatedGame - Game
|
The game associated with this server, if any. |
Example
{"category": "GAME", "subType": "daily", "associatedGame": "PARKOUR_WARRIOR"}
ServerCategory
Description
The category of a server.
Values
Enum Value | Description |
---|---|
|
A lobby server. |
|
A game server. |
|
A limbo server. |
|
A queue server |
Example
"LOBBY"
Social
Description
Social data.
Fields
Field Name | Description |
---|---|
friends - [Player!]!
|
A list of the player's friends. |
party - Party!
|
The player's party. |
Example
{
"friends": [Player],
"party": Party
}
Statistic
Description
A statistic.
Fields
Field Name | Description |
---|---|
key - String!
|
The key of the statistic. |
forLeaderboard - Boolean!
|
If this statistic generates leaderboards. |
rotations - [Rotation!]!
|
The rotations for which this statistic is tracked. These are the rotations that can be used to generate leaderboards or fetch rotation values. Note that the |
leaderboard - [LeaderboardEntry!]
|
Returns the leaderboard for this statistic in a given rotation. If this statistic does not generate leaderboards, or the statistic is not tracked for the provided rotation, this will return |
Example
{
"key": "games_played",
"forLeaderboard": false,
"rotations": ["DAILY"],
"leaderboard": [LeaderboardEntry]
}
StatisticValueResult
Description
The result of fetching a value of a statistic.
Fields
Field Name | Description |
---|---|
statistic - Statistic!
|
The statistic. |
value - Int!
|
The value. |
Example
{"statistic": Statistic, "value": 987}
Statistics
Description
Statistic-related data.
Fields
Field Name | Description |
---|---|
value - StatisticValueResult
|
Returns the raw value stored for this statistic. This value is not backed by a rotation and will be removed. Use rotationValue instead.
|
Arguments
|
|
rotationValue - Int
|
Returns the value stored for the given statistic in a rotation. The returned number will be |
Example
{"value": StatisticValueResult, "rotationValue": 123}
Status
Description
A player's current status.
Fields
Field Name | Description |
---|---|
online - Boolean!
|
Whether the player is online or not. |
server - Server
|
The player's current server, populated if they are online. |
firstJoin - DateTime
|
When the player first joined MCC Island, if known. |
lastJoin - DateTime
|
When the player most recently joined MCC Island, if known. |
Example
{
"online": false,
"server": Server,
"firstJoin": "1996-12-19T16:39:57-08:00",
"lastJoin": "1996-12-19T16:39:57-08:00"
}
String
Description
The String
scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"abc123"
TrophyCategory
Description
The categories for trophies.
Values
Enum Value | Description |
---|---|
|
Style trophies. |
|
Skill trophies. |
Example
"STYLE"
TrophyData
Description
Data on the amount of trophies a user has/can have.
Example
{"obtained": 987, "obtainable": 123, "bonus": 987}
UUID
Description
A player's UUID.
Example
"6a085b2c-19fb-4986-b453-231aa942bbec"