diff --git a/src/app/(stats)/player/[ign]/_stats/bedwars/bedwars.tsx b/src/app/(stats)/player/[ign]/_stats/bedwars/bedwars.tsx
index 22ad207..a98e38e 100644
--- a/src/app/(stats)/player/[ign]/_stats/bedwars/bedwars.tsx
+++ b/src/app/(stats)/player/[ign]/_stats/bedwars/bedwars.tsx
@@ -2,10 +2,10 @@
import { Card, CardContent } from "@/components/ui/card"
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@/components/ui/collapsible"
+import { Separator } from "@/components/ui/separator"
import { getBWLevelForExp, getTotalExpForLevel } from "@/lib/hypixel/bedwarsLevel"
import { getProgress } from "@/lib/hypixel/general"
import { Player } from "@/lib/schema/player"
-import { Separator } from "@radix-ui/react-separator"
import { ChevronDown, ChevronUp, Menu } from "lucide-react"
import { useEffect, useRef, useState } from "react"
import CollapsedStats from "../../_components/CollapsedStats"
diff --git a/src/app/(stats)/player/[ign]/page.tsx b/src/app/(stats)/player/[ign]/page.tsx
index e7d6de2..82373ba 100644
--- a/src/app/(stats)/player/[ign]/page.tsx
+++ b/src/app/(stats)/player/[ign]/page.tsx
@@ -3,6 +3,8 @@ import { getGuild } from "@/lib/hypixel/api/guild"
import { getUuid } from "@/lib/hypixel/api/mojang"
import { getPlayer } from "@/lib/hypixel/api/player"
import { getExactLevel } from "@/lib/hypixel/level"
+import { Loader2Icon } from "lucide-react"
+import { Suspense } from "react"
import Sidebar from "./_components/Sidebar"
import BedwarsStats from "./_stats/bedwars/bedwars"
@@ -11,8 +13,23 @@ export default async function PlayerPage({
}: {
params: Promise<{ ign: string }>
}) {
- const { ign: pign } = await params
+ const { ign } = await params
+ return (
+
+
+ {`Loading stats for ${ign}`}
+
+ }
+ >
+
+
+ )
+}
+
+async function SuspendedPage({ ign: pign }: { ign: string }) {
const uuid = await getUuid(pign)
if (!uuid) {
return (
diff --git a/src/app/globals.css b/src/app/globals.css
index 220d365..43c5661 100644
--- a/src/app/globals.css
+++ b/src/app/globals.css
@@ -22,6 +22,11 @@
--color-mc-white: #FFFFFF;
}
+@theme inline {
+ --spacing-header: 3.75rem;
+ --spacing-content: calc(100vh - var(--spacing-header));
+}
+
@theme inline {
--radius-sm: calc(var(--radius) - 4px);
--radius-md: calc(var(--radius) - 2px);
diff --git a/src/lib/schema/player.ts b/src/lib/schema/player.ts
index b6780de..cf7f52d 100644
--- a/src/lib/schema/player.ts
+++ b/src/lib/schema/player.ts
@@ -1,4 +1,5 @@
import z from "zod"
+import { bedwarsStatsSchema, skywarsStatsSchema } from "./stats"
export const playerSchema = z.looseObject({
player: z.looseObject({
@@ -12,194 +13,8 @@ export const playerSchema = z.looseObject({
karma: z.number().default(0),
achievementPoints: z.number().default(0),
stats: z.looseObject({
- Bedwars: 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(),
- doublers: z.number(),
- 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)
- }).optional()
+ Bedwars: bedwarsStatsSchema.optional(),
+ SkyWars: skywarsStatsSchema.optional()
}),
quests: z.record(
z.string(),
diff --git a/src/lib/schema/stats.ts b/src/lib/schema/stats.ts
new file mode 100644
index 0000000..58263b7
--- /dev/null
+++ b/src/lib/schema/stats.ts
@@ -0,0 +1,192 @@
+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(),
+ doublers: z.number(),
+ 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({})