Skip to content

Paintball computed stats

Computed Paintball statistics, derived from the parsed PaintballStats block. They are always present on an enriched player as player.stats.paintball.computed (when the raw paintball block exists), produced by computePaintball(raw).

All ratios are rounded to 2 decimals. A ratio with a zero denominator yields the numerator (K/D convention). *Percent fields are percentages from 0 to 100 (0 when the whole is 0). *ForNext* fields are the additional amount needed to reach the next whole-number value of the corresponding ratio (0 when the denominator is 0).

PaintballComputed

ts
export interface PaintballComputed {
  readonly kdr: number;
  readonly killsForNextKdr: number;
  readonly shotsPerKill: number;
  readonly killAccuracyPercent: number;
  readonly perksTotalLevel: number;
  readonly killsPerWin: number;
  readonly totalMapVotes: number;
  readonly favoriteMap: string;
  readonly weeklyKills: number;
  readonly monthlyKills: number;
  readonly killStreaksPerWin: number;
}
FieldFormulaMeaning
kdrkills / deathsKill/death ratio (bare ratio)
killsForNextKdrneededForNextWholeRatio(kills, deaths)Kills needed to reach the next whole KDR
shotsPerKillshotsFired / killsAverage shots fired per kill (bare ratio)
killAccuracyPercent100 * kills / shotsFiredPercent (0-100) of shots that resulted in a kill
perksTotalLevelsum of all values in raw.perksCombined level across all perks
killsPerWinkills / winsAverage kills per win (bare ratio)
totalMapVotessum of all counts in raw.mapVotesTotal map votes cast across all maps
favoriteMapmap in raw.mapVotes with the highest vote count, only counting maps with more than 0 votesMost-voted map; "" when no map has votes
weeklyKillsweeklyValue(weekly.killsA, weekly.killsB, now)Kills in the current weekly bucket
monthlyKillsmonthlyValue(monthly.killsA, monthly.killsB, now)Kills in the current monthly bucket
killStreaksPerWinkillstreaks / winsAverage kill streaks per win (bare ratio)

Weekly and monthly buckets

Hypixel stores rolling weekly and monthly stats in two alternating buckets (A and B). The monthly bucket is chosen by the parity of the current month (odd months read A, even months read B); the weekly bucket alternates by whole weeks elapsed since a fixed epoch. The computed values return the bucket that is currently accumulating, evaluated at compute time.

Released under the MIT License.