diff --git a/core/src/mindustry/Vars.java b/core/src/mindustry/Vars.java index 3f44a0511e..f42d55ad13 100644 --- a/core/src/mindustry/Vars.java +++ b/core/src/mindustry/Vars.java @@ -199,6 +199,8 @@ public class Vars implements Loadable{ public static final String saveExtension = "msav"; /** schematic file extension */ public static final String schematicExtension = "msch"; + /** path to the java executable */ + public static String javaPath; /** list of all locales that can be switched to */ public static Locale[] locales; @@ -293,6 +295,10 @@ public class Vars implements Loadable{ pathfinder = new Pathfinder(); bases = new BaseRegistry(); constants = new GlobalConstants(); + javaPath = + new Fi(OS.prop("java.home")).child("bin/java").exists() ? new Fi(OS.prop("java.home")).child("bin/java").absolutePath() : + Core.files.local("jre/bin/java").exists() ? Core.files.local("jre/bin/java").absolutePath() : + "java"; state = new GameState(); diff --git a/core/src/mindustry/net/BeControl.java b/core/src/mindustry/net/BeControl.java index 35c881ea31..3f4a7faa76 100644 --- a/core/src/mindustry/net/BeControl.java +++ b/core/src/mindustry/net/BeControl.java @@ -107,8 +107,8 @@ public class BeControl{ download(updateUrl, file, i -> length[0] = i, v -> progress[0] = v, () -> cancel[0], () -> { try{ Runtime.getRuntime().exec(OS.isMac ? - new String[]{"java", "-XstartOnFirstThread", "-DlastBuild=" + Version.build, "-Dberestart", "-Dbecopy=" + fileDest.absolutePath(), "-jar", file.absolutePath()} : - new String[]{"java", "-DlastBuild=" + Version.build, "-Dberestart", "-Dbecopy=" + fileDest.absolutePath(), "-jar", file.absolutePath()} + new String[]{javaPath, "-XstartOnFirstThread", "-DlastBuild=" + Version.build, "-Dberestart", "-Dbecopy=" + fileDest.absolutePath(), "-jar", file.absolutePath()} : + new String[]{javaPath, "-DlastBuild=" + Version.build, "-Dberestart", "-Dbecopy=" + fileDest.absolutePath(), "-jar", file.absolutePath()} ); System.exit(0); }catch(IOException e){