@@ -20,6 +20,7 @@ public class VersionsWriter {
2020
2121 private final Path versionsDir ;
2222 private JSONObject wrapperArtifact ;
23+ private boolean skipManifest ;
2324
2425 public VersionsWriter (Path dir , Path wrapperJar ) {
2526 versionsDir = dir ;
@@ -57,43 +58,11 @@ public void generateJSONs() throws IOException {
5758 }
5859 }
5960 List <String > savedJSONs = new ArrayList <>();
60- JSONArray versions = manifest .getJSONArray ("versions" );
61- Files .createDirectories (versionsDir );
62- for (int i = 0 ; i < versions .length (); i ++) {
63- JSONObject ver = versions .getJSONObject (i );
64- URL versionUrl = new URL (ver .getString ("url" ));
65- String id = ver .getString ("id" );
66- System .out .println (id );
67- savedJSONs .add (id );
68- JSONObject version = new JSONObject (new String (Util .readAllBytes (versionUrl .openStream ())));
69- if (!version .has ("minecraftArguments" )) {
70- continue ;
71- }
72- Instant time = Instant .from (DateTimeFormatter .ISO_DATE_TIME .parse (version .getString ("releaseTime" )));
73- if (time .compareTo (soundLibTime ) > 0 ) {
74- version .put ("libraries" , libraries );
75- } else {
76- version .put ("libraries" , librariesNoSoundLib );
77- }
78- for (String key : preset .keySet ()) {
79- if (key .equals ("libraries" )) {
80- continue ;
81- }
82- version .put (key , preset .get (key ));
83- }
84- version .put ("minecraftArguments" , version .getString ("minecraftArguments" )
85- .replace ("${auth_player_name} ${auth_session}" , "--username ${auth_player_name} --sessionid ${auth_session}" ));
86- try (BufferedWriter writer = Files .newBufferedWriter (versionsDir .resolve (id + ".json" ))) {
87- version .write (writer );
88- }
89- }
9061 JSONArray versionsList = Util .parseJSONArray (ClassLoader .getSystemResourceAsStream ("versions.json" ));
9162 for (int i = 0 ; i < versionsList .length (); i ++) {
9263 JSONObject ver = versionsList .getJSONObject (i );
9364 String id = ver .getString ("id" );
94- if (savedJSONs .contains (id )) {
95- continue ;
96- }
65+ savedJSONs .add (id );
9766 System .out .println (id );
9867 Instant time = Instant .from (DateTimeFormatter .ISO_DATE_TIME .parse (ver .getString ("releaseTime" )));
9968 String clientURL = ver .optString ("urlClient" , null );
@@ -103,12 +72,46 @@ public void generateJSONs() throws IOException {
10372 version .write (writer );
10473 }
10574 }
75+ if (!skipManifest ) {
76+ JSONArray versions = manifest .getJSONArray ("versions" );
77+ Files .createDirectories (versionsDir );
78+ for (int i = 0 ; i < versions .length (); i ++) {
79+ JSONObject ver = versions .getJSONObject (i );
80+ URL versionUrl = new URL (ver .getString ("url" ));
81+ String id = ver .getString ("id" );
82+ if (savedJSONs .contains (id )) {
83+ continue ;
84+ }
85+ System .out .println (id );
86+ JSONObject version = Util .parseJSON (versionUrl .openStream ());
87+ if (!version .has ("minecraftArguments" )) {
88+ continue ;
89+ }
90+ Instant time = Instant .from (DateTimeFormatter .ISO_DATE_TIME .parse (version .getString ("releaseTime" )));
91+ if (time .compareTo (soundLibTime ) > 0 ) {
92+ version .put ("libraries" , libraries );
93+ } else {
94+ version .put ("libraries" , librariesNoSoundLib );
95+ }
96+ for (String key : preset .keySet ()) {
97+ if (key .equals ("libraries" )) {
98+ continue ;
99+ }
100+ version .put (key , preset .get (key ));
101+ }
102+ version .put ("minecraftArguments" , version .getString ("minecraftArguments" )
103+ .replace ("${auth_player_name} ${auth_session}" , "--username ${auth_player_name} --sessionid ${auth_session}" ));
104+ try (BufferedWriter writer = Files .newBufferedWriter (versionsDir .resolve (id + ".json" ))) {
105+ version .write (writer );
106+ }
107+ }
108+ }
106109 }
107110
108111 public void packToFolders () throws IOException {
109112 Files .list (versionsDir ).forEach (p -> {
110113 String fileName = p .getFileName ().toString ();
111- if (!Files .isRegularFile (p ) || !p .endsWith (".json" )) {
114+ if (!Files .isRegularFile (p ) || !fileName .endsWith (".json" )) {
112115 return ;
113116 }
114117 try {
@@ -171,7 +174,7 @@ public JSONObject createVersionJSON(String id, String clientURL, String serverUR
171174 else if (id .startsWith ("b" )) {
172175 version .put ("type" , "old_beta" );
173176 }
174- else if (id .charAt (2 ) == 'w' ) {
177+ else if (id .charAt (2 ) == 'w' || id . equals ( "1.2" ) ) {
175178 version .put ("type" , "snapshot" );
176179 } else {
177180 version .put ("type" , "release" );
@@ -215,4 +218,8 @@ private static JSONObject getLibraryArtifact(Path path, String url) throws IOExc
215218 }
216219 return obj ;
217220 }
221+
222+ public void skipManifest () {
223+ skipManifest = true ;
224+ }
218225}
0 commit comments