|
| 1 | +package lbq.jsongen; |
| 2 | + |
1 | 3 | import static lbq.jsongen.JSONUtil.generateLibraryEntry; |
2 | 4 |
|
3 | 5 | import java.io.BufferedWriter; |
|
7 | 9 | import java.nio.file.Files; |
8 | 10 | import java.nio.file.Path; |
9 | 11 | import java.nio.file.Paths; |
| 12 | +import java.util.ArrayList; |
| 13 | +import java.util.Arrays; |
| 14 | +import java.util.List; |
10 | 15 |
|
11 | 16 | import org.json.JSONArray; |
12 | 17 | import org.json.JSONObject; |
13 | 18 |
|
14 | | -import lbq.jsongen.Util; |
15 | | - |
16 | 19 | public class GeneratePresetJSON { |
17 | 20 | public static void main(String[] args) throws IOException { |
| 21 | + final boolean experimentalLWJGL3 = true; |
18 | 22 | String repo1 = "https://mcphackers.github.io/libraries/"; |
19 | | - String[] libraries1 = { |
| 23 | + List<String> libraries1 = new ArrayList<>(Arrays.asList( |
20 | 24 | "org.mcphackers:launchwrapper:1.0", |
21 | 25 | "org.mcphackers.rdi:rdi:1.0", |
22 | | - "org.lwjgl.lwjgl:lwjgl:2.9.4", |
23 | | - "org.lwjgl.lwjgl:lwjgl_util:2.9.4", |
24 | 26 | "org.json:json:20230311", |
25 | 27 | "com.paulscode:codecjorbis:20230120" |
26 | | - }; |
| 28 | + )); |
27 | 29 |
|
28 | 30 | 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( |
31 | 32 | "com.paulscode:codecwav:20101023", |
32 | 33 | "com.paulscode:libraryjavasound:20101123", |
33 | 34 | "com.paulscode:librarylwjglopenal:20100824", |
34 | 35 | "com.paulscode:soundsystem:20120107" |
35 | | - }; |
| 36 | + )); |
36 | 37 |
|
37 | 38 | String repo3 = "https://repo.maven.apache.org/maven2/"; |
38 | | - String[] libraries3 = { |
| 39 | + List<String> libraries3 = new ArrayList<>(Arrays.asList( |
39 | 40 | "net.java.jutils:jutils:1.0.0", |
40 | 41 | "net.java.jinput:jinput:2.0.7", |
41 | 42 | "net.java.jinput:jinput-platform:2.0.7", |
42 | 43 | "org.ow2.asm:asm:9.2", |
43 | 44 | "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 | + } |
45 | 70 |
|
46 | 71 | String assetIndex = "https://mcphackers.github.io/assets/empty.json"; |
47 | 72 | String mainClass = "org.mcphackers.launchwrapper.Launch"; |
48 | 73 |
|
49 | 74 | JSONObject presetJSON = new JSONObject(); |
50 | 75 | JSONObject assetIndexObj = new JSONObject(); |
51 | 76 | 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()); |
53 | 78 |
|
54 | 79 | javaVersion.put("component", "jre-legacy"); |
55 | 80 | javaVersion.put("majorVersion", 8); |
|
0 commit comments