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
}