Added custom game directory. Closes #199

This commit is contained in:
huanghongxun
2017-09-04 15:55:18 +08:00
parent 41337f66a8
commit 5f7f885d99
15 changed files with 207 additions and 114 deletions

View File

@@ -163,7 +163,7 @@ open class DefaultLauncher(repository: GameRepository, versionId: String, accoun
}
// Optional Minecraft arguments
if (options.height != null && options.width != null) {
if (options.height != null && options.height != 0 && options.width != null && options.width != 0) {
res.add("--height")
res.add(options.height.toString())
res.add("--width")

View File

@@ -149,6 +149,7 @@ data class JavaVersion internal constructor(
if (javas != null)
throw IllegalStateException("JavaVersions have already been initialized.")
val temp = mutableMapOf<String, JavaVersion>()
temp += currentJava.longVersion to currentJava
(when (OS.CURRENT_OS) {
OS.WINDOWS -> queryWindows()
OS.OSX -> queryMacintosh()

View File

@@ -33,4 +33,12 @@ fun <T> ObservableList<T>.onChange(op: (ListChangeListener.Change<out T>) -> Uni
addListener(ListChangeListener { op(it) })
}
fun <T> ObservableValue<*>.onInvalidated(op: () -> T) = apply { addListener { _ -> op() } }
fun <T> ObservableValue<*>.onInvalidated(op: () -> T) = apply { addListener { _ -> op() } }
fun <T> ObservableValue<T>.setOnChangeListener(properties: MutableMap<Any, Any>, key: String = "changeListener", changeListener: ChangeListener<in T>) {
@Suppress("UNCHECKED_CAST")
if (properties.containsKey(key))
removeListener(properties[key] as ChangeListener<in T>)
properties[key] = changeListener
addListener(changeListener)
}