aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/ui/src/types/index.ts
blob: f92cbf25f7e0754baa5f92a93b61e5047d1948fb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
export type ViewType = "home" | "versions" | "settings";

export interface Version {
  id: string;
  type: string;
  url: string;
  time: string;
  releaseTime: string;
}

export interface Account {
  type: "Offline" | "Microsoft";
  username: string;
  uuid: string;
}

export interface DeviceCodeResponse {
  user_code: string;
  device_code: string;
  verification_uri: string;
  expires_in: number;
  interval: number;
  message?: string;
}

export interface LauncherConfig {
  min_memory: number;
  max_memory: number;
  java_path: string;
  width: number;
  height: number;
  download_threads: number;
  custom_background_path?: string;
  enable_gpu_acceleration: boolean;
  enable_visual_effects: boolean;
  active_effect: string;
  theme: string;
}

export interface JavaInstallation {
  path: string;
  version: string;
  is_64bit: boolean;
}

export interface JavaDownloadInfo {
  version: string;
  release_name: string;
  download_url: string;
  file_name: string;
  file_size: number;
  checksum: string | null;
  image_type: string;
}

// ==================== Fabric Types ====================

export interface FabricGameVersion {
  version: string;
  stable: boolean;
}

export interface FabricLoaderVersion {
  separator: string;
  build: number;
  maven: string;
  version: string;
  stable: boolean;
}

export interface FabricLoaderEntry {
  loader: FabricLoaderVersion;
  intermediary: {
    maven: string;
    version: string;
    stable: boolean;
  };
  launcherMeta: {
    version: number;
    mainClass: {
      client: string;
      server: string;
    };
  };
}

export interface InstalledFabricVersion {
  id: string;
  minecraft_version: string;
  loader_version: string;
  path: string;
}

// ==================== Forge Types ====================

export interface ForgeVersion {
  version: string;
  minecraft_version: string;
  recommended: boolean;
  latest: boolean;
}

export interface InstalledForgeVersion {
  id: string;
  minecraft_version: string;
  forge_version: string;
  path: string;
}

// ==================== Mod Loader Type ====================

export type ModLoaderType = "vanilla" | "fabric" | "forge";