Data Models

Detailed breakdowns of the core entities and data classes retrieved through the API.

Duel

Class: com.shyamstudio.shyamduels.duel.Duel
Represents an active matchmaking or challenged combat instance between players or teams:

Arena

Class: com.shyamstudio.shyamduels.arena.Arena
Represents a configured match environment:

Kit

Class: com.shyamstudio.shyamduels.kit.Kit
Represents a saved loadout template:

PlayerKit

Class: com.shyamstudio.shyamduels.kit.PlayerKit
Represents a player's edited (customized) version of a base kit, with its share metadata:

PlayerStats

Class: com.shyamstudio.shyamduels.stats.PlayerStats
Represents cached player statistics:

KitStats

Class: com.shyamstudio.shyamduels.stats.KitStats
Represents cached per-player statistics for a specific kit loadout:

KitLeaderboardEntry

Class: com.shyamstudio.shyamduels.stats.KitLeaderboardEntry
Represents a ranked entry in a per-kit leaderboard query:

PlayerSettings

Class: com.shyamstudio.shyamduels.settings.PlayerSettings
Represents personal preference configuration options:

Rank

Record: com.shyamstudio.shyamduels.stats.Rank
Represents an ELO-based competitive rank tier (defined under elo.ranks in the config):

Static helpers: getRankForElo(int), getNextRank(Rank), getEloProgress(int), getEloNeeded(int), getProgressBar(int), getEloPercent(int), and getRanks().

QueueMode

Class: com.shyamstudio.shyamduels.queue.QueueMode
Represents a matchmaking team-size mode (e.g. 1v1, 2v2):

QueueKey

Class: com.shyamstudio.shyamduels.queue.QueueKey
A composite key identifying a single matchmaking queue (kit + mode):

Party

Class: com.shyamstudio.shyamduels.party.Party
Represents a group of players queued and playing together:

CustomKit

Class: com.shyamstudio.shyamduels.customkits.data.CustomKit
Represents a player-built custom kit profile (available via customKits()):

KitShareManager.ShareRef

Record: com.shyamstudio.shyamduels.kit.KitShareManager.ShareRef
A resolved reference to a shared kit, returned by KitShareService.resolve(code):