feat(Workshop): collab with ByteBukkit to bring plugins and servers

This commit is contained in:
neoapps-dev
2026-05-17 21:57:20 +03:00
parent 9abc4756b7
commit d85c9b2a2c
4 changed files with 1087 additions and 310 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

+9
View File
@@ -63,6 +63,7 @@ pub struct AppConfig {
pub sfx_vol: Option<u32>, pub sfx_vol: Option<u32>,
pub legacy_mode: Option<bool>, pub legacy_mode: Option<bool>,
pub mangohud_enabled: Option<bool>, pub mangohud_enabled: Option<bool>,
pub saved_servers: Option<Vec<McServer>>,
} }
#[derive(Serialize, Deserialize, Clone, Debug)] #[derive(Serialize, Deserialize, Clone, Debug)]
@@ -266,6 +267,7 @@ fn load_config(app: AppHandle) -> AppConfig {
sfx_vol: Some(100), sfx_vol: Some(100),
legacy_mode: Some(false), legacy_mode: Some(false),
mangohud_enabled: None, mangohud_enabled: None,
saved_servers: None,
} }
} }
@@ -1345,6 +1347,13 @@ async fn launch_game(app: AppHandle, state: State<'_, GameState>, instance_id: S
if !servers.iter().any(|s| s.ip == lce_live.ip && s.port == lce_live.port) { if !servers.iter().any(|s| s.ip == lce_live.ip && s.port == lce_live.port) {
servers.push(lce_live); servers.push(lce_live);
} }
if let Some(ref saved) = config.saved_servers {
for s in saved {
if !servers.iter().any(|existing| existing.ip == s.ip && existing.port == s.port) {
servers.push(s.clone());
}
}
}
ensure_server_list(&working_dir, servers); ensure_server_list(&working_dir, servers);
let game_exe = working_dir.join("Minecraft.Client.exe"); let game_exe = working_dir.join("Minecraft.Client.exe");
if !game_exe.exists() { if !game_exe.exists() {
File diff suppressed because it is too large Load Diff
+1
View File
@@ -40,6 +40,7 @@ export interface AppConfig {
sfxVol?: number; sfxVol?: number;
legacyMode?: boolean; legacyMode?: boolean;
mangohudEnabled?: boolean; mangohudEnabled?: boolean;
savedServers?: McServer[];
} }
export interface ThemePalette { export interface ThemePalette {