import type { ModData, ModListing } from "$/common/mod_loader.ts"; // messages between server/main.ts (the host) and the game server worker export type HostToGame = | { type: "init"; save: string | undefined; default_seed: string; // in load order, with the scripts' code since the worker can't read files mods: { listing: ModListing; data: ModData; server_code?: string; worldgen_code?: string }[]; } | { type: "connect"; conn: number } | { type: "message"; conn: number; data: string } | { type: "disconnect"; conn: number } // save now and say when it's done, for shutting down | { type: "shutdown" }; export type GameToHost = | { type: "ready"; seed: string } | { type: "failed"; error: string } | { type: "send"; conn: number; data: string } | { type: "close"; conn: number } | { type: "save"; data: string; final: boolean };