diff --git a/AGENTS.md b/AGENTS.md
new file mode 100644
index 0000000..dbbe013
--- /dev/null
+++ b/AGENTS.md
@@ -0,0 +1,4 @@
+# Don'ts
+
+1. Do not ever commit code without being asked to
+
diff --git a/src/app/(stats)/player/[ign]/_stats/duels/table.tsx b/src/app/(stats)/player/[ign]/_stats/duels/table.tsx
index 8d5639f..63ecf1c 100644
--- a/src/app/(stats)/player/[ign]/_stats/duels/table.tsx
+++ b/src/app/(stats)/player/[ign]/_stats/duels/table.tsx
@@ -9,6 +9,25 @@ export default function DuelsStatTable({ stats }: { stats: NonNullStats["Duels"]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
)
@@ -58,3 +77,326 @@ function UHC1v1Stats({ stats }: { stats: NonNullStats["Duels"] }) {
)
}
+
+function UHC2v2Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("uhc_doubles", stats)
+ const title = getModeTitle("uhc_doubles")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function UHC4v4Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("uhc_four", stats)
+ const title = getModeTitle("uhc_four")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function OP1v1Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("op_duel", stats)
+ const title = getModeTitle("op_duel")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function OP2v2Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("op_doubles", stats)
+ const title = getModeTitle("op_doubles")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function SkyWars1v1Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("sw_duel", stats)
+ const title = getModeTitle("sw_duel")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function SkyWars2v2Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("sw_doubles", stats)
+ const title = getModeTitle("sw_doubles")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function MegaWalls1v1Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("mw_duel", stats)
+ const title = getModeTitle("mw_duel")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function MegaWalls2v2Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("mw_doubles", stats)
+ const title = getModeTitle("mw_doubles")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function Bow1v1Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("bow_duel", stats)
+ const title = getModeTitle("bow_duel")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function Blitz1v1Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("blitz_duel", stats)
+ const title = getModeTitle("blitz_duel")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function Sumo1v1Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("sumo_duel", stats)
+ const title = getModeTitle("sumo_duel")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function ParkourFFAStats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("parkour_eight", stats)
+ const title = getModeTitle("parkour_eight")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function Boxing1v1Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("boxing_duel", stats)
+ const title = getModeTitle("boxing_duel")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function Classic1v1Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("classic_duel", stats)
+ const title = getModeTitle("classic_duel")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function Bridge1v1Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("bridge_duel", stats)
+ const title = getModeTitle("bridge_duel")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function Bridge2v2Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("bridge_doubles", stats)
+ const title = getModeTitle("bridge_doubles")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function Bridge4v4Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("bridge_four", stats)
+ const title = getModeTitle("bridge_four")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function Bridge2v2v2v2Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("bridge_2v2v2v2", stats)
+ const title = getModeTitle("bridge_2v2v2v2")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
+
+function Bridge3v3v3v3Stats({ stats }: { stats: NonNullStats["Duels"] }) {
+ if (!stats) return null
+
+ const modeStats = getDuelsModeStats("bridge_3v3v3v3", stats)
+ const title = getModeTitle("bridge_3v3v3v3")
+
+ return (
+
+ {title}
+ I
+ {modeStats.map((v, i) => {
+ return {typeof v === "number" ? formatNumber(v) : v}
+ })}
+
+ )
+}
diff --git a/src/lib/hypixel/duels/duels.ts b/src/lib/hypixel/duels/duels.ts
index 2e0c023..80f0102 100644
--- a/src/lib/hypixel/duels/duels.ts
+++ b/src/lib/hypixel/duels/duels.ts
@@ -80,8 +80,8 @@ function duelsModeStats(index: typeof MODES[number]["id"], stats: NonNullable