Skip to content

Commit 80ab8a5

Browse files
committed
MultiMC gen
1 parent 693a803 commit 80ab8a5

19 files changed

Lines changed: 4048 additions & 1875 deletions

src/main/java/GeneratePresetJSON.java renamed to src/main/java/lbq/jsongen/GeneratePresetJSON.java

Lines changed: 37 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
package lbq.jsongen;
2+
13
import static lbq.jsongen.JSONUtil.generateLibraryEntry;
24

35
import java.io.BufferedWriter;
@@ -7,49 +9,72 @@
79
import java.nio.file.Files;
810
import java.nio.file.Path;
911
import java.nio.file.Paths;
12+
import java.util.ArrayList;
13+
import java.util.Arrays;
14+
import java.util.List;
1015

1116
import org.json.JSONArray;
1217
import org.json.JSONObject;
1318

14-
import lbq.jsongen.Util;
15-
1619
public class GeneratePresetJSON {
1720
public static void main(String[] args) throws IOException {
21+
final boolean experimentalLWJGL3 = true;
1822
String repo1 = "https://mcphackers.github.io/libraries/";
19-
String[] libraries1 = {
23+
List<String> libraries1 = new ArrayList<>(Arrays.asList(
2024
"org.mcphackers:launchwrapper:1.0",
2125
"org.mcphackers.rdi:rdi:1.0",
22-
"org.lwjgl.lwjgl:lwjgl:2.9.4",
23-
"org.lwjgl.lwjgl:lwjgl_util:2.9.4",
2426
"org.json:json:20230311",
2527
"com.paulscode:codecjorbis:20230120"
26-
};
28+
));
2729

2830
String repo2 = "https://libraries.minecraft.net/";
29-
String[] libraries2 = {
30-
"org.lwjgl.lwjgl:lwjgl-platform:2.9.3",
31+
List<String> libraries2 = new ArrayList<>(Arrays.asList(
3132
"com.paulscode:codecwav:20101023",
3233
"com.paulscode:libraryjavasound:20101123",
3334
"com.paulscode:librarylwjglopenal:20100824",
3435
"com.paulscode:soundsystem:20120107"
35-
};
36+
));
3637

3738
String repo3 = "https://repo.maven.apache.org/maven2/";
38-
String[] libraries3 = {
39+
List<String> libraries3 = new ArrayList<>(Arrays.asList(
3940
"net.java.jutils:jutils:1.0.0",
4041
"net.java.jinput:jinput:2.0.7",
4142
"net.java.jinput:jinput-platform:2.0.7",
4243
"org.ow2.asm:asm:9.2",
4344
"org.ow2.asm:asm-tree:9.2"
44-
};
45+
));
46+
47+
if(experimentalLWJGL3) {
48+
libraries1.add("org.mcphackers:legacy-lwjgl3:1.0.0");
49+
libraries3.add("org.lwjgl:lwjgl:3.3.2");
50+
libraries3.add("org.lwjgl:lwjgl-glfw:3.3.2");
51+
libraries3.add("org.lwjgl:lwjgl-jemalloc:3.3.2");
52+
libraries3.add("org.lwjgl:lwjgl-openal:3.3.2");
53+
libraries3.add("org.lwjgl:lwjgl-opengl:3.3.2");
54+
libraries3.add("org.lwjgl:lwjgl-stb:3.3.2");
55+
libraries3.add("org.lwjgl:lwjgl-tinyfd:3.3.2");
56+
for(String s : new String[] {"linux", "windows", "windows-x86", "windows-arm64", "linux-arm64", "linux-arm32", "macos", "macos-arm64"}) {
57+
libraries3.add("org.lwjgl:lwjgl:3.3.2:natives-" + s);
58+
libraries3.add("org.lwjgl:lwjgl-glfw:3.3.2:natives-" + s);
59+
libraries3.add("org.lwjgl:lwjgl-jemalloc:3.3.2:natives-" + s);
60+
libraries3.add("org.lwjgl:lwjgl-openal:3.3.2:natives-" + s);
61+
libraries3.add("org.lwjgl:lwjgl-opengl:3.3.2:natives-" + s);
62+
libraries3.add("org.lwjgl:lwjgl-stb:3.3.2:natives-" + s);
63+
libraries3.add("org.lwjgl:lwjgl-tinyfd:3.3.2:natives-" + s);
64+
}
65+
} else {
66+
libraries1.add("org.lwjgl.lwjgl:lwjgl:2.9.4");
67+
libraries1.add("org.lwjgl.lwjgl:lwjgl_util:2.9.4");
68+
libraries2.add("org.lwjgl.lwjgl:lwjgl-platform:2.9.3");
69+
}
4570

4671
String assetIndex = "https://mcphackers.github.io/assets/empty.json";
4772
String mainClass = "org.mcphackers.launchwrapper.Launch";
4873

4974
JSONObject presetJSON = new JSONObject();
5075
JSONObject assetIndexObj = new JSONObject();
5176
JSONObject javaVersion = new JSONObject();
52-
JSONArray librariesArray = new JSONArray(libraries1.length + libraries2.length + libraries3.length);
77+
JSONArray librariesArray = new JSONArray(libraries1.size() + libraries2.size() + libraries3.size());
5378

5479
javaVersion.put("component", "jre-legacy");
5580
javaVersion.put("majorVersion", 8);

0 commit comments

Comments
 (0)