aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src-tauri/src/core/fabric.rs
diff options
context:
space:
mode:
author简律纯 <i@jyunko.cn>2026-01-15 20:48:39 +0800
committerGitHub <noreply@github.com>2026-01-15 20:48:39 +0800
commit5931daf9283478f49652098c3e0f6be8de0f52f8 (patch)
treed150c7733d039d71e40a9d3298952a4627fe2584 /src-tauri/src/core/fabric.rs
parent32a9aceee42a2261b64f9e6effda522639576a5e (diff)
parent959d1c54e6b5b101b20c027d547707a40ab0a29b (diff)
downloadDropOut-5931daf9283478f49652098c3e0f6be8de0f52f8.tar.gz
DropOut-5931daf9283478f49652098c3e0f6be8de0f52f8.zip
Merge pull request #32 from HsiangNianian/main
Diffstat (limited to 'src-tauri/src/core/fabric.rs')
-rw-r--r--src-tauri/src/core/fabric.rs27
1 files changed, 24 insertions, 3 deletions
diff --git a/src-tauri/src/core/fabric.rs b/src-tauri/src/core/fabric.rs
index fd38f41..3e4d50d 100644
--- a/src-tauri/src/core/fabric.rs
+++ b/src-tauri/src/core/fabric.rs
@@ -63,10 +63,31 @@ pub struct FabricLibrary {
}
/// Main class configuration for Fabric.
+/// Can be either a struct with client/server fields or a simple string.
#[derive(Debug, Deserialize, Serialize, Clone)]
-pub struct FabricMainClass {
- pub client: String,
- pub server: String,
+#[serde(untagged)]
+pub enum FabricMainClass {
+ Structured {
+ client: String,
+ server: String,
+ },
+ Simple(String),
+}
+
+impl FabricMainClass {
+ pub fn client(&self) -> &str {
+ match self {
+ FabricMainClass::Structured { client, .. } => client,
+ FabricMainClass::Simple(s) => s,
+ }
+ }
+
+ pub fn server(&self) -> &str {
+ match self {
+ FabricMainClass::Structured { server, .. } => server,
+ FabricMainClass::Simple(s) => s,
+ }
+ }
}
/// Represents a Minecraft version supported by Fabric.