Additional information on main page
This commit is contained in:
@@ -32,14 +32,13 @@ import javafx.scene.input.MouseButton;
|
|||||||
import javafx.scene.layout.StackPane;
|
import javafx.scene.layout.StackPane;
|
||||||
import javafx.stage.FileChooser;
|
import javafx.stage.FileChooser;
|
||||||
import org.jackhuang.hmcl.Main;
|
import org.jackhuang.hmcl.Main;
|
||||||
|
import org.jackhuang.hmcl.download.MaintainTask;
|
||||||
|
import org.jackhuang.hmcl.download.game.VersionJsonSaveTask;
|
||||||
import org.jackhuang.hmcl.event.EventBus;
|
import org.jackhuang.hmcl.event.EventBus;
|
||||||
import org.jackhuang.hmcl.event.ProfileChangedEvent;
|
import org.jackhuang.hmcl.event.ProfileChangedEvent;
|
||||||
import org.jackhuang.hmcl.event.ProfileLoadingEvent;
|
import org.jackhuang.hmcl.event.ProfileLoadingEvent;
|
||||||
import org.jackhuang.hmcl.event.RefreshedVersionsEvent;
|
import org.jackhuang.hmcl.event.RefreshedVersionsEvent;
|
||||||
import org.jackhuang.hmcl.game.GameVersion;
|
import org.jackhuang.hmcl.game.*;
|
||||||
import org.jackhuang.hmcl.game.LauncherHelper;
|
|
||||||
import org.jackhuang.hmcl.game.ModpackHelper;
|
|
||||||
import org.jackhuang.hmcl.game.Version;
|
|
||||||
import org.jackhuang.hmcl.mod.MismatchedModpackTypeException;
|
import org.jackhuang.hmcl.mod.MismatchedModpackTypeException;
|
||||||
import org.jackhuang.hmcl.mod.UnsupportedModpackException;
|
import org.jackhuang.hmcl.mod.UnsupportedModpackException;
|
||||||
import org.jackhuang.hmcl.setting.Profile;
|
import org.jackhuang.hmcl.setting.Profile;
|
||||||
@@ -53,11 +52,13 @@ import org.jackhuang.hmcl.ui.download.DownloadWizardProvider;
|
|||||||
import org.jackhuang.hmcl.ui.wizard.DecoratorPage;
|
import org.jackhuang.hmcl.ui.wizard.DecoratorPage;
|
||||||
import org.jackhuang.hmcl.util.Lang;
|
import org.jackhuang.hmcl.util.Lang;
|
||||||
import org.jackhuang.hmcl.util.OperatingSystem;
|
import org.jackhuang.hmcl.util.OperatingSystem;
|
||||||
|
import org.jackhuang.hmcl.util.StringUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
public final class MainPage extends StackPane implements DecoratorPage {
|
public final class MainPage extends StackPane implements DecoratorPage {
|
||||||
|
|
||||||
@@ -101,6 +102,21 @@ public final class MainPage extends StackPane implements DecoratorPage {
|
|||||||
item.setUpdate(profile.getRepository().isModpack(version));
|
item.setUpdate(profile.getRepository().isModpack(version));
|
||||||
item.setGameVersion(game);
|
item.setGameVersion(game);
|
||||||
item.setVersionName(version);
|
item.setVersionName(version);
|
||||||
|
|
||||||
|
StringBuilder libraries = new StringBuilder();
|
||||||
|
for (Library library : profile.getRepository().getVersion(version).getLibraries()) {
|
||||||
|
if (library.getGroupId().equalsIgnoreCase("net.minecraftforge") && library.getArtifactId().equalsIgnoreCase("forge")) {
|
||||||
|
libraries.append(Main.i18n("install.installer.forge")).append(": ").append(StringUtils.removeSuffix(StringUtils.removePrefix(library.getVersion().replaceAll("(?i)forge", "").replace(game, "").trim(), "-"), "-")).append("\n");
|
||||||
|
}
|
||||||
|
if (library.getGroupId().equalsIgnoreCase("com.mumfrey") && library.getArtifactId().equalsIgnoreCase("liteloader")) {
|
||||||
|
libraries.append(Main.i18n("install.installer.liteloader")).append(": ").append(StringUtils.removeSuffix(StringUtils.removePrefix(library.getVersion().replaceAll("(?i)liteloader", "").replace(game, "").trim(), "-"), "-")).append("\n");
|
||||||
|
}
|
||||||
|
if (library.getGroupId().equalsIgnoreCase("net.optifine") && library.getArtifactId().equalsIgnoreCase("optifine")) {
|
||||||
|
libraries.append(Main.i18n("install.installer.optifine")).append(": ").append(StringUtils.removeSuffix(StringUtils.removePrefix(library.getVersion().replaceAll("(?i)optifine", "").replace(game, "").trim(), "-"), "-")).append("\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
item.setLibraries(libraries.toString());
|
||||||
item.setOnLaunchButtonClicked(e -> {
|
item.setOnLaunchButtonClicked(e -> {
|
||||||
if (Settings.INSTANCE.getSelectedAccount() == null)
|
if (Settings.INSTANCE.getSelectedAccount() == null)
|
||||||
Controllers.dialog(Main.i18n("login.empty_username"));
|
Controllers.dialog(Main.i18n("login.empty_username"));
|
||||||
|
|||||||
@@ -59,6 +59,8 @@ public final class VersionItem extends StackPane {
|
|||||||
@FXML
|
@FXML
|
||||||
private Label lblGameVersion;
|
private Label lblGameVersion;
|
||||||
@FXML
|
@FXML
|
||||||
|
private Label lblLibraries;
|
||||||
|
@FXML
|
||||||
private ImageView iconView;
|
private ImageView iconView;
|
||||||
|
|
||||||
private EventHandler<? super MouseEvent> launchClickedHandler = null;
|
private EventHandler<? super MouseEvent> launchClickedHandler = null;
|
||||||
@@ -98,6 +100,10 @@ public final class VersionItem extends StackPane {
|
|||||||
lblGameVersion.setText(gameVersion);
|
lblGameVersion.setText(gameVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setLibraries(String libraries) {
|
||||||
|
lblLibraries.setText(libraries);
|
||||||
|
}
|
||||||
|
|
||||||
public void setImage(Image image) {
|
public void setImage(Image image) {
|
||||||
iconView.setImage(image);
|
iconView.setImage(image);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<VBox style="-fx-padding: 8 8 0 8;">
|
<VBox style="-fx-padding: 8 8 0 8;">
|
||||||
<Label fx:id="lblVersionName" style="-fx-font-size: 15;" textAlignment="JUSTIFY" wrapText="true" />
|
<Label fx:id="lblVersionName" style="-fx-font-size: 15;" textAlignment="JUSTIFY" wrapText="true" />
|
||||||
<Label fx:id="lblGameVersion" style="-fx-font-size: 10;" textAlignment="JUSTIFY" wrapText="true" />
|
<Label fx:id="lblGameVersion" style="-fx-font-size: 10;" textAlignment="JUSTIFY" wrapText="true" />
|
||||||
<Label fx:id="lblLibraries" style="-fx-font-size: 10;" textAlignment="JUSTIFY" wrapText="true" />
|
<Label fx:id="lblLibraries" style="-fx-font-size: 10; -fx-text-fill: gray;" textAlignment="JUSTIFY" wrapText="true" />
|
||||||
</VBox>
|
</VBox>
|
||||||
</center>
|
</center>
|
||||||
</BorderPane>
|
</BorderPane>
|
||||||
|
|||||||
Reference in New Issue
Block a user