diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/LauncherActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/LauncherActivity.java index c1fefc0e5..432344c04 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/LauncherActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/LauncherActivity.java @@ -132,7 +132,7 @@ public class LauncherActivity extends BaseActivity { return false; } String normalizedVersionId = AsyncMinecraftDownloader.normalizeVersionId(prof.lastVersionId); - JMinecraftVersionList.Version mcVersion = Tools.getVersionInfo(normalizedVersionId); + JMinecraftVersionList.Version mcVersion = AsyncMinecraftDownloader.getListedVersion(normalizedVersionId); new AsyncMinecraftDownloader(this, mcVersion, normalizedVersionId, () -> runOnUiThread(() -> { try { Intent mainIntent = new Intent(getBaseContext(), MainActivity.class); diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/AsyncMinecraftDownloader.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/AsyncMinecraftDownloader.java index 2c7d467c1..43cad8fa8 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/AsyncMinecraftDownloader.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/AsyncMinecraftDownloader.java @@ -62,7 +62,7 @@ public class AsyncMinecraftDownloader { try { File verJsonDir = new File(Tools.DIR_HOME_VERSION + downVName + ".json"); - if (verInfo.url != null) { + if (verInfo != null && verInfo.url != null) { if(!LauncherPreferences.PREF_CHECK_LIBRARY_SHA) Log.w("Chk","Checker is off"); boolean isManifestGood = verJsonDir.exists() @@ -80,7 +80,7 @@ public class AsyncMinecraftDownloader { } } - verInfo = Tools.getVersionInfo(verInfo.id); + verInfo = Tools.getVersionInfo(versionName); // THIS one function need the activity in the case of an error if(!JRE17Util.installNewJreIfNeeded(activity, verInfo)){ @@ -358,6 +358,15 @@ public class AsyncMinecraftDownloader { return versionString; } + public static JMinecraftVersionList.Version getListedVersion(String normalizedVersionString) { + JMinecraftVersionList versionList = (JMinecraftVersionList) ExtraCore.getValue(ExtraConstants.RELEASE_TABLE); + for(JMinecraftVersionList.Version version : versionList.versions) { + if(version.id.equals(normalizedVersionString)) return version; + } + return null; + } + + /**@return A byte buffer bound to a thread, useful to recycle it across downloads */ private byte[] getByteBuffer(){ byte[] buffer = mThreadBuffers.get(Thread.currentThread());