* Fix #2854: 修复 LibraryAnalyzer.analyze 无法获得游戏版本的问题 * delete debug code * update
This commit is contained in:
@@ -282,7 +282,7 @@ public class HMCLGameRepository extends DefaultGameRepository {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (LibraryAnalyzer.isModded(this, version)) {
|
if (LibraryAnalyzer.isModded(this, version)) {
|
||||||
LibraryAnalyzer libraryAnalyzer = LibraryAnalyzer.analyze(version);
|
LibraryAnalyzer libraryAnalyzer = LibraryAnalyzer.analyze(version, getGameVersion(version).orElse(null));
|
||||||
if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.FABRIC))
|
if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.FABRIC))
|
||||||
return VersionIconType.FABRIC.getIcon();
|
return VersionIconType.FABRIC.getIcon();
|
||||||
else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.FORGE))
|
else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.FORGE))
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ public final class HMCLModpackInstallTask extends Task<Void> {
|
|||||||
public void execute() throws Exception {
|
public void execute() throws Exception {
|
||||||
String json = CompressingUtils.readTextZipEntry(zipFile, "minecraft/pack.json");
|
String json = CompressingUtils.readTextZipEntry(zipFile, "minecraft/pack.json");
|
||||||
Version originalVersion = JsonUtils.GSON.fromJson(json, Version.class).setId(name).setJar(null);
|
Version originalVersion = JsonUtils.GSON.fromJson(json, Version.class).setId(name).setJar(null);
|
||||||
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(originalVersion);
|
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(originalVersion, repository.getGameVersion(originalVersion).orElse(null));
|
||||||
Task<Version> libraryTask = Task.supplyAsync(() -> originalVersion);
|
Task<Version> libraryTask = Task.supplyAsync(() -> originalVersion);
|
||||||
// reinstall libraries
|
// reinstall libraries
|
||||||
// libraries of Forge and OptiFine should be obtained by installation.
|
// libraries of Forge and OptiFine should be obtained by installation.
|
||||||
|
|||||||
@@ -417,7 +417,7 @@ public final class LauncherHelper {
|
|||||||
JavaVersionConstraint violatedMandatoryConstraint = null;
|
JavaVersionConstraint violatedMandatoryConstraint = null;
|
||||||
List<JavaVersionConstraint> violatedSuggestedConstraints = null;
|
List<JavaVersionConstraint> violatedSuggestedConstraints = null;
|
||||||
|
|
||||||
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(version);
|
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(version, gameVersion.toString());
|
||||||
for (JavaVersionConstraint constraint : JavaVersionConstraint.ALL) {
|
for (JavaVersionConstraint constraint : JavaVersionConstraint.ALL) {
|
||||||
if (constraint.appliesToVersion(gameVersion, version, javaVersion, analyzer)) {
|
if (constraint.appliesToVersion(gameVersion, version, javaVersion, analyzer)) {
|
||||||
if (!constraint.checkJava(gameVersion, version, javaVersion)) {
|
if (!constraint.checkJava(gameVersion, version, javaVersion)) {
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ public class GameCrashWindow extends Stage {
|
|||||||
this.version = version;
|
this.version = version;
|
||||||
this.launchOptions = launchOptions;
|
this.launchOptions = launchOptions;
|
||||||
this.logs = logs;
|
this.logs = logs;
|
||||||
this.analyzer = LibraryAnalyzer.analyze(version);
|
this.analyzer = LibraryAnalyzer.analyze(version, repository.getGameVersion(version).orElse(null));
|
||||||
|
|
||||||
memory = Optional.ofNullable(launchOptions.getMaxMemory()).map(i -> i + " MB").orElse("-");
|
memory = Optional.ofNullable(launchOptions.getMaxMemory()).map(i -> i + " MB").orElse("-");
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,8 @@ class AdditionalInstallersPage extends InstallersPage {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void reload() {
|
protected void reload() {
|
||||||
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(version.resolvePreservingPatches(repository));
|
Version resolved = version.resolvePreservingPatches(repository);
|
||||||
|
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(resolved, repository.getGameVersion(resolved).orElse(null));
|
||||||
String game = analyzer.getVersion(MINECRAFT).orElse(null);
|
String game = analyzer.getVersion(MINECRAFT).orElse(null);
|
||||||
String currentGameVersion = Lang.nonNull(getVersion("game"), game);
|
String currentGameVersion = Lang.nonNull(getVersion("game"), game);
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import javafx.scene.image.ImageView;
|
|||||||
import javafx.scene.layout.*;
|
import javafx.scene.layout.*;
|
||||||
import javafx.stage.FileChooser;
|
import javafx.stage.FileChooser;
|
||||||
import org.jackhuang.hmcl.download.LibraryAnalyzer;
|
import org.jackhuang.hmcl.download.LibraryAnalyzer;
|
||||||
|
import org.jackhuang.hmcl.game.HMCLGameRepository;
|
||||||
import org.jackhuang.hmcl.game.Version;
|
import org.jackhuang.hmcl.game.Version;
|
||||||
import org.jackhuang.hmcl.mod.ModLoaderType;
|
import org.jackhuang.hmcl.mod.ModLoaderType;
|
||||||
import org.jackhuang.hmcl.mod.RemoteMod;
|
import org.jackhuang.hmcl.mod.RemoteMod;
|
||||||
@@ -291,8 +292,9 @@ public class DownloadPage extends Control implements DecoratorPage {
|
|||||||
if (control.versions == null) return;
|
if (control.versions == null) return;
|
||||||
|
|
||||||
if (control.version.getProfile() != null && control.version.getVersion() != null) {
|
if (control.version.getProfile() != null && control.version.getVersion() != null) {
|
||||||
Version game = control.version.getProfile().getRepository().getResolvedPreservingPatchesVersion(control.version.getVersion());
|
HMCLGameRepository repository = control.version.getProfile().getRepository();
|
||||||
LibraryAnalyzer libraryAnalyzer = LibraryAnalyzer.analyze(game);
|
Version game = repository.getResolvedPreservingPatchesVersion(control.version.getVersion());
|
||||||
|
LibraryAnalyzer libraryAnalyzer = LibraryAnalyzer.analyze(game, repository.getGameVersion(game).orElse(null));
|
||||||
libraryAnalyzer.getVersion(LibraryAnalyzer.LibraryType.MINECRAFT).ifPresent(currentGameVersion -> {
|
libraryAnalyzer.getVersion(LibraryAnalyzer.LibraryType.MINECRAFT).ifPresent(currentGameVersion -> {
|
||||||
Set<ModLoaderType> currentGameModLoaders = libraryAnalyzer.getModLoaders();
|
Set<ModLoaderType> currentGameModLoaders = libraryAnalyzer.getModLoaders();
|
||||||
if (control.versions.containsKey(currentGameVersion)) {
|
if (control.versions.containsKey(currentGameVersion)) {
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ import javafx.scene.control.Control;
|
|||||||
import javafx.scene.control.Skin;
|
import javafx.scene.control.Skin;
|
||||||
import javafx.scene.image.Image;
|
import javafx.scene.image.Image;
|
||||||
import org.jackhuang.hmcl.download.LibraryAnalyzer;
|
import org.jackhuang.hmcl.download.LibraryAnalyzer;
|
||||||
|
import org.jackhuang.hmcl.game.HMCLGameRepository;
|
||||||
|
import org.jackhuang.hmcl.game.Version;
|
||||||
import org.jackhuang.hmcl.mod.ModpackConfiguration;
|
import org.jackhuang.hmcl.mod.ModpackConfiguration;
|
||||||
import org.jackhuang.hmcl.setting.Profile;
|
import org.jackhuang.hmcl.setting.Profile;
|
||||||
import org.jackhuang.hmcl.util.i18n.I18n;
|
import org.jackhuang.hmcl.util.i18n.I18n;
|
||||||
@@ -62,7 +64,9 @@ public class GameItem extends Control {
|
|||||||
CompletableFuture.supplyAsync(() -> profile.getRepository().getGameVersion(id).orElse(i18n("message.unknown")), POOL_VERSION_RESOLVE)
|
CompletableFuture.supplyAsync(() -> profile.getRepository().getGameVersion(id).orElse(i18n("message.unknown")), POOL_VERSION_RESOLVE)
|
||||||
.thenAcceptAsync(game -> {
|
.thenAcceptAsync(game -> {
|
||||||
StringBuilder libraries = new StringBuilder(game);
|
StringBuilder libraries = new StringBuilder(game);
|
||||||
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(profile.getRepository().getResolvedPreservingPatchesVersion(id));
|
HMCLGameRepository repository = profile.getRepository();
|
||||||
|
Version resolved = repository.getResolvedPreservingPatchesVersion(id);
|
||||||
|
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(resolved, repository.getGameVersion(resolved).orElse(null));
|
||||||
for (LibraryAnalyzer.LibraryMark mark : analyzer) {
|
for (LibraryAnalyzer.LibraryMark mark : analyzer) {
|
||||||
String libraryId = mark.getLibraryId();
|
String libraryId = mark.getLibraryId();
|
||||||
String libraryVersion = mark.getLibraryVersion();
|
String libraryVersion = mark.getLibraryVersion();
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ public class InstallerListPage extends ListPageBase<InstallerItem> implements Ve
|
|||||||
CompletableFuture.supplyAsync(() -> {
|
CompletableFuture.supplyAsync(() -> {
|
||||||
gameVersion = profile.getRepository().getGameVersion(version).orElse(null);
|
gameVersion = profile.getRepository().getGameVersion(version).orElse(null);
|
||||||
|
|
||||||
return LibraryAnalyzer.analyze(profile.getRepository().getResolvedPreservingPatchesVersion(versionId));
|
return LibraryAnalyzer.analyze(profile.getRepository().getResolvedPreservingPatchesVersion(versionId), gameVersion);
|
||||||
}).thenAcceptAsync(analyzer -> {
|
}).thenAcceptAsync(analyzer -> {
|
||||||
Function<String, Runnable> removeAction = libraryId -> () -> {
|
Function<String, Runnable> removeAction = libraryId -> () -> {
|
||||||
profile.getDependency().removeLibraryAsync(version, libraryId)
|
profile.getDependency().removeLibraryAsync(version, libraryId)
|
||||||
|
|||||||
@@ -24,6 +24,8 @@ import javafx.collections.ObservableList;
|
|||||||
import javafx.scene.control.Skin;
|
import javafx.scene.control.Skin;
|
||||||
import javafx.stage.FileChooser;
|
import javafx.stage.FileChooser;
|
||||||
import org.jackhuang.hmcl.download.LibraryAnalyzer;
|
import org.jackhuang.hmcl.download.LibraryAnalyzer;
|
||||||
|
import org.jackhuang.hmcl.game.HMCLGameRepository;
|
||||||
|
import org.jackhuang.hmcl.game.Version;
|
||||||
import org.jackhuang.hmcl.mod.LocalModFile;
|
import org.jackhuang.hmcl.mod.LocalModFile;
|
||||||
import org.jackhuang.hmcl.mod.ModManager;
|
import org.jackhuang.hmcl.mod.ModManager;
|
||||||
import org.jackhuang.hmcl.setting.Profile;
|
import org.jackhuang.hmcl.setting.Profile;
|
||||||
@@ -84,7 +86,9 @@ public final class ModListPage extends ListPageBase<ModListPageSkin.ModInfoObjec
|
|||||||
this.profile = profile;
|
this.profile = profile;
|
||||||
this.versionId = id;
|
this.versionId = id;
|
||||||
|
|
||||||
libraryAnalyzer = LibraryAnalyzer.analyze(profile.getRepository().getResolvedPreservingPatchesVersion(id));
|
HMCLGameRepository repository = profile.getRepository();
|
||||||
|
Version resolved = repository.getResolvedPreservingPatchesVersion(id);
|
||||||
|
libraryAnalyzer = LibraryAnalyzer.analyze(resolved, repository.getGameVersion(resolved).orElse(null));
|
||||||
modded.set(libraryAnalyzer.hasModLoader());
|
modded.set(libraryAnalyzer.hasModLoader());
|
||||||
loadMods(profile.getRepository().getModManager(id));
|
loadMods(profile.getRepository().getModManager(id));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ public class DefaultDependencyManager extends AbstractDependencyManager {
|
|||||||
Version original = repository.getVersion(version.getId());
|
Version original = repository.getVersion(version.getId());
|
||||||
Version resolved = original.resolvePreservingPatches(repository);
|
Version resolved = original.resolvePreservingPatches(repository);
|
||||||
|
|
||||||
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(resolved);
|
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(resolved, repository.getGameVersion(resolved).orElse(null));
|
||||||
for (LibraryAnalyzer.LibraryType type : LibraryAnalyzer.LibraryType.values()) {
|
for (LibraryAnalyzer.LibraryType type : LibraryAnalyzer.LibraryType.values()) {
|
||||||
if (!analyzer.has(type))
|
if (!analyzer.has(type))
|
||||||
continue;
|
continue;
|
||||||
@@ -218,8 +218,9 @@ public class DefaultDependencyManager extends AbstractDependencyManager {
|
|||||||
if (version.isResolved())
|
if (version.isResolved())
|
||||||
throw new IllegalArgumentException("removeLibraryWithoutSavingAsync requires non-resolved version");
|
throw new IllegalArgumentException("removeLibraryWithoutSavingAsync requires non-resolved version");
|
||||||
Version independentVersion = version.resolvePreservingPatches(repository);
|
Version independentVersion = version.resolvePreservingPatches(repository);
|
||||||
|
String gameVersion = repository.getGameVersion(independentVersion).orElse(null);
|
||||||
|
|
||||||
return Task.supplyAsync(() -> LibraryAnalyzer.analyze(independentVersion).removeLibrary(libraryId).build());
|
return Task.supplyAsync(() -> LibraryAnalyzer.analyze(independentVersion, gameVersion).removeLibrary(libraryId).build());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -130,12 +130,16 @@ public final class LibraryAnalyzer implements Iterable<LibraryAnalyzer.LibraryMa
|
|||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static LibraryAnalyzer analyze(Version version) {
|
public static LibraryAnalyzer analyze(Version version, String gameVersion) {
|
||||||
if (version.getInheritsFrom() != null)
|
if (version.getInheritsFrom() != null)
|
||||||
throw new IllegalArgumentException("LibraryAnalyzer can only analyze independent game version");
|
throw new IllegalArgumentException("LibraryAnalyzer can only analyze independent game version");
|
||||||
|
|
||||||
Map<String, Pair<Library, String>> libraries = new HashMap<>();
|
Map<String, Pair<Library, String>> libraries = new HashMap<>();
|
||||||
|
|
||||||
|
if (gameVersion != null) {
|
||||||
|
libraries.put(LibraryType.MINECRAFT.getPatchId(), pair(null, gameVersion));
|
||||||
|
}
|
||||||
|
|
||||||
List<Library> rawLibraries = version.resolve(null).getLibraries();
|
List<Library> rawLibraries = version.resolve(null).getLibraries();
|
||||||
for (Library library : rawLibraries) {
|
for (Library library : rawLibraries) {
|
||||||
for (LibraryType type : LibraryType.values()) {
|
for (LibraryType type : LibraryType.values()) {
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ public class MaintainTask extends Task<Version> {
|
|||||||
String mainClass = version.resolve(null).getMainClass();
|
String mainClass = version.resolve(null).getMainClass();
|
||||||
|
|
||||||
if (mainClass != null && mainClass.equals(LibraryAnalyzer.LAUNCH_WRAPPER_MAIN)) {
|
if (mainClass != null && mainClass.equals(LibraryAnalyzer.LAUNCH_WRAPPER_MAIN)) {
|
||||||
version = maintainOptiFineLibrary(repository, maintainGameWithLaunchWrapper(unique(version), true), false);
|
version = maintainOptiFineLibrary(repository, maintainGameWithLaunchWrapper(repository, unique(version), true), false);
|
||||||
} else if (mainClass != null && mainClass.equals(LibraryAnalyzer.MOD_LAUNCHER_MAIN)) {
|
} else if (mainClass != null && mainClass.equals(LibraryAnalyzer.MOD_LAUNCHER_MAIN)) {
|
||||||
// Forge 1.13 and OptiFine
|
// Forge 1.13 and OptiFine
|
||||||
version = maintainOptiFineLibrary(repository, maintainGameWithCpwModLauncher(repository, unique(version)), true);
|
version = maintainOptiFineLibrary(repository, maintainGameWithCpwModLauncher(repository, unique(version)), true);
|
||||||
@@ -97,8 +97,8 @@ public class MaintainTask extends Task<Version> {
|
|||||||
return newVersion.setPatches(version.getPatches()).markAsUnresolved();
|
return newVersion.setPatches(version.getPatches()).markAsUnresolved();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Version maintainGameWithLaunchWrapper(Version version, boolean reorderTweakClass) {
|
private static Version maintainGameWithLaunchWrapper(GameRepository repository, Version version, boolean reorderTweakClass) {
|
||||||
LibraryAnalyzer libraryAnalyzer = LibraryAnalyzer.analyze(version);
|
LibraryAnalyzer libraryAnalyzer = LibraryAnalyzer.analyze(version, repository.getGameVersion(version).orElse(null));
|
||||||
VersionLibraryBuilder builder = new VersionLibraryBuilder(version);
|
VersionLibraryBuilder builder = new VersionLibraryBuilder(version);
|
||||||
String mainClass = null;
|
String mainClass = null;
|
||||||
|
|
||||||
@@ -147,7 +147,7 @@ public class MaintainTask extends Task<Version> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static Version maintainGameWithCpwModLauncher(GameRepository repository, Version version) {
|
private static Version maintainGameWithCpwModLauncher(GameRepository repository, Version version) {
|
||||||
LibraryAnalyzer libraryAnalyzer = LibraryAnalyzer.analyze(version);
|
LibraryAnalyzer libraryAnalyzer = LibraryAnalyzer.analyze(version, repository.getGameVersion(version).orElse(null));
|
||||||
VersionLibraryBuilder builder = new VersionLibraryBuilder(version);
|
VersionLibraryBuilder builder = new VersionLibraryBuilder(version);
|
||||||
|
|
||||||
if (!libraryAnalyzer.has(FORGE)) return version;
|
if (!libraryAnalyzer.has(FORGE)) return version;
|
||||||
@@ -205,7 +205,7 @@ public class MaintainTask extends Task<Version> {
|
|||||||
|
|
||||||
// Fix wrong configurations when launching 1.17+ with Forge.
|
// Fix wrong configurations when launching 1.17+ with Forge.
|
||||||
private static Version maintainGameWithCpwBoostrapLauncher(GameRepository repository, Version version) {
|
private static Version maintainGameWithCpwBoostrapLauncher(GameRepository repository, Version version) {
|
||||||
LibraryAnalyzer libraryAnalyzer = LibraryAnalyzer.analyze(version);
|
LibraryAnalyzer libraryAnalyzer = LibraryAnalyzer.analyze(version, repository.getGameVersion(version).orElse(null));
|
||||||
VersionLibraryBuilder builder = new VersionLibraryBuilder(version);
|
VersionLibraryBuilder builder = new VersionLibraryBuilder(version);
|
||||||
|
|
||||||
if (!libraryAnalyzer.has(FORGE) && !libraryAnalyzer.has(NEO_FORGE)) return version;
|
if (!libraryAnalyzer.has(FORGE) && !libraryAnalyzer.has(NEO_FORGE)) return version;
|
||||||
@@ -247,7 +247,7 @@ public class MaintainTask extends Task<Version> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static Version maintainOptiFineLibrary(GameRepository repository, Version version, boolean remove) {
|
private static Version maintainOptiFineLibrary(GameRepository repository, Version version, boolean remove) {
|
||||||
LibraryAnalyzer libraryAnalyzer = LibraryAnalyzer.analyze(version);
|
LibraryAnalyzer libraryAnalyzer = LibraryAnalyzer.analyze(version, repository.getGameVersion(version).orElse(null));
|
||||||
List<Library> libraries = new ArrayList<>(version.getLibraries());
|
List<Library> libraries = new ArrayList<>(version.getLibraries());
|
||||||
|
|
||||||
if (libraryAnalyzer.has(OPTIFINE)) {
|
if (libraryAnalyzer.has(OPTIFINE)) {
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ public final class GameVerificationFixTask extends Task<Void> {
|
|||||||
@Override
|
@Override
|
||||||
public void execute() throws IOException {
|
public void execute() throws IOException {
|
||||||
File jar = dependencyManager.getGameRepository().getVersionJar(version);
|
File jar = dependencyManager.getGameRepository().getVersionJar(version);
|
||||||
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(version);
|
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(version, gameVersion);
|
||||||
|
|
||||||
if (jar.exists() && GameVersionNumber.compare(gameVersion, "1.6") < 0 && analyzer.has(LibraryAnalyzer.LibraryType.FORGE)) {
|
if (jar.exists() && GameVersionNumber.compare(gameVersion, "1.6") < 0 && analyzer.has(LibraryAnalyzer.LibraryType.FORGE)) {
|
||||||
try (FileSystem fs = CompressingUtils.createWritableZipFileSystem(jar.toPath(), StandardCharsets.UTF_8)) {
|
try (FileSystem fs = CompressingUtils.createWritableZipFileSystem(jar.toPath(), StandardCharsets.UTF_8)) {
|
||||||
|
|||||||
@@ -226,7 +226,7 @@ public enum JavaVersionConstraint {
|
|||||||
public static VersionRanges findSuitableJavaVersionRange(GameVersionNumber gameVersion, Version version) {
|
public static VersionRanges findSuitableJavaVersionRange(GameVersionNumber gameVersion, Version version) {
|
||||||
VersionRange<VersionNumber> mandatoryJavaRange = VersionRange.all();
|
VersionRange<VersionNumber> mandatoryJavaRange = VersionRange.all();
|
||||||
VersionRange<VersionNumber> suggestedJavaRange = VersionRange.all();
|
VersionRange<VersionNumber> suggestedJavaRange = VersionRange.all();
|
||||||
LibraryAnalyzer analyzer = version != null ? LibraryAnalyzer.analyze(version) : null;
|
LibraryAnalyzer analyzer = version != null ? LibraryAnalyzer.analyze(version, gameVersion != null ? gameVersion.toString() : null) : null;
|
||||||
for (JavaVersionConstraint java : ALL) {
|
for (JavaVersionConstraint java : ALL) {
|
||||||
if (java.appliesToVersion(gameVersion, version, null, analyzer)) {
|
if (java.appliesToVersion(gameVersion, version, null, analyzer)) {
|
||||||
VersionRange<VersionNumber> javaVersionRange = java.getJavaVersionRange(version);
|
VersionRange<VersionNumber> javaVersionRange = java.getJavaVersionRange(version);
|
||||||
|
|||||||
@@ -505,7 +505,7 @@ public class DefaultLauncher extends Launcher {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(version);
|
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(version, repository.getGameVersion(version).orElse(null));
|
||||||
if (analyzer.has(LibraryAnalyzer.LibraryType.FORGE)) {
|
if (analyzer.has(LibraryAnalyzer.LibraryType.FORGE)) {
|
||||||
env.put("INST_FORGE", "1");
|
env.put("INST_FORGE", "1");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,9 +82,9 @@ public class McbbsModpackExportTask extends Task<Void> {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(repository.getResolvedPreservingPatchesVersion(version));
|
|
||||||
String gameVersion = repository.getGameVersion(version)
|
String gameVersion = repository.getGameVersion(version)
|
||||||
.orElseThrow(() -> new IOException("Cannot parse the version of " + version));
|
.orElseThrow(() -> new IOException("Cannot parse the version of " + version));
|
||||||
|
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(repository.getResolvedPreservingPatchesVersion(version), gameVersion);
|
||||||
|
|
||||||
// Mcbbs manifest
|
// Mcbbs manifest
|
||||||
List<McbbsModpackManifest.Addon> addons = new ArrayList<>();
|
List<McbbsModpackManifest.Addon> addons = new ArrayList<>();
|
||||||
|
|||||||
@@ -70,9 +70,9 @@ public class MultiMCModpackExportTask extends Task<Void> {
|
|||||||
try (Zipper zip = new Zipper(output.toPath())) {
|
try (Zipper zip = new Zipper(output.toPath())) {
|
||||||
zip.putDirectory(repository.getRunDirectory(versionId).toPath(), ".minecraft", path -> Modpack.acceptFile(path, blackList, whitelist));
|
zip.putDirectory(repository.getRunDirectory(versionId).toPath(), ".minecraft", path -> Modpack.acceptFile(path, blackList, whitelist));
|
||||||
|
|
||||||
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(repository.getResolvedPreservingPatchesVersion(versionId));
|
|
||||||
String gameVersion = repository.getGameVersion(versionId)
|
String gameVersion = repository.getGameVersion(versionId)
|
||||||
.orElseThrow(() -> new IOException("Cannot parse the version of " + versionId));
|
.orElseThrow(() -> new IOException("Cannot parse the version of " + versionId));
|
||||||
|
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(repository.getResolvedPreservingPatchesVersion(versionId), gameVersion);
|
||||||
List<MultiMCManifest.MultiMCManifestComponent> components = new ArrayList<>();
|
List<MultiMCManifest.MultiMCManifestComponent> components = new ArrayList<>();
|
||||||
components.add(new MultiMCManifest.MultiMCManifestComponent(true, false, "net.minecraft", gameVersion));
|
components.add(new MultiMCManifest.MultiMCManifestComponent(true, false, "net.minecraft", gameVersion));
|
||||||
analyzer.getVersion(FORGE).ifPresent(forgeVersion ->
|
analyzer.getVersion(FORGE).ifPresent(forgeVersion ->
|
||||||
|
|||||||
@@ -78,9 +78,9 @@ public class ServerModpackExportTask extends Task<Void> {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(repository.getResolvedPreservingPatchesVersion(versionId));
|
|
||||||
String gameVersion = repository.getGameVersion(versionId)
|
String gameVersion = repository.getGameVersion(versionId)
|
||||||
.orElseThrow(() -> new IOException("Cannot parse the version of " + versionId));
|
.orElseThrow(() -> new IOException("Cannot parse the version of " + versionId));
|
||||||
|
LibraryAnalyzer analyzer = LibraryAnalyzer.analyze(repository.getResolvedPreservingPatchesVersion(versionId), gameVersion);
|
||||||
List<ServerModpackManifest.Addon> addons = new ArrayList<>();
|
List<ServerModpackManifest.Addon> addons = new ArrayList<>();
|
||||||
addons.add(new ServerModpackManifest.Addon(MINECRAFT.getPatchId(), gameVersion));
|
addons.add(new ServerModpackManifest.Addon(MINECRAFT.getPatchId(), gameVersion));
|
||||||
analyzer.getVersion(FORGE).ifPresent(forgeVersion ->
|
analyzer.getVersion(FORGE).ifPresent(forgeVersion ->
|
||||||
|
|||||||
Reference in New Issue
Block a user