diff --git a/build.gradle b/build.gradle index a8e1d82..1c1ad97 100644 --- a/build.gradle +++ b/build.gradle @@ -1,8 +1,16 @@ -plugins { - id "org.jetbrains.kotlin.jvm" version "1.3.31" +buildscript { + ext.kotlin_version = '1.1.1' + repositories { + mavenCentral() + } + dependencies { + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } } +apply plugin: 'kotlin' apply plugin: 'java' -apply plugin: 'application' +apply from: "http://dl.bintray.com/content/shemnon/javafx-gradle/8.1.1/javafx.plugin" +//apply plugin: 'application' group 'glicthless' version '1.0-SNAPSHOT' @@ -11,20 +19,33 @@ sourceCompatibility = 1.8 repositories { mavenCentral() maven { url 'https://jitpack.io' } + maven { url 'https://jcenter.bintray.com/'} +} + +tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { + kotlinOptions { + jvmTarget = "1.8" + } } dependencies { implementation 'com.google.code.gson:gson:2.8.5' implementation 'net.lingala.zip4j:zip4j:1.3.2' - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" - implementation 'com.github.LionZXY:mclauncher-api:cf44fb59f4' + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" + implementation 'com.github.LionZXY:mclauncher-api:193f6d87ca' implementation "no.tornado:tornadofx:1.7.17" implementation 'com.github.LionZXY:oslib:master-SNAPSHOT' implementation "org.rauschig:jarchivelib:1.0.0" + //implementation 'org.bitbucket.shemnon.javafxplugin:gradle-javafx-plugin:8.1.1' + testCompile group: 'junit', name: 'junit', version: '4.12' } +javafx { + mainClass 'ru.lionzxy.tplauncher.MainApplication' +} + task fatJar(type: Jar) { manifest { attributes 'Implementation-Title': 'rpi-sense-hat-lib', @@ -38,13 +59,4 @@ task fatJar(type: Jar) { } } with jar -} - -mainClassName = "ru.lionzxy.tplauncher.MainKt" - -compileKotlin { - kotlinOptions.jvmTarget = "1.8" -} -compileTestKotlin { - kotlinOptions.jvmTarget = "1.8" -} +} \ No newline at end of file diff --git a/compile.sh b/compile.sh new file mode 100644 index 0000000..9d7c0b0 --- /dev/null +++ b/compile.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +javac -classpath /Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/minecraftforge/forge/1.12.2-14.23.5.2836/forge-1.12.2-14.23.5.2836.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/minecraft/launchwrapper/1.12/launchwrapper-1.12.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/ow2/asm/asm-all/5.2/asm-all-5.2.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/jline/jline/3.5.1/jline-3.5.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/typesafe/akka/akka-actor_2.11/2.3.3/akka-actor_2.11-2.3.3.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/typesafe/config/1.2.1/config-1.2.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/scala-lang/scala-actors-migration_2.11/1.1.0/scala-actors-migration_2.11-1.1.0.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/scala-lang/scala-compiler/2.11.1/scala-compiler-2.11.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/scala-lang/plugins/scala-continuations-library_2.11/1.0.2/scala-continuations-library_2.11-1.0.2.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/scala-lang/plugins/scala-continuations-plugin_2.11.1/1.0.2/scala-continuations-plugin_2.11.1-1.0.2.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/scala-lang/scala-library/2.11.1/scala-library-2.11.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/scala-lang/scala-parser-combinators_2.11/1.0.1/scala-parser-combinators_2.11-1.0.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/scala-lang/scala-reflect/2.11.1/scala-reflect-2.11.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/scala-lang/scala-swing_2.11/1.0.1/scala-swing_2.11-1.0.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/scala-lang/scala-xml_2.11/1.0.2/scala-xml_2.11-1.0.2.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/lzma/lzma/0.0.1/lzma-0.0.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/sf/jopt-simple/jopt-simple/5.0.3/jopt-simple-5.0.3.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/java3d/vecmath/1.5.2/vecmath-1.5.2.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/sf/trove4j/trove4j/3.0.3/trove4j-3.0.3.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/apache/maven/maven-artifact/3.5.3/maven-artifact-3.5.3.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/mojang/patchy/1.1/patchy-1.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/oshi-project/oshi-core/1.1/oshi-core-1.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/sf/jopt-simple/jopt-simple/5.0.3/jopt-simple-5.0.3.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/paulscode/codecwav/20101023/codecwav-20101023.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/paulscode/soundsystem/20120107/soundsystem-20120107.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/io/netty/netty-all/4.1.9.Final/netty-all-4.1.9.Final.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/google/guava/guava/21.0/guava-21.0.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/commons-io/commons-io/2.5/commons-io-2.5.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/commons-codec/commons-codec/1.10/commons-codec-1.10.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/google/code/gson/gson/2.8.0/gson-2.8.0.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/mojang/authlib/1.5.25/authlib-1.5.25.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/mojang/realms/1.10.22/realms-1.10.22.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/it/unimi/dsi/fastutil/7.1.0/fastutil-7.1.0.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/apache/logging/log4j/log4j-api/2.8.1/log4j-api-2.8.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/apache/logging/log4j/log4j-core/2.8.1/log4j-core-2.8.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/lwjgl/lwjgl/lwjgl/2.9.2-nightly-20140822/lwjgl-2.9.2-nightly-20140822.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/lwjgl/lwjgl/lwjgl_util/2.9.2-nightly-20140822/lwjgl_util-2.9.2-nightly-20140822.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-osx.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-osx.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/mojang/text2speech/1.10.3/text2speech-1.10.3.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/mojang/text2speech/1.10.3/text2speech-1.10.3.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/ca/weblite/java-objc-bridge/1.0.0/java-objc-bridge-1.0.0-natives-osx.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/ca/weblite/java-objc-bridge/1.0.0/java-objc-bridge-1.0.0.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/mojang/patchy/1.1/patchy-1.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/oshi-project/oshi-core/1.1/oshi-core-1.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/java/dev/jna/platform/3.4.0/platform-3.4.0.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/ibm/icu/icu4j-core-mojang/51.2/icu4j-core-mojang-51.2.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/sf/jopt-simple/jopt-simple/5.0.3/jopt-simple-5.0.3.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/paulscode/codecjorbis/20101023/codecjorbis-20101023.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/paulscode/codecwav/20101023/codecwav-20101023.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/paulscode/soundsystem/20120107/soundsystem-20120107.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/io/netty/netty-all/4.1.9.Final/netty-all-4.1.9.Final.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/google/guava/guava/21.0/guava-21.0.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/commons-io/commons-io/2.5/commons-io-2.5.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/commons-codec/commons-codec/1.10/commons-codec-1.10.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/google/code/gson/gson/2.8.0/gson-2.8.0.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/mojang/authlib/1.5.25/authlib-1.5.25.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/mojang/realms/1.10.22/realms-1.10.22.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/apache/httpcomponents/httpclient/4.3.3/httpclient-4.3.3.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/it/unimi/dsi/fastutil/7.1.0/fastutil-7.1.0.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/apache/logging/log4j/log4j-api/2.8.1/log4j-api-2.8.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/apache/logging/log4j/log4j-core/2.8.1/log4j-core-2.8.1.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/lwjgl/lwjgl/lwjgl/2.9.2-nightly-20140822/lwjgl-2.9.2-nightly-20140822.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/lwjgl/lwjgl/lwjgl_util/2.9.2-nightly-20140822/lwjgl_util-2.9.2-nightly-20140822.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/org/lwjgl/lwjgl/lwjgl-platform/2.9.2-nightly-20140822/lwjgl-platform-2.9.2-nightly-20140822-natives-osx.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/net/java/jinput/jinput-platform/2.0.5/jinput-platform-2.0.5-natives-osx.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/mojang/text2speech/1.10.3/text2speech-1.10.3.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/com/mojang/text2speech/1.10.3/text2speech-1.10.3.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/ca/weblite/java-objc-bridge/1.0.0/java-objc-bridge-1.0.0-natives-osx.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/libraries/ca/weblite/java-objc-bridge/1.0.0/java-objc-bridge-1.0.0.jar:/Users/nikita.kulikov/Library/Application\ Support/minecraft/technomine/versions/1.12.2/1.12.2.jar diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 94336fc..5c2d1cf 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 9a7a514..4eaded5 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Sun Apr 28 20:13:33 MSK 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-3.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-all.zip diff --git a/gradlew b/gradlew index cccdd3d..b0d6d0a 100755 --- a/gradlew +++ b/gradlew @@ -1,5 +1,21 @@ #!/usr/bin/env sh +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + ############################################################################## ## ## Gradle start up script for UN*X @@ -28,7 +44,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" diff --git a/gradlew.bat b/gradlew.bat index f955316..9991c50 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome diff --git a/src/main/kotlin/ru/lionzxy/tplauncher/config/Profile.kt b/src/main/kotlin/ru/lionzxy/tplauncher/config/Profile.kt index 7bc3d57..45bb73a 100644 --- a/src/main/kotlin/ru/lionzxy/tplauncher/config/Profile.kt +++ b/src/main/kotlin/ru/lionzxy/tplauncher/config/Profile.kt @@ -1,3 +1,17 @@ package ru.lionzxy.tplauncher.config -data class Profile(val login: String, val token: String) \ No newline at end of file +import sk.tomsik68.mclauncher.api.login.ESessionType +import sk.tomsik68.mclauncher.api.login.ISession + +data class Profile( + val login: String, + val accessToken: String, + val profileId: String +) : ISession { + override fun getUsername() = login + override fun getType() = ESessionType.MOJANG + override fun getUUID() = profileId + override fun getSessionID() = accessToken + override fun getProperties() = emptyList() + +} \ No newline at end of file diff --git a/src/main/kotlin/ru/lionzxy/tplauncher/downloader/Updater.kt b/src/main/kotlin/ru/lionzxy/tplauncher/downloader/Updater.kt index 95e4c82..de32667 100644 --- a/src/main/kotlin/ru/lionzxy/tplauncher/downloader/Updater.kt +++ b/src/main/kotlin/ru/lionzxy/tplauncher/downloader/Updater.kt @@ -9,8 +9,8 @@ import sk.tomsik68.mclauncher.util.FileUtils import sk.tomsik68.mclauncher.util.HttpUtils import java.io.File -const val UPDATER_JSON_URL = "http://download.glitchless.ru/minecraft_dist/first_server/changelog.json" -const val HOST_URL = "http://download.glitchless.ru/minecraft_dist/first_server/" +const val UPDATER_JSON_URL = "https://minecraft.glitchless.ru/minecraft_dist/first_server/changelog.json" +const val HOST_URL = "https://minecraft.glitchless.ru/minecraft_dist/first_server/" class Updater { val changes = HashMap() diff --git a/src/main/kotlin/ru/lionzxy/tplauncher/utils/MinecraftLauncher.kt b/src/main/kotlin/ru/lionzxy/tplauncher/utils/MinecraftLauncher.kt index b00c30f..90b9fff 100644 --- a/src/main/kotlin/ru/lionzxy/tplauncher/utils/MinecraftLauncher.kt +++ b/src/main/kotlin/ru/lionzxy/tplauncher/utils/MinecraftLauncher.kt @@ -17,7 +17,7 @@ object MinecraftLauncher { version.launcher.getLaunchCommand( session, minecraft, - ServerInfo("glitchless.ru", "Glitchless Server", null, 25565), + ServerInfo("minecraft.glitchless.ru", "Glitchless Server", null, 25565), version, DefaultLaunchSettings(java), null @@ -29,11 +29,11 @@ object MinecraftLauncher { pb.redirectOutput(File("mcout.log")) pb.directory(minecraft.location) val proc = pb.start() - proc.inputStream.bufferedReader().use { br -> + /*proc.inputStream.bufferedReader().use { br -> while (proc.isAlive) { br.readLine()?.let { println(it) } } - } + }*/ } fun getVersion(minecraftInstance: MinecraftInstance): IVersion { diff --git a/src/main/kotlin/ru/lionzxy/tplauncher/view/MainWindow.kt b/src/main/kotlin/ru/lionzxy/tplauncher/view/MainWindow.kt index c4a6bf2..80fe438 100644 --- a/src/main/kotlin/ru/lionzxy/tplauncher/view/MainWindow.kt +++ b/src/main/kotlin/ru/lionzxy/tplauncher/view/MainWindow.kt @@ -90,9 +90,13 @@ class MainWindow : View(), IProgressMonitor { } } - fun hideLoginPassword() { + fun showLoginPassword(visible: Boolean) { runOnUi { - loginPasswordBox.hide() + if (visible) { + loginPasswordBox.show() + } else { + loginPasswordBox.hide() + } } } @@ -113,6 +117,7 @@ class MainWindow : View(), IProgressMonitor { override fun setStatus(status: String?) { runOnUi { + this.status.show() this.status.text = status } } diff --git a/src/main/kotlin/ru/lionzxy/tplauncher/view/controllers/MainController.kt b/src/main/kotlin/ru/lionzxy/tplauncher/view/controllers/MainController.kt index 7393ecd..f43fbce 100644 --- a/src/main/kotlin/ru/lionzxy/tplauncher/view/controllers/MainController.kt +++ b/src/main/kotlin/ru/lionzxy/tplauncher/view/controllers/MainController.kt @@ -2,7 +2,6 @@ package ru.lionzxy.tplauncher.view.controllers import net.lingala.zip4j.core.ZipFile import ru.lionzxy.tplauncher.config.Profile -import ru.lionzxy.tplauncher.downloader.OfflineSession import ru.lionzxy.tplauncher.downloader.Updater import ru.lionzxy.tplauncher.utils.ConfigHelper import ru.lionzxy.tplauncher.utils.LocalizationHelper @@ -11,6 +10,9 @@ import ru.lionzxy.tplauncher.utils.runOnUi import ru.lionzxy.tplauncher.view.MainWindow import sk.tomsik68.mclauncher.api.common.mc.MinecraftInstance import sk.tomsik68.mclauncher.api.login.ISession +import sk.tomsik68.mclauncher.impl.login.legacy.LegacyProfile +import sk.tomsik68.mclauncher.impl.login.yggdrasil.YDLoginService +import sk.tomsik68.mclauncher.impl.login.yggdrasil.YDServiceAuthenticationException import sk.tomsik68.mclauncher.util.FileUtils import tornadofx.runAsync import java.io.File @@ -23,23 +25,34 @@ class MainController(val mainWindow: MainWindow) { mainWindow.showProgress(false) mainWindow.showDownloadAndPlayButton(false) if (ConfigHelper.config.profile != null) { - mainWindow.hideLoginPassword() + mainWindow.showLoginPassword(false) mainWindow.showDownloadAndPlayButton(true) - session = OfflineSession(ConfigHelper.config.profile!!.login) + session = ConfigHelper.config.profile } } - fun onLogin(login: String, password: String) { + fun onLogin(login: String, password: String) = runAsync { + mainWindow.showProgress(true) + mainWindow.setProgress(-1) + mainWindow.showLoginPassword(false) if (login.isEmpty()) { mainWindow.setStatus(LocalizationHelper.getString("login_error_loginempty", "Login can't be empty!")) - return + return@runAsync } + try { + session = YDLoginService().login(LegacyProfile(login, password)) + } catch (ex: YDServiceAuthenticationException) { + ex.printStackTrace() + mainWindow.showLoginPassword(true) + mainWindow.showProgress(false) + mainWindow.setStatus(LocalizationHelper.getString("login_invalid", "Login or password invalid")) + return@runAsync + } ConfigHelper.writeToConfig { - profile = Profile(login, "Now empty") + profile = Profile(session!!.username, session!!.sessionID, session!!.uuid) } - session = OfflineSession(login) - mainWindow.hideLoginPassword() + downloadAndLaunch() } @@ -76,7 +89,11 @@ class MainController(val mainWindow: MainWindow) { private fun startDownloadZip() { val dist = File(ConfigHelper.getTemporaryDirectory(), "minecraft.zip") mainWindow.setStatus(LocalizationHelper.getString("download_mods")) - FileUtils.downloadFileWithProgress("http://download.glitchless.ru/0.0.3_minecraft.zip", dist, mainWindow) + FileUtils.downloadFileWithProgress( + "https://minecraft.glitchless.ru/minecraft_dist/first_server/initial.zip", + dist, + mainWindow + ) val zipFile = ZipFile(dist) mainWindow.setStatus(LocalizationHelper.getString("unzip_mods")) mainWindow.setProgress(-1) diff --git a/src/main/resources/strings_en_US.properties b/src/main/resources/strings_en_US.properties index 1a78cbe..5bcfa2e 100644 --- a/src/main/resources/strings_en_US.properties +++ b/src/main/resources/strings_en_US.properties @@ -8,4 +8,5 @@ unzip_mods=Unzipping mods... login_download_button=Download and/or launch download_minecraft=Downloading minecraft... download_java=Downloading jre... -unzip_java=Unzipping jre... \ No newline at end of file +unzip_java=Unzipping jre... +login_invalid=Login or password incorrect \ No newline at end of file