Maintains minecraft arguments when installing or uninstalling Forge, OptiFine, LiteLoader
This commit is contained in:
@@ -84,14 +84,17 @@ public class DefaultDependencyManager extends AbstractDependencyManager {
|
|||||||
case "forge":
|
case "forge":
|
||||||
return new ForgeInstallTask(this, gameVersion, version, libraryVersion)
|
return new ForgeInstallTask(this, gameVersion, version, libraryVersion)
|
||||||
.then(variables -> new LibrariesUniqueTask(variables.get("version")))
|
.then(variables -> new LibrariesUniqueTask(variables.get("version")))
|
||||||
|
.then(variables -> new MaintainTask(repository, variables.get("version")))
|
||||||
.then(variables -> new VersionJsonSaveTask(repository, variables.get("version")));
|
.then(variables -> new VersionJsonSaveTask(repository, variables.get("version")));
|
||||||
case "liteloader":
|
case "liteloader":
|
||||||
return new LiteLoaderInstallTask(this, gameVersion, version, libraryVersion)
|
return new LiteLoaderInstallTask(this, gameVersion, version, libraryVersion)
|
||||||
.then(variables -> new LibrariesUniqueTask(variables.get("version")))
|
.then(variables -> new LibrariesUniqueTask(variables.get("version")))
|
||||||
|
.then(variables -> new MaintainTask(repository, variables.get("version")))
|
||||||
.then(variables -> new VersionJsonSaveTask(repository, variables.get("version")));
|
.then(variables -> new VersionJsonSaveTask(repository, variables.get("version")));
|
||||||
case "optifine":
|
case "optifine":
|
||||||
return new OptiFineInstallTask(this, gameVersion, version, libraryVersion)
|
return new OptiFineInstallTask(this, gameVersion, version, libraryVersion)
|
||||||
.then(variables -> new LibrariesUniqueTask(variables.get("version")))
|
.then(variables -> new LibrariesUniqueTask(variables.get("version")))
|
||||||
|
.then(variables -> new MaintainTask(repository, variables.get("version")))
|
||||||
.then(variables -> new VersionJsonSaveTask(repository, variables.get("version")));
|
.then(variables -> new VersionJsonSaveTask(repository, variables.get("version")));
|
||||||
default:
|
default:
|
||||||
throw new IllegalArgumentException("Library id " + libraryId + " is unrecognized.");
|
throw new IllegalArgumentException("Library id " + libraryId + " is unrecognized.");
|
||||||
|
|||||||
@@ -68,8 +68,15 @@ public class MaintainTask extends TaskResult<Version> {
|
|||||||
removeTweakClass(args, "forge");
|
removeTweakClass(args, "forge");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Installing Forge will override the Minecraft arguments in json, so LiteLoader and OptiFine Tweaker are being re-added.
|
||||||
|
|
||||||
if (liteLoader == null) {
|
if (liteLoader == null) {
|
||||||
removeTweakClass(args, "liteloader");
|
removeTweakClass(args, "liteloader");
|
||||||
|
} else {
|
||||||
|
if (!StringUtils.containsOne(args, "LiteLoaderTweaker")) {
|
||||||
|
args.add("--tweakClass");
|
||||||
|
args.add("com.mumfrey.liteloader.launch.LiteLoaderTweaker");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (optiFine == null) {
|
if (optiFine == null) {
|
||||||
@@ -88,7 +95,7 @@ public class MaintainTask extends TaskResult<Version> {
|
|||||||
removeTweakClass(args, "optifine");
|
removeTweakClass(args, "optifine");
|
||||||
}
|
}
|
||||||
|
|
||||||
setResult(newVersion);
|
setResult(newVersion.setMinecraftArguments(StringUtils.makeCommand(args)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user