export interface ProtoTransform { x: number, y: number, rot: number } export enum PlanetType { Earth = "Earth" } export enum PartType { Hearty = "Hearty" } export interface Planet { planet_type: PlanetType, transform: ProtoTransform } export interface Part { part_type: PartType, transform: ProtoTransform } export interface ClientLoginPacket { username: string, jwt: string | null, } export interface SpawnPlayerPacket { id: number, username: string, position: ProtoTransform } export interface PlanetPositionsPacket { planets: [number, Planet][] } export interface PartPositionsPacket { parts: [number, Part][] } export enum PacketType { ClientLogin = "ClientLogin", SpawnPlayer = "SpawnPlayer", PlanetPositions = "PlanetPositions", PartPositions = "PartPositions" } export interface Packet { t: PacketType, c: ClientLoginPacket | SpawnPlayerPacket | PlanetPositionsPacket | PartPositionsPacket }