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
mccPlusStatus {
...MCCPlusStatusFragment
}
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"],
"mccPlusStatus": MCCPlusStatus,
"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
mccPlusStatus {
...MCCPlusStatusFragment
}
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"],
"mccPlusStatus": MCCPlusStatus,
"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": false,
"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. |
equippedCosmetics - [Cosmetic!]!
|
A list of cosmetics the player currently has equipped. |
cosmetics - [CosmeticOwnershipState!]!
|
Returns the ownership state of all cosmetics, optionally in a category and/or collection. |
Arguments
|
|
fish - [FishRecord!]!
|
Returns the record data for all fish, optionally in a specific collection. |
Arguments
|
Example
{
"currency": Currency,
"equippedCosmetics": [Cosmetic],
"cosmetics": [CosmeticOwnershipState],
"fish": [FishRecord]
}
Cosmetic
Description
A cosmetic.
Fields
Field Name | Description |
---|---|
name - String!
|
The name of the cosmetic. |
category - CosmeticCategory!
|
The category the cosmetic is in. |
collection - String!
|
The collection this cosmetic is in. |
rarity - Rarity!
|
The rarity of the cosmetic. |
colorable - Boolean!
|
If this cosmetic can be colored using Chroma Packs. |
trophies - Int!
|
The number of trophies this cosmetic awards. Note that this does not include the completion bonus for applying all Chroma Packs to the cosmetic. |
isBonusTrophies - Boolean
|
If this cosmetic awards bonus trophies. This will be |
canBeDonated - Boolean!
|
If this cosmetic can be donated for Royal Reputation. |
Example
{
"name": "xyz789",
"category": "HAT",
"collection": "abc123",
"rarity": "COMMON",
"colorable": false,
"trophies": 987,
"isBonusTrophies": false,
"canBeDonated": true
}
CosmeticCategory
Description
Different categories of cosmetics.
Values
Enum Value | Description |
---|---|
|
Hats. |
|
Hair. |
|
Accessories. |
|
Auras. |
|
Trails. |
|
Cloaks. |
|
Fishing rods. |
Example
"HAT"
CosmeticOwnershipState
Description
The ownership state of a cosmetic.
Fields
Field Name | Description |
---|---|
cosmetic - Cosmetic!
|
The cosmetic in question. |
owned - Boolean!
|
If the cosmetic is owned. |
chromaPacks - [String!]
|
The Chroma Packs that have applied to this cosmetic, if it is colorable. |
donationsMade - Int
|
The number of Royal Reputation donations that have been made of this cosmetic, if it can be donated. |
Example
{
"cosmetic": Cosmetic,
"owned": true,
"chromaPacks": ["oceanic", "natural"],
"donationsMade": 123
}
CrownLevel
Description
A Crown Level and associated trophy data.
Fields
Field Name | Description |
---|---|
level - Int!
|
The overall Crown Level. Use levelData instead. |
evolution - Int!
|
The zero-indexed evolution of the crown. Use levelData instead. |
nextEvolutionLevel - Int
|
The next level that the crown will evolve, if any. Use levelData instead. |
nextLevelProgress - ProgressionData
|
The progress the player is making towards their next level, if any. Use levelData instead. |
levelData - LevelData!
|
The overall level data. |
fishingLevelData - LevelData!
|
The fishing level data. |
trophies - TrophyData!
|
The amount of trophies the player has. |
Arguments
|
Example
{
"level": 987,
"evolution": 123,
"nextEvolutionLevel": 987,
"nextLevelProgress": ProgressionData,
"levelData": LevelData,
"fishingLevelData": LevelData,
"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. Deprecated for removal. Will always return 0 until removal. |
royalReputation - Int!
|
The number of Royal Reputation the player currently has. |
silver - Int!
|
The number of silver the player currently has. |
materialDust - Int!
|
The number of material dust the player currently has. |
anglrTokens - Int!
|
The number of A.N.G.L.R. Tokens the player currently has. |
Example
{
"coins": 123,
"gems": 123,
"royalReputation": 987,
"silver": 987,
"materialDust": 987,
"anglrTokens": 123
}
Date
Description
An RFC-3339 compliant date.
Example
"1996-12-19"
DateTime
Description
An RFC-3339 compliant date time.
Example
"1996-12-19T16:39:57-08:00"
Fish
Description
A fish.
Fields
Field Name | Description |
---|---|
name - String!
|
The name of the fish. |
climate - String!
|
The climate this fish can be found in. |
collection - String!
|
The collection this fish can be found in. |
rarity - Rarity!
|
The rarity of the fish. |
catchTime - FishCatchTime!
|
The time this fish can be caught. |
elusive - Boolean!
|
If this fish is elusive. |
trophies - Int
|
The number of trophies awarded for catching this fish in a given weight. |
Arguments
|
Example
{
"name": "Midnight Tang",
"climate": "Temperate",
"collection": "Dark Grove",
"rarity": "COMMON",
"catchTime": "ALWAYS",
"elusive": true,
"trophies": 123
}
FishCatchTime
Description
The time a fish can be caught in.
Values
Enum Value | Description |
---|---|
|
The fish can always be caught. |
|
The fish can only be caught during daytime. |
|
The fish can only be caught during nighttime. |
Example
"ALWAYS"
FishCaughtWeight
Description
Data about a caught fish weight.
Fields
Field Name | Description |
---|---|
weight - FishWeight!
|
The weight that was caught. |
firstCaught - Date!
|
When the player first caught this weight. |
Example
{
"weight": "AVERAGE",
"firstCaught": "1996-12-19"
}
FishRecord
Description
A record of the weight of fish that have been caught.
Fields
Field Name | Description |
---|---|
fish - Fish!
|
The fish this record is for. |
weights - [FishCaughtWeight!]!
|
A list of data about the weights that have been caught. |
Example
{
"fish": Fish,
"weights": [FishCaughtWeight]
}
FishWeight
Description
The weight of a fish.
Note that some weights are not used for crabs, or are only used for crabs.
Values
Enum Value | Description |
---|---|
|
Average. |
|
Large. |
|
Massive. This weight is not used for crabs. |
|
Gargantuan. This weight is not used for crabs. |
|
Colossal. This weight is only used for crabs. |
Example
"AVERAGE"
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
123
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": 123}
LevelData
Description
Data relating to a level.
Fields
Field Name | Description |
---|---|
level - Int!
|
The overall level. |
evolution - Int!
|
The zero-indexed evolution of the level. |
nextEvolutionLevel - Int
|
The next level that will have an evolution, if any. |
nextLevelProgress - ProgressionData
|
The progress the player is making towards their next level, if any. |
Example
{
"level": 987,
"evolution": 987,
"nextEvolutionLevel": 987,
"nextLevelProgress": ProgressionData
}
MCCPlusStatus
Description
The status of a player's MCC+ subscription.
Example
{
"evolution": 123,
"streakStart": "1996-12-19T16:39:57-08:00",
"totalDays": 123
}
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. |
mccPlusStatus - MCCPlusStatus
|
The player's MCC+ status, if currently subscribed. |
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"],
"mccPlusStatus": MCCPlusStatus,
"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"
Rarity
Description
Different tiers of rarity.
Values
Enum Value | Description |
---|---|
|
Common. |
|
Uncommon. |
|
Rare. |
|
Epic. |
|
Legendary. |
|
Mythic. |
Example
"COMMON"
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": true,
"rotations": ["DAILY"],
"leaderboard": [LeaderboardEntry]
}
Statistics
Description
Statistic-related data.
Example
{"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
"xyz789"
TrophyCategory
Description
The categories for trophies.
Values
Enum Value | Description |
---|---|
|
Style trophies. |
|
Skill trophies. |
|
Angler trophies. |
Example
"STYLE"
TrophyData
Description
Data on the amount of trophies a user has/can have.
Example
{"obtained": 123, "obtainable": 987, "bonus": 987}
UUID
Description
A player's UUID.
Example
"6a085b2c-19fb-4986-b453-231aa942bbec"