Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
b7451ea
暖风轻推春江水 引来桃香 沁鱼儿肥
CiiLu Mar 29, 2026
d7ccabc
满地春花开新蕊 四月芳菲 景色多妩媚
CiiLu Mar 29, 2026
2549445
是谁常说神仙美 我看人间最有滋味
CiiLu Mar 29, 2026
567b5b1
不如自在化作谁 游戏红尘 一心沉醉
CiiLu Mar 29, 2026
d3cc805
走马观花 停驻几回 戏一曲 酒一杯 春风轻轻吹
CiiLu Mar 29, 2026
b63ba39
月儿弯弯 勾住了夜晚 璀璨 写下浪漫
CiiLu Mar 29, 2026
e734da4
洒落多少月色伴我烛光共枕眠 照亮谁的欢心 谁的笑颜
CiiLu Mar 29, 2026
ca8eed5
烟火漫漫 勾画着屋檐 与谁看 这万千绚烂
CiiLu Mar 29, 2026
fc57b8a
化作多少回忆轻柔流淌在指尖 难得心心念念 最温暖是人间
CiiLu Mar 29, 2026
1c08b53
是我心说人间美 苦辣酸甜 最是珍贵 何必记得自是谁大千世界 细细回味
CiiLu Mar 29, 2026
320cd8c
浓墨重彩 铭心几回 梦一曲 醉一杯 听风静静吹
CiiLu Mar 29, 2026
413815d
月影弯弯 勾住了夜晚 浮幻 刻下浪漫 倒映多少萤光伴我清歌共枕眠 唤起谁的思绪 谁的眷恋
CiiLu Mar 29, 2026
167ddd7
灯火漫漫 点亮了屋檐 是谁看 这漫天灿烂 承载多少故事温情流落到心尖
CiiLu Mar 29, 2026
5293513
难忘滴滴点点 最美好是人间
CiiLu Mar 29, 2026
85066a1
月儿弯弯 勾住了夜晚 璀璨 写下浪漫
CiiLu Mar 29, 2026
53e5e06
洒落多少月色伴我烛光共枕眠 照亮谁的欢心 谁的笑颜
CiiLu Mar 29, 2026
18af318
烟火漫漫 勾画着屋檐 与谁看 这万千绚烂
CiiLu Mar 29, 2026
5a2b03d
化作多少回忆轻柔流淌在指尖 难得心心念念 最温暖是人间
CiiLu Mar 29, 2026
1a8b236
月儿弯弯 烟火漫漫
CiiLu Mar 29, 2026
e232894
月儿弯弯 烟火漫漫
CiiLu Mar 29, 2026
cdef2d4
月儿弯弯 烟火漫漫
CiiLu Mar 29, 2026
84f8db2
月儿弯弯 烟火漫漫
CiiLu Mar 29, 2026
821aaa0
月儿弯弯 烟火漫漫
CiiLu Mar 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added HMCL/image/ornithe.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,8 @@ else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.QUILT))
return VersionIconType.QUILT.getIcon();
else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.LEGACY_FABRIC))
return VersionIconType.LEGACY_FABRIC.getIcon();
else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.ORNITHE))
return VersionIconType.ORNITHE.getIcon();
else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.NEO_FORGE))
return VersionIconType.NEO_FORGE.getIcon();
else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.FORGE))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ public enum VersionIconType {
QUILT("/assets/img/quilt.png"),
APRIL_FOOLS("/assets/img/april_fools.png"),
CLEANROOM("/assets/img/cleanroom.png"),
LEGACY_FABRIC("/assets/img/legacyfabric.png")
LEGACY_FABRIC("/assets/img/legacyfabric.png"),
ORNITHE("/assets/img/ornithe.png")
;

// Please append new items at last
Expand Down
24 changes: 15 additions & 9 deletions HMCL/src/main/java/org/jackhuang/hmcl/ui/InstallerItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ public InstallerItem(String id, Style style) {
case "game" -> VersionIconType.GRASS;
case "fabric", "fabric-api" -> VersionIconType.FABRIC;
case "legacyfabric", "legacyfabric-api" -> VersionIconType.LEGACY_FABRIC;
case "ornithe", "ornithe-osl" -> VersionIconType.ORNITHE;
case "forge" -> VersionIconType.FORGE;
case "cleanroom" -> VersionIconType.CLEANROOM;
case "liteloader" -> VersionIconType.CHICKEN;
Expand Down Expand Up @@ -183,19 +184,22 @@ public InstallerItemGroup(String gameVersion, Style style) {
InstallerItem cleanroom = new InstallerItem(CLEANROOM, style);
InstallerItem legacyfabric = new InstallerItem(LEGACY_FABRIC, style);
InstallerItem legacyfabricApi = new InstallerItem(LEGACY_FABRIC_API, style);
InstallerItem ornithe = new InstallerItem(ORNITHE, style);
InstallerItem ornitheOSL = new InstallerItem(ORNITHE_OSL, style);
InstallerItem neoForge = new InstallerItem(NEO_FORGE, style);
InstallerItem liteLoader = new InstallerItem(LITELOADER, style);
InstallerItem optiFine = new InstallerItem(OPTIFINE, style);
InstallerItem quilt = new InstallerItem(QUILT, style);
InstallerItem quiltApi = new InstallerItem(QUILT_API, style);

Map<InstallerItem, Set<InstallerItem>> incompatibleMap = new HashMap<>();
mutualIncompatible(incompatibleMap, forge, fabric, quilt, neoForge, cleanroom, legacyfabric);
addIncompatibles(incompatibleMap, liteLoader, fabric, quilt, neoForge, cleanroom, legacyfabric);
addIncompatibles(incompatibleMap, optiFine, fabric, quilt, neoForge, cleanroom, liteLoader, legacyfabric);
addIncompatibles(incompatibleMap, fabricApi, forge, quiltApi, neoForge, liteLoader, optiFine, cleanroom, legacyfabric, legacyfabricApi);
addIncompatibles(incompatibleMap, quiltApi, forge, fabric, fabricApi, neoForge, liteLoader, optiFine, cleanroom, legacyfabric, legacyfabricApi);
addIncompatibles(incompatibleMap, legacyfabricApi, forge, fabric, fabricApi, neoForge, liteLoader, optiFine, cleanroom, quilt, quiltApi);
mutualIncompatible(incompatibleMap, forge, fabric, quilt, neoForge, cleanroom, legacyfabric, ornithe);
addIncompatibles(incompatibleMap, liteLoader, fabric, quilt, neoForge, cleanroom, legacyfabric, ornithe);
addIncompatibles(incompatibleMap, optiFine, fabric, quilt, neoForge, cleanroom, liteLoader, legacyfabric, ornithe);
addIncompatibles(incompatibleMap, fabricApi, forge, quiltApi, neoForge, liteLoader, optiFine, cleanroom, legacyfabric, legacyfabricApi, ornithe, ornitheOSL);
addIncompatibles(incompatibleMap, quiltApi, forge, fabric, fabricApi, neoForge, liteLoader, optiFine, cleanroom, legacyfabric, legacyfabricApi, ornithe, ornitheOSL);
addIncompatibles(incompatibleMap, legacyfabricApi, forge, fabric, fabricApi, neoForge, liteLoader, optiFine, cleanroom, quilt, quiltApi, ornitheOSL, ornithe);
addIncompatibles(incompatibleMap, ornitheOSL, forge, fabric, fabricApi, neoForge, liteLoader, optiFine, cleanroom, quilt, quiltApi, legacyfabric, legacyfabricApi);

for (Map.Entry<InstallerItem, Set<InstallerItem>> entry : incompatibleMap.entrySet()) {
InstallerItem item = entry.getKey();
Expand Down Expand Up @@ -229,7 +233,7 @@ public InstallerItemGroup(String gameVersion, Style style) {
game.versionProperty.set(new InstalledState(gameVersion, false, false));
}

InstallerItem[] all = {game, forge, neoForge, liteLoader, optiFine, fabric, fabricApi, quilt, quiltApi, legacyfabric, legacyfabricApi, cleanroom};
InstallerItem[] all = {game, forge, neoForge, liteLoader, optiFine, fabric, fabricApi, quilt, quiltApi, legacyfabric, legacyfabricApi, ornithe, ornitheOSL, cleanroom};

for (InstallerItem item : all) {
if (!item.resolvedStateProperty.isBound()) {
Expand All @@ -246,9 +250,11 @@ public InstallerItemGroup(String gameVersion, Style style) {
if (gameVersion == null) {
this.libraries = all;
} else if (gameVersion.equals("1.12.2")) {
this.libraries = new InstallerItem[]{game, forge, cleanroom, liteLoader, legacyfabric, legacyfabricApi, optiFine};
this.libraries = new InstallerItem[]{game, forge, cleanroom, liteLoader, legacyfabric, legacyfabricApi, ornithe, ornitheOSL, optiFine};
} else if (GameVersionNumber.compare(gameVersion, "1.14.4") <= 0 && GameVersionNumber.compare(gameVersion, "1.13.2") >= 0) {
this.libraries = new InstallerItem[]{game, forge, liteLoader, optiFine, fabric, fabricApi, ornithe, ornitheOSL};
} else if (GameVersionNumber.compare(gameVersion, "1.13.2") <= 0) {
this.libraries = new InstallerItem[]{game, forge, liteLoader, optiFine, legacyfabric, legacyfabricApi};
this.libraries = new InstallerItem[]{game, forge, liteLoader, optiFine, legacyfabric, legacyfabricApi, ornithe, ornitheOSL};
} else {
this.libraries = new InstallerItem[]{game, forge, neoForge, optiFine, fabric, fabricApi, quilt, quiltApi};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@
import org.jackhuang.hmcl.download.neoforge.NeoForgeInstallTask;
import org.jackhuang.hmcl.download.neoforge.NeoForgeOldInstallTask;
import org.jackhuang.hmcl.download.optifine.OptiFineInstallTask;
import org.jackhuang.hmcl.download.ornithe.OrnitheInstallTask;
import org.jackhuang.hmcl.download.ornithe.OrnitheOSLInstallTask;
import org.jackhuang.hmcl.download.quilt.QuiltAPIInstallTask;
import org.jackhuang.hmcl.download.quilt.QuiltInstallTask;
import org.jackhuang.hmcl.game.HMCLModpackInstallTask;
Expand Down Expand Up @@ -184,6 +186,10 @@ public void onRunning(Task<?> task) {
task.setName(i18n("install.installer.install", i18n("install.installer.fabric")));
} else if (task instanceof FabricAPIInstallTask) {
task.setName(i18n("install.installer.install", i18n("install.installer.fabric-api")));
} else if (task instanceof OrnitheInstallTask) {
task.setName(i18n("install.installer.install", i18n("install.installer.ornithe")));
} else if (task instanceof OrnitheOSLInstallTask) {
task.setName(i18n("install.installer.install", i18n("install.installer.ornithe-osl")));
} else if (task instanceof QuiltInstallTask) {
task.setName(i18n("install.installer.install", i18n("install.installer.quilt")));
} else if (task instanceof QuiltAPIInstallTask) {
Expand Down Expand Up @@ -455,6 +461,8 @@ private StageNode(String stage) {
case "hmcl.install.fabric-api" -> i18n("install.installer.install", i18n("install.installer.fabric-api") + " " + stageValue);
case "hmcl.install.legacyfabric" -> i18n("install.installer.install", i18n("install.installer.legacyfabric") + " " + stageValue);
case "hmcl.install.legacyfabric-api" -> i18n("install.installer.install", i18n("install.installer.legacyfabric-api") + " " + stageValue);
case "hmcl.install.ornithe" -> i18n("install.installer.install", i18n("install.installer.ornithe") + " " + stageValue);
case "hmcl.install.ornithe-osl" -> i18n("install.installer.install", i18n("install.installer.ornithe-osl") + " " + stageValue);
case "hmcl.install.quilt" -> i18n("install.installer.install", i18n("install.installer.quilt") + " " + stageValue);
case "hmcl.install.quilt-api" -> i18n("install.installer.install", i18n("install.installer.quilt-api") + " " + stageValue);
default -> i18n(stageKey);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ public AbstractInstallersPage(WizardController controller, String gameVersion, D
library.setOnInstall(() -> {
if (!Boolean.TRUE.equals(config().getShownTips().get(FABRIC_QUILT_API_TIP))
&& (LibraryAnalyzer.LibraryType.FABRIC_API.getPatchId().equals(libraryId)
|| LibraryAnalyzer.LibraryType.ORNITHE_OSL.getPatchId().equals(libraryId)
|| LibraryAnalyzer.LibraryType.QUILT_API.getPatchId().equals(libraryId)
|| LibraryAnalyzer.LibraryType.LEGACY_FABRIC_API.getPatchId().equals(libraryId))) {
Controllers.dialog(new MessageDialogPane.Builder(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ private void setTxtNameWithLoaders() {
case LITELOADER -> "LiteLoader";
case QUILT -> "Quilt";
case OPTIFINE -> "OptiFine";
case ORNITHE -> "Ornithe";
default -> null;
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@
import org.jackhuang.hmcl.download.liteloader.LiteLoaderRemoteVersion;
import org.jackhuang.hmcl.download.neoforge.NeoForgeRemoteVersion;
import org.jackhuang.hmcl.download.optifine.OptiFineRemoteVersion;
import org.jackhuang.hmcl.download.ornithe.OrnitheOSLRemoteVersion;
import org.jackhuang.hmcl.download.ornithe.OrnitheRemoteVersion;
import org.jackhuang.hmcl.download.quilt.QuiltAPIRemoteVersion;
import org.jackhuang.hmcl.download.quilt.QuiltRemoteVersion;
import org.jackhuang.hmcl.setting.VersionIconType;
Expand Down Expand Up @@ -268,6 +270,8 @@ else if (remoteVersion instanceof CleanroomRemoteVersion)
iconType = VersionIconType.CLEANROOM;
else if (remoteVersion instanceof NeoForgeRemoteVersion)
iconType = VersionIconType.NEO_FORGE;
else if (remoteVersion instanceof OrnitheRemoteVersion || remoteVersion instanceof OrnitheOSLRemoteVersion)
iconType = VersionIconType.ORNITHE;
else if (remoteVersion instanceof LegacyFabricRemoteVersion || remoteVersion instanceof LegacyFabricAPIRemoteVersion)
iconType = VersionIconType.LEGACY_FABRIC;
else if (remoteVersion instanceof FabricRemoteVersion || remoteVersion instanceof FabricAPIRemoteVersion)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import javafx.scene.layout.*;
import org.jackhuang.hmcl.game.NativesDirectoryType;
import org.jackhuang.hmcl.game.Renderer;
import org.jackhuang.hmcl.mod.ModLoaderType;
import org.jackhuang.hmcl.setting.Profile;
import org.jackhuang.hmcl.setting.VersionSetting;
import org.jackhuang.hmcl.ui.FXUtils;
Expand Down Expand Up @@ -122,7 +123,14 @@ public AdvancedVersionSettingPage(Profile profile, @Nullable String versionId, V
pane.addRow(3, new Label(i18n("settings.advanced.post_exit_command")), txtPostExitCommand);

HintPane hintPane = new HintPane();
hintPane.setText(i18n("settings.advanced.custom_commands.hint"));
StringBuilder sb = new StringBuilder(i18n("settings.advanced.custom_commands.hint"));
for (ModLoaderType type : ModLoaderType.values()) {
if (type.getId() != null) {
sb.append("\n");
sb.append(i18n("settings.advanced.custon_commands.env",type.getId(),i18n("install.installer." + type.getId().toLowerCase(Locale.ROOT))));
Copy link

Copilot AI Mar 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The i18n key name settings.advanced.custon_commands.env appears to have a typo (“custon” vs “custom”). Since this is newly introduced, consider renaming it (and the corresponding properties entries) now to avoid propagating the misspelling across locales and future references.

Suggested change
sb.append(i18n("settings.advanced.custon_commands.env",type.getId(),i18n("install.installer." + type.getId().toLowerCase(Locale.ROOT))));
sb.append(i18n("settings.advanced.custom_commands.env", type.getId(), i18n("install.installer." + type.getId().toLowerCase(Locale.ROOT))));

Copilot uses AI. Check for mistakes.
}
}
hintPane.setText(sb.toString());
GridPane.setColumnSpan(hintPane, 2);
pane.addRow(4, hintPane);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,11 @@ public void loadVersion(Profile profile, String versionId) {
continue;
}

// Skip ornithe osl
if (libraryId.equals(LibraryAnalyzer.LibraryType.ORNITHE_OSL.getPatchId())) {
continue;
}

String libraryVersion = analyzer.getVersion(libraryId).orElse(null);

if (libraryVersion != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,10 @@ private void updateSupportedLoaders(ModManager modManager) {
supportedLoaders.add(ModLoaderType.FABRIC);
}

if (analyzer.has(LibraryAnalyzer.LibraryType.ORNITHE)) {
supportedLoaders.add(ModLoaderType.FABRIC);
Copy link

Copilot AI Mar 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When ORNITHE is present, this adds ModLoaderType.FABRIC instead of ModLoaderType.ORNITHE, so mod filtering/tagging will be wrong for Ornithe instances. Add the Ornithe loader type here.

Suggested change
supportedLoaders.add(ModLoaderType.FABRIC);
supportedLoaders.add(ModLoaderType.ORNITHE);

Copilot uses AI. Check for mistakes.
}

if (analyzer.has(LibraryAnalyzer.LibraryType.FABRIC) && modManager.hasMod("kilt", ModLoaderType.FABRIC)) {
supportedLoaders.add(ModLoaderType.FORGE);
supportedLoaders.add(ModLoaderType.NEO_FORGED);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -477,6 +477,7 @@ final class ModInfoDialog extends JFXDialogLayout {
case FABRIC -> i18n("install.installer.fabric");
case LITE_LOADER -> i18n("install.installer.liteloader");
case QUILT -> i18n("install.installer.quilt");
case ORNITHE -> i18n("install.installer.ornithe");
default -> null;
};
if (loaderName == null)
Expand Down Expand Up @@ -647,6 +648,7 @@ protected void updateControl(ModInfoObject dataItem, boolean empty) {
case FABRIC -> content.addTagWarning(i18n("install.installer.fabric"));
case LITE_LOADER -> content.addTagWarning(i18n("install.installer.liteloader"));
case QUILT -> content.addTagWarning(i18n("install.installer.quilt"));
case ORNITHE -> content.addTagWarning(i18n("install.installer.ornithe"));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ public VersionIconDialog(Profile profile, String versionId, Runnable onFinish) {
createIcon(VersionIconType.CRAFT_TABLE),
createIcon(VersionIconType.FABRIC),
createIcon(VersionIconType.LEGACY_FABRIC),
createIcon(VersionIconType.ORNITHE),
createIcon(VersionIconType.FORGE),
createIcon(VersionIconType.CLEANROOM),
createIcon(VersionIconType.NEO_FORGE),
Expand Down
Binary file added HMCL/src/main/resources/assets/img/ornithe.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 6 additions & 11 deletions HMCL/src/main/resources/assets/lang/I18N.properties
Original file line number Diff line number Diff line change
Expand Up @@ -743,12 +743,14 @@ install.installer.install=Installing %s
install.installer.install_offline=Install/Update from Local File
install.installer.install_offline.tooltip=We support using the local (Neo)Forge, Cleanroom, and OptiFine installer.
install.installer.install_online=Online Install
install.installer.install_online.tooltip=We currently support Forge, NeoForge, Cleanroom, OptiFine, Fabric, Legacy Fabric, Quilt, and LiteLoader.
install.installer.install_online.tooltip=We currently support Forge, NeoForge, Cleanroom, OptiFine, Fabric, Legacy Fabric, Ornithe, Quilt, and LiteLoader.
install.installer.liteloader=LiteLoader
install.installer.not_installed=Not installed
install.installer.optifine=OptiFine
install.installer.quilt=Quilt
install.installer.quilt-api=QSL/QFAPI
install.installer.ornithe=Ornithe
install.installer.ornithe-osl=Ornithe OSL
install.installer.version=%s
install.installer.external_version=%s (Installed by external process, which cannot be configured)
install.installing=Installing
Expand Down Expand Up @@ -1114,7 +1116,7 @@ mods.mcmod.page=MCMod Page
mods.mcmod.search=Search in MCMod
mods.modrinth=Modrinth
mods.name=Name
mods.not_modded=You must install a modloader (Forge, NeoForge, Fabric, Legacy Fabric, Quilt, or LiteLoader) first to manage your mods!
mods.not_modded=You must install a modloader (Forge, NeoForge, Fabric, Legacy Fabric, Ornithe, Quilt, or LiteLoader) first to manage your mods!
mods.restore=Restore
mods.url=Official Page
mods.update_modpack_mod.warning=Updating mods in a modpack can lead to irreparable results, possibly corrupting the modpack so that it cannot launch. Are you sure you want to update?
Expand Down Expand Up @@ -1317,15 +1319,8 @@ settings.advanced.custom_commands.hint=The following environment variables are p
\ · $INST_ID: instance name.\n\
\ · $INST_DIR: absolute path of the instance working directory.\n\
\ · $INST_MC_DIR: absolute path of the game directory.\n\
\ · $INST_JAVA: java binary used for launch.\n\
\ · $INST_FORGE: set if Forge is installed.\n\
\ · $INST_NEOFORGE: set if NeoForge is installed.\n\
\ · $INST_CLEANROOM: set if Cleanroom is installed.\n\
\ · $INST_LITELOADER: set if LiteLoader is installed.\n\
\ · $INST_OPTIFINE: set if OptiFine is installed.\n\
\ · $INST_FABRIC: set if Fabric is installed.\n\
\ · $INST_LEGACYFABRIC: set if Legacy Fabric is installed.\n\
\ · $INST_QUILT: set if Quilt is installed.
\ · $INST_JAVA: java binary used for launch.
settings.advanced.custon_commands.env= \ · $INST_%s: set if %s is installed.;
Copy link

Copilot AI Mar 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This English string ends with a full-width Chinese semicolon ";", which looks like a copy/paste artifact and will render oddly in UI. Replace it with standard ASCII punctuation (or remove trailing punctuation to match the other bullet lines).

Suggested change
settings.advanced.custon_commands.env= \ · $INST_%s: set if %s is installed.
settings.advanced.custon_commands.env= \ · $INST_%s: set if %s is installed.

Copilot uses AI. Check for mistakes.
settings.advanced.dont_check_game_completeness=Do not check game integrity
settings.advanced.dont_check_jvm_validity=Do not check JVM compatibility
settings.advanced.dont_patch_natives=Do not attempt to automatically replace native libraries
Expand Down
14 changes: 0 additions & 14 deletions HMCL/src/main/resources/assets/lang/I18N_ar.properties
Original file line number Diff line number Diff line change
Expand Up @@ -1303,20 +1303,6 @@ settings.advanced=الإعدادات المتقدمة
settings.advanced.modify=تعديل الإعدادات المتقدمة
settings.advanced.title=الإعدادات المتقدمة - %s
settings.advanced.custom_commands=أوامر مخصصة
settings.advanced.custom_commands.hint=المتغيرات البيئية التالية متاحة:\n\
\ · $INST_NAME: اسم النسخة.\n\
\ · $INST_ID: اسم النسخة.\n\
\ · $INST_DIR: المسار المطلق لمجلد عمل النسخة.\n\
\ · $INST_MC_DIR: المسار المطلق لمجلد اللعبة.\n\
\ · $INST_JAVA: ملف Java المستخدم للتشغيل.\n\
\ · $INST_FORGE: يُضبط إذا كان Forge مثبّتاً.\n\
\ · $INST_NEOFORGE: يُضبط إذا كان NeoForge مثبّتاً.\n\
\ · $INST_CLEANROOM: يُضبط إذا كان Cleanroom مثبّتاً.\n\
\ · $INST_LITELOADER: يُضبط إذا كان LiteLoader مثبّتاً.\n\
\ · $INST_OPTIFINE: يُضبط إذا كان OptiFine مثبّتاً.\n\
\ · $INST_FABRIC: يُضبط إذا كان Fabric مثبّتاً.\n\
\ · $INST_LEGACYFABRIC: يُضبط إذا كان Legacy Fabric مثبّتاً.\n\
\ · $INST_QUILT: يُضبط إذا كان Quilt مثبّتاً.
settings.advanced.dont_check_game_completeness=عدم التحقق من سلامة اللعبة
settings.advanced.dont_check_jvm_validity=عدم التحقق من توافق JVM
settings.advanced.dont_patch_natives=عدم محاولة استبدال المكتبات الأصلية تلقائياً
Expand Down
Loading
Loading