@breezil/hypixel-parsers 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +235 -0
  3. package/dist/arcade.d.ts +560 -0
  4. package/dist/arcade.d.ts.map +1 -0
  5. package/dist/arcade.js +619 -0
  6. package/dist/arcade.js.map +1 -0
  7. package/dist/arenabrawl.d.ts +56 -0
  8. package/dist/arenabrawl.d.ts.map +1 -0
  9. package/dist/arenabrawl.js +107 -0
  10. package/dist/arenabrawl.js.map +1 -0
  11. package/dist/bedwars.d.ts +747 -0
  12. package/dist/bedwars.d.ts.map +1 -0
  13. package/dist/bedwars.js +844 -0
  14. package/dist/bedwars.js.map +1 -0
  15. package/dist/blitz.d.ts +105 -0
  16. package/dist/blitz.d.ts.map +1 -0
  17. package/dist/blitz.js +259 -0
  18. package/dist/blitz.js.map +1 -0
  19. package/dist/buildbattle.d.ts +54 -0
  20. package/dist/buildbattle.d.ts.map +1 -0
  21. package/dist/buildbattle.js +92 -0
  22. package/dist/buildbattle.js.map +1 -0
  23. package/dist/common.d.ts +11 -0
  24. package/dist/common.d.ts.map +1 -0
  25. package/dist/common.js +34 -0
  26. package/dist/common.js.map +1 -0
  27. package/dist/copsandcrims.d.ts +201 -0
  28. package/dist/copsandcrims.d.ts.map +1 -0
  29. package/dist/copsandcrims.js +269 -0
  30. package/dist/copsandcrims.js.map +1 -0
  31. package/dist/duels.d.ts +358 -0
  32. package/dist/duels.d.ts.map +1 -0
  33. package/dist/duels.js +570 -0
  34. package/dist/duels.js.map +1 -0
  35. package/dist/guild.d.ts +49 -0
  36. package/dist/guild.d.ts.map +1 -0
  37. package/dist/guild.js +95 -0
  38. package/dist/guild.js.map +1 -0
  39. package/dist/housing.d.ts +16 -0
  40. package/dist/housing.d.ts.map +1 -0
  41. package/dist/housing.js +34 -0
  42. package/dist/housing.js.map +1 -0
  43. package/dist/index.d.ts +50 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +66 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/megawalls.d.ts +363 -0
  48. package/dist/megawalls.d.ts.map +1 -0
  49. package/dist/megawalls.js +684 -0
  50. package/dist/megawalls.js.map +1 -0
  51. package/dist/murdermystery.d.ts +293 -0
  52. package/dist/murdermystery.d.ts.map +1 -0
  53. package/dist/murdermystery.js +349 -0
  54. package/dist/murdermystery.js.map +1 -0
  55. package/dist/nbt.d.ts +37 -0
  56. package/dist/nbt.d.ts.map +1 -0
  57. package/dist/nbt.js +133 -0
  58. package/dist/nbt.js.map +1 -0
  59. package/dist/paintball.d.ts +52 -0
  60. package/dist/paintball.d.ts.map +1 -0
  61. package/dist/paintball.js +79 -0
  62. package/dist/paintball.js.map +1 -0
  63. package/dist/pit.d.ts +181 -0
  64. package/dist/pit.d.ts.map +1 -0
  65. package/dist/pit.js +262 -0
  66. package/dist/pit.js.map +1 -0
  67. package/dist/player.d.ts +338 -0
  68. package/dist/player.d.ts.map +1 -0
  69. package/dist/player.js +521 -0
  70. package/dist/player.js.map +1 -0
  71. package/dist/quakecraft.d.ts +75 -0
  72. package/dist/quakecraft.d.ts.map +1 -0
  73. package/dist/quakecraft.js +99 -0
  74. package/dist/quakecraft.js.map +1 -0
  75. package/dist/recentgames.d.ts +10 -0
  76. package/dist/recentgames.d.ts.map +1 -0
  77. package/dist/recentgames.js +27 -0
  78. package/dist/recentgames.js.map +1 -0
  79. package/dist/resources-achievements.d.ts +29 -0
  80. package/dist/resources-achievements.d.ts.map +1 -0
  81. package/dist/resources-achievements.js +67 -0
  82. package/dist/resources-achievements.js.map +1 -0
  83. package/dist/resources-challenges.d.ts +12 -0
  84. package/dist/resources-challenges.d.ts.map +1 -0
  85. package/dist/resources-challenges.js +36 -0
  86. package/dist/resources-challenges.js.map +1 -0
  87. package/dist/resources-games.d.ts +10 -0
  88. package/dist/resources-games.d.ts.map +1 -0
  89. package/dist/resources-games.js +28 -0
  90. package/dist/resources-games.js.map +1 -0
  91. package/dist/resources-guild-achievements.d.ts +23 -0
  92. package/dist/resources-guild-achievements.d.ts.map +1 -0
  93. package/dist/resources-guild-achievements.js +56 -0
  94. package/dist/resources-guild-achievements.js.map +1 -0
  95. package/dist/resources-quests.d.ts +23 -0
  96. package/dist/resources-quests.d.ts.map +1 -0
  97. package/dist/resources-quests.js +53 -0
  98. package/dist/resources-quests.js.map +1 -0
  99. package/dist/resources-vanity.d.ts +19 -0
  100. package/dist/resources-vanity.d.ts.map +1 -0
  101. package/dist/resources-vanity.js +33 -0
  102. package/dist/resources-vanity.js.map +1 -0
  103. package/dist/skyblock-auctions.d.ts +50 -0
  104. package/dist/skyblock-auctions.d.ts.map +1 -0
  105. package/dist/skyblock-auctions.js +90 -0
  106. package/dist/skyblock-auctions.js.map +1 -0
  107. package/dist/skyblock-bazaar.d.ts +25 -0
  108. package/dist/skyblock-bazaar.d.ts.map +1 -0
  109. package/dist/skyblock-bazaar.js +54 -0
  110. package/dist/skyblock-bazaar.js.map +1 -0
  111. package/dist/skyblock-bingo.d.ts +8 -0
  112. package/dist/skyblock-bingo.d.ts.map +1 -0
  113. package/dist/skyblock-bingo.js +19 -0
  114. package/dist/skyblock-bingo.js.map +1 -0
  115. package/dist/skyblock-items.d.ts +150 -0
  116. package/dist/skyblock-items.d.ts.map +1 -0
  117. package/dist/skyblock-items.js +247 -0
  118. package/dist/skyblock-items.js.map +1 -0
  119. package/dist/skyblock-misc.d.ts +91 -0
  120. package/dist/skyblock-misc.d.ts.map +1 -0
  121. package/dist/skyblock-misc.js +159 -0
  122. package/dist/skyblock-misc.js.map +1 -0
  123. package/dist/skyblock-museum.d.ts +24 -0
  124. package/dist/skyblock-museum.d.ts.map +1 -0
  125. package/dist/skyblock-museum.js +51 -0
  126. package/dist/skyblock-museum.js.map +1 -0
  127. package/dist/skyblock-news.d.ts +12 -0
  128. package/dist/skyblock-news.d.ts.map +1 -0
  129. package/dist/skyblock-news.js +25 -0
  130. package/dist/skyblock-news.js.map +1 -0
  131. package/dist/skyblock-resources.d.ts +94 -0
  132. package/dist/skyblock-resources.d.ts.map +1 -0
  133. package/dist/skyblock-resources.js +175 -0
  134. package/dist/skyblock-resources.js.map +1 -0
  135. package/dist/skyblock.d.ts +972 -0
  136. package/dist/skyblock.d.ts.map +1 -0
  137. package/dist/skyblock.js +1371 -0
  138. package/dist/skyblock.js.map +1 -0
  139. package/dist/skywars.d.ts +319 -0
  140. package/dist/skywars.d.ts.map +1 -0
  141. package/dist/skywars.js +611 -0
  142. package/dist/skywars.js.map +1 -0
  143. package/dist/smashheroes.d.ts +126 -0
  144. package/dist/smashheroes.d.ts.map +1 -0
  145. package/dist/smashheroes.js +206 -0
  146. package/dist/smashheroes.js.map +1 -0
  147. package/dist/static.d.ts +42 -0
  148. package/dist/static.d.ts.map +1 -0
  149. package/dist/static.js +106 -0
  150. package/dist/static.js.map +1 -0
  151. package/dist/status.d.ts +9 -0
  152. package/dist/status.d.ts.map +1 -0
  153. package/dist/status.js +18 -0
  154. package/dist/status.js.map +1 -0
  155. package/dist/tntgames.d.ts +189 -0
  156. package/dist/tntgames.d.ts.map +1 -0
  157. package/dist/tntgames.js +283 -0
  158. package/dist/tntgames.js.map +1 -0
  159. package/dist/turbokartracers.d.ts +85 -0
  160. package/dist/turbokartracers.d.ts.map +1 -0
  161. package/dist/turbokartracers.js +165 -0
  162. package/dist/turbokartracers.js.map +1 -0
  163. package/dist/uhc.d.ts +55 -0
  164. package/dist/uhc.d.ts.map +1 -0
  165. package/dist/uhc.js +94 -0
  166. package/dist/uhc.js.map +1 -0
  167. package/dist/vampirez.d.ts +75 -0
  168. package/dist/vampirez.d.ts.map +1 -0
  169. package/dist/vampirez.js +104 -0
  170. package/dist/vampirez.js.map +1 -0
  171. package/dist/walls.d.ts +96 -0
  172. package/dist/walls.d.ts.map +1 -0
  173. package/dist/walls.js +122 -0
  174. package/dist/walls.js.map +1 -0
  175. package/dist/warlords.d.ts +229 -0
  176. package/dist/warlords.d.ts.map +1 -0
  177. package/dist/warlords.js +309 -0
  178. package/dist/warlords.js.map +1 -0
  179. package/package.json +55 -0
package/dist/duels.js ADDED
@@ -0,0 +1,570 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseDuels = parseDuels;
4
+ const common_1 = require("./common");
5
+ function parseTitlePrestige(data, category) {
6
+ return {
7
+ rookie: (0, common_1.num)(data, `${category}_rookie_title_prestige`),
8
+ iron: (0, common_1.num)(data, `${category}_iron_title_prestige`),
9
+ gold: (0, common_1.num)(data, `${category}_gold_title_prestige`),
10
+ diamond: (0, common_1.num)(data, `${category}_diamond_title_prestige`),
11
+ master: (0, common_1.num)(data, `${category}_master_title_prestige`),
12
+ legend: (0, common_1.num)(data, `${category}_legend_title_prestige`),
13
+ grandmaster: (0, common_1.num)(data, `${category}_grandmaster_title_prestige`),
14
+ godlike: (0, common_1.num)(data, `${category}_godlike_title_prestige`),
15
+ celestial: (0, common_1.num)(data, `${category}_celestial_title_prestige`),
16
+ divine: (0, common_1.num)(data, `${category}_divine_title_prestige`),
17
+ worldElite: (0, common_1.num)(data, `${category}_world_elite_title_prestige`),
18
+ };
19
+ }
20
+ function parseKitWins(data, mode) {
21
+ const prefix = `${mode}_`;
22
+ const suffix = "_kit_wins";
23
+ const result = {};
24
+ for (const [key, value] of Object.entries(data)) {
25
+ if (typeof value !== "number" ||
26
+ !key.startsWith(prefix) ||
27
+ !key.endsWith(suffix)) {
28
+ continue;
29
+ }
30
+ const kit = key.slice(prefix.length, key.length - suffix.length);
31
+ result[kit === "" ? "total" : kit] = value;
32
+ }
33
+ return result;
34
+ }
35
+ function parseTopKitWins(data) {
36
+ const suffix = "_kit_wins";
37
+ const result = {};
38
+ for (const [key, value] of Object.entries(data)) {
39
+ if (typeof value !== "number") {
40
+ continue;
41
+ }
42
+ if (key === "kit_wins") {
43
+ result.total = value;
44
+ continue;
45
+ }
46
+ if (!key.endsWith(suffix)) {
47
+ continue;
48
+ }
49
+ const kit = key.slice(0, key.length - suffix.length);
50
+ if (!kit.includes("_")) {
51
+ result[kit] = value;
52
+ }
53
+ }
54
+ return result;
55
+ }
56
+ function parseNumberRecord(data, key) {
57
+ const source = (0, common_1.obj)(data, key);
58
+ const result = {};
59
+ for (const [entry, value] of Object.entries(source)) {
60
+ if (typeof value === "number") {
61
+ result[entry] = value;
62
+ }
63
+ }
64
+ return result;
65
+ }
66
+ function parseSeasonRewards(data) {
67
+ const prefix = "collected_reward_season_";
68
+ const result = {};
69
+ for (const [key, value] of Object.entries(data)) {
70
+ if (typeof value === "boolean" && key.startsWith(prefix)) {
71
+ result[key.slice(prefix.length)] = value;
72
+ }
73
+ }
74
+ return result;
75
+ }
76
+ function parseLayouts(data) {
77
+ const result = {};
78
+ for (const [key, value] of Object.entries(data)) {
79
+ if (!key.includes("layout") ||
80
+ typeof value !== "object" ||
81
+ value === null ||
82
+ Array.isArray(value)) {
83
+ continue;
84
+ }
85
+ const slots = {};
86
+ for (const [slot, item] of Object.entries(value)) {
87
+ if (typeof item === "string") {
88
+ slots[slot] = item;
89
+ }
90
+ }
91
+ result[key] = slots;
92
+ }
93
+ return result;
94
+ }
95
+ function stringArray(parent, key) {
96
+ const value = parent[key];
97
+ return Array.isArray(value)
98
+ ? value.filter((entry) => typeof entry === "string")
99
+ : [];
100
+ }
101
+ function parseGamemode(data, mode) {
102
+ return {
103
+ currentWinstreak: (0, common_1.num)(data, `current_winstreak_mode_${mode}`),
104
+ bestWinstreak: (0, common_1.num)(data, `best_winstreak_mode_${mode}`),
105
+ kills: (0, common_1.num)(data, `${mode}_kills`),
106
+ deaths: (0, common_1.num)(data, `${mode}_deaths`),
107
+ wins: (0, common_1.num)(data, `${mode}_wins`),
108
+ losses: (0, common_1.num)(data, `${mode}_losses`),
109
+ roundsPlayed: (0, common_1.num)(data, `${mode}_rounds_played`),
110
+ meleeSwings: (0, common_1.num)(data, `${mode}_melee_swings`),
111
+ meleeHits: (0, common_1.num)(data, `${mode}_melee_hits`),
112
+ bowShots: (0, common_1.num)(data, `${mode}_bow_shots`),
113
+ bowHits: (0, common_1.num)(data, `${mode}_bow_hits`),
114
+ blocksPlaced: (0, common_1.num)(data, `${mode}_blocks_placed`),
115
+ healthRegenerated: (0, common_1.num)(data, `${mode}_health_regenerated`),
116
+ goldenApplesEaten: (0, common_1.num)(data, `${mode}_golden_apples_eaten`),
117
+ goldenHeadsEaten: (0, common_1.num)(data, `${mode}_golden_heads_eaten`),
118
+ healPotsUsed: (0, common_1.num)(data, `${mode}_heal_pots_used`),
119
+ damageDealt: (0, common_1.num)(data, `${mode}_damage_dealt`),
120
+ coins: (0, common_1.num)(data, `${mode}_coins`),
121
+ coinsGained: (0, common_1.num)(data, `${mode}_coins_gained`),
122
+ kitWins: parseKitWins(data, mode),
123
+ };
124
+ }
125
+ function parseBridgeGamemode(data, mode) {
126
+ return {
127
+ ...parseGamemode(data, mode),
128
+ bridgeKills: (0, common_1.num)(data, `${mode}_bridge_kills`),
129
+ bridgeDeaths: (0, common_1.num)(data, `${mode}_bridge_deaths`),
130
+ goals: (0, common_1.num)(data, `${mode}_goals`),
131
+ captures: (0, common_1.num)(data, `${mode}_captures`),
132
+ };
133
+ }
134
+ function parseMode(data, mode, category) {
135
+ return {
136
+ ...parseGamemode(data, mode),
137
+ titlePrestige: parseTitlePrestige(data, category),
138
+ };
139
+ }
140
+ function parseGroupHeader(data, category) {
141
+ return {
142
+ titlePrestige: parseTitlePrestige(data, category),
143
+ currentWinstreak: (0, common_1.num)(data, `current_${category}_winstreak`),
144
+ bestWinstreak: (0, common_1.num)(data, `best_${category}_winstreak`),
145
+ };
146
+ }
147
+ function parseWinstreakGroup(data, category) {
148
+ return {
149
+ currentWinstreak: (0, common_1.num)(data, `current_${category}_winstreak`),
150
+ bestWinstreak: (0, common_1.num)(data, `best_${category}_winstreak`),
151
+ };
152
+ }
153
+ function parseAbility(data, base) {
154
+ return { total: (0, common_1.num)(data, base), standard: (0, common_1.num)(data, `${base}_standard`) };
155
+ }
156
+ function parseMegaWallsAbilities(data) {
157
+ return {
158
+ alliesHealed: parseAbility(data, "allies_healed"),
159
+ amountHealed: parseAbility(data, "amount_healed"),
160
+ angelDivineInterventions: parseAbility(data, "angel_divine_interventions"),
161
+ arrowsFromRend: parseAbility(data, "arrows_from_rend"),
162
+ blizzardSecondsSlow: parseAbility(data, "blizzard_seconds_slow"),
163
+ blocksBroken: parseAbility(data, "blocks_broken"),
164
+ bucketBarriersBroken: parseAbility(data, "bucket_barriers_broken"),
165
+ divineInterventions: parseAbility(data, "divine_interventions"),
166
+ energyFromGrapplingHook: parseAbility(data, "energy_from_grappling_hook"),
167
+ heroismTriggers: parseAbility(data, "heroism_triggers"),
168
+ innerInkBlinds: parseAbility(data, "inner_ink_blinds"),
169
+ masterAlchemyHearts: parseAbility(data, "master_alechmy_hearts"),
170
+ metersTravelled: parseAbility(data, "meters_travelled"),
171
+ resistanceTimeSeconds: parseAbility(data, "resistance_time_seconds"),
172
+ snowmenPlayersHit: parseAbility(data, "snowmen_players_hit"),
173
+ strikesFromCloak: parseAbility(data, "strikes_from_cloak"),
174
+ venomStrikePoisonDamage: parseAbility(data, "venom_strike_poison_damage"),
175
+ };
176
+ }
177
+ const MEGA_WALLS_ABILITY_BASES = [
178
+ "allies_healed",
179
+ "amount_healed",
180
+ "angel_divine_interventions",
181
+ "arrows_from_rend",
182
+ "blizzard_seconds_slow",
183
+ "blocks_broken",
184
+ "bucket_barriers_broken",
185
+ "divine_interventions",
186
+ "energy_from_grappling_hook",
187
+ "heroism_triggers",
188
+ "inner_ink_blinds",
189
+ "master_alechmy_hearts",
190
+ "meters_travelled",
191
+ "resistance_time_seconds",
192
+ "snowmen_players_hit",
193
+ "strikes_from_cloak",
194
+ "venom_strike_poison_damage",
195
+ ];
196
+ const MEGA_WALLS_ABILITY_BASE_SET = new Set(MEGA_WALLS_ABILITY_BASES);
197
+ const NON_CLASS_ABILITY_PREFIXES = ["mw_", "spleef", "bedwars"];
198
+ function parseMegaWallsClassAbilities(data) {
199
+ const result = {};
200
+ for (const [key, value] of Object.entries(data)) {
201
+ if (typeof value !== "number" || MEGA_WALLS_ABILITY_BASE_SET.has(key)) {
202
+ continue;
203
+ }
204
+ if (NON_CLASS_ABILITY_PREFIXES.some((prefix) => key.startsWith(prefix))) {
205
+ continue;
206
+ }
207
+ if (MEGA_WALLS_ABILITY_BASES.some((base) => key.endsWith(`_${base}`))) {
208
+ result[key] = value;
209
+ }
210
+ }
211
+ return result;
212
+ }
213
+ const RANKED_SEASON_PREFIX = "Duels_new_ranked__";
214
+ const RANKED_SEASON_FIELDS = [
215
+ { suffix: "_overallBestStars", field: "overallBestStars" },
216
+ { suffix: "_ranked_1_bestElo", field: "bestElo" },
217
+ { suffix: "_ranked_1_bestStars", field: "bestStars" },
218
+ { suffix: "_ranked_1_maxStars", field: "maxStars" },
219
+ ];
220
+ function parseRankedSeasons(data) {
221
+ const accumulator = {};
222
+ for (const [key, value] of Object.entries(data)) {
223
+ if (!key.startsWith(RANKED_SEASON_PREFIX)) {
224
+ continue;
225
+ }
226
+ const rest = key.slice(RANKED_SEASON_PREFIX.length);
227
+ for (const { suffix, field } of RANKED_SEASON_FIELDS) {
228
+ if (!rest.endsWith(suffix)) {
229
+ continue;
230
+ }
231
+ const season = rest.slice(0, rest.length - suffix.length);
232
+ const entry = accumulator[season] ??
233
+ (accumulator[season] = {
234
+ overallBestStars: 0,
235
+ bestElo: 0,
236
+ bestStars: 0,
237
+ maxStars: false,
238
+ });
239
+ if (field === "maxStars") {
240
+ entry.maxStars = value === true;
241
+ }
242
+ else if (typeof value === "number") {
243
+ entry[field] = value;
244
+ }
245
+ break;
246
+ }
247
+ }
248
+ return accumulator;
249
+ }
250
+ function parsePrefixedWinstreaks(data, prefix, exclude) {
251
+ const result = {};
252
+ for (const [key, value] of Object.entries(data)) {
253
+ if (typeof value !== "number" || !key.startsWith(prefix)) {
254
+ continue;
255
+ }
256
+ if (exclude !== undefined && key.startsWith(exclude)) {
257
+ continue;
258
+ }
259
+ result[key.slice(prefix.length)] = value;
260
+ }
261
+ return result;
262
+ }
263
+ const CURRENT_CATEGORY_WINSTREAK_PATTERN = /^current_(.+)_winstreak$/;
264
+ const BEST_CATEGORY_WINSTREAK_PATTERN = /^best_(.+)_winstreak$/;
265
+ const OVERALL_WINSTREAK_TOKEN = "overall";
266
+ function parseCategoryWinstreaks(data, pattern) {
267
+ const result = {};
268
+ for (const [key, value] of Object.entries(data)) {
269
+ if (typeof value !== "number" || key.includes("_winstreak_mode_")) {
270
+ continue;
271
+ }
272
+ const match = pattern.exec(key);
273
+ if (match === null || match[1] === OVERALL_WINSTREAK_TOKEN) {
274
+ continue;
275
+ }
276
+ result[match[1]] = value;
277
+ }
278
+ return result;
279
+ }
280
+ function parseBedwarsCause(data, metric) {
281
+ return {
282
+ entityAttack: (0, common_1.num)(data, `entity_attack_${metric}_bedwars`),
283
+ fall: (0, common_1.num)(data, `fall_${metric}_bedwars`),
284
+ magic: (0, common_1.num)(data, `magic_${metric}_bedwars`),
285
+ void: (0, common_1.num)(data, `void_${metric}_bedwars`),
286
+ };
287
+ }
288
+ function parseCosmetics(data) {
289
+ return {
290
+ auras: (0, common_1.str)(data, "active_auras"),
291
+ cage: (0, common_1.str)(data, "active_cage"),
292
+ cosmeticTitle: (0, common_1.str)(data, "active_cosmetictitle"),
293
+ emblem: (0, common_1.str)(data, "active_emblem"),
294
+ goal: (0, common_1.str)(data, "active_goal"),
295
+ hat: (0, common_1.str)(data, "active_hat"),
296
+ killEffect: (0, common_1.str)(data, "active_kill_effect"),
297
+ killMessages: (0, common_1.str)(data, "active_killmessages"),
298
+ prefixIcon: (0, common_1.str)(data, "active_prefix_icon"),
299
+ projectileTrail: (0, common_1.str)(data, "active_projectile_trail"),
300
+ startingWeapon: (0, common_1.str)(data, "active_starting_weapon"),
301
+ title: (0, common_1.str)(data, "active_title"),
302
+ victoryDance: (0, common_1.str)(data, "active_victory_dance"),
303
+ weaponPacks: (0, common_1.str)(data, "active_weaponpacks"),
304
+ };
305
+ }
306
+ function parseSettings(data) {
307
+ const settings = (0, common_1.obj)(data, "settings");
308
+ return {
309
+ lobbyScoreboardStats: (0, common_1.str)(settings, "lobby_scoreboard_stats"),
310
+ rematchBehavior: (0, common_1.str)(settings, "rematch_behavior"),
311
+ showInGameLeaderboards: (0, common_1.bool)(settings, "show_in_game_leaderboards"),
312
+ enableProjectileTrails: (0, common_1.bool)(settings, "enable_projectile_trails"),
313
+ viewChat: (0, common_1.bool)(settings, "view_chat"),
314
+ showKitMenu: (0, common_1.bool)(settings, "show_kit_menu"),
315
+ };
316
+ }
317
+ function parsePrivateGames(data) {
318
+ const games = (0, common_1.obj)(data, "privategames");
319
+ return {
320
+ speed: (0, common_1.str)(games, "speed"),
321
+ knockbackTen: (0, common_1.bool)(games, "duels_knockback_ten"),
322
+ nightTime: (0, common_1.str)(games, "duels_night_time"),
323
+ onlyTnt: (0, common_1.bool)(games, "duels_only_tnt"),
324
+ moreGoals: (0, common_1.str)(games, "duels_more_goals"),
325
+ enableOp: (0, common_1.bool)(games, "duels_enable_op"),
326
+ giveSlowness: (0, common_1.str)(games, "duels_give_slowness"),
327
+ giveRegen: (0, common_1.str)(games, "duels_give_regen"),
328
+ lowGravity: (0, common_1.bool)(games, "low_gravity"),
329
+ blockProtection: (0, common_1.bool)(games, "duels_block_protection"),
330
+ };
331
+ }
332
+ /** Parses a player's Duels stats (`stats.Duels`) into a typed object. */
333
+ function parseDuels(stats) {
334
+ const raw = stats.Duels;
335
+ if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
336
+ return null;
337
+ }
338
+ const data = raw;
339
+ const leaderboardSettings = (0, common_1.obj)(data, "leaderboardSettings");
340
+ return {
341
+ coins: (0, common_1.num)(data, "coins") || (0, common_1.num)(data, "tokens"),
342
+ titlePrestige: parseTitlePrestige(data, "all_modes"),
343
+ pingPreference: (0, common_1.num)(data, "pingPreference"),
344
+ currentWinstreak: (0, common_1.num)(data, "current_winstreak"),
345
+ bestWinstreak: (0, common_1.num)(data, "best_overall_winstreak"),
346
+ currentStreak: (0, common_1.num)(data, "currentStreak"),
347
+ oldWinstreak: (0, common_1.num)(data, "old_winstreak"),
348
+ currentWinstreakBridge: (0, common_1.num)(data, "current_winstreak_bridge"),
349
+ legacyWinstreaks: parsePrefixedWinstreaks(data, "duels_winstreak_", "duels_winstreak_best_"),
350
+ legacyBestWinstreaks: parsePrefixedWinstreaks(data, "duels_winstreak_best_"),
351
+ categoryWinstreaks: parseCategoryWinstreaks(data, CURRENT_CATEGORY_WINSTREAK_PATTERN),
352
+ bestCategoryWinstreaks: parseCategoryWinstreaks(data, BEST_CATEGORY_WINSTREAK_PATTERN),
353
+ gamesPlayed: (0, common_1.num)(data, "games_played_duels"),
354
+ roundsPlayed: (0, common_1.num)(data, "rounds_played"),
355
+ kills: (0, common_1.num)(data, "kills"),
356
+ deaths: (0, common_1.num)(data, "deaths"),
357
+ wins: (0, common_1.num)(data, "wins"),
358
+ losses: (0, common_1.num)(data, "losses"),
359
+ meleeSwings: (0, common_1.num)(data, "melee_swings"),
360
+ meleeHits: (0, common_1.num)(data, "melee_hits"),
361
+ bowShots: (0, common_1.num)(data, "bow_shots"),
362
+ bowHits: (0, common_1.num)(data, "bow_hits"),
363
+ blocksPlaced: (0, common_1.num)(data, "blocks_placed"),
364
+ healthRegenerated: (0, common_1.num)(data, "health_regenerated"),
365
+ goldenApplesEaten: (0, common_1.num)(data, "golden_apples_eaten"),
366
+ goldenHeadsEaten: (0, common_1.num)(data, "golden_heads_eaten"),
367
+ healPotsUsed: (0, common_1.num)(data, "heal_pots_used"),
368
+ damageDealt: (0, common_1.num)(data, "damage_dealt"),
369
+ longestCombo: (0, common_1.num)(data, "longest_combo"),
370
+ captures: (0, common_1.num)(data, "captures"),
371
+ leaderboardPageCaptures: (0, common_1.num)(data, "leaderboardPage_captures"),
372
+ leaderboardPageGoals: (0, common_1.num)(data, "leaderboardPage_goals"),
373
+ leaderboardPageWins: (0, common_1.num)(data, "leaderboardPage_wins"),
374
+ kitWins: parseTopKitWins(data),
375
+ chests: (0, common_1.num)(data, "duels_chests"),
376
+ openedChests: (0, common_1.num)(data, "Duels_openedChests"),
377
+ openedCommons: (0, common_1.num)(data, "Duels_openedCommons"),
378
+ openedRares: (0, common_1.num)(data, "Duels_openedRares"),
379
+ openedEpics: (0, common_1.num)(data, "Duels_openedEpics"),
380
+ openedLegendaries: (0, common_1.num)(data, "Duels_openedLegendaries"),
381
+ leaderboardPageWinStreak: (0, common_1.num)(data, "leaderboardPage_win_streak"),
382
+ challengesEnabled: (0, common_1.bool)(data, "challenges_enabled"),
383
+ showQueueBook: (0, common_1.bool)(data, "duels_showqueuebook"),
384
+ specialChallenger: (0, common_1.bool)(data, "special_challenger"),
385
+ seasonOneRewardFixes: (0, common_1.bool)(data, "season_1_reward_fixes"),
386
+ prefixTitleColor2: (0, common_1.bool)(data, "duels_prefix_title_color2"),
387
+ shopSortOwnedFirst: (0, common_1.bool)(data, "shop_sort_enable_owned_first"),
388
+ chatEnabled: (0, common_1.str)(data, "chat_enabled"),
389
+ kitMenuOption: (0, common_1.str)(data, "kit_menu_option"),
390
+ showLbOption: (0, common_1.str)(data, "show_lb_option"),
391
+ showMapDetail: (0, common_1.str)(data, "show_map_detail"),
392
+ toggleProjTrail: (0, common_1.str)(data, "toggle_proj_trail"),
393
+ rematchOption1: (0, common_1.str)(data, "rematch_option_1"),
394
+ progressMode: (0, common_1.str)(data, "progress_mode"),
395
+ shopSort: (0, common_1.str)(data, "shop_sort"),
396
+ statusField: (0, common_1.str)(data, "status_field"),
397
+ favoriteGlyph: (0, common_1.str)(data, "favoriteGlyph"),
398
+ equippedPrefixColor: (0, common_1.str)(data, "equipped_prefix_color"),
399
+ equippedPrefixIcon: (0, common_1.str)(data, "equipped_prefix_icon"),
400
+ equippedCustomTitle: (0, common_1.str)(data, "equipped_custom_titles"),
401
+ equippedRankedTitles: (0, common_1.num)(data, "equipped_ranked_titles"),
402
+ recentlyPlayed: (0, common_1.str)(data, "duels_recently_played"),
403
+ recentlyPlayed2: (0, common_1.str)(data, "duels_recently_played2"),
404
+ selected1: (0, common_1.str)(data, "selected_1"),
405
+ selected1New: (0, common_1.str)(data, "selected_1_new"),
406
+ selected2: (0, common_1.str)(data, "selected_2"),
407
+ selected2New: (0, common_1.str)(data, "selected_2_new"),
408
+ cosmetics: parseCosmetics(data),
409
+ settings: parseSettings(data),
410
+ leaderboardSettings: {
411
+ mode: (0, common_1.str)(leaderboardSettings, "mode"),
412
+ resetType: (0, common_1.str)(leaderboardSettings, "resetType"),
413
+ },
414
+ privateGames: parsePrivateGames(data),
415
+ migrationFlags: {
416
+ movedToRedis: (0, common_1.bool)(data, "moved_to_redis"),
417
+ movedToRedis2: (0, common_1.bool)(data, "moved_to_redis2"),
418
+ movedToRedis3: (0, common_1.bool)(data, "moved_to_redis3"),
419
+ movedToRedisStage2: (0, common_1.bool)(data, "moved_to_redis_2"),
420
+ movedToRedisStage3: (0, common_1.bool)(data, "moved_to_redis_3"),
421
+ redisToPlayerDataSync: (0, common_1.bool)(data, "redis_to_player_data_sync"),
422
+ },
423
+ claimedOdysseyRewards: parseNumberRecord(data, "claimed_odyssey_rewards"),
424
+ collectedSeasonRewards: parseSeasonRewards(data),
425
+ packages: stringArray(data, "packages"),
426
+ customTitles: stringArray(data, "custom_titles"),
427
+ challengeSettings: stringArray(data, "challengeSettings"),
428
+ bridgeMapWins: stringArray(data, "bridgeMapWins"),
429
+ mapsWonOn: stringArray(data, "maps_won_on"),
430
+ duelsChestHistory: stringArray(data, "duels_chest_history"),
431
+ layouts: parseLayouts(data),
432
+ uhc: {
433
+ ...parseGroupHeader(data, "uhc"),
434
+ solo: parseGamemode(data, "uhc_duel"),
435
+ doubles: parseGamemode(data, "uhc_doubles"),
436
+ fours: parseGamemode(data, "uhc_four"),
437
+ deathmatch: parseGamemode(data, "uhc_meetup"),
438
+ },
439
+ skywars: {
440
+ ...parseGroupHeader(data, "skywars"),
441
+ selectedKit: (0, common_1.str)(data, "sw_duels_kit"),
442
+ selectedKitNew: (0, common_1.str)(data, "sw_duels_kit_new"),
443
+ selectedKitNew2: (0, common_1.str)(data, "sw_duels_kit_new2"),
444
+ selectedKitNew3: (0, common_1.str)(data, "sw_duels_kit_new3"),
445
+ solo: parseGamemode(data, "sw_duel"),
446
+ doubles: parseGamemode(data, "sw_doubles"),
447
+ },
448
+ megaWalls: {
449
+ ...parseGroupHeader(data, "mega_walls"),
450
+ selectedClass: (0, common_1.str)(data, "mw_duels_class"),
451
+ abilities: parseMegaWallsAbilities(data),
452
+ classAbilities: parseMegaWallsClassAbilities(data),
453
+ solo: parseGamemode(data, "mw_duel"),
454
+ doubles: parseGamemode(data, "mw_doubles"),
455
+ fours: parseGamemode(data, "mw_four"),
456
+ },
457
+ overPowered: {
458
+ ...parseGroupHeader(data, "op"),
459
+ solo: parseGamemode(data, "op_duel"),
460
+ doubles: parseGamemode(data, "op_doubles"),
461
+ },
462
+ bridge: {
463
+ ...parseGroupHeader(data, "bridge"),
464
+ bridgeKills: (0, common_1.num)(data, "bridge_kills"),
465
+ bridgeDeaths: (0, common_1.num)(data, "bridge_deaths"),
466
+ goals: (0, common_1.num)(data, "goals"),
467
+ solo: parseBridgeGamemode(data, "bridge_duel"),
468
+ doubles: parseBridgeGamemode(data, "bridge_doubles"),
469
+ threes: parseBridgeGamemode(data, "bridge_threes"),
470
+ fours: parseBridgeGamemode(data, "bridge_four"),
471
+ teamsOfTwo: parseBridgeGamemode(data, "bridge_2v2v2v2"),
472
+ teamsOfThree: parseBridgeGamemode(data, "bridge_3v3v3v3"),
473
+ captureSolo: parseBridgeGamemode(data, "capture_duel"),
474
+ captureThrees: parseBridgeGamemode(data, "capture_threes"),
475
+ tournament: parseBridgeGamemode(data, "bridge_tournament"),
476
+ },
477
+ tournament: {
478
+ titlePrestige: parseTitlePrestige(data, "tournament"),
479
+ uhc: parseGamemode(data, "uhc_tournament"),
480
+ skywars: parseGamemode(data, "sw_tournament"),
481
+ sumo: parseGamemode(data, "sumo_tournament"),
482
+ bridge: parseBridgeGamemode(data, "bridge_tournament"),
483
+ },
484
+ bedwars: {
485
+ ...parseWinstreakGroup(data, "bedwars"),
486
+ wins: (0, common_1.num)(data, "wins_bedwars"),
487
+ losses: (0, common_1.num)(data, "losses_bedwars"),
488
+ kills: (0, common_1.num)(data, "kills_bedwars"),
489
+ deaths: (0, common_1.num)(data, "deaths_bedwars"),
490
+ finalKills: (0, common_1.num)(data, "final_kills_bedwars"),
491
+ finalDeaths: (0, common_1.num)(data, "final_deaths_bedwars"),
492
+ bedsBroken: (0, common_1.num)(data, "beds_broken_bedwars"),
493
+ bedsLost: (0, common_1.num)(data, "beds_lost_bedwars"),
494
+ gamesPlayed: (0, common_1.num)(data, "games_played_bedwars"),
495
+ itemsPurchased: (0, common_1.num)(data, "items_purchased_bedwars"),
496
+ permanentItemsPurchased: (0, common_1.num)(data, "permanent_items_purchased_bedwars"),
497
+ killsByCause: parseBedwarsCause(data, "kills"),
498
+ deathsByCause: parseBedwarsCause(data, "deaths"),
499
+ finalKillsByCause: parseBedwarsCause(data, "final_kills"),
500
+ finalDeathsByCause: parseBedwarsCause(data, "final_deaths"),
501
+ solo: {
502
+ ...parseGamemode(data, "bedwars_two_one_duels"),
503
+ blocksBroken: (0, common_1.num)(data, "bedwars_two_one_duels_blocks_broken"),
504
+ },
505
+ rush: {
506
+ ...parseGamemode(data, "bedwars_two_one_duels_rush"),
507
+ blocksBroken: (0, common_1.num)(data, "bedwars_two_one_duels_rush_blocks_broken"),
508
+ },
509
+ },
510
+ ranked: {
511
+ currentWinstreak: (0, common_1.num)(data, "current_winstreak_mode_ranked_1"),
512
+ bestWinstreak: (0, common_1.num)(data, "duels_winstreak_best_ranked_1"),
513
+ winStreak: (0, common_1.num)(data, "ranked_streak_ranked_1"),
514
+ lossStreak: (0, common_1.num)(data, "ranked_loss_streak_ranked_1"),
515
+ equippedTitles: (0, common_1.num)(data, "equipped_ranked_titles"),
516
+ healPotsUsed: (0, common_1.num)(data, "ranked_1_heal_pots_used"),
517
+ stats: parseBridgeGamemode(data, "ranked_1"),
518
+ seasons: parseRankedSeasons(data),
519
+ },
520
+ blitz: {
521
+ ...parseMode(data, "blitz_duel", "blitz"),
522
+ selectedKit: (0, common_1.str)(data, "blitz_duels_kit"),
523
+ },
524
+ classic: {
525
+ ...parseGroupHeader(data, "classic"),
526
+ solo: parseGamemode(data, "classic_duel"),
527
+ doubles: parseGamemode(data, "classic_doubles"),
528
+ },
529
+ bow: parseMode(data, "bow_duel", "bow"),
530
+ noDebuff: parseMode(data, "potion_duel", "no_debuff"),
531
+ combo: {
532
+ ...parseMode(data, "combo_duel", "combo"),
533
+ longestCombo: (0, common_1.num)(data, "combo_duel_longest_combo"),
534
+ },
535
+ spleef: {
536
+ ...parseWinstreakGroup(data, "spleef"),
537
+ blocksBroken: (0, common_1.num)(data, "spleef_duel_blocks_broken"),
538
+ solo: parseGamemode(data, "spleef_duel"),
539
+ },
540
+ bowSpleef: parseMode(data, "bowspleef_duel", "tnt_games"),
541
+ quake: {
542
+ ...parseWinstreakGroup(data, "quake"),
543
+ gunType: (0, common_1.str)(data, "quakeGunType"),
544
+ headshots: (0, common_1.num)(data, "quake_headshots"),
545
+ shotHits: (0, common_1.num)(data, "quake_shot_hits"),
546
+ shotsTaken: (0, common_1.num)(data, "quake_shots_taken"),
547
+ solo: parseGamemode(data, "quake_duel"),
548
+ },
549
+ sumo: parseMode(data, "sumo_duel", "sumo"),
550
+ boxing: parseMode(data, "boxing_duel", "boxing"),
551
+ parkour: {
552
+ ...parseMode(data, "parkour_eight", "parkour"),
553
+ checkpointsReached: (0, common_1.num)(data, "parkour_checkpoints_reached"),
554
+ personalBest: (0, common_1.num)(data, "parkour_personal_best"),
555
+ playersHidden: (0, common_1.bool)(data, "parkour_players_hidden"),
556
+ },
557
+ arena: {
558
+ ...parseGamemode(data, "duel_arena"),
559
+ modePreferences: {
560
+ bow: (0, common_1.str)(data, "arena_mode_bow"),
561
+ classic: (0, common_1.str)(data, "arena_mode_classic"),
562
+ noDebuff: (0, common_1.str)(data, "arena_mode_no_debuff"),
563
+ op: (0, common_1.str)(data, "arena_mode_op"),
564
+ soup: (0, common_1.str)(data, "arena_mode_soup"),
565
+ uhc: (0, common_1.str)(data, "arena_mode_uhc"),
566
+ },
567
+ },
568
+ };
569
+ }
570
+ //# sourceMappingURL=duels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duels.js","sourceRoot":"","sources":["../src/duels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ export interface GuildMember {
2
+ readonly uuid: string;
3
+ readonly rank: string;
4
+ readonly joinedAt: Date | null;
5
+ readonly questParticipation: number;
6
+ readonly expHistory: Record<string, number>;
7
+ readonly mutedTill: Date | null;
8
+ }
9
+ export interface GuildRank {
10
+ readonly name: string;
11
+ readonly tag: string;
12
+ readonly default: boolean;
13
+ readonly priority: number;
14
+ readonly createdAt: Date | null;
15
+ }
16
+ export interface GuildBannerPattern {
17
+ readonly pattern: string;
18
+ readonly color: string;
19
+ }
20
+ export interface GuildBanner {
21
+ readonly base: string;
22
+ readonly patterns: readonly GuildBannerPattern[];
23
+ }
24
+ export interface Guild {
25
+ readonly id: string;
26
+ readonly name: string;
27
+ readonly nameLower: string;
28
+ readonly description: string;
29
+ readonly tag: string;
30
+ readonly tagColor: string;
31
+ readonly exp: number;
32
+ readonly createdAt: Date | null;
33
+ readonly coins: number;
34
+ readonly coinsEver: number;
35
+ readonly members: readonly GuildMember[];
36
+ readonly ranks: readonly GuildRank[];
37
+ readonly preferredGames: readonly string[];
38
+ readonly publiclyListed: boolean;
39
+ readonly joinable: boolean;
40
+ readonly hideGmTag: boolean;
41
+ readonly chatMuteUntil: Date | null;
42
+ readonly banner: GuildBanner;
43
+ readonly legacyRanking: number;
44
+ readonly achievements: Record<string, number>;
45
+ readonly guildExpByGameType: Record<string, number>;
46
+ }
47
+ /** Parses a guild (`/guild`) into a typed object. */
48
+ export declare function parseGuild(guild: Record<string, unknown>): Guild | null;
49
+ //# sourceMappingURL=guild.d.ts.map