diff --git a/src/lib/hypixel/megawalls/general.ts b/src/lib/hypixel/megawalls/general.ts index 31af36a..100cbff 100644 --- a/src/lib/hypixel/megawalls/general.ts +++ b/src/lib/hypixel/megawalls/general.ts @@ -53,8 +53,8 @@ export function megaWalsClassStats(classId: typeof CLASSES[number]["id"], stats: stats[`${classId}_wins`], stats[`${classId}_losses`], devide(stats[`${classId}_wins`], stats[`${classId}_deaths`]), - stats.classes === undefined ? 0 : stats.classes[classId].prestige, - stats.classes === undefined ? 0 : stats.classes[classId].enderchest_rows + stats.classes?.[classId]?.prestige || 0, + stats.classes?.[classId]?.enderchest_rows || 0 ] } diff --git a/src/lib/schema/stats.ts b/src/lib/schema/stats.ts index 86ae624..385ac39 100644 --- a/src/lib/schema/stats.ts +++ b/src/lib/schema/stats.ts @@ -600,14 +600,17 @@ function megawallsClassStats() { ] as const const entries = new Map>() - const classes = new Map, enderchest_rows: z.ZodDefault }, z.core.$loose>>() + const classes = new Map< + string, + z.ZodOptional, enderchest_rows: z.ZodDefault }, z.core.$loose>> + >() for (const id of ids) { for (const stat of stats) { entries.set(`${id}_${stat}`, z.number().default(0)) } for (const klass of classesOther) { - classes.set(id, z.looseObject({ prestige: z.number().default(0), enderchest_rows: z.number().default(0) })) + classes.set(id, z.looseObject({ prestige: z.number().default(0), enderchest_rows: z.number().default(0) }).optional()) } } @@ -615,7 +618,7 @@ function megawallsClassStats() { classStats: Object.fromEntries(entries) as Record<`${typeof ids[number]}_${typeof stats[number]}`, z.ZodDefault>, classOther: Object.fromEntries(classes) as Record< `${typeof ids[number]}`, - z.ZodObject<{ prestige: z.ZodDefault, enderchest_rows: z.ZodDefault }, z.core.$loose> + z.ZodOptional, enderchest_rows: z.ZodDefault }, z.core.$loose>> > } }