diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java b/HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java index 06198bfb9..acbcc9f17 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java @@ -37,12 +37,16 @@ public final class Metadata { public static final String TITLE = NAME + " " + VERSION; public static final String FULL_TITLE = FULL_NAME + " v" + VERSION; - public static final String HMCL_UPDATE_URL = System.getProperty("hmcl.update_source.override", "https://hmcl.huangyuhui.net/api/update_link"); - public static final String CONTACT_URL = "https://docs.hmcl.net/help.html"; - public static final String HELP_URL = "https://docs.hmcl.net"; - public static final String CHANGELOG_URL = "https://docs.hmcl.net/changelog/"; public static final String PUBLISH_URL = "https://hmcl.huangyuhui.net"; - public static final String EULA_URL = "https://docs.hmcl.net/eula/hmcl.html"; + public static final String ABOUT_URL = PUBLISH_URL + "/about"; + public static final String DOWNLOAD_URL = PUBLISH_URL + "/download"; + public static final String HMCL_UPDATE_URL = System.getProperty("hmcl.update_source.override", PUBLISH_URL + "/api/update_link"); + + public static final String DOCS_URL = "https://docs.hmcl.net"; + public static final String CONTACT_URL = DOCS_URL + "/help.html"; + public static final String CHANGELOG_URL = DOCS_URL + "/changelog/"; + public static final String EULA_URL = DOCS_URL + "/eula/hmcl.html"; + public static final String GROUPS_URL = DOCS_URL + "/groups.html"; public static final String BUILD_CHANNEL = JarUtils.getManifestAttribute("Build-Channel", "nightly"); public static final String GITHUB_SHA = JarUtils.getManifestAttribute("GitHub-SHA", null); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/GameCrashWindow.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/GameCrashWindow.java index d95247f59..c45bcbaa9 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/GameCrashWindow.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/GameCrashWindow.java @@ -422,7 +422,7 @@ public class GameCrashWindow extends Stage { logButton.setOnAction(e -> showLogWindow()); JFXButton helpButton = FXUtils.newRaisedButton(i18n("help")); - helpButton.setOnAction(e -> FXUtils.openLink("https://docs.hmcl.net/help.html")); + helpButton.setOnAction(e -> FXUtils.openLink(Metadata.CONTACT_URL)); FXUtils.installFastTooltip(helpButton, i18n("logwindow.help")); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/CreateAccountPane.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/CreateAccountPane.java index a2dc9c8b9..f25f7de49 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/CreateAccountPane.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/account/CreateAccountPane.java @@ -35,6 +35,8 @@ import javafx.scene.control.Hyperlink; import javafx.scene.control.Label; import javafx.scene.control.TextInputControl; import javafx.scene.layout.*; + +import org.jackhuang.hmcl.Metadata; import org.jackhuang.hmcl.auth.AccountFactory; import org.jackhuang.hmcl.auth.CharacterSelector; import org.jackhuang.hmcl.auth.NoSelectedCharacterException; @@ -337,7 +339,7 @@ public class CreateAccountPane extends JFXDialogLayout implements DialogAware { hintPane.setSegment(i18n("account.methods.microsoft.snapshot")); JFXHyperlink officialWebsite = new JFXHyperlink(i18n("account.methods.microsoft.snapshot.website")); - officialWebsite.setExternalLink("https://hmcl.huangyuhui.net"); + officialWebsite.setExternalLink(Metadata.PUBLISH_URL); vbox.getChildren().setAll(hintPane, officialWebsite); btnAccept.setDisable(true); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/decorator/DecoratorSkin.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/decorator/DecoratorSkin.java index b459377f3..4d0a3f9b2 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/decorator/DecoratorSkin.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/decorator/DecoratorSkin.java @@ -34,6 +34,8 @@ import javafx.scene.layout.*; import javafx.scene.paint.Color; import javafx.scene.shape.Rectangle; import javafx.stage.Stage; + +import org.jackhuang.hmcl.Metadata; import org.jackhuang.hmcl.setting.Theme; import org.jackhuang.hmcl.ui.FXUtils; import org.jackhuang.hmcl.ui.SVG; @@ -190,7 +192,7 @@ public class DecoratorSkin extends SkinBase { btnHelp.setFocusTraversable(false); btnHelp.setGraphic(SVG.HELP.createIcon(Theme.foregroundFillBinding(), -1)); btnHelp.getStyleClass().add("jfx-decorator-button"); - btnHelp.setOnAction(e -> FXUtils.openLink("https://docs.hmcl.net/help.html")); + btnHelp.setOnAction(e -> FXUtils.openLink(Metadata.CONTACT_URL)); JFXButton btnMin = new JFXButton(); btnMin.setFocusTraversable(false); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackInfoPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackInfoPage.java index 024c0f40b..29198fd6d 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackInfoPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackInfoPage.java @@ -27,6 +27,8 @@ import javafx.scene.Node; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.stage.FileChooser; + +import org.jackhuang.hmcl.Metadata; import org.jackhuang.hmcl.auth.Account; import org.jackhuang.hmcl.auth.authlibinjector.AuthlibInjectorServer; import org.jackhuang.hmcl.game.HMCLGameRepository; @@ -173,7 +175,7 @@ public final class ModpackInfoPage extends Control implements WizardPage { if (skinnable.controller.getSettings().get(MODPACK_TYPE) == MODPACK_TYPE_SERVER) { Hyperlink hyperlink = new Hyperlink(i18n("modpack.wizard.step.initialization.server")); - hyperlink.setOnAction(e -> FXUtils.openLink("https://docs.hmcl.net/modpack/serverpack.html")); + hyperlink.setOnAction(e -> FXUtils.openLink(Metadata.DOCS_URL + "/modpack/serverpack.html")); borderPane.setTop(hyperlink); } else { HintPane pane = new HintPane(MessageDialogPane.MessageType.INFO); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/AboutPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/AboutPage.java index f25038456..618a72deb 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/AboutPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/AboutPage.java @@ -50,7 +50,7 @@ public final class AboutPage extends StackPane { launcher.setImage(FXUtils.newBuiltinImage("/assets/img/icon.png")); launcher.setTitle("Hello Minecraft! Launcher"); launcher.setSubtitle(Metadata.VERSION); - launcher.setExternalLink("https://hmcl.huangyuhui.net"); + launcher.setExternalLink(Metadata.PUBLISH_URL); IconedTwoLineListItem author = new IconedTwoLineListItem(); author.setImage(FXUtils.newBuiltinImage("/assets/img/yellow_fish.png")); @@ -70,7 +70,7 @@ public final class AboutPage extends StackPane { IconedTwoLineListItem copyright = new IconedTwoLineListItem(); copyright.setTitle(i18n("about.copyright")); copyright.setSubtitle(i18n("about.copyright.statement")); - copyright.setExternalLink("https://hmcl.huangyuhui.net/about/"); + copyright.setExternalLink(Metadata.ABOUT_URL); IconedTwoLineListItem claim = new IconedTwoLineListItem(); claim.setTitle(i18n("about.claim")); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/FeedbackPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/FeedbackPage.java index 23c954eff..4b39d6197 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/FeedbackPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/FeedbackPage.java @@ -27,6 +27,8 @@ import org.jackhuang.hmcl.ui.construct.SpinnerPane; import static org.jackhuang.hmcl.util.i18n.I18n.i18n; +import org.jackhuang.hmcl.Metadata; + public class FeedbackPage extends SpinnerPane { public FeedbackPage() { @@ -45,7 +47,7 @@ public class FeedbackPage extends SpinnerPane { users.setImage(FXUtils.newBuiltinImage("/assets/img/icon.png")); users.setTitle(i18n("feedback.qq_group")); users.setSubtitle(i18n("feedback.qq_group.statement")); - users.setExternalLink("https://docs.hmcl.net/groups.html"); + users.setExternalLink(Metadata.GROUPS_URL); IconedTwoLineListItem github = new IconedTwoLineListItem(); github.setImage(FXUtils.newBuiltinImage("/assets/img/github.png")); diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/HelpPage.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/HelpPage.java index 75223967c..a2d8582c6 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/HelpPage.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/main/HelpPage.java @@ -53,7 +53,7 @@ public class HelpPage extends SpinnerPane { IconedTwoLineListItem docPane = new IconedTwoLineListItem(); docPane.setTitle(i18n("help.doc")); docPane.setSubtitle(i18n("help.detail")); - docPane.setExternalLink(Metadata.HELP_URL); + docPane.setExternalLink(Metadata.DOCS_URL); ComponentList doc = new ComponentList(); doc.getContent().setAll(docPane); content.getChildren().add(doc); @@ -63,7 +63,7 @@ public class HelpPage extends SpinnerPane { private void loadHelp() { showSpinner(); - Task.supplyAsync(() -> HttpRequest.GET("https://docs.hmcl.net/index.json").getJson(listTypeOf(HelpCategory.class))) + Task.supplyAsync(() -> HttpRequest.GET(Metadata.DOCS_URL + "/index.json").getJson(listTypeOf(HelpCategory.class))) .thenAcceptAsync(Schedulers.javafx(), helpCategories -> { for (HelpCategory category : helpCategories) { ComponentList categoryPane = new ComponentList(); 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 6769cfa41..257d492ad 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 @@ -18,6 +18,8 @@ package org.jackhuang.hmcl.ui.main; import javafx.beans.property.ReadOnlyObjectProperty; + +import org.jackhuang.hmcl.Metadata; import org.jackhuang.hmcl.event.EventBus; import org.jackhuang.hmcl.event.RefreshedVersionsEvent; import org.jackhuang.hmcl.game.HMCLGameRepository; @@ -179,7 +181,7 @@ public class RootPage extends DecoratorAnimatedPage implements DecoratorPage { chatItem.setLeftGraphic(wrap(SVG.CHAT)); chatItem.setActionButtonVisible(false); chatItem.setTitle(i18n("chat")); - chatItem.setOnAction(e -> FXUtils.openLink("https://docs.hmcl.net/groups.html")); + chatItem.setOnAction(e -> FXUtils.openLink(Metadata.GROUPS_URL)); // the left sidebar AdvancedListBox sideBar = new AdvancedListBox() diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/util/CrashReporter.java b/HMCL/src/main/java/org/jackhuang/hmcl/util/CrashReporter.java index ad3121b5b..bb664e713 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/util/CrashReporter.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/util/CrashReporter.java @@ -121,7 +121,7 @@ public final class CrashReporter implements Thread.UncaughtExceptionHandler { map.put("version", Metadata.VERSION); map.put("log", LOG.getLogs()); try { - String response = NetworkUtils.doPost(NetworkUtils.toURL("https://hmcl.huangyuhui.net/hmcl/crash.php"), map); + String response = NetworkUtils.doPost(NetworkUtils.toURL(Metadata.PUBLISH_URL + "/hmcl/crash.php"), map); if (StringUtils.isNotBlank(response)) LOG.error("Crash server response: " + response); } catch (IOException ex) {