diff --git a/launcher/dependency-reduced-pom.xml b/launcher/dependency-reduced-pom.xml index 728e240..15c2fc1 100644 --- a/launcher/dependency-reduced-pom.xml +++ b/launcher/dependency-reduced-pom.xml @@ -42,6 +42,12 @@ META-INF/*.RSA + + org.openjfx:javafx-* + + **/*-linux.jar + + / @@ -85,11 +91,16 @@ ../server/builds/ZernMCLauncher-${project.version}.exe ../server/builds/ZernMCLauncher.jar - console + gui false jre21 21 + + --module-path=lib-javafx + --add-modules=javafx.controls,javafx.web + --add-reads=javafx.graphics=ALL-UNNAMED + ${project.version}.0 diff --git a/launcher/pom.xml b/launcher/pom.xml index 4185558..1df6b72 100644 --- a/launcher/pom.xml +++ b/launcher/pom.xml @@ -187,11 +187,16 @@ ../server/builds/ZernMCLauncher-${project.version}.exe ../server/builds/ZernMCLauncher.jar - console + gui false jre21 21 + + --module-path=lib-javafx + --add-modules=javafx.controls,javafx.web + --add-reads=javafx.graphics=ALL-UNNAMED + ${project.version}.0 @@ -227,10 +232,10 @@ - + diff --git a/launcher/src/main/java/me/sashegdev/zernmc/launcher/Main.java b/launcher/src/main/java/me/sashegdev/zernmc/launcher/Main.java index 23f981a..f50ddab 100644 --- a/launcher/src/main/java/me/sashegdev/zernmc/launcher/Main.java +++ b/launcher/src/main/java/me/sashegdev/zernmc/launcher/Main.java @@ -34,6 +34,7 @@ public class Main { startWebUI(args); } catch (Exception e) { System.err.println(ZAnsi.red("UI не запустился: " + e.getMessage())); + e.printStackTrace(); System.out.println(ZAnsi.yellow("Переключаюсь на режим TUI...")); runTUI(args); } @@ -70,14 +71,16 @@ public class Main { // Даем серверу время запуститься Thread.sleep(1000); - // Проверяем headless перед запуском JavaFX - boolean isHeadless = java.awt.GraphicsEnvironment.isHeadless(); - String display = System.getenv("DISPLAY"); - if (isHeadless && (display == null || display.isEmpty())) { - System.out.println(ZAnsi.yellow("Дисплей недоступен, переключаюсь на TUI...")); - WebServer.stop(); - runTUI(args); - return; + // Проверяем headless перед запуском JavaFX (только для не-Windows систем) + if (!System.getProperty("os.name").toLowerCase().contains("win")) { + boolean isHeadless = java.awt.GraphicsEnvironment.isHeadless(); + String display = System.getenv("DISPLAY"); + if (isHeadless && (display == null || display.isEmpty())) { + System.out.println(ZAnsi.yellow("Дисплей недоступен, переключаюсь на TUI...")); + WebServer.stop(); + runTUI(args); + return; + } } // Проверка обновлений лаунчера