diff --git a/interfaces/company.ts b/interfaces/company.ts new file mode 100644 index 0000000..9310ccb --- /dev/null +++ b/interfaces/company.ts @@ -0,0 +1,12 @@ +import { User } from './user'; + +export interface Company { + id: BigInt; + + owners: User[]; + + name: string; + slogan: string; + + logo: string; +} \ No newline at end of file diff --git a/interfaces/gallery.ts b/interfaces/gallery.ts new file mode 100644 index 0000000..d5ea388 --- /dev/null +++ b/interfaces/gallery.ts @@ -0,0 +1,21 @@ +import { Point3D } from './spacial_data'; +import { User } from './user'; + +export interface AspectRatio { + w: number; + h: number; +} + +export interface Image { + id: BigInt; + + by: User; + + name: string; + alt: string; + + location?: Point3D; + + type: 'image/jpeg' | 'image/png'; + aspectRatio: AspectRatio; +} \ No newline at end of file diff --git a/interfaces/government.ts b/interfaces/government.ts new file mode 100644 index 0000000..ec92189 --- /dev/null +++ b/interfaces/government.ts @@ -0,0 +1,30 @@ +import { Point2D } from './spacial_data'; +import { User } from './user'; + +export enum GovernmentLevel { + Highest, + High, + Regular, + Low, + Lowest +} + +export interface GovernmentRole { + id: BigInt; + + level: GovernmentLevel; + + name: string; +} + +export interface GovernmentUser extends User { + role: GovernmentRole; + ordering: number; +} + +export interface Government { + id: BigInt; + + parliament: GovernmentUser[]; + parliamentBulding: Point2D; +} \ No newline at end of file diff --git a/interfaces/index.ts b/interfaces/index.ts index 916c414..6ea4bd0 100644 --- a/interfaces/index.ts +++ b/interfaces/index.ts @@ -1 +1,8 @@ -// export type * from './user'; \ No newline at end of file +export type * from './user'; +export type * from './nation'; +export type * from './government'; +export type * from './company'; +export type * from './gallery'; + +export type * from './spacial_data'; +export type * from './minecraft'; \ No newline at end of file diff --git a/interfaces/minecraft.ts b/interfaces/minecraft.ts new file mode 100644 index 0000000..d0ba34b --- /dev/null +++ b/interfaces/minecraft.ts @@ -0,0 +1,21 @@ +import { Point3D } from './spacial_data'; + +export enum MinecraftDimension { + Overworld = 'minecraft:overworld', + Nether = 'minecraft:the_nether', + End = 'minecraft:the_end', +} + +export interface MinecraftPosition extends Point3D { + yaw: number; + pitch: number; + + dimension: MinecraftDimension; +} + +export interface MinecraftPlayer { + uuid: string; + username: string; + + position: MinecraftPosition; +} \ No newline at end of file diff --git a/interfaces/nation.ts b/interfaces/nation.ts new file mode 100644 index 0000000..2dc6af0 --- /dev/null +++ b/interfaces/nation.ts @@ -0,0 +1,15 @@ +import { Company } from './company'; +import { Government } from './government'; +import { Point2D } from './spacial_data'; + +export interface Nation { + id: BigInt; + code: string; + + name: string; + government: Government; + + companies: Company[]; + + borderPoints: Point2D[]; +} \ No newline at end of file diff --git a/interfaces/spacial_data.ts b/interfaces/spacial_data.ts new file mode 100644 index 0000000..d20e199 --- /dev/null +++ b/interfaces/spacial_data.ts @@ -0,0 +1,8 @@ +export interface Point2D { + x: number; + z: number; +} + +export interface Point3D extends Point2D { + y: number; +} \ No newline at end of file diff --git a/interfaces/user.ts b/interfaces/user.ts index e69de29..b75bf99 100644 --- a/interfaces/user.ts +++ b/interfaces/user.ts @@ -0,0 +1,16 @@ +export interface User { + id: BigInt; + + username: string; + displayName: string; + + email?: string; + + avatar?: string; + banner?: string; + + accentColor?: number; + + permissions: number; + badges: number; +} \ No newline at end of file