mirror of
https://github.com/HMCL-dev/HMCL.git
synced 2025-01-30 14:39:56 +08:00
Improve quilt support (#1974)
This commit is contained in:
parent
2d4ca3100e
commit
6475e03c01
@ -37,6 +37,8 @@ import org.jackhuang.hmcl.download.game.GameInstallTask;
|
|||||||
import org.jackhuang.hmcl.download.java.JavaDownloadTask;
|
import org.jackhuang.hmcl.download.java.JavaDownloadTask;
|
||||||
import org.jackhuang.hmcl.download.liteloader.LiteLoaderInstallTask;
|
import org.jackhuang.hmcl.download.liteloader.LiteLoaderInstallTask;
|
||||||
import org.jackhuang.hmcl.download.optifine.OptiFineInstallTask;
|
import org.jackhuang.hmcl.download.optifine.OptiFineInstallTask;
|
||||||
|
import org.jackhuang.hmcl.download.quilt.QuiltAPIInstallTask;
|
||||||
|
import org.jackhuang.hmcl.download.quilt.QuiltInstallTask;
|
||||||
import org.jackhuang.hmcl.game.HMCLModpackInstallTask;
|
import org.jackhuang.hmcl.game.HMCLModpackInstallTask;
|
||||||
import org.jackhuang.hmcl.mod.MinecraftInstanceTask;
|
import org.jackhuang.hmcl.mod.MinecraftInstanceTask;
|
||||||
import org.jackhuang.hmcl.mod.ModpackInstallTask;
|
import org.jackhuang.hmcl.mod.ModpackInstallTask;
|
||||||
@ -129,6 +131,10 @@ public final class TaskListPane extends StackPane {
|
|||||||
task.setName(i18n("install.installer.install", i18n("install.installer.fabric")));
|
task.setName(i18n("install.installer.install", i18n("install.installer.fabric")));
|
||||||
} else if (task instanceof FabricAPIInstallTask) {
|
} else if (task instanceof FabricAPIInstallTask) {
|
||||||
task.setName(i18n("install.installer.install", i18n("install.installer.fabric-api")));
|
task.setName(i18n("install.installer.install", i18n("install.installer.fabric-api")));
|
||||||
|
} else if (task instanceof QuiltInstallTask) {
|
||||||
|
task.setName(i18n("install.installer.install", i18n("install.installer.quilt")));
|
||||||
|
} else if (task instanceof QuiltAPIInstallTask) {
|
||||||
|
task.setName(i18n("install.installer.install", i18n("install.installer.quilt-api")));
|
||||||
} else if (task instanceof CurseCompletionTask || task instanceof ModrinthCompletionTask || task instanceof ServerModpackCompletionTask || task instanceof McbbsModpackCompletionTask) {
|
} else if (task instanceof CurseCompletionTask || task instanceof ModrinthCompletionTask || task instanceof ServerModpackCompletionTask || task instanceof McbbsModpackCompletionTask) {
|
||||||
task.setName(i18n("modpack.completion"));
|
task.setName(i18n("modpack.completion"));
|
||||||
} else if (task instanceof ModpackInstallTask) {
|
} else if (task instanceof ModpackInstallTask) {
|
||||||
|
@ -112,7 +112,7 @@ public final class LibraryAnalyzer implements Iterable<LibraryAnalyzer.LibraryMa
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove library by library id
|
* Remove library by library id
|
||||||
* @param libraryId patch id or "forge"/"optifine"/"liteloader"/"fabric"
|
* @param libraryId patch id or "forge"/"optifine"/"liteloader"/"fabric"/"quilt"
|
||||||
* @return this
|
* @return this
|
||||||
*/
|
*/
|
||||||
public LibraryAnalyzer removeLibrary(String libraryId) {
|
public LibraryAnalyzer removeLibrary(String libraryId) {
|
||||||
@ -155,7 +155,10 @@ public final class LibraryAnalyzer implements Iterable<LibraryAnalyzer.LibraryMa
|
|||||||
public static boolean isModded(VersionProvider provider, Version version) {
|
public static boolean isModded(VersionProvider provider, Version version) {
|
||||||
Version resolvedVersion = version.resolve(provider);
|
Version resolvedVersion = version.resolve(provider);
|
||||||
String mainClass = resolvedVersion.getMainClass();
|
String mainClass = resolvedVersion.getMainClass();
|
||||||
return mainClass != null && (LAUNCH_WRAPPER_MAIN.equals(mainClass) || mainClass.startsWith("net.fabricmc") || mainClass.startsWith("cpw.mods"));
|
return mainClass != null && (LAUNCH_WRAPPER_MAIN.equals(mainClass)
|
||||||
|
|| mainClass.startsWith("net.fabricmc")
|
||||||
|
|| mainClass.startsWith("org.quiltmc")
|
||||||
|
|| mainClass.startsWith("cpw.mods"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum LibraryType {
|
public enum LibraryType {
|
||||||
|
@ -91,6 +91,8 @@ public class ServerModpackExportTask extends Task<Void> {
|
|||||||
addons.add(new ServerModpackManifest.Addon(OPTIFINE.getPatchId(), optifineVersion)));
|
addons.add(new ServerModpackManifest.Addon(OPTIFINE.getPatchId(), optifineVersion)));
|
||||||
analyzer.getVersion(FABRIC).ifPresent(fabricVersion ->
|
analyzer.getVersion(FABRIC).ifPresent(fabricVersion ->
|
||||||
addons.add(new ServerModpackManifest.Addon(FABRIC.getPatchId(), fabricVersion)));
|
addons.add(new ServerModpackManifest.Addon(FABRIC.getPatchId(), fabricVersion)));
|
||||||
|
analyzer.getVersion(QUILT).ifPresent(quiltVersion ->
|
||||||
|
addons.add(new ServerModpackManifest.Addon(QUILT.getPatchId(), quiltVersion)));
|
||||||
ServerModpackManifest manifest = new ServerModpackManifest(exportInfo.getName(), exportInfo.getAuthor(), exportInfo.getVersion(), exportInfo.getDescription(), StringUtils.removeSuffix(exportInfo.getFileApi(), "/"), files, addons);
|
ServerModpackManifest manifest = new ServerModpackManifest(exportInfo.getName(), exportInfo.getAuthor(), exportInfo.getVersion(), exportInfo.getDescription(), StringUtils.removeSuffix(exportInfo.getFileApi(), "/"), files, addons);
|
||||||
zip.putTextFile(JsonUtils.GSON.toJson(manifest), "server-manifest.json");
|
zip.putTextFile(JsonUtils.GSON.toJson(manifest), "server-manifest.json");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user