Skip to content

Commit 8e1df14

Browse files
committed
Add RDI dependency
1 parent 2c06655 commit 8e1df14

3 files changed

Lines changed: 47 additions & 17 deletions

File tree

src/main/java/lbq/jsongen/Generator.java

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,15 @@ public class Generator {
2727
private boolean skipManifest;
2828
private boolean update;
2929
private boolean packToFolders;
30+
private Instant startTime;
3031

3132
public Generator(Path dir, Path wrapperJar, Path wrapperSource, boolean updateJsons, boolean skipMan, boolean packToFolder, boolean genManifest) {
3233
basePath = dir;
3334
skipManifest = skipMan;
3435
generateManifest = genManifest;
3536
update = updateJsons;
3637
packToFolders = packToFolder;
38+
startTime = Instant.now();
3739
try {
3840
if(wrapperJar != null) {
3941
wrapperArtifact = getLibraryArtifact(wrapperJar, "https://mcphackers.github.io/libraries/org/mcphackers/launchwrapper/1.0/launchwrapper-1.0.jar");
@@ -74,14 +76,13 @@ public void update() throws IOException {
7476
Instant time = getTime(json.getString("releaseTime"));
7577
if(time.compareTo(PAULSCODE_TIME) > 0) {
7678
for(int i2 = 0; i2 < libraries.length(); i2++) {
77-
replaceLibrary(verLibs, libraries.getJSONObject(i2));
79+
updated |= replaceLibrary(verLibs, libraries.getJSONObject(i2));
7880
}
7981
} else {
8082
for(int i2 = 0; i2 < librariesNoSoundLib.length(); i2++) {
81-
replaceLibrary(verLibs, librariesNoSoundLib.getJSONObject(i2));
83+
updated |= replaceLibrary(verLibs, librariesNoSoundLib.getJSONObject(i2));
8284
}
8385
}
84-
updated = true; //TODO detect library changes?
8586
String args = json.getString("minecraftArguments");
8687
Instant releaseTimeInstant = getTime(json.getString("releaseTime"));
8788
int port = getPort(releaseTimeInstant);
@@ -109,10 +110,13 @@ public void update() throws IOException {
109110
}
110111
json.put("minecraftArguments", args);
111112
if(updated) {
112-
json.put("time", getTimeString(Instant.now()));
113-
}
114-
try(BufferedWriter writer = Files.newBufferedWriter(p)) {
115-
json.write(writer);
113+
System.out.println("Modified version: " + id);
114+
json.put("time", getTimeString(startTime));
115+
try(BufferedWriter writer = Files.newBufferedWriter(p)) {
116+
json.write(writer);
117+
}
118+
} else {
119+
//System.out.println("Unmodified version: " + id);
116120
}
117121
if(packToFolders) {
118122
Path outPath = Files.createDirectory(basePath.resolve(id)).resolve(id + ".json");
@@ -235,7 +239,7 @@ public void generateJSONs() throws IOException {
235239
if(skin != null) {
236240
args += " --skinProxy " + skin;
237241
}
238-
version.put("time", getTimeString(Instant.now()));
242+
version.put("time", getTimeString(startTime));
239243
version.put("minecraftArguments", args);
240244
Path jsonOut = basePath.resolve(id + ".json");
241245
try(BufferedWriter writer = Files.newBufferedWriter(jsonOut)) {
@@ -360,7 +364,7 @@ else if(id.charAt(2) == 'w' || id.equals("1.2")) {
360364
version.put("type", "release");
361365
}
362366
version.put("releaseTime", releaseTime);
363-
version.put("time", getTimeString(Instant.now()));
367+
version.put("time", getTimeString(startTime));
364368
Instant releaseTimeInstant = getTime(releaseTime);
365369
if(releaseTimeInstant.compareTo(PAULSCODE_TIME) > 0) {
366370
version.put("libraries", libraries);

src/main/java/lbq/jsongen/JSONUtil.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,14 @@ public static JSONObject getLibraryArtifact(String url) throws IOException {
6767
return artifact;
6868
}
6969

70-
public static void replaceLibrary(JSONArray libraries, JSONObject library) {
70+
public static boolean replaceLibrary(JSONArray libraries, JSONObject library) {
7171
String[] libraryName = library.getString("name").split(":");
7272
boolean replaced = false;
73+
boolean changed = false;
7374
for(int i = libraries.length() - 1; i >= 0 ; i--) {
7475
String[] libraryName2 = libraries.getJSONObject(i).getString("name").split(":");
7576
if(libraryName[0].equals(libraryName2[0]) && libraryName[1].equals(libraryName2[1])) {
77+
changed = changed || !library.similar(libraries.getJSONObject(i));
7678
if(!replaced) {
7779
libraries.put(i, library);
7880
replaced = true;
@@ -82,17 +84,22 @@ public static void replaceLibrary(JSONArray libraries, JSONObject library) {
8284
}
8385
}
8486
if(!replaced) {
87+
changed = true;
8588
libraries.put(library);
8689
}
90+
return changed;
8791
}
8892

89-
public static void removeLibrary(JSONArray libraries, String org, String name) {
93+
public static boolean removeLibrary(JSONArray libraries, String org, String name) {
94+
boolean removed = false;
9095
for(int i = libraries.length() - 1; i >= 0 ; i--) {
9196
String[] libraryName2 = libraries.getJSONObject(i).getString("name").split(":");
9297
if(org.equals(libraryName2[0]) && name.equals(libraryName2[1])) {
9398
libraries.remove(i);
99+
removed = true;
94100
}
95101
}
102+
return removed;
96103
}
97104

98105
public static Instant getTime(String time) {

src/main/resources/preset.json

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,25 @@
3232
},
3333
"name": "org.mcphackers:launchwrapper:1.0"
3434
},
35+
{
36+
"downloads": {
37+
"artifact": {
38+
"path": "org/mcphackers/rdi/rdi/1.0/rdi-1.0.jar",
39+
"sha1": "6fcff0b8d6173ac275f3728a9e5a987cfca88762",
40+
"size": 79599,
41+
"url": "https://mcphackers.github.io/libraries/org/mcphackers/rdi/rdi/1.0/rdi-1.0.jar"
42+
},
43+
"classifiers": {
44+
"sources": {
45+
"path": "org/mcphackers/rdi/rdi/1.0/rdi-1.0-sources.jar",
46+
"sha1": "f38fbbad7ef3752c75274951d46b63d1d5515a8b",
47+
"size": 43261,
48+
"url": "https://mcphackers.github.io/libraries/org/mcphackers/rdi/rdi/1.0/rdi-1.0-sources.jar"
49+
}
50+
}
51+
},
52+
"name": "org.mcphackers.rdi:rdi:1.0"
53+
},
3554
{
3655
"downloads": {
3756
"artifact": {
@@ -74,14 +93,14 @@
7493
"downloads": {
7594
"artifact": {
7695
"path": "org/lwjgl/lwjgl/lwjgl/2.9.4/lwjgl-2.9.4.jar",
77-
"sha1": "ceed2bd61cbd2a35cebbb0b1de25eef565726182",
78-
"size": 1057570,
96+
"sha1": "7c731ace778ed7e79230b14f540c521ba4ee97aa",
97+
"size": 1056258,
7998
"url": "https://mcphackers.github.io/libraries/org/lwjgl/lwjgl/lwjgl/2.9.4/lwjgl-2.9.4.jar"
8099
},
81100
"classifiers": {
82101
"sources": {
83102
"path": "org/lwjgl/lwjgl/lwjgl/2.9.4/lwjgl-2.9.4-sources.jar",
84-
"sha1": "c0900f0f40f0857422ae099b9ecd1bb295966781",
103+
"sha1": "00238e95dc14f54ae62ca5dba8e43ea1ee7bcb2c",
85104
"size": 951945,
86105
"url": "https://mcphackers.github.io/libraries/org/lwjgl/lwjgl/lwjgl/2.9.4/lwjgl-2.9.4-sources.jar"
87106
}
@@ -128,14 +147,14 @@
128147
"downloads": {
129148
"artifact": {
130149
"path": "org/lwjgl/lwjgl/lwjgl_util/2.9.4/lwjgl_util-2.9.4.jar",
131-
"sha1": "a20fce9b6f239970aa9ae7e7d52b30bb4b7dabe9",
132-
"size": 174010,
150+
"sha1": "a3a627bf1735bc8d924866626c970b047b32994f",
151+
"size": 174009,
133152
"url": "https://mcphackers.github.io/libraries/org/lwjgl/lwjgl/lwjgl_util/2.9.4/lwjgl_util-2.9.4.jar"
134153
},
135154
"classifiers": {
136155
"sources": {
137156
"path": "org/lwjgl/lwjgl/lwjgl_util/2.9.4/lwjgl_util-2.9.4-sources.jar",
138-
"sha1": "281bd224238a00b459844ad44a69d7ce906216e4",
157+
"sha1": "8332c819b1f425bea42a5b141fea672d9d1f99ad",
139158
"size": 232838,
140159
"url": "https://mcphackers.github.io/libraries/org/lwjgl/lwjgl/lwjgl_util/2.9.4/lwjgl_util-2.9.4-sources.jar"
141160
}

0 commit comments

Comments
 (0)