@@ -62,10 +62,11 @@ default Path getLibraryDir() {
6262
6363 /**
6464 * @param forgeGroup Forge package group (e.g. net.minecraftforge).
65+ * @param forgeArtifact Forge package artifact (e.g. forge).
6566 * @param forgeFullVersion Forge full version (e.g. 1.14.4-28.2.0).
6667 * @return The forge installer jar path. It can also be defined by JVM argument "-Dforgewrapper.installer=<installer-path>".
6768 */
68- default Path getInstallerJar (String forgeGroup , String forgeFullVersion ) {
69+ default Path getInstallerJar (String forgeGroup , String forgeArtifact , String forgeFullVersion ) {
6970 String installer = System .getProperty ("forgewrapper.installer" );
7071 if (installer != null ) {
7172 return Paths .get (installer ).toAbsolutePath ();
@@ -87,11 +88,12 @@ default Path getMinecraftJar(String mcVersion) {
8788
8889 /**
8990 * @param forgeGroup Forge package group (e.g. net.minecraftforge).
91+ * @param forgeArtifact Forge package artifact (e.g. forge).
9092 * @param forgeFullVersion Forge full version (e.g. 1.14.4-28.2.0).
9193 * @return The list of jvm args.
9294 */
93- default List <String > getJvmArgs (String forgeGroup , String forgeFullVersion ) {
94- return this .getDataFromInstaller (forgeGroup , forgeFullVersion , "version.json" , e -> {
95+ default List <String > getJvmArgs (String forgeGroup , String forgeArtifact , String forgeFullVersion ) {
96+ return this .getDataFromInstaller (forgeGroup , forgeArtifact , forgeFullVersion , "version.json" , e -> {
9597 JsonElement element = getElement (e .getAsJsonObject ().getAsJsonObject ("arguments" ), "jvm" );
9698 List <String > args = new ArrayList <>();
9799 if (!element .equals (JsonNull .INSTANCE )) {
@@ -103,25 +105,27 @@ default List<String> getJvmArgs(String forgeGroup, String forgeFullVersion) {
103105
104106 /**
105107 * @param forgeGroup Forge package group (e.g. net.minecraftforge).
108+ * @param forgeArtifact Forge package artifact (e.g. forge).
106109 * @param forgeFullVersion Forge full version (e.g. 1.14.4-28.2.0).
107110 * @return The main class.
108111 */
109- default String getMainClass (String forgeGroup , String forgeFullVersion ) {
110- return this .getDataFromInstaller (forgeGroup , forgeFullVersion , "version.json" , e -> e .getAsJsonObject ().getAsJsonPrimitive ("mainClass" ).getAsString ());
112+ default String getMainClass (String forgeGroup , String forgeArtifact , String forgeFullVersion ) {
113+ return this .getDataFromInstaller (forgeGroup , forgeArtifact , forgeFullVersion , "version.json" , e -> e .getAsJsonObject ().getAsJsonPrimitive ("mainClass" ).getAsString ());
111114 }
112115
113116 /**
114117 * @param forgeGroup Forge package group (e.g. net.minecraftforge).
118+ * @param forgeArtifact Forge package artifact (e.g. forge).
115119 * @param forgeFullVersion Forge full version (e.g. 1.14.4-28.2.0).
116120 * @return The json object in the-installer-jar-->install_profile.json-->data-->xxx-->client.
117121 */
118- default JsonObject getInstallProfileExtraData (String forgeGroup , String forgeFullVersion ) {
119- return this .getDataFromInstaller (forgeGroup , forgeFullVersion , "install_profile.json" , e -> e .getAsJsonObject ().getAsJsonObject ("data" ));
122+ default JsonObject getInstallProfileExtraData (String forgeGroup , String forgeArtifact , String forgeFullVersion ) {
123+ return this .getDataFromInstaller (forgeGroup , forgeArtifact , forgeFullVersion , "install_profile.json" , e -> e .getAsJsonObject ().getAsJsonObject ("data" ));
120124 }
121125
122126 @ SuppressWarnings ("deprecation" )
123- default <R > R getDataFromInstaller (String forgeGroup , String forgeFullVersion , String entry , Function <JsonElement , R > function ) {
124- Path installer = this .getInstallerJar (forgeGroup , forgeFullVersion );
127+ default <R > R getDataFromInstaller (String forgeGroup , String forgeArtifact , String forgeFullVersion , String entry , Function <JsonElement , R > function ) {
128+ Path installer = this .getInstallerJar (forgeGroup , forgeArtifact , forgeFullVersion );
125129 if (isFile (installer )) {
126130 try (ZipFile zf = new ZipFile (installer .toFile ())) {
127131 ZipEntry ze = zf .getEntry (entry );
@@ -145,11 +149,12 @@ default <R> R getDataFromInstaller(String forgeGroup, String forgeFullVersion, S
145149 /**
146150 * Check all cached files.
147151 * @param forgeGroup Forge package group (e.g. net.minecraftforge).
152+ * @param forgeArtifact Forge package artifact (e.g. forge).
148153 * @param forgeFullVersion Forge full version (e.g. 1.14.4-28.2.0).
149154 * @return True represents all files are ready.
150155 */
151- default boolean checkExtraFiles (String forgeGroup , String forgeFullVersion ) {
152- JsonObject jo = this .getInstallProfileExtraData (forgeGroup , forgeFullVersion );
156+ default boolean checkExtraFiles (String forgeGroup , String forgeArtifact , String forgeFullVersion ) {
157+ JsonObject jo = this .getInstallProfileExtraData (forgeGroup , forgeArtifact , forgeFullVersion );
153158 if (jo != null ) {
154159 Map <String , Path > libsMap = new HashMap <>();
155160 Map <String , String > hashMap = new HashMap <>();
0 commit comments