Skip to content

Commit 48e3f79

Browse files
authored
将 OS X 重命名为 macOS (#3878)
1 parent c5f56eb commit 48e3f79

30 files changed

Lines changed: 126 additions & 106 deletions

HMCL/src/main/java/org/jackhuang/hmcl/Launcher.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public void start(Stage primaryStage) {
9090
}
9191

9292
// https://lapcatsoftware.com/articles/app-translocation.html
93-
if (OperatingSystem.CURRENT_OS == OperatingSystem.OSX
93+
if (OperatingSystem.CURRENT_OS == OperatingSystem.MACOS
9494
&& ConfigHolder.isNewlyCreated()
9595
&& System.getProperty("user.dir").startsWith("/private/var/folders/")) {
9696
if (showAlert(AlertType.WARNING, i18n("fatal.mac_app_translocation"), ButtonType.YES, ButtonType.NO) == ButtonType.NO)
@@ -152,7 +152,7 @@ private static boolean isConfigInTempDir() {
152152
|| configPath.startsWith("/var/cache/")
153153
|| configPath.startsWith("/dev/shm/")
154154
|| configPath.contains("/Trash/");
155-
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.OSX) {
155+
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.MACOS) {
156156
return configPath.startsWith("/var/folders/")
157157
|| configPath.startsWith("/private/var/folders/")
158158
|| configPath.startsWith("/tmp/")

HMCL/src/main/java/org/jackhuang/hmcl/Main.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public static void main(String[] args) {
6767
// This environment check will take ~300ms
6868
thread(Main::fixLetsEncrypt, "CA Certificate Check", true);
6969

70-
if (OperatingSystem.CURRENT_OS == OperatingSystem.OSX)
70+
if (OperatingSystem.CURRENT_OS == OperatingSystem.MACOS)
7171
initIcon();
7272

7373
checkJavaFX();

HMCL/src/main/java/org/jackhuang/hmcl/java/HMCLJavaRepository.java

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public boolean isInstalled(Platform platform, GameJavaVersion gameJavaVersion) {
8383
try {
8484
return JavaManager.getExecutable(javaDir).toRealPath();
8585
} catch (IOException ignored) {
86-
if (platform.getOperatingSystem() == OperatingSystem.OSX) {
86+
if (platform.getOperatingSystem() == OperatingSystem.MACOS) {
8787
try {
8888
return JavaManager.getMacExecutable(javaDir).toRealPath();
8989
} catch (IOException ignored1) {
@@ -98,14 +98,8 @@ public boolean isInstalled(Platform platform, GameJavaVersion gameJavaVersion) {
9898
return getJavaExecutable(platform, MOJANG_JAVA_PREFIX + gameJavaVersion.getComponent());
9999
}
100100

101-
@Override
102-
public Collection<JavaRuntime> getAllJava(Platform platform) {
103-
Path root = getPlatformRoot(platform);
104-
if (!Files.isDirectory(root))
105-
return Collections.emptyList();
106-
107-
ArrayList<JavaRuntime> list = new ArrayList<>();
108-
try (DirectoryStream<Path> stream = Files.newDirectoryStream(root)) {
101+
private static void getAllJava(List<JavaRuntime> list, Platform platform, Path platformRoot, boolean isManaged) {
102+
try (DirectoryStream<Path> stream = Files.newDirectoryStream(platformRoot)) {
109103
for (Path file : stream) {
110104
try {
111105
String name = file.getFileName().toString();
@@ -115,7 +109,7 @@ public Collection<JavaRuntime> getAllJava(Platform platform) {
115109
try {
116110
executable = JavaManager.getExecutable(javaDir).toRealPath();
117111
} catch (IOException e) {
118-
if (platform.getOperatingSystem() == OperatingSystem.OSX)
112+
if (platform.getOperatingSystem() == OperatingSystem.MACOS)
119113
executable = JavaManager.getMacExecutable(javaDir).toRealPath();
120114
else
121115
throw e;
@@ -127,7 +121,7 @@ public Collection<JavaRuntime> getAllJava(Platform platform) {
127121
manifest = JsonUtils.fromJsonFully(input, JavaManifest.class);
128122
}
129123

130-
list.add(JavaRuntime.of(executable, manifest.getInfo(), true));
124+
list.add(JavaRuntime.of(executable, manifest.getInfo(), isManaged));
131125
}
132126
}
133127
} catch (Throwable e) {
@@ -137,6 +131,23 @@ public Collection<JavaRuntime> getAllJava(Platform platform) {
137131

138132
} catch (IOException ignored) {
139133
}
134+
}
135+
136+
@Override
137+
public Collection<JavaRuntime> getAllJava(Platform platform) {
138+
Path platformRoot = getPlatformRoot(platform);
139+
if (!Files.isDirectory(platformRoot))
140+
return Collections.emptyList();
141+
142+
ArrayList<JavaRuntime> list = new ArrayList<>();
143+
144+
getAllJava(list, platform, platformRoot, true);
145+
if (platform.getOperatingSystem() == OperatingSystem.MACOS) {
146+
platformRoot = root.resolve(platform.getOperatingSystem().getMojangName() + "-" + platform.getArchitecture().getCheckedName());
147+
if (Files.isDirectory(platformRoot))
148+
getAllJava(list, platform, platformRoot, false);
149+
}
150+
140151
return list;
141152
}
142153

@@ -149,7 +160,7 @@ public Task<JavaRuntime> getDownloadJavaTask(DownloadProvider downloadProvider,
149160
try {
150161
executable = JavaManager.getExecutable(javaDir).toRealPath();
151162
} catch (IOException e) {
152-
if (platform.getOperatingSystem() == OperatingSystem.OSX)
163+
if (platform.getOperatingSystem() == OperatingSystem.MACOS)
153164
executable = JavaManager.getMacExecutable(javaDir).toRealPath();
154165
else
155166
throw e;

HMCL/src/main/java/org/jackhuang/hmcl/java/JavaManager.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public static String getMojangJavaPlatform(Platform platform) {
7575
} else if (Architecture.SYSTEM_ARCH == Architecture.X86_64) {
7676
return "linux";
7777
}
78-
} else if (platform.getOperatingSystem() == OperatingSystem.OSX) {
78+
} else if (platform.getOperatingSystem() == OperatingSystem.MACOS) {
7979
if (Architecture.SYSTEM_ARCH == Architecture.X86_64) {
8080
return "mac-os";
8181
} else if (Architecture.SYSTEM_ARCH == Architecture.ARM64) {
@@ -113,7 +113,7 @@ public static boolean isCompatible(Platform platform) {
113113
if (Architecture.SYSTEM_ARCH == Architecture.X86_64)
114114
return architecture == Architecture.X86;
115115
break;
116-
case OSX:
116+
case MACOS:
117117
if (Architecture.SYSTEM_ARCH == Architecture.ARM64)
118118
return architecture == Architecture.X86_64;
119119
break;
@@ -279,7 +279,7 @@ public static JavaRuntime findSuitableJava(Collection<JavaRuntime> javaRuntimes,
279279
LibraryAnalyzer analyzer = version != null ? LibraryAnalyzer.analyze(version, gameVersion != null ? gameVersion.toString() : null) : null;
280280

281281
boolean forceX86 = Architecture.SYSTEM_ARCH == Architecture.ARM64
282-
&& (OperatingSystem.CURRENT_OS == OperatingSystem.WINDOWS || OperatingSystem.CURRENT_OS == OperatingSystem.OSX)
282+
&& (OperatingSystem.CURRENT_OS == OperatingSystem.WINDOWS || OperatingSystem.CURRENT_OS == OperatingSystem.MACOS)
283283
&& (gameVersion == null || gameVersion.compareTo("1.6") < 0);
284284

285285
GameJavaVersion suggestedJavaVersion =
@@ -349,9 +349,9 @@ private static Map<Path, JavaRuntime> searchPotentialJavaExecutables() {
349349
searchAllJavaInRepository(javaRuntimes, Platform.WINDOWS_X86);
350350
}
351351
break;
352-
case OSX:
352+
case MACOS:
353353
if (Architecture.SYSTEM_ARCH == Architecture.ARM64)
354-
searchAllJavaInRepository(javaRuntimes, Platform.OSX_X86_64);
354+
searchAllJavaInRepository(javaRuntimes, Platform.MACOS_X86_64);
355355
break;
356356
}
357357

@@ -375,7 +375,7 @@ private static Map<Path, JavaRuntime> searchPotentialJavaExecutables() {
375375
searchAllJavaInDirectory(javaRuntimes, Paths.get("/usr/lib64/jvm")); // General locations
376376
searchAllJavaInDirectory(javaRuntimes, Paths.get(System.getProperty("user.home"), "/.sdkman/candidates/java")); // SDKMAN!
377377
break;
378-
case OSX:
378+
case MACOS:
379379
searchJavaInMacJavaVirtualMachines(javaRuntimes, Paths.get("/Library/Java/JavaVirtualMachines"));
380380
searchJavaInMacJavaVirtualMachines(javaRuntimes, Paths.get(System.getProperty("user.home"), "/Library/Java/JavaVirtualMachines"));
381381
tryAddJavaExecutable(javaRuntimes, Paths.get("/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java"));
@@ -405,7 +405,7 @@ private static Map<Path, JavaRuntime> searchPotentialJavaExecutables() {
405405
.ifPresent(it -> searchAllOfficialJava(javaRuntimes, it, false));
406406
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.LINUX && Architecture.SYSTEM_ARCH == Architecture.X86_64) {
407407
searchAllOfficialJava(javaRuntimes, Paths.get(System.getProperty("user.home"), ".minecraft/runtime"), false);
408-
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.OSX) {
408+
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.MACOS) {
409409
searchAllOfficialJava(javaRuntimes, Paths.get(System.getProperty("user.home"), "Library/Application Support/minecraft/runtime"), false);
410410
}
411411
searchAllOfficialJava(javaRuntimes, CacheRepository.getInstance().getCacheDirectory().resolve("java"), true);
@@ -548,7 +548,7 @@ private static void tryAddJavaInComponentDir(Map<Path, JavaRuntime> javaRuntimes
548548
}
549549
}
550550

551-
if (OperatingSystem.CURRENT_OS == OperatingSystem.OSX) {
551+
if (OperatingSystem.CURRENT_OS == OperatingSystem.MACOS) {
552552
Path macPath = dir.resolve("jre.bundle/Contents/Home");
553553
if (Files.exists(macPath)) {
554554
tryAddJavaHome(javaRuntimes, macPath);
@@ -587,8 +587,8 @@ private static void searchAllOfficialJava(Map<Path, JavaRuntime> javaRuntimes, P
587587
}
588588
searchAllOfficialJava(javaRuntimes, directory, getMojangJavaPlatform(Platform.WINDOWS_X86), verify);
589589
}
590-
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.OSX && Architecture.CURRENT_ARCH == Architecture.ARM64) {
591-
searchAllOfficialJava(javaRuntimes, directory, getMojangJavaPlatform(Platform.OSX_X86_64), verify);
590+
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.MACOS && Architecture.CURRENT_ARCH == Architecture.ARM64) {
591+
searchAllOfficialJava(javaRuntimes, directory, getMojangJavaPlatform(Platform.MACOS_X86_64), verify);
592592
}
593593
}
594594

HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -293,8 +293,8 @@ public static void initialize(Stage stage) {
293293
if (!Architecture.SYSTEM_ARCH.isX86() && globalConfig().getPlatformPromptVersion() < 1) {
294294
Runnable continueAction = () -> globalConfig().setPlatformPromptVersion(1);
295295

296-
if (OperatingSystem.CURRENT_OS == OperatingSystem.OSX && Architecture.SYSTEM_ARCH == Architecture.ARM64) {
297-
Controllers.dialog(i18n("fatal.unsupported_platform.osx_arm64"), null, MessageType.INFO, continueAction);
296+
if (OperatingSystem.CURRENT_OS == OperatingSystem.MACOS && Architecture.SYSTEM_ARCH == Architecture.ARM64) {
297+
Controllers.dialog(i18n("fatal.unsupported_platform.macos_arm64"), null, MessageType.INFO, continueAction);
298298
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.WINDOWS && Architecture.SYSTEM_ARCH == Architecture.ARM64) {
299299
Controllers.dialog(i18n("fatal.unsupported_platform.windows_arm64"), null, MessageType.INFO, continueAction);
300300
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.LINUX &&

HMCL/src/main/java/org/jackhuang/hmcl/ui/FXUtils.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,7 @@ public static void openFolder(File file) {
379379
String openCommand;
380380
if (OperatingSystem.CURRENT_OS == OperatingSystem.WINDOWS)
381381
openCommand = "explorer.exe";
382-
else if (OperatingSystem.CURRENT_OS == OperatingSystem.OSX)
382+
else if (OperatingSystem.CURRENT_OS == OperatingSystem.MACOS)
383383
openCommand = "/usr/bin/open";
384384
else if (OperatingSystem.CURRENT_OS.isLinuxOrBSD() && new File("/usr/bin/xdg-open").exists())
385385
openCommand = "/usr/bin/xdg-open";
@@ -416,7 +416,7 @@ public static void showFileInExplorer(Path file) {
416416
String[] openCommands;
417417
if (OperatingSystem.CURRENT_OS == OperatingSystem.WINDOWS)
418418
openCommands = new String[]{"explorer.exe", "/select,", path};
419-
else if (OperatingSystem.CURRENT_OS == OperatingSystem.OSX)
419+
else if (OperatingSystem.CURRENT_OS == OperatingSystem.MACOS)
420420
openCommands = new String[]{"/usr/bin/open", "-R", path};
421421
else if (OperatingSystem.CURRENT_OS.isLinuxOrBSD() && SystemUtils.which("dbus-send") != null)
422422
openCommands = new String[]{
@@ -498,7 +498,7 @@ public static void openLink(String link) {
498498
try {
499499
java.awt.Desktop.getDesktop().browse(new URI(link));
500500
} catch (Throwable e) {
501-
if (OperatingSystem.CURRENT_OS == OperatingSystem.OSX)
501+
if (OperatingSystem.CURRENT_OS == OperatingSystem.MACOS)
502502
try {
503503
Runtime.getRuntime().exec(new String[]{"/usr/bin/open", link});
504504
} catch (IOException ex) {
@@ -759,7 +759,7 @@ public static void setIcon(Stage stage) {
759759
String icon;
760760
if (OperatingSystem.CURRENT_OS == OperatingSystem.WINDOWS) {
761761
icon = "/assets/img/icon.png";
762-
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.OSX) {
762+
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.MACOS) {
763763
icon = "/assets/img/icon-mac.png";
764764
} else {
765765
icon = "/assets/img/icon@4x.png";

HMCL/src/main/java/org/jackhuang/hmcl/util/NativePatcher.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,10 +116,10 @@ public static Version patchNative(DefaultGameRepository repository,
116116
if (settings.isNotPatchNatives())
117117
return version;
118118

119-
if (arch.isX86() && (os == OperatingSystem.WINDOWS || os == OperatingSystem.LINUX || os == OperatingSystem.OSX))
119+
if (arch.isX86() && (os == OperatingSystem.WINDOWS || os == OperatingSystem.LINUX || os == OperatingSystem.MACOS))
120120
return version;
121121

122-
if (arch == Architecture.ARM64 && (os == OperatingSystem.OSX || os == OperatingSystem.WINDOWS)
122+
if (arch == Architecture.ARM64 && (os == OperatingSystem.MACOS || os == OperatingSystem.WINDOWS)
123123
&& gameVersionNumber != null
124124
&& gameVersionNumber.compareTo("1.19") >= 0)
125125
return version;

HMCL/src/main/resources/assets/HMCLauncher.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ case "$OSTYPE" in
1414
linux*)
1515
_HMCL_OS="linux";;
1616
darwin*)
17-
_HMCL_OS="osx";;
17+
_HMCL_OS="macos";;
1818
freebsd*)
1919
_HMCL_OS="freebsd";;
2020
msys*|cygwin*)
@@ -159,7 +159,7 @@ case "$_HMCL_OS-$_HMCL_ARCH" in
159159
linux-x86|linux-x86_64|linux-arm64|linux-arm32|linux-riscv64|linux-loongarch64)
160160
_HMCL_JAVA_DOWNLOAD_PAGE="https://docs.hmcl.net/downloads/linux/$_HMCL_ARCH.html"
161161
;;
162-
osx-x86_64|osx-arm64)
162+
macos-x86_64|macos-arm64)
163163
_HMCL_JAVA_DOWNLOAD_PAGE="https://docs.hmcl.net/downloads/macos/$_HMCL_ARCH.html"
164164
;;
165165
esac

HMCL/src/main/resources/assets/lang/I18N.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ fatal.unsupported_platform=Minecraft is not fully supported on your platform yet
402402
If you cannot launch Minecraft 1.17 and later, you can try switching the "Renderer" to "Software" in "Global/Instance-specific Settings → Advanced Settings" to use CPU rendering for better compatibility.
403403
fatal.unsupported_platform.loongarch=Hello Minecraft! Launcher has provided support for the Loongson platform.\n\
404404
If you encounter problems when playing a game, you can visit https://docs.hmcl.net/groups.html for help.
405-
fatal.unsupported_platform.osx_arm64=Hello Minecraft! Launcher has provided support for the Apple silicon platform, using native ARM Java to launch games to get a smoother gaming experience.\n\
405+
fatal.unsupported_platform.macos_arm64=Hello Minecraft! Launcher has provided support for the Apple silicon platform, using native ARM Java to launch games to get a smoother gaming experience.\n\
406406
If you encounter problems when playing a game, launching the game with Java based on x86-64 architecture may offer better compatibility.
407407
fatal.unsupported_platform.windows_arm64=Hello Minecraft! Launcher has provided native support for the Windows on Arm platform. If you encounter problems when playing a game, please try launching the game with Java based on x86 architecture.\n\
408408
\n\

HMCL/src/main/resources/assets/lang/I18N_es.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@ fatal.unsupported_platform=Minecraft aún no es totalmente compatible con tu pla
405405
Si no puedes iniciar Minecraft 1.17 y versiones posteriores, puedes probar a cambiar el «Renderizador» a «Software» en «Config. Global/Específica de instancia → Configuración avanzada» para utilizar el renderizado de la CPU y mejorar la compatibilidad.
406406
fatal.unsupported_platform.loongarch=Hello Minecraft! Launcher ha prestado apoyo a la plataforma Loongson.\n\
407407
Si tienes problemas al jugar, puedes visitar https://docs.hmcl.net/groups.html para obtener ayuda.
408-
fatal.unsupported_platform.osx_arm64=Hello Minecraft! Launcher ha proporcionado soporte para la plataforma de chips de Apple, utilizando Java nativo de ARM para ejecutar juegos y conseguir una experiencia de juego más fluida.\n\
408+
fatal.unsupported_platform.macos_arm64=Hello Minecraft! Launcher ha proporcionado soporte para la plataforma de chips de Apple, utilizando Java nativo de ARM para ejecutar juegos y conseguir una experiencia de juego más fluida.\n\
409409
Si tienes problemas al jugar a un juego, ejecutarlo con Java de arquitectura x86-64 puede tener mejor compatibilidad.
410410
fatal.unsupported_platform.windows_arm64=Hello Minecraft! Launcher ha proporcionado soporte nativo para la plataforma Windows en Arm. Si tiene problemas al jugar a un juego, intente iniciarlo con Java de arquitectura x86.\n\
411411
\n\

0 commit comments

Comments
 (0)