Skip to content

fkdr data

fkdr gives a script what the mod knows: the game and mode, threat, stats, tags, your party and teams.

fkdr.game()                 // 'bedwars' | 'skywars' | 'duels' | 'murdermystery' | 'lobby' | null (not on Hypixel)
fkdr.onHypixel()
fkdr.inGame()               // a live match, not a pre-game lobby
fkdr.preGame()
fkdr.mode()                 // 'solo' | 'doubles' | 'trios' | 'squads' | …
fkdr.teamSize()
fkdr.map()
fkdr.ping()                 // as the HUD shows it
fkdr.pingRaw()
fkdr.packetLoss()           // ms the server has been silent, once that passes LossThreshold; else 0
fkdr.jitter()               // always -1 (kept so older scripts still load)
fkdr.version()

Threat

fkdr.threat.lobby()         // 0..100, or -1 when nothing has resolved yet
fkdr.threat.unresolved()    // how many players have no stats
fkdr.threat.players()       // array, worst first
fkdr.threat.tierOf(score)   // 'unknown' | 'low' | 'mid' | 'high' | 'extreme'
fkdr.threat.describe(score) // the phrase /fkdr threat prints

Each entry: .name .uuid .score .tier .colour .stats .tag.

Cheap, but not free: call it on a tick and keep the result.

.score is -1 for a player with no stats, not 0

A nick is not a harmless player, and collapsing the two would say that it is.

Stats

fkdr.stats.of('Notch')          // a stats object, or null
fkdr.stats.state('Notch')       // 'ok' | 'unknown' (not fetched yet) | 'no_data' (a nick)
fkdr.stats.uuidOf('Notch')
fkdr.stats.prewarm('Notch')

of() accepts a name or a 32-character undashed UUID and never blocks: asking starts the lookup and the same call a moment later usually answers. state() is the difference between "ask again" and "stop asking".

A stats object has:

.name .rank .level .star .wins .winstreak .fkdr .wlr .kdr .bblr .swWins .swKdr .swWlr .guildTag .guildName

Tags

fkdr.tags.of('Notch')                       // a tag object, or null
fkdr.tags.set('Notch', 'cheater', 'note')   // false if the name cannot be resolved
fkdr.tags.remove('Notch')
fkdr.tags.all()                             // your own tags
fkdr.tags.labels()

A tag object has .uuid .name .label .display .colour .note .updatedAt .shared .others .badge.

.shared matters: your own tag is something you decided, a shared one is somebody else's accusation and .others says how many people agree. See Tags & lists.

Party and teams

fkdr.party.members()        // array of names
fkdr.party.size()
fkdr.party.has('Notch')

fkdr.teams.all()            // Bed Wars teams; empty outside a live match
fkdr.teams.own()            // or null
fkdr.teams.enemies()

A team has .colour .name .letter .label .members .bed .alive .self .threat .tier .unknowns .rushable.

.bed is 'up' | 'gone' | 'eliminated' | 'unknown'. Gone and eliminated are different facts; a team with no bed can still kill you.