11package com .pistacium .modcheck ;
22
3+ import com .google .gson .Gson ;
4+ import com .google .gson .GsonBuilder ;
35import com .google .gson .JsonElement ;
46import com .google .gson .JsonParser ;
5- import com .pistacium .modcheck .mod .ModData ;
6- import com .pistacium .modcheck .mod .version . ModVersion ;
7+ import com .pistacium .modcheck .mod .MCVersion ;
8+ import com .pistacium .modcheck .mod .ModInfo ;
79import com .pistacium .modcheck .util .ModCheckStatus ;
810import com .pistacium .modcheck .util .ModCheckUtils ;
911
@@ -24,40 +26,40 @@ public static void setStatus(ModCheckStatus status) {
2426 FRAME_INSTANCE .getProgressBar ().setString (status .getDescription ());
2527 }
2628
29+ public static final Gson GSON = new GsonBuilder ().serializeNulls ().create ();
2730 public static final ExecutorService THREAD_EXECUTOR = Executors .newSingleThreadExecutor ();
2831
29- public static ModCheckFrame FRAME_INSTANCE ;
32+ public static ModCheckFrameForm FRAME_INSTANCE ;
3033
31- public static final ArrayList <ModVersion > AVAILABLE_VERSIONS = new ArrayList <>();
32-
33- public static final ArrayList <ModData > AVAILABLE_MODS = new ArrayList <>();
34+ public static final ArrayList <MCVersion > AVAILABLE_VERSIONS = new ArrayList <>();
3435
36+ public static final ArrayList <ModInfo > AVAILABLE_MODS = new ArrayList <>();
3537
3638 public static void main (String [] args ) {
3739 THREAD_EXECUTOR .submit (() -> {
3840 try {
39- FRAME_INSTANCE = new ModCheckFrame ();
41+ FRAME_INSTANCE = new ModCheckFrameForm ();
4042
4143 // Get available versions
4244 setStatus (ModCheckStatus .LOADING_AVAILABLE_VERSIONS );
43- JsonElement availableElement = JsonParser .parseString (Objects .requireNonNull (ModCheckUtils .getUrlRequest ("https://redlime.github.io/MCSRMods/mod_versions .json" )));
45+ JsonElement availableElement = JsonParser .parseString (Objects .requireNonNull (ModCheckUtils .getUrlRequest ("https://redlime.github.io/MCSRMods/meta/v4/mc_versions .json" )));
4446 FRAME_INSTANCE .getProgressBar ().setValue (30 );
4547 for (JsonElement jsonElement : availableElement .getAsJsonArray ()) {
46- AVAILABLE_VERSIONS .add (ModVersion . of (jsonElement . getAsString () ));
48+ AVAILABLE_VERSIONS .add (GSON . fromJson (jsonElement , MCVersion . class ));
4749 }
4850
4951 // Get mod list
5052 setStatus (ModCheckStatus .LOADING_MOD_LIST );
51- JsonElement modElement = JsonParser .parseString (Objects .requireNonNull (ModCheckUtils .getUrlRequest ("https://redlime.github.io/MCSRMods/meta/v3/mods .json" )));
53+ JsonElement modElement = JsonParser .parseString (Objects .requireNonNull (ModCheckUtils .getUrlRequest ("https://redlime.github.io/MCSRMods/meta/v4/files .json" )));
5254 FRAME_INSTANCE .getProgressBar ().setValue (60 );
5355
5456 setStatus (ModCheckStatus .LOADING_MOD_RESOURCE );
5557 int count = 0 , maxCount = modElement .getAsJsonArray ().size ();
5658 for (JsonElement jsonElement : modElement .getAsJsonArray ()) {
5759 try {
5860 FRAME_INSTANCE .getProgressBar ().setString ("Loading information of " +jsonElement .getAsJsonObject ().get ("name" ));
59- ModData modData = new ModData (jsonElement . getAsJsonObject () );
60- AVAILABLE_MODS .add (modData );
61+ ModInfo modInfo = GSON . fromJson (jsonElement , ModInfo . class );
62+ if ( Objects . equals ( modInfo . getType (), "fabric_mod" )) AVAILABLE_MODS .add (modInfo );
6163 } catch (Throwable e ) {
6264 StringWriter sw = new StringWriter ();
6365 PrintWriter pw = new PrintWriter (sw );
0 commit comments