diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/SVG.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/SVG.java index e79ca4c02d..fa80d8cedf 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/SVG.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/SVG.java @@ -30,6 +30,7 @@ public enum SVG { GEAR_OUTLINE("M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M10,22C9.75,22 9.54,21.82 9.5,21.58L9.13,18.93C8.5,18.68 7.96,18.34 7.44,17.94L4.95,18.95C4.73,19.03 4.46,18.95 4.34,18.73L2.34,15.27C2.21,15.05 2.27,14.78 2.46,14.63L4.57,12.97L4.5,12L4.57,11L2.46,9.37C2.27,9.22 2.21,8.95 2.34,8.73L4.34,5.27C4.46,5.05 4.73,4.96 4.95,5.05L7.44,6.05C7.96,5.66 8.5,5.32 9.13,5.07L9.5,2.42C9.54,2.18 9.75,2 10,2H14C14.25,2 14.46,2.18 14.5,2.42L14.87,5.07C15.5,5.32 16.04,5.66 16.56,6.05L19.05,5.05C19.27,4.96 19.54,5.05 19.66,5.27L21.66,8.73C21.79,8.95 21.73,9.22 21.54,9.37L19.43,11L19.5,12L19.43,13L21.54,14.63C21.73,14.78 21.79,15.05 21.66,15.27L19.66,18.73C19.54,18.95 19.27,19.04 19.05,18.95L16.56,17.95C16.04,18.34 15.5,18.68 14.87,18.93L14.5,21.58C14.46,21.82 14.25,22 14,22H10M11.25,4L10.88,6.61C9.68,6.86 8.62,7.5 7.85,8.39L5.44,7.35L4.69,8.65L6.8,10.2C6.4,11.37 6.4,12.64 6.8,13.8L4.68,15.36L5.43,16.66L7.86,15.62C8.63,16.5 9.68,17.14 10.87,17.38L11.24,20H12.76L13.13,17.39C14.32,17.14 15.37,16.5 16.14,15.62L18.57,16.66L19.32,15.36L17.2,13.81C17.6,12.64 17.6,11.37 17.2,10.2L19.31,8.65L18.56,7.35L16.15,8.39C15.38,7.5 14.32,6.86 13.12,6.62L12.75,4H11.25Z"), BACK("M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z"), CANCEL("M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z"), + CHAT("M20,2A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H6L2,22V4C2,2.89 2.9,2 4,2H20M4,4V17.17L5.17,16H20V4H4M6,7H18V9H6V7M6,11H15V13H6V11Z"), CLOSE("M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"), COPY("M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"), DOTS_VERTICAL("M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z"), diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/RootPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/RootPage.java index 7191966f93..9ef6da0f4c 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/RootPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/RootPage.java @@ -34,7 +34,6 @@ import org.jackhuang.hmcl.ui.account.AccountAdvancedListItem; import org.jackhuang.hmcl.ui.construct.AdvancedListBox; import org.jackhuang.hmcl.ui.construct.AdvancedListItem; -import org.jackhuang.hmcl.ui.construct.JFXHyperlink; import org.jackhuang.hmcl.ui.construct.MessageDialogPane; import org.jackhuang.hmcl.ui.decorator.DecoratorAnimatedPage; import org.jackhuang.hmcl.ui.decorator.DecoratorPage; @@ -170,25 +169,19 @@ protected Skin(RootPage control) { runInFX(() -> FXUtils.installFastTooltip(downloadItem, i18n("download.hint"))); // fifth item in left sidebar - AdvancedListItem multiplayerItem = new AdvancedListItem(); - multiplayerItem.setLeftGraphic(wrap(SVG.LAN)); - multiplayerItem.setActionButtonVisible(false); - multiplayerItem.setTitle(i18n("multiplayer")); - JFXHyperlink link = new JFXHyperlink(i18n("multiplayer.hint.details")); - link.setExternalLink("https://hmcl.huangyuhui.net/api/redirect/multiplayer-migrate"); - multiplayerItem.setOnAction(e -> Controllers.dialog( - new MessageDialogPane.Builder(i18n("multiplayer.hint"), null, MessageDialogPane.MessageType.INFO) - .addAction(link) - .ok(null) - .build())); - - // sixth item in left sidebar AdvancedListItem launcherSettingsItem = new AdvancedListItem(); launcherSettingsItem.setLeftGraphic(wrap(SVG.GEAR_OUTLINE)); launcherSettingsItem.setActionButtonVisible(false); launcherSettingsItem.setTitle(i18n("settings")); launcherSettingsItem.setOnAction(e -> Controllers.navigate(Controllers.getSettingsPage())); + // sixth item in left sidebar + AdvancedListItem chatItem = new AdvancedListItem(); + chatItem.setLeftGraphic(wrap(SVG.CHAT)); + chatItem.setActionButtonVisible(false); + chatItem.setTitle(i18n("chat")); + chatItem.setOnAction(e -> FXUtils.openLink("https://docs.hmcl.net/groups.html")); + // the left sidebar AdvancedListBox sideBar = new AdvancedListBox() .startCategory(i18n("account").toUpperCase(Locale.ROOT)) @@ -198,8 +191,9 @@ protected Skin(RootPage control) { .add(gameItem) .add(downloadItem) .startCategory(i18n("settings.launcher.general").toUpperCase(Locale.ROOT)) - .add(multiplayerItem) - .add(launcherSettingsItem); + .add(launcherSettingsItem) + .add(chatItem) + ; // the root page, with the sidebar in left, navigator in center. setLeft(sideBar); diff --git a/HMCL/src/main/resources/assets/lang/I18N.properties b/HMCL/src/main/resources/assets/lang/I18N.properties index df22a2f584..a509d6826b 100644 --- a/HMCL/src/main/resources/assets/lang/I18N.properties +++ b/HMCL/src/main/resources/assets/lang/I18N.properties @@ -183,6 +183,8 @@ button.save_as=Save As button.select_all=Select All button.yes=Yes +chat=QQ Groups + color.recent=Recommended color.custom=Custom Color crash.NoClassDefFound=Please verify the integrity of this software, or try updating your Java. @@ -906,10 +908,6 @@ mods.restore=Rollback 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 start. Are you sure you want to update? -multiplayer=Multiplayer online -multiplayer.hint=Multiplayer online function is under maintenance. -multiplayer.hint.details=View details - nbt.entries=%s entries nbt.open.failed=Fail to open file nbt.save.failed=Fail to save file diff --git a/HMCL/src/main/resources/assets/lang/I18N_es.properties b/HMCL/src/main/resources/assets/lang/I18N_es.properties index 7610b66534..841292db08 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_es.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_es.properties @@ -838,8 +838,6 @@ mods.restore=Restaurar mods.url=Página oficial mods.update_modpack_mod.warning=Actualizar mods en un modpack puede generar resultados irreparables, posiblemente corrompiendo el modpack para que no pueda iniciarse. ¿Seguro que quieres actualizar? -multiplayer=Multijugador - datapack=Datapacks datapack.add=Instalar datapacks datapack.choose_datapack=Seleccionar un paquet de datos para importar diff --git a/HMCL/src/main/resources/assets/lang/I18N_ja.properties b/HMCL/src/main/resources/assets/lang/I18N_ja.properties index 6241dcab0b..6833c8f1a1 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_ja.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_ja.properties @@ -660,8 +660,6 @@ mods.restore=Restore mods.url=公式ページ mods.update_modpack_mod.warning=modpack 内の mod を更新すると、修復不可能な結果につながる可能性があり、modpack が破損して起動できなくなる可能性があります。更新してもよろしいですか? -multiplayer=マルチプレイ - datapack=Datapacks datapack.add=データパックをインストールします datapack.choose_datapack=インポートするデータパックのzipを選択してください diff --git a/HMCL/src/main/resources/assets/lang/I18N_ru.properties b/HMCL/src/main/resources/assets/lang/I18N_ru.properties index 3cb82d030e..45578d6bc4 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_ru.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_ru.properties @@ -693,8 +693,6 @@ mods.restore=Откат mods.url=Официальная страница mods.update_modpack_mod.warning=Обновление модов в пакете модов может привести к непоправимым результатам, возможно, повредить пакет модов так, что он не сможет запуститься. Вы уверены, что хотите обновить? -multiplayer=Сетевая игра - datapack=Датапаки datapack.add=Установить datapack.choose_datapack=Выберите датапак для импорта diff --git a/HMCL/src/main/resources/assets/lang/I18N_zh.properties b/HMCL/src/main/resources/assets/lang/I18N_zh.properties index c2c5683ff6..bbe8d1f600 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_zh.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_zh.properties @@ -192,6 +192,8 @@ button.save_as=另存為 button.select_all=全選 button.yes=是 +chat=官方群組 + color.recent=建議 color.custom=自訂顏色 @@ -782,10 +784,6 @@ mods.restore=回退 mods.url=官方頁面 mods.update_modpack_mod.warning=更新模組包中的 Mod 可能導致綜合包損壞,使模組包無法正常啟動。該操作不可逆,確定要更新嗎? -multiplayer=多人聯機 -multiplayer.hint=多人聯機服務正在維護中。 -multiplayer.hint.details=查看詳情 - nbt.entries=%s 個條目 nbt.open.failed=打開檔案失敗 nbt.save.failed=保存檔案失敗 diff --git a/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties b/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties index 313b61c604..9f1f2b3743 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties @@ -193,6 +193,8 @@ button.save_as=另存为 button.select_all=全选 button.yes=是 +chat=官方群组 + color.recent=推荐 color.custom=自定义颜色 @@ -790,10 +792,6 @@ mods.restore=回退 mods.url=官方页面 mods.update_modpack_mod.warning=更新整合包中的模组可能导致整合包损坏,使整合包无法正常启动。该操作不可逆,确定要更新吗? -multiplayer=多人联机 -multiplayer.hint=多人联机服务正在维护中。 -multiplayer.hint.details=查看详情 - nbt.entries=%s 个条目 nbt.open.failed=打开文件失败 nbt.save.failed=保存文件失败 @@ -1051,13 +1049,13 @@ update.changelog=更新日志 update.channel.dev=测试版 update.channel.dev.hint=你正在使用测试版。测试版包含一些未在正式版中包含的测试性功能,仅用于体验新功能。\n\ 测试版功能未受充分验证,使用起来可能不稳定!下载稳定版\n\ - 如果你遇到了使用问题,可以在设置的 反馈页面 中进行反馈,或加入反馈页面中提供的 DiscordQQ 群以反馈问题。欢迎关注 B 站账号 huanghongxun 以关注 HMCL 的开发进展。\n\n\ + 如果你遇到了使用问题,可以在设置的 反馈页面 中进行反馈,或加入反馈页面中提供的 DiscordQQ 群以反馈问题。欢迎关注 B 站账号 huanghongxun 以关注 HMCL 的开发进展。\n\n\ 点击此处为当前版本隐藏该提示。 update.channel.dev.title=测试版提示 update.channel.nightly=预览版 update.channel.nightly.hint=你正在使用预览版。预览版可能会每天更新一次,包含一些未在正式版和测试版中包含的测试性功能,仅用于体验新功能。\n\ 测试版功能未受充分验证,使用起来可能不稳定!下载稳定版\n\ - 如果你遇到了使用问题,可以在设置的 反馈页面 中进行反馈,或加入反馈页面中提供的 DiscordQQ 群以反馈问题。欢迎关注 B 站账号 huanghongxun 以关注 HMCL 的开发进展。 + 如果你遇到了使用问题,可以在设置的 反馈页面 中进行反馈,或加入反馈页面中提供的 DiscordQQ 群以反馈问题。欢迎关注 B 站账号 huanghongxun 以关注 HMCL 的开发进展。 update.channel.nightly.title=预览版提示 update.channel.stable=推荐版本 update.checking=正在检查更新