import {z} from "zod";

export const SchematicTypeSchema = z.object({
    name: z.string(),
    db: z.string(),
})

export type SchematicType = z.infer<typeof SchematicTypeSchema>;

export const PlayerSchema = z.object({
    id: z.number(),
    name: z.string(),
    uuid: z.string(),
    prefix: z.string(),
    perms: z.array(z.string()),
})

export type Player = z.infer<typeof PlayerSchema>;

export const ServerSchema = z.object({
    description: z.any(),
    players: z.object({
        online: z.number(),
        max: z.number(),
        sample: z.array(z.any()).optional()
    }),
    version: z.object({
        name: z.string(),
        protocol: z.number()
    }),
    favicon: z.string().optional()
})

export type Server = z.infer<typeof ServerSchema>;
