Files
hypixel-stats/src/lib/schema/stats.ts
2025-08-29 13:40:58 +02:00

253 lines
13 KiB
TypeScript

import z from "zod"
export const bedwarsStatsSchema = z.looseObject({
Experience: z.number().default(0),
coins: z.number().default(0),
winstreak: z.number().optional(),
kills_bedwars: z.number().default(0),
deaths_bedwars: z.number().default(0),
final_kills_bedwars: z.number().default(0),
final_deaths_bedwars: z.number().default(0),
wins_bedwars: z.number().default(0),
losses_bedwars: z.number().default(0),
beds_broken_bedwars: z.number().default(0),
beds_lost_bedwars: z.number().default(0),
total_challenges_completed: z.number().default(0),
iron_resources_collected_bedwars: z.number().default(0),
gold_resources_collected_bedwars: z.number().default(0),
diamond_resources_collected_bedwars: z.number().default(0),
emerald_resources_collected_bedwars: z.number().default(0),
_items_purchased_bedwars: z.number().default(0),
slumber: z.looseObject({
tickets: z.number().default(0),
bag_type: z.string(),
total_tickets_earned: z.number().default(0),
doublers: z.number().default(0),
room: z.record(z.string(), z.boolean())
}).optional(),
eight_one_winstreak: z.number().optional(),
eight_one_kills_bedwars: z.number().default(0),
eight_one_deaths_bedwars: z.number().default(0),
eight_one_final_kills_bedwars: z.number().default(0),
eight_one_final_deaths_bedwars: z.number().default(0),
eight_one_wins_bedwars: z.number().default(0),
eight_one_losses_bedwars: z.number().default(0),
eight_one_beds_broken_bedwars: z.number().default(0),
eight_one_beds_lost_bedwars: z.number().default(0),
eight_two_winstreak: z.number().optional(),
eight_two_kills_bedwars: z.number().default(0),
eight_two_deaths_bedwars: z.number().default(0),
eight_two_final_kills_bedwars: z.number().default(0),
eight_two_final_deaths_bedwars: z.number().default(0),
eight_two_wins_bedwars: z.number().default(0),
eight_two_losses_bedwars: z.number().default(0),
eight_two_beds_broken_bedwars: z.number().default(0),
eight_two_beds_lost_bedwars: z.number().default(0),
four_three_winstreak: z.number().optional(),
four_three_kills_bedwars: z.number().default(0),
four_three_deaths_bedwars: z.number().default(0),
four_three_final_kills_bedwars: z.number().default(0),
four_three_final_deaths_bedwars: z.number().default(0),
four_three_wins_bedwars: z.number().default(0),
four_three_losses_bedwars: z.number().default(0),
four_three_beds_broken_bedwars: z.number().default(0),
four_three_beds_lost_bedwars: z.number().default(0),
four_four_winstreak: z.number().optional(),
four_four_kills_bedwars: z.number().default(0),
four_four_deaths_bedwars: z.number().default(0),
four_four_final_kills_bedwars: z.number().default(0),
four_four_final_deaths_bedwars: z.number().default(0),
four_four_wins_bedwars: z.number().default(0),
four_four_losses_bedwars: z.number().default(0),
four_four_beds_broken_bedwars: z.number().default(0),
four_four_beds_lost_bedwars: z.number().default(0),
two_four_winstreak: z.number().optional(),
two_four_kills_bedwars: z.number().default(0),
two_four_deaths_bedwars: z.number().default(0),
two_four_final_kills_bedwars: z.number().default(0),
two_four_final_deaths_bedwars: z.number().default(0),
two_four_wins_bedwars: z.number().default(0),
two_four_losses_bedwars: z.number().default(0),
two_four_beds_broken_bedwars: z.number().default(0),
two_four_beds_lost_bedwars: z.number().default(0),
eight_two_rush_winstreak: z.number().optional(),
eight_two_rush_kills_bedwars: z.number().default(0),
eight_two_rush_deaths_bedwars: z.number().default(0),
eight_two_rush_final_kills_bedwars: z.number().default(0),
eight_two_rush_final_deaths_bedwars: z.number().default(0),
eight_two_rush_wins_bedwars: z.number().default(0),
eight_two_rush_losses_bedwars: z.number().default(0),
eight_two_rush_beds_broken_bedwars: z.number().default(0),
eight_two_rush_beds_lost_bedwars: z.number().default(0),
four_four_rush_winstreak: z.number().optional(),
four_four_rush_kills_bedwars: z.number().default(0),
four_four_rush_deaths_bedwars: z.number().default(0),
four_four_rush_final_kills_bedwars: z.number().default(0),
four_four_rush_final_deaths_bedwars: z.number().default(0),
four_four_rush_wins_bedwars: z.number().default(0),
four_four_rush_losses_bedwars: z.number().default(0),
four_four_rush_beds_broken_bedwars: z.number().default(0),
four_four_rush_beds_lost_bedwars: z.number().default(0),
eight_two_ultimate_winstreak: z.number().optional(),
eight_two_ultimate_kills_bedwars: z.number().default(0),
eight_two_ultimate_deaths_bedwars: z.number().default(0),
eight_two_ultimate_final_kills_bedwars: z.number().default(0),
eight_two_ultimate_final_deaths_bedwars: z.number().default(0),
eight_two_ultimate_wins_bedwars: z.number().default(0),
eight_two_ultimate_losses_bedwars: z.number().default(0),
eight_two_ultimate_beds_broken_bedwars: z.number().default(0),
eight_two_ultimate_beds_lost_bedwars: z.number().default(0),
four_four_ultimate_winstreak: z.number().optional(),
four_four_ultimate_kills_bedwars: z.number().default(0),
four_four_ultimate_deaths_bedwars: z.number().default(0),
four_four_ultimate_final_kills_bedwars: z.number().default(0),
four_four_ultimate_final_deaths_bedwars: z.number().default(0),
four_four_ultimate_wins_bedwars: z.number().default(0),
four_four_ultimate_losses_bedwars: z.number().default(0),
four_four_ultimate_beds_broken_bedwars: z.number().default(0),
four_four_ultimate_beds_lost_bedwars: z.number().default(0),
eight_two_lucky_winstreak: z.number().optional(),
eight_two_lucky_kills_bedwars: z.number().default(0),
eight_two_lucky_deaths_bedwars: z.number().default(0),
eight_two_lucky_final_kills_bedwars: z.number().default(0),
eight_two_lucky_final_deaths_bedwars: z.number().default(0),
eight_two_lucky_wins_bedwars: z.number().default(0),
eight_two_lucky_losses_bedwars: z.number().default(0),
eight_two_lucky_beds_broken_bedwars: z.number().default(0),
eight_two_lucky_beds_lost_bedwars: z.number().default(0),
four_four_lucky_winstreak: z.number().optional(),
four_four_lucky_kills_bedwars: z.number().default(0),
four_four_lucky_deaths_bedwars: z.number().default(0),
four_four_lucky_final_kills_bedwars: z.number().default(0),
four_four_lucky_final_deaths_bedwars: z.number().default(0),
four_four_lucky_wins_bedwars: z.number().default(0),
four_four_lucky_losses_bedwars: z.number().default(0),
four_four_lucky_beds_broken_bedwars: z.number().default(0),
four_four_lucky_beds_lost_bedwars: z.number().default(0),
eight_two_voidless_winstreak: z.number().optional(),
eight_two_voidless_kills_bedwars: z.number().default(0),
eight_two_voidless_deaths_bedwars: z.number().default(0),
eight_two_voidless_final_kills_bedwars: z.number().default(0),
eight_two_voidless_final_deaths_bedwars: z.number().default(0),
eight_two_voidless_wins_bedwars: z.number().default(0),
eight_two_voidless_losses_bedwars: z.number().default(0),
eight_two_voidless_beds_broken_bedwars: z.number().default(0),
eight_two_voidless_beds_lost_bedwars: z.number().default(0),
four_four_voidless_winstreak: z.number().optional(),
four_four_voidless_kills_bedwars: z.number().default(0),
four_four_voidless_deaths_bedwars: z.number().default(0),
four_four_voidless_final_kills_bedwars: z.number().default(0),
four_four_voidless_final_deaths_bedwars: z.number().default(0),
four_four_voidless_wins_bedwars: z.number().default(0),
four_four_voidless_losses_bedwars: z.number().default(0),
four_four_voidless_beds_broken_bedwars: z.number().default(0),
four_four_voidless_beds_lost_bedwars: z.number().default(0),
eight_two_armed_winstreak: z.number().optional(),
eight_two_armed_kills_bedwars: z.number().default(0),
eight_two_armed_deaths_bedwars: z.number().default(0),
eight_two_armed_final_kills_bedwars: z.number().default(0),
eight_two_armed_final_deaths_bedwars: z.number().default(0),
eight_two_armed_wins_bedwars: z.number().default(0),
eight_two_armed_losses_bedwars: z.number().default(0),
eight_two_armed_beds_broken_bedwars: z.number().default(0),
eight_two_armed_beds_lost_bedwars: z.number().default(0),
four_four_armed_winstreak: z.number().optional(),
four_four_armed_kills_bedwars: z.number().default(0),
four_four_armed_deaths_bedwars: z.number().default(0),
four_four_armed_final_kills_bedwars: z.number().default(0),
four_four_armed_final_deaths_bedwars: z.number().default(0),
four_four_armed_wins_bedwars: z.number().default(0),
four_four_armed_losses_bedwars: z.number().default(0),
four_four_armed_beds_broken_bedwars: z.number().default(0),
four_four_armed_beds_lost_bedwars: z.number().default(0),
four_four_swap_winstreak: z.number().optional(),
four_four_swap_kills_bedwars: z.number().default(0),
four_four_swap_deaths_bedwars: z.number().default(0),
four_four_swap_final_kills_bedwars: z.number().default(0),
four_four_swap_final_deaths_bedwars: z.number().default(0),
four_four_swap_wins_bedwars: z.number().default(0),
four_four_swap_losses_bedwars: z.number().default(0),
four_four_swap_beds_broken_bedwars: z.number().default(0),
four_four_swap_beds_lost_bedwars: z.number().default(0),
four_four_underworld_winstreak: z.number().optional(),
four_four_underworld_kills_bedwars: z.number().default(0),
four_four_underworld_deaths_bedwars: z.number().default(0),
four_four_underworld_final_kills_bedwars: z.number().default(0),
four_four_underworld_final_deaths_bedwars: z.number().default(0),
four_four_underworld_wins_bedwars: z.number().default(0),
four_four_underworld_losses_bedwars: z.number().default(0),
four_four_underworld_beds_broken_bedwars: z.number().default(0),
four_four_underworld_beds_lost_bedwars: z.number().default(0),
castle_winstreak: z.number().optional(),
castle_kills_bedwars: z.number().default(0),
castle_deaths_bedwars: z.number().default(0),
castle_final_kills_bedwars: z.number().default(0),
castle_final_deaths_bedwars: z.number().default(0),
castle_wins_bedwars: z.number().default(0),
castle_losses_bedwars: z.number().default(0),
castle_beds_broken_bedwars: z.number().default(0),
castle_beds_lost_bedwars: z.number().default(0)
})
export const skywarsStatsSchema = z.looseObject({
skywars_experience: z.number().default(0),
selected_prestige_icon: z.string().optional(),
kills: z.number().default(0),
deaths: z.number().default(0),
assists: z.number().default(0),
wins: z.number().default(0),
losses: z.number().default(0),
cosmetic_tokens: z.number().default(0),
coins: z.number().default(0),
blocks_placed: z.number().default(0),
blocks_broken: z.number().default(0),
chests_opened: z.number().default(0),
arrows_hit: z.number().default(0),
arrows_shot: z.number().default(0),
melee_kills: z.number().default(0),
void_kills: z.number().default(0),
bow_kills: z.number().default(0),
mobs_kills: z.number().default(0),
enderpearls_thrown: z.number().default(0),
egg_thrown: z.number().default(0),
wins_lab: z.number().default(0),
heads: z.number().default(0),
angel_of_death_level: z.number().default(0),
angels_offering: z.number().default(0),
souls_gathered: z.number().default(0),
souls: z.number().default(0),
paid_souls: z.number().default(0),
soul_well: z.number().default(0),
packages: z.array(z.string()),
kills_solo_normal: z.number().default(0),
deaths_solo_normal: z.number().default(0),
wins_solo_normal: z.number().default(0),
losses_solo_normal: z.number().default(0),
kills_solo_insane: z.number().default(0),
deaths_solo_insane: z.number().default(0),
wins_solo_insane: z.number().default(0),
losses_solo_insane: z.number().default(0),
kills_team_normal: z.number().default(0),
deaths_team_normal: z.number().default(0),
wins_team_normal: z.number().default(0),
losses_team_normal: z.number().default(0),
kills_team_insane: z.number().default(0),
deaths_team_insane: z.number().default(0),
wins_team_insane: z.number().default(0),
losses_team_insane: z.number().default(0),
kills_mega: z.number().default(0),
deaths_mega: z.number().default(0),
wins_mega: z.number().default(0),
losses_mega: z.number().default(0),
kills_mega_doubles: z.number().default(0),
deaths_mega_doubles: z.number().default(0),
wins_mega_doubles: z.number().default(0),
losses_mega_doubles: z.number().default(0),
kills_ranked_normal: z.number().default(0),
deaths_ranked_normal: z.number().default(0),
wins_ranked_normal: z.number().default(0),
losses_ranked_normal: z.number().default(0),
shard: z.number().default(0),
opals: z.number().default(0)
})