Fixed font in dialog accept and cancel button. Closes #291
This commit is contained in:
@@ -85,7 +85,7 @@ public class HMCLModpackExportTask extends TaskResult<ZipEngine> {
|
|||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
|
|
||||||
Version mv = repository.getVersion(version).resolve(repository);
|
Version mv = repository.getResolvedVersion(version);
|
||||||
String gameVersion = GameVersion.minecraftVersion(repository.getVersionJar(version))
|
String gameVersion = GameVersion.minecraftVersion(repository.getVersionJar(version))
|
||||||
.orElseThrow(() -> new IllegalStateException("Cannot parse the version of " + version));
|
.orElseThrow(() -> new IllegalStateException("Cannot parse the version of " + version));
|
||||||
zip.putTextFile(Constants.GSON.toJson(mv.setJar(gameVersion)), "minecraft/pack.json"); // Making "jar" to gameVersion is to be compatible with old HMCL.
|
zip.putTextFile(Constants.GSON.toJson(mv.setJar(gameVersion)), "minecraft/pack.json"); // Making "jar" to gameVersion is to be compatible with old HMCL.
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ public final class LauncherHelper {
|
|||||||
Profile profile = Settings.INSTANCE.getSelectedProfile();
|
Profile profile = Settings.INSTANCE.getSelectedProfile();
|
||||||
GameRepository repository = profile.getRepository();
|
GameRepository repository = profile.getRepository();
|
||||||
DefaultDependencyManager dependencyManager = profile.getDependency();
|
DefaultDependencyManager dependencyManager = profile.getDependency();
|
||||||
Version version = repository.getVersion(selectedVersion).resolve(repository);
|
Version version = repository.getResolvedVersion(selectedVersion);
|
||||||
Account account = Settings.INSTANCE.getSelectedAccount();
|
Account account = Settings.INSTANCE.getSelectedAccount();
|
||||||
VersionSetting setting = profile.getVersionSetting(selectedVersion);
|
VersionSetting setting = profile.getVersionSetting(selectedVersion);
|
||||||
Optional<String> gameVersion = GameVersion.minecraftVersion(repository.getVersionJar(version));
|
Optional<String> gameVersion = GameVersion.minecraftVersion(repository.getVersionJar(version));
|
||||||
@@ -156,9 +156,7 @@ public final class LauncherHelper {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onStop(boolean success, TaskExecutor executor) {
|
public void onStop(boolean success, TaskExecutor executor) {
|
||||||
if (success) {
|
if (!success) {
|
||||||
Controllers.closeDialog();
|
|
||||||
} else {
|
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
if (executor.getLastException() != null)
|
if (executor.getLastException() != null)
|
||||||
Controllers.dialog(I18nException.getStackTrace(executor.getLastException()),
|
Controllers.dialog(I18nException.getStackTrace(executor.getLastException()),
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ public class InstallerController {
|
|||||||
public void loadVersion(Profile profile, String versionId) {
|
public void loadVersion(Profile profile, String versionId) {
|
||||||
this.profile = profile;
|
this.profile = profile;
|
||||||
this.versionId = versionId;
|
this.versionId = versionId;
|
||||||
this.version = profile.getRepository().getVersion(versionId).resolve(profile.getRepository());
|
this.version = profile.getRepository().getResolvedVersion(versionId);
|
||||||
|
|
||||||
contentPane.getChildren().clear();
|
contentPane.getChildren().clear();
|
||||||
forge = liteLoader = optiFine = null;
|
forge = liteLoader = optiFine = null;
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ public final class VersionPage extends StackPane implements DecoratorPage {
|
|||||||
deleteVersion(profile, version);
|
deleteVersion(profile, version);
|
||||||
break;
|
break;
|
||||||
case 2: // redownload asset index
|
case 2: // redownload asset index
|
||||||
new GameAssetIndexDownloadTask(profile.getDependency(), profile.getRepository().getVersion(version).resolve(profile.getRepository())).start();
|
new GameAssetIndexDownloadTask(profile.getDependency(), profile.getRepository().getResolvedVersion(version)).start();
|
||||||
break;
|
break;
|
||||||
case 3: // delete libraries
|
case 3: // delete libraries
|
||||||
FileUtils.deleteDirectoryQuietly(new File(profile.getRepository().getBaseDirectory(), "libraries"));
|
FileUtils.deleteDirectoryQuietly(new File(profile.getRepository().getBaseDirectory(), "libraries"));
|
||||||
|
|||||||
@@ -4,7 +4,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
.root {
|
.root {
|
||||||
-fx-font-family: "微软雅黑", "Microsoft YaHei", "Roboto";
|
-fx-base-font-family: "微软雅黑", "Microsoft YaHei", "Roboto";
|
||||||
|
-fx-font-family: -fx-base-font-family;
|
||||||
}
|
}
|
||||||
|
|
||||||
.disabled Label {
|
.disabled Label {
|
||||||
@@ -129,7 +130,7 @@
|
|||||||
|
|
||||||
.jfx-layout-heading {
|
.jfx-layout-heading {
|
||||||
-fx-font-size: 20.0px;
|
-fx-font-size: 20.0px;
|
||||||
-fx-font-weight: BOLD;
|
-fx-font-family: -fx-base-font-family;
|
||||||
-fx-alignment: center-left;
|
-fx-alignment: center-left;
|
||||||
-fx-padding: 5.0 0.0 5.0 0.0;
|
-fx-padding: 5.0 0.0 5.0 0.0;
|
||||||
}
|
}
|
||||||
@@ -152,12 +153,12 @@
|
|||||||
|
|
||||||
.dialog-accept {
|
.dialog-accept {
|
||||||
-fx-text-fill: #03A9F4;
|
-fx-text-fill: #03A9F4;
|
||||||
-fx-font-weight: BOLD;
|
-fx-font-family: -fx-base-font-family;
|
||||||
-fx-padding: 0.7em 0.8em;
|
-fx-padding: 0.7em 0.8em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dialog-cancel {
|
.dialog-cancel {
|
||||||
-fx-font-weight: BOLD;
|
-fx-font-family: -fx-base-font-family;
|
||||||
-fx-padding: 0.7em 0.8em;
|
-fx-padding: 0.7em 0.8em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public final class GameAssetDownloadTask extends Task {
|
|||||||
*/
|
*/
|
||||||
public GameAssetDownloadTask(AbstractDependencyManager dependencyManager, Version version) {
|
public GameAssetDownloadTask(AbstractDependencyManager dependencyManager, Version version) {
|
||||||
this.dependencyManager = dependencyManager;
|
this.dependencyManager = dependencyManager;
|
||||||
this.version = version;
|
this.version = version.requireResolved();
|
||||||
this.refreshTask = new GameAssetRefreshTask(dependencyManager, version);
|
this.refreshTask = new GameAssetRefreshTask(dependencyManager, version);
|
||||||
this.dependents.add(refreshTask);
|
this.dependents.add(refreshTask);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ public final class GameAssetIndexDownloadTask extends Task {
|
|||||||
*/
|
*/
|
||||||
public GameAssetIndexDownloadTask(AbstractDependencyManager dependencyManager, Version version) {
|
public GameAssetIndexDownloadTask(AbstractDependencyManager dependencyManager, Version version) {
|
||||||
this.dependencyManager = dependencyManager;
|
this.dependencyManager = dependencyManager;
|
||||||
this.version = version;
|
this.version = version.requireResolved();
|
||||||
setSignificance(TaskSignificance.MODERATE);
|
setSignificance(TaskSignificance.MODERATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ public final class GameAssetRefreshTask extends TaskResult<Collection<Pair<File,
|
|||||||
*/
|
*/
|
||||||
public GameAssetRefreshTask(AbstractDependencyManager dependencyManager, Version version) {
|
public GameAssetRefreshTask(AbstractDependencyManager dependencyManager, Version version) {
|
||||||
this.dependencyManager = dependencyManager;
|
this.dependencyManager = dependencyManager;
|
||||||
this.version = version;
|
this.version = version.requireResolved();
|
||||||
this.assetIndexInfo = version.getAssetIndex();
|
this.assetIndexInfo = version.getAssetIndex();
|
||||||
this.assetIndexFile = dependencyManager.getGameRepository().getIndexFile(version.getId(), assetIndexInfo.getId());
|
this.assetIndexFile = dependencyManager.getGameRepository().getIndexFile(version.getId(), assetIndexInfo.getId());
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public final class GameLibrariesTask extends Task {
|
|||||||
*/
|
*/
|
||||||
public GameLibrariesTask(AbstractDependencyManager dependencyManager, Version version) {
|
public GameLibrariesTask(AbstractDependencyManager dependencyManager, Version version) {
|
||||||
this.dependencyManager = dependencyManager;
|
this.dependencyManager = dependencyManager;
|
||||||
this.version = version;
|
this.version = version.requireResolved();
|
||||||
setSignificance(TaskSignificance.MODERATE);
|
setSignificance(TaskSignificance.MODERATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ public final class GameLoggingDownloadTask extends Task {
|
|||||||
*/
|
*/
|
||||||
public GameLoggingDownloadTask(DependencyManager dependencyManager, Version version) {
|
public GameLoggingDownloadTask(DependencyManager dependencyManager, Version version) {
|
||||||
this.dependencyManager = dependencyManager;
|
this.dependencyManager = dependencyManager;
|
||||||
this.version = version;
|
this.version = version.requireResolved();
|
||||||
setSignificance(TaskSignificance.MODERATE);
|
setSignificance(TaskSignificance.MODERATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ public final class VersionJsonSaveTask extends Task {
|
|||||||
*/
|
*/
|
||||||
public VersionJsonSaveTask(DefaultGameRepository repository, Version version) {
|
public VersionJsonSaveTask(DefaultGameRepository repository, Version version) {
|
||||||
this.repository = repository;
|
this.repository = repository;
|
||||||
this.version = version;
|
this.version = version.requireResolved();
|
||||||
|
|
||||||
setSignificance(TaskSignificance.MODERATE);
|
setSignificance(TaskSignificance.MODERATE);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ import java.util.Date;
|
|||||||
public class ClassicVersion extends Version {
|
public class ClassicVersion extends Version {
|
||||||
|
|
||||||
public ClassicVersion() {
|
public ClassicVersion() {
|
||||||
super("Classic", "${auth_player_name} ${auth_session} --workDir ${game_directory}",
|
super(true, "Classic", "${auth_player_name} ${auth_session} --workDir ${game_directory}",
|
||||||
null, "net.minecraft.client.Minecraft", null, null, null, null,
|
null, "net.minecraft.client.Minecraft", null, null, null, null,
|
||||||
Arrays.asList(new ClassicLibrary("lwjgl"), new ClassicLibrary("jinput"), new ClassicLibrary("lwjgl_util")),
|
Arrays.asList(new ClassicLibrary("lwjgl"), new ClassicLibrary("jinput"), new ClassicLibrary("lwjgl_util")),
|
||||||
null, null, null, ReleaseType.UNKNOWN, new Date(), new Date(), 0);
|
null, null, null, ReleaseType.UNKNOWN, new Date(), new Date(), 0);
|
||||||
|
|||||||
@@ -52,6 +52,10 @@ public interface GameRepository extends VersionProvider {
|
|||||||
@Override
|
@Override
|
||||||
Version getVersion(String id) throws VersionNotFoundException;
|
Version getVersion(String id) throws VersionNotFoundException;
|
||||||
|
|
||||||
|
default Version getResolvedVersion(String id) throws VersionNotFoundException {
|
||||||
|
return getVersion(id).resolve(this);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* How many version are there?
|
* How many version are there?
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -47,7 +47,10 @@ public class Version implements Comparable<Version>, Validation {
|
|||||||
private final Date releaseTime;
|
private final Date releaseTime;
|
||||||
private final int minimumLauncherVersion;
|
private final int minimumLauncherVersion;
|
||||||
|
|
||||||
public Version(String id, String minecraftArguments, Arguments arguments, String mainClass, String inheritsFrom, String jar, AssetIndexInfo assetIndex, String assets, List<Library> libraries, List<CompatibilityRule> compatibilityRules, Map<DownloadType, DownloadInfo> downloads, Map<DownloadType, LoggingInfo> logging, ReleaseType type, Date time, Date releaseTime, int minimumLauncherVersion) {
|
private transient final boolean resolved;
|
||||||
|
|
||||||
|
public Version(boolean resolved, String id, String minecraftArguments, Arguments arguments, String mainClass, String inheritsFrom, String jar, AssetIndexInfo assetIndex, String assets, List<Library> libraries, List<CompatibilityRule> compatibilityRules, Map<DownloadType, DownloadInfo> downloads, Map<DownloadType, LoggingInfo> logging, ReleaseType type, Date time, Date releaseTime, int minimumLauncherVersion) {
|
||||||
|
this.resolved = resolved;
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.minecraftArguments = minecraftArguments;
|
this.minecraftArguments = minecraftArguments;
|
||||||
this.arguments = arguments;
|
this.arguments = arguments;
|
||||||
@@ -140,11 +143,18 @@ public class Version implements Comparable<Version>, Validation {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Version requireResolved() {
|
||||||
|
if (!resolved)
|
||||||
|
throw new RuntimeException("Version not resolved");
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Resolve given version
|
* Resolve given version
|
||||||
*/
|
*/
|
||||||
public Version resolve(VersionProvider provider) throws VersionNotFoundException {
|
public Version resolve(VersionProvider provider) throws VersionNotFoundException {
|
||||||
return resolve(provider, new HashSet<>());
|
return resolve(provider, new HashSet<>()).setResolved(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Version resolve(VersionProvider provider, Set<String> resolvedSoFar) throws VersionNotFoundException {
|
protected Version resolve(VersionProvider provider, Set<String> resolvedSoFar) throws VersionNotFoundException {
|
||||||
@@ -159,7 +169,9 @@ public class Version implements Comparable<Version>, Validation {
|
|||||||
|
|
||||||
// It is supposed to auto install an version in getVersion.
|
// It is supposed to auto install an version in getVersion.
|
||||||
Version parent = provider.getVersion(inheritsFrom).resolve(provider, resolvedSoFar);
|
Version parent = provider.getVersion(inheritsFrom).resolve(provider, resolvedSoFar);
|
||||||
return new Version(id,
|
return new Version(
|
||||||
|
true,
|
||||||
|
id,
|
||||||
minecraftArguments == null ? parent.minecraftArguments : minecraftArguments,
|
minecraftArguments == null ? parent.minecraftArguments : minecraftArguments,
|
||||||
Arguments.merge(parent.arguments, arguments),
|
Arguments.merge(parent.arguments, arguments),
|
||||||
mainClass == null ? parent.mainClass : mainClass,
|
mainClass == null ? parent.mainClass : mainClass,
|
||||||
@@ -177,36 +189,40 @@ public class Version implements Comparable<Version>, Validation {
|
|||||||
Math.max(minimumLauncherVersion, parent.minimumLauncherVersion));
|
Math.max(minimumLauncherVersion, parent.minimumLauncherVersion));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Version setResolved(boolean resolved) {
|
||||||
|
return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
||||||
|
}
|
||||||
|
|
||||||
public Version setId(String id) {
|
public Version setId(String id) {
|
||||||
return new Version(id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Version setMinecraftArguments(String minecraftArguments) {
|
public Version setMinecraftArguments(String minecraftArguments) {
|
||||||
return new Version(id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Version setArguments(Arguments arguments) {
|
public Version setArguments(Arguments arguments) {
|
||||||
return new Version(id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Version setMainClass(String mainClass) {
|
public Version setMainClass(String mainClass) {
|
||||||
return new Version(id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Version setInheritsFrom(String inheritsFrom) {
|
public Version setInheritsFrom(String inheritsFrom) {
|
||||||
return new Version(id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Version setJar(String jar) {
|
public Version setJar(String jar) {
|
||||||
return new Version(id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Version setLibraries(List<Library> libraries) {
|
public Version setLibraries(List<Library> libraries) {
|
||||||
return new Version(id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Version setLogging(Map<DownloadType, LoggingInfo> logging) {
|
public Version setLogging(Map<DownloadType, LoggingInfo> logging) {
|
||||||
return new Version(id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
return new Version(resolved, id, minecraftArguments, arguments, mainClass, inheritsFrom, jar, assetIndex, assets, libraries, compatibilityRules, downloads, logging, type, time, releaseTime, minimumLauncherVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ public abstract class Launcher {
|
|||||||
this.listener = listener;
|
this.listener = listener;
|
||||||
this.daemon = daemon;
|
this.daemon = daemon;
|
||||||
|
|
||||||
version = repository.getVersion(versionId).resolve(repository);
|
version = repository.getResolvedVersion(versionId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user