MCSI-5 GUI enabled option #25

Merged
squid merged 3 commits from MCSI-5_gui_enable_option into main 2025-07-11 01:59:01 +08:00
2 changed files with 11 additions and 3 deletions
Showing only changes of commit 3084b26a4d - Show all commits

View File

@ -1,5 +1,3 @@
import 'dart:io';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:minecraft_server_installer/main/adapter/presentation/installation_state.dart';
import 'package:minecraft_server_installer/main/adapter/presentation/progress_view_model.dart';
@ -34,8 +32,9 @@ class InstallationBloc extends Bloc<InstallationEvent, InstallationState> {
);
final startScriptFilePath = path.join(savePath, Constants.startScriptFileName);
final serverFilePath = path.join('.', Constants.serverFileName);
final startScriptContent =
'java -Xmx${state.ramSize.max}M -Xms${state.ramSize.min}M -jar ${Platform.isWindows ? '.${Constants.serverFileName}\r\n' : './${Constants.serverFileName}\n'}';
'java -Xmx${state.ramSize.max}M -Xms${state.ramSize.min}M -jar $serverFilePath ${state.isGuiEnabled ? '' : 'nogui'}';
await writeFileUseCase(startScriptFilePath, startScriptContent);
await grantFilePermissionUseCase(startScriptFilePath);
@ -67,6 +66,7 @@ class InstallationBloc extends Bloc<InstallationEvent, InstallationState> {
gameVersion: event.gameVersion,
savePath: event.savePath,
isEulaAgreed: event.isEulaAgreed,
isGuiEnabled: event.isGuiEnabled,
isCustomRamSizeEnabled: event.isCustomRamSizeEnabled,
customRamSize: event.customRamSize,
);
@ -89,6 +89,7 @@ class InstallationConfigurationUpdatedEvent extends InstallationEvent {
final GameVersionViewModel? gameVersion;
final String? savePath;
final bool? isEulaAgreed;
final bool? isGuiEnabled;
final bool? isCustomRamSizeEnabled;
final RangeViewModel? customRamSize;
@ -96,6 +97,7 @@ class InstallationConfigurationUpdatedEvent extends InstallationEvent {
this.gameVersion,
this.savePath,
this.isEulaAgreed,
this.isGuiEnabled,
this.isCustomRamSizeEnabled,
this.customRamSize,
});

View File

@ -9,6 +9,7 @@ class InstallationState with EquatableMixin {
final GameVersionViewModel? gameVersion;
final String? savePath;
final bool isEulaAgreed;
final bool isGuiEnabled;
final bool isCustomRamSizeEnabled;
final RangeViewModel? _customRamSize;
final ProgressViewModel downloadProgress;
@ -18,6 +19,7 @@ class InstallationState with EquatableMixin {
required this.gameVersion,
required this.savePath,
required this.isEulaAgreed,
required this.isGuiEnabled,
required this.isCustomRamSizeEnabled,
required RangeViewModel? customRamSize,
required this.downloadProgress,
@ -29,6 +31,7 @@ class InstallationState with EquatableMixin {
gameVersion: null,
savePath: null,
isEulaAgreed: false,
isGuiEnabled: false,
isCustomRamSizeEnabled: false,
customRamSize: _defaultRamSize,
downloadProgress: const ProgressViewModel.zero(),
@ -40,6 +43,7 @@ class InstallationState with EquatableMixin {
gameVersion,
savePath,
isEulaAgreed,
isGuiEnabled,
isCustomRamSizeEnabled,
_customRamSize,
downloadProgress,
@ -50,6 +54,7 @@ class InstallationState with EquatableMixin {
GameVersionViewModel? gameVersion,
String? savePath,
bool? isEulaAgreed,
bool? isGuiEnabled,
bool? isCustomRamSizeEnabled,
RangeViewModel? customRamSize,
ProgressViewModel? downloadProgress,
@ -59,6 +64,7 @@ class InstallationState with EquatableMixin {
gameVersion: gameVersion ?? this.gameVersion,
savePath: savePath ?? this.savePath,
isEulaAgreed: isEulaAgreed ?? this.isEulaAgreed,
isGuiEnabled: isGuiEnabled ?? this.isGuiEnabled,
isCustomRamSizeEnabled: isCustomRamSizeEnabled ?? this.isCustomRamSizeEnabled,
customRamSize: customRamSize ?? _customRamSize,
downloadProgress: downloadProgress ?? this.downloadProgress,