Fixed compile error
This commit is contained in:
@@ -17,11 +17,6 @@
|
||||
*/
|
||||
package org.jackhuang.hmcl.download
|
||||
|
||||
import org.jackhuang.hmcl.download.forge.ForgeVersionList
|
||||
import org.jackhuang.hmcl.download.game.GameVersionList
|
||||
import org.jackhuang.hmcl.download.liteloader.LiteLoaderVersionList
|
||||
import org.jackhuang.hmcl.download.optifine.OptiFineBMCLVersionList
|
||||
|
||||
object BMCLAPIDownloadProvider : DownloadProvider() {
|
||||
override val libraryBaseURL: String = "http://bmclapi2.bangbang93.com/libraries/"
|
||||
override val versionListURL: String = "http://bmclapi2.bangbang93.com/mc/game/version_manifest.json"
|
||||
|
||||
@@ -17,11 +17,6 @@
|
||||
*/
|
||||
package org.jackhuang.hmcl.download
|
||||
|
||||
import org.jackhuang.hmcl.download.game.GameAssetDownloadTask
|
||||
import org.jackhuang.hmcl.download.game.GameLibrariesTask
|
||||
import org.jackhuang.hmcl.download.game.GameLoggingDownloadTask
|
||||
import org.jackhuang.hmcl.download.game.VersionJSONSaveTask
|
||||
import org.jackhuang.hmcl.download.liteloader.LiteLoaderInstallTask
|
||||
import org.jackhuang.hmcl.game.DefaultGameRepository
|
||||
import org.jackhuang.hmcl.game.Version
|
||||
import org.jackhuang.hmcl.task.ParallelTask
|
||||
|
||||
@@ -17,10 +17,6 @@
|
||||
*/
|
||||
package org.jackhuang.hmcl.download
|
||||
|
||||
import org.jackhuang.hmcl.download.game.GameAssetDownloadTask
|
||||
import org.jackhuang.hmcl.download.game.GameLibrariesTask
|
||||
import org.jackhuang.hmcl.download.game.GameLoggingDownloadTask
|
||||
import org.jackhuang.hmcl.download.game.VersionJSONSaveTask
|
||||
import org.jackhuang.hmcl.game.*
|
||||
import org.jackhuang.hmcl.task.*
|
||||
import org.jackhuang.hmcl.util.*
|
||||
@@ -31,8 +27,8 @@ class DefaultGameBuilder(val dependencyManager: DefaultDependencyManager): GameB
|
||||
val downloadProvider = dependencyManager.downloadProvider
|
||||
|
||||
override fun buildAsync(): Task {
|
||||
return VersionJSONDownloadTask(gameVersion = gameVersion) then { task ->
|
||||
var version = GSON.fromJson<Version>(task.result!!)
|
||||
return VersionJSONDownloadTask(gameVersion = gameVersion) then a@{ task ->
|
||||
var version = GSON.fromJson<Version>(task.result!!) ?: return@a null
|
||||
version = version.copy(jar = version.id, id = name)
|
||||
var result = ParallelTask(
|
||||
GameAssetDownloadTask(dependencyManager, version),
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
*/
|
||||
package org.jackhuang.hmcl.download
|
||||
|
||||
import org.jackhuang.hmcl.download.game.GameLibrariesTask
|
||||
import org.jackhuang.hmcl.game.Library
|
||||
import org.jackhuang.hmcl.game.SimpleVersionProvider
|
||||
import org.jackhuang.hmcl.game.Version
|
||||
@@ -55,7 +54,7 @@ class ForgeInstallTask(private val dependencyManager: DefaultDependencyManager,
|
||||
|
||||
override fun execute() {
|
||||
ZipFile(installer).use { zipFile ->
|
||||
val installProfile = GSON.fromJson<InstallProfile>(zipFile.getInputStream(zipFile.getEntry("install_profile.json")).readFullyAsString())
|
||||
val installProfile = GSON.fromJson<InstallProfile>(zipFile.getInputStream(zipFile.getEntry("install_profile.json")).readFullyAsString()) ?: throw IOException("install_profile.json is not found.")
|
||||
|
||||
// unpack the universal jar in the installer file.
|
||||
|
||||
|
||||
@@ -35,7 +35,6 @@ object GameVersionList : VersionList<GameRemoteVersionTag>() {
|
||||
val task = GetTask(provider.versionListURL.toURL())
|
||||
override val dependents: Collection<Task> = listOf(task)
|
||||
override fun execute() {
|
||||
versionMap.clear()
|
||||
versions.clear()
|
||||
|
||||
val root = GSON.fromJson<GameRemoteVersions>(task.result!!) ?: return
|
||||
@@ -50,8 +49,7 @@ object GameVersionList : VersionList<GameRemoteVersionTag>() {
|
||||
time = remoteVersion.releaseTime
|
||||
)
|
||||
)
|
||||
versions.add(x)
|
||||
versionMap[gg] = listOf(x)
|
||||
versions.put(gg, x)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
*/
|
||||
package org.jackhuang.hmcl.download
|
||||
|
||||
import org.jackhuang.hmcl.download.game.GameLibrariesTask
|
||||
import org.jackhuang.hmcl.game.LibrariesDownloadInfo
|
||||
import org.jackhuang.hmcl.game.Library
|
||||
import org.jackhuang.hmcl.game.LibraryDownloadInfo
|
||||
|
||||
@@ -17,9 +17,6 @@
|
||||
*/
|
||||
package org.jackhuang.hmcl.download
|
||||
|
||||
import org.jackhuang.hmcl.download.forge.ForgeVersionList
|
||||
import org.jackhuang.hmcl.download.game.GameVersionList
|
||||
import org.jackhuang.hmcl.download.liteloader.LiteLoaderVersionList
|
||||
import java.util.*
|
||||
|
||||
object MojangDownloadProvider : DownloadProvider() {
|
||||
|
||||
@@ -34,7 +34,6 @@ object OptiFineBMCLVersionList : VersionList<Unit>() {
|
||||
val task = GetTask("http://bmclapi.bangbang93.com/optifine/versionlist".toURL())
|
||||
override val dependents: Collection<Task> = listOf(task)
|
||||
override fun execute() {
|
||||
versionMap.clear()
|
||||
versions.clear()
|
||||
|
||||
val duplicates = mutableSetOf<String>()
|
||||
@@ -55,9 +54,7 @@ object OptiFineBMCLVersionList : VersionList<Unit>() {
|
||||
tag = Unit
|
||||
)
|
||||
|
||||
val set = versionMap.getOrPut(gameVersion, { TreeSet<RemoteVersion<Unit>>() }) as MutableCollection<RemoteVersion<Unit>>
|
||||
set.add(remoteVersion)
|
||||
versions.add(remoteVersion)
|
||||
versions.put(gameVersion, remoteVersion)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
*/
|
||||
package org.jackhuang.hmcl.download
|
||||
|
||||
import org.jackhuang.hmcl.download.game.GameLibrariesTask
|
||||
import org.jackhuang.hmcl.game.LibrariesDownloadInfo
|
||||
import org.jackhuang.hmcl.game.Library
|
||||
import org.jackhuang.hmcl.game.LibraryDownloadInfo
|
||||
|
||||
@@ -31,7 +31,8 @@ abstract class VersionList<T> {
|
||||
abstract fun refreshAsync(downloadProvider: DownloadProvider): Task
|
||||
|
||||
protected open fun getVersionsImpl(gameVersion: String): Collection<RemoteVersion<T>> {
|
||||
return versions[gameVersion] ?: versions.values
|
||||
val ans = versions[gameVersion]
|
||||
return if (ans.isEmpty()) versions.values else ans
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -44,7 +45,7 @@ abstract class VersionList<T> {
|
||||
|
||||
fun getVersion(gameVersion: String, remoteVersion: String): RemoteVersion<T>? {
|
||||
var result : RemoteVersion<T>? = null
|
||||
versions[gameVersion]?.forEach {
|
||||
versions[gameVersion].forEach {
|
||||
if (it.selfVersion == remoteVersion)
|
||||
result = it
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ open class DefaultGameRepository(val baseDirectory: File): GameRepository {
|
||||
}
|
||||
|
||||
override fun getAssetIndex(assetId: String): AssetIndex {
|
||||
return GSON.fromJson(getIndexFile(assetId).readText())
|
||||
return GSON.fromJson(getIndexFile(assetId).readText())!!
|
||||
}
|
||||
|
||||
override fun getActualAssetDirectory(assetId: String): File {
|
||||
|
||||
@@ -43,7 +43,7 @@ class ModManager(private val repository: GameRepository) {
|
||||
fun getMods(id: String) : Collection<ModInfo> {
|
||||
if (!modCache.containsKey(id))
|
||||
refreshMods(id)
|
||||
return modCache[id] ?: emptyList()
|
||||
return modCache[id]
|
||||
}
|
||||
|
||||
fun addMod(id: String, file: File) {
|
||||
|
||||
Reference in New Issue
Block a user