Fixed compile error

This commit is contained in:
huangyuhui 2017-08-01 18:56:13 +08:00
parent 726f92a9c9
commit 3c32ef39c7
15 changed files with 45 additions and 57 deletions

View File

@ -0,0 +1,24 @@
/*
* Hello Minecraft! Launcher.
* Copyright (C) 2017 huangyuhui <huanghongxun2008@126.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see {http://www.gnu.org/licenses/}.
*/
package org.jackhuang.hmcl.setting
object Settings {
init {
}
}

View File

@ -44,12 +44,12 @@ import javafx.stage.StageStyle
import java.util.ArrayList
class Decorator @JvmOverloads constructor(private val primaryStage: Stage, node: Node, max: Boolean = true, min: Boolean = true) : VBox() {
private var xOffset: Double = 0.toDouble()
private var yOffset: Double = 0.toDouble()
private var newX: Double = 0.toDouble()
private var newY: Double = 0.toDouble()
private var initX: Double = 0.toDouble()
private var initY: Double = 0.toDouble()
private var xOffset: Double = 0.0
private var yOffset: Double = 0.0
private var newX: Double = 0.0
private var newY: Double = 0.0
private var initX: Double = 0.0
private var initY: Double = 0.0
private var allowMove: Boolean = false
private var isDragging: Boolean = false
private var windowDecoratorAnimation: Timeline? = null
@ -189,12 +189,12 @@ class Decorator @JvmOverloads constructor(private val primaryStage: Stage, node:
(node as Region).setMinSize(0.0, 0.0)
VBox.setVgrow(this.contentPlaceHolder, Priority.ALWAYS)
this.contentPlaceHolder.styleClass.add("resize-border")
this.contentPlaceHolder.border = Border(*arrayOf(BorderStroke(Color.BLACK, BorderStrokeStyle.SOLID, CornerRadii.EMPTY, BorderWidths(0.0, 4.0, 4.0, 4.0))))
this.contentPlaceHolder.border = Border(BorderStroke(Color.BLACK, BorderStrokeStyle.SOLID, CornerRadii.EMPTY, BorderWidths(0.0, 4.0, 4.0, 4.0)))
val clip = Rectangle()
clip.widthProperty().bind(node.widthProperty())
clip.heightProperty().bind(node.heightProperty())
node.setClip(clip)
this.children.addAll(*arrayOf<Node>(titleContainer, this.contentPlaceHolder))
this.children.addAll(titleContainer, this.contentPlaceHolder)
this.setOnMouseMoved { mouseEvent ->
if (!this.primaryStage.isMaximized && !this.primaryStage.isFullScreen && !this.maximized) {
if (!this.primaryStage.isResizable) {
@ -328,15 +328,13 @@ class Decorator @JvmOverloads constructor(private val primaryStage: Stage, node:
}
internal fun setStageWidth(width: Double): Boolean {
var width = width
if (width >= this.primaryStage.minWidth && width >= this.titleContainer.minWidth) {
this.primaryStage.width = width
this.initX = this.newX
return true
} else {
if (width >= this.primaryStage.minWidth && width <= this.titleContainer.minWidth) {
width = this.titleContainer.minWidth
this.primaryStage.width = width
this.primaryStage.width = this.titleContainer.minWidth
}
return false
@ -344,15 +342,13 @@ class Decorator @JvmOverloads constructor(private val primaryStage: Stage, node:
}
internal fun setStageHeight(height: Double): Boolean {
var height = height
if (height >= this.primaryStage.minHeight && height >= this.titleContainer.height) {
this.primaryStage.height = height
this.initY = this.newY
return true
} else {
if (height >= this.primaryStage.minHeight && height <= this.titleContainer.height) {
height = this.titleContainer.height
this.primaryStage.height = height
this.primaryStage.height = this.titleContainer.height
}
return false
@ -379,6 +375,6 @@ class Decorator @JvmOverloads constructor(private val primaryStage: Stage, node:
}
fun setContent(content: Node) {
this.contentPlaceHolder.children.setAll(*arrayOf(content))
this.contentPlaceHolder.children.setAll(content)
}
}

View File

@ -1,8 +0,0 @@
[13:06:53] [org.jackhuang.hmcl.util.task.Subscription.executeTask/FINER] Executing task: class org.jackhuang.hmcl.util.task.ParallelTask
[13:06:53] [org.jackhuang.hmcl.util.task.Subscription.executeTask/FINER] Executing task: class org.jackhuang.hmcl.download.game.GameAssetDownloadTask
[13:06:53] [org.jackhuang.hmcl.util.task.Subscription.executeTask/FINER] Executing task: class org.jackhuang.hmcl.download.game.GameLibrariesTask
[13:06:53] [org.jackhuang.hmcl.util.task.Subscription.executeTask/FINER] Executing task: class org.jackhuang.hmcl.download.game.GameLoggingDownloadTask
[13:06:53] [org.jackhuang.hmcl.util.task.Subscription.executeTask/FINEST] Task finished: class org.jackhuang.hmcl.download.game.GameAssetDownloadTask
[13:06:53] [org.jackhuang.hmcl.util.task.Subscription.executeTask/FINEST] Task finished: class org.jackhuang.hmcl.download.game.GameLoggingDownloadTask
[13:06:53] [org.jackhuang.hmcl.util.task.Subscription.executeTask/FINEST] Task finished: class org.jackhuang.hmcl.download.game.GameLibrariesTask
[13:06:53] [org.jackhuang.hmcl.util.task.Subscription.executeTask/FINEST] Task finished: class org.jackhuang.hmcl.util.task.ParallelTask

View File

@ -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"

View File

@ -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

View File

@ -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),

View File

@ -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.

View 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)
}
}
}

View File

@ -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

View File

@ -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() {

View File

@ -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)
}
}

View File

@ -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

View File

@ -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
}

View File

@ -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 {

View 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) {