diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MultiMCInstancePatch.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MultiMCInstancePatch.java index 42db2eb13..c39451363 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MultiMCInstancePatch.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/MultiMCInstancePatch.java @@ -20,6 +20,7 @@ package org.jackhuang.hmcl.mod; import com.google.gson.annotations.SerializedName; import org.jackhuang.hmcl.game.Library; import org.jackhuang.hmcl.util.Immutable; +import org.jackhuang.hmcl.util.Lang; import java.util.ArrayList; import java.util.Collections; @@ -44,19 +45,23 @@ public final class MultiMCInstancePatch { private final List tweakers; @SerializedName("+libraries") + private final List _libraries; + + @SerializedName("libraries") private final List libraries; public MultiMCInstancePatch() { - this("", "", "", "", "", Collections.emptyList(), Collections.emptyList()); + this("", "", "", "", "", Collections.emptyList(), Collections.emptyList(), Collections.emptyList()); } - public MultiMCInstancePatch(String name, String version, String gameVersion, String mainClass, String fileId, List tweakers, List libraries) { + public MultiMCInstancePatch(String name, String version, String gameVersion, String mainClass, String fileId, List tweakers, List _libraries, List libraries) { this.name = name; this.version = version; this.gameVersion = gameVersion; this.mainClass = mainClass; this.fileId = fileId; this.tweakers = new ArrayList<>(tweakers); + this._libraries = new ArrayList<>(_libraries); this.libraries = new ArrayList<>(libraries); } @@ -85,7 +90,7 @@ public final class MultiMCInstancePatch { } public List getLibraries() { - return Collections.unmodifiableList(libraries); + return Lang.merge(_libraries, libraries); } }