Skip to content

Commit 75d20f4

Browse files
committed
Merge branch 'oneclient/main' into feat/mods-page
2 parents d1f4bf1 + d15a2ea commit 75d20f4

File tree

5 files changed

+33
-11
lines changed

5 files changed

+33
-11
lines changed

.gemini/config.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
code_review:
2+
comment_severity_threshold: LOW
3+
ignore_patterns:
4+
- '**/*.gen.ts'

apps/oneclient/frontend/src/bindings.gen.ts

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ export type DirectoryError = { type: "BaseDir"; data: string }
2525

2626
export type DiscordError = { type: "MissingClientId"; data: string } | { type: "ConnectError"; data: string }
2727

28-
export type ExternalPackage = { name: string; url: string; sha1: string; size: number; package_type: PackageType }
28+
export type ExternalPackage = { name: string; url: string; sha1: string; size: number; package_type: PackageType; overrides: ExternalPackageOverrides | null }
29+
30+
export type ExternalPackageOverrides = { icon: string | null; name: string | null; authors: string[] | null; description: string | null }
2931

3032
export type Filters = { game_versions: string[] | null; loaders: GameLoader[] | null; categories: PackageCategories | null; package_type: PackageType | null }
3133

@@ -299,14 +301,8 @@ export type VersionType =
299301
*/
300302
"old_beta"
301303

302-
const ARGS_MAP = { 'events':'{"message":["event"],"process":["event"],"ingress":["event"]}', 'oneclient':'{"getVersions":[],"getClustersGroupedByMajor":[],"getBundlesFor":["cluster_id"],"openDevTools":[]}', 'folders':'{"openCluster":["folder_name"],"fromCluster":["folder_name"]}', 'core':'{"createCluster":["options"],"getGlobalProfile":[],"getScreenshots":["id"],"fetchMinecraftProfile":["uuid"],"getMods":["id"],"writeSettings":["setting"],"changeCape":["access_token","cape_uuid"],"updateClusterById":["id","request"],"getRunningProcesses":[],"createSettingsProfile":["name"],"getUsers":[],"openMsaLogin":[],"getPackageBody":["provider","body"],"getProfileOrDefault":["name"],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"removeCape":["access_token"],"setDefaultUser":["uuid"],"getGameVersions":[],"getRunningProcessesByClusterId":["cluster_id"],"getLogByName":["id","name"],"killProcess":["pid"],"removeUser":["uuid"],"getPackage":["provider","slug"],"getMultiplePackages":["provider","slugs"],"launchCluster":["id","uuid"],"readSettings":[],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"updateClusterProfile":["name","profile"],"removeCluster":["id"],"isClusterRunning":["cluster_id"],"getLoadersForVersion":["mc_version"],"getUsersFromAuthor":["provider","author"],"getClusters":[],"getUser":["uuid"],"getWorlds":["id"],"fetchLoggedInProfile":["access_token"],"uploadSkinBytes":["access_token","skin_data","image_format","skin_variant"],"searchPackages":["provider","query"],"convertUsernameUUID":["username_uuid"],"getDefaultUser":["fallback"],"installModpack":["modpack","cluster_id"],"getClusterById":["id"],"getLogs":["id"],"changeSkin":["access_token","skin_url","skin_variant"],"open":["input"]}' }
303-
export type Router = { 'folders': { fromCluster: (folderName: string) => Promise<string>,
304-
openCluster: (folderName: string) => Promise<null> },
305-
'oneclient': { openDevTools: () => Promise<void>,
306-
getClustersGroupedByMajor: () => Promise<Partial<{ [key in number]: ClusterModel[] }>>,
307-
getBundlesFor: (clusterId: number) => Promise<ModpackArchive[]>,
308-
getVersions: () => Promise<OnlineClusterManifest> },
309-
'core': { getClusters: () => Promise<ClusterModel[]>,
304+
const ARGS_MAP = { 'oneclient':'{"getClustersGroupedByMajor":[],"openDevTools":[],"getBundlesFor":["cluster_id"],"getVersions":[]}', 'events':'{"message":["event"],"ingress":["event"],"process":["event"]}', 'core':'{"getLogByName":["id","name"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"uploadSkinBytes":["access_token","skin_data","image_format","skin_variant"],"createCluster":["options"],"openMsaLogin":[],"getWorlds":["id"],"getLogs":["id"],"getGlobalProfile":[],"launchCluster":["id","uuid"],"killProcess":["pid"],"writeSettings":["setting"],"removeCluster":["id"],"updateClusterProfile":["name","profile"],"createSettingsProfile":["name"],"getClusters":[],"getPackage":["provider","slug"],"getMods":["id"],"getRunningProcesses":[],"getUsersFromAuthor":["provider","author"],"getPackageBody":["provider","body"],"installModpack":["modpack","cluster_id"],"setDefaultUser":["uuid"],"getUser":["uuid"],"getClusterById":["id"],"searchPackages":["provider","query"],"convertUsernameUUID":["username_uuid"],"getLoadersForVersion":["mc_version"],"changeSkin":["access_token","skin_url","skin_variant"],"isClusterRunning":["cluster_id"],"readSettings":[],"getProfileOrDefault":["name"],"open":["input"],"fetchMinecraftProfile":["uuid"],"changeCape":["access_token","cape_uuid"],"getScreenshots":["id"],"getGameVersions":[],"getUsers":[],"updateClusterById":["id","request"],"removeUser":["uuid"],"getDefaultUser":["fallback"],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"removeCape":["access_token"],"getMultiplePackages":["provider","slugs"],"getRunningProcessesByClusterId":["cluster_id"],"fetchLoggedInProfile":["access_token"]}', 'folders':'{"fromCluster":["folder_name"],"openCluster":["folder_name"]}' }
305+
export type Router = { 'core': { getClusters: () => Promise<ClusterModel[]>,
310306
getClusterById: (id: number) => Promise<ClusterModel | null>,
311307
removeCluster: (id: number) => Promise<null>,
312308
createCluster: (options: CreateCluster) => Promise<ClusterModel>,
@@ -351,9 +347,15 @@ changeCape: (accessToken: string, capeUuid: string) => Promise<MojangFullPlayerP
351347
removeCape: (accessToken: string) => Promise<MojangFullPlayerProfile>,
352348
convertUsernameUUID: (usernameUuid: string) => Promise<MowojangProfile>,
353349
open: (input: string) => Promise<null> },
350+
'oneclient': { openDevTools: () => Promise<void>,
351+
getClustersGroupedByMajor: () => Promise<Partial<{ [key in number]: ClusterModel[] }>>,
352+
getBundlesFor: (clusterId: number) => Promise<ModpackArchive[]>,
353+
getVersions: () => Promise<OnlineClusterManifest> },
354354
'events': { ingress: (event: IngressPayload) => Promise<void>,
355355
message: (event: MessagePayload) => Promise<void>,
356-
process: (event: ProcessPayload) => Promise<void> } };
356+
process: (event: ProcessPayload) => Promise<void> },
357+
'folders': { fromCluster: (folderName: string) => Promise<string>,
358+
openCluster: (folderName: string) => Promise<null> } };
357359

358360

359361
export type { InferCommandOutput }

packages/core/src/api/packages/data.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,16 @@ pub struct ExternalPackage {
8686
pub sha1: String,
8787
pub size: usize,
8888
pub package_type: PackageType,
89+
pub overrides: Option<ExternalPackageOverrides>,
90+
}
91+
92+
#[onelauncher_macro::specta]
93+
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
94+
pub struct ExternalPackageOverrides {
95+
pub icon: Option<String>,
96+
pub name: Option<String>,
97+
pub authors: Option<Vec<String>>,
98+
pub description: Option<String>,
8999
}
90100

91101
#[onelauncher_macro::specta]

packages/core/src/api/packages/modpack/mrpack.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ use serde::Deserialize;
1010
use tokio::sync::OnceCell;
1111

1212
use crate::api::cluster::ClusterError;
13-
use crate::api::packages::data::{ExternalPackage, ManagedVersion, PackageSide};
13+
use crate::api::packages::data::{
14+
ExternalPackage, ExternalPackageOverrides, ManagedVersion, PackageSide,
15+
};
1416
use crate::api::packages::modpack::data::{
1517
ModpackArchive, ModpackFile, ModpackFileKind, ModpackManifest,
1618
};
@@ -344,6 +346,7 @@ async fn to_modpack_files(mrpack_files: &Vec<MrPackFile>) -> LauncherResult<Vec<
344346
sha1: file.hashes.sha1.clone(),
345347
size: file.file_size,
346348
package_type,
349+
overrides: file.overrides.clone(),
347350
}),
348351
enabled: true,
349352
});
@@ -405,6 +408,8 @@ pub(super) struct MrPackFile {
405408
pub env: MrPackFileEnv,
406409
pub downloads: Vec<String>,
407410
pub file_size: usize,
411+
#[serde(default)]
412+
pub overrides: Option<ExternalPackageOverrides>,
408413
}
409414

410415
#[derive(Debug, Clone, PartialEq, Eq, Deserialize)]

packages/core/src/api/packages/modpack/polymrpack.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,7 @@ async fn to_modpack_files(mrpack_files: &Vec<PolyMrPackFile>) -> LauncherResult<
260260
sha1: file.base.hashes.sha1.clone(),
261261
size: file.base.file_size,
262262
package_type,
263+
overrides: file.base.overrides.clone(),
263264
}),
264265
});
265266
}

0 commit comments

Comments
 (0)