diff --git a/HMCL/HMCL.keystore b/HMCL/HMCL.keystore new file mode 100644 index 000000000..ea91d8309 Binary files /dev/null and b/HMCL/HMCL.keystore differ diff --git a/HMCL/HMCLauncher.exe b/HMCL/HMCLauncher.exe new file mode 100644 index 000000000..bfe3e45c3 Binary files /dev/null and b/HMCL/HMCLauncher.exe differ diff --git a/HMCL/build.gradle b/HMCL/build.gradle index 0246ca2c7..2d94b82fe 100644 --- a/HMCL/build.gradle +++ b/HMCL/build.gradle @@ -1,4 +1,124 @@ +import java.security.MessageDigest +import java.util.jar.JarFile +import java.util.jar.Pack200 +import java.util.zip.GZIPOutputStream + +if (!hasProperty('mainClass')) { + ext.mainClass = 'org.jackhuang.hmcl.Main' +} + +def buildnumber = System.getenv("TRAVIS_BUILD_NUMBER") +if (buildnumber == null) + buildnumber = System.getenv("BUILD_NUMBER") +if (buildnumber == null) + buildnumber = "33" + +def versionroot = System.getenv("VERSION_ROOT") +if (versionroot == null) + versionroot = "2.7.8" + +String mavenGroupId = 'HMCL' +String mavenVersion = versionroot + '.' + buildnumber +String bundleName = "Hello Minecraft! Launcher" + dependencies { compile project(":HMCLCore") compile rootProject.files("lib/JFoenix.jar") -} \ No newline at end of file +} + +task generateSources(type: Sync) { + from 'src/main/java' + into "$buildDir/generated-src" + filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [ + 'HELLO_MINECRAFT_LAUNCHER_VERSION_FOR_GRADLE_REPLACING': mavenVersion + ]) +} + +compileJava.setSource "$buildDir/generated-src" +compileJava.dependsOn generateSources + +configurations { + coreCompile.extendsFrom compile + coreRuntime.extendsFrom runtime +} + +jar { + from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } + + manifest { + attributes 'Created-By' : 'Copyright(c) 2013-2017 huangyuhui.', + 'Main-Class' : mainClass + } + + doLast { + new File("build/signed").mkdirs() + ant.signjar(signedjar: archivePath, jar: archivePath, + keystore: "HMCL.keystore", storepass: "123456", + alias: "HMCL") + + def messageDigest = MessageDigest.getInstance("SHA1") + archivePath.eachByte 1024 * 1024, { byte[] buf, int bytesRead -> + messageDigest.update(buf, 0, bytesRead); + } + def sha1Hex = new BigInteger(1, messageDigest.digest()).toString(16).padLeft(40, '0') + def fileEx = new File(project.buildDir, "libs/" + archivePath.getName() + ".sha1") + if (!fileEx.exists()) fileEx.createNewFile() + fileEx.append sha1Hex + } +} + +processResources { + from(sourceSets.main.resources.srcDirs) { + exclude 'icon.icns' + } +} + +task makeExecutable(dependsOn: jar) doLast { + ext { + jar.classifier = '' + makeExecutableinjar = jar.archivePath + jar.classifier = '' + makeExecutableoutjar = jar.archivePath + jar.classifier = '' + } + def loc = new File(project.buildDir, "libs/" + makeExecutableoutjar.getName().substring(0, makeExecutableoutjar.getName().length()-4)+".exe") + def fos = new FileOutputStream(loc) + def is = new FileInputStream(new File(project.buildDir, '../HMCLauncher.exe')) + int read + def bytes = new byte[8192] + while((read = is.read(bytes)) != -1) + fos.write(bytes, 0, read); + is.close() + is = new FileInputStream(makeExecutableinjar) + while((read = is.read(bytes)) != -1) + fos.write(bytes, 0, read); + is.close() + fos.close() + +} + +task makePackGZ(dependsOn: jar) doLast { + ext { + jar.classifier = '' + makeExecutableinjar = jar.archivePath + jar.classifier = '' + makeExecutableoutjar = jar.archivePath + jar.classifier = '' + } + def loc = new File(project.buildDir, "libs/" + makeExecutableoutjar.getName().substring(0, makeExecutableoutjar.getName().length()-4)+".pack.gz") + def os = new GZIPOutputStream(new FileOutputStream(loc)) + Pack200.newPacker().pack new JarFile(makeExecutableinjar), os + os.close() + + def messageDigest = MessageDigest.getInstance("SHA1") + loc.eachByte 1024 * 1024, { byte[] buf, int bytesRead -> + messageDigest.update(buf, 0, bytesRead); + } + def sha1Hex = new BigInteger(1, messageDigest.digest()).toString(16).padLeft(40, '0') + def fileEx = new File(project.buildDir, "libs/" + makeExecutableoutjar.getName().substring(0, makeExecutableoutjar.getName().length()-4)+".pack.gz.sha1") + if (!fileEx.exists()) fileEx.createNewFile() + fileEx.append sha1Hex +} + +build.dependsOn makeExecutable +build.dependsOn makePackGZ \ No newline at end of file diff --git a/HMCL/icon.ico b/HMCL/icon.ico new file mode 100644 index 000000000..fe7ac703b Binary files /dev/null and b/HMCL/icon.ico differ diff --git a/HMCL/src/main/icon.icns b/HMCL/src/main/icon.icns new file mode 100644 index 000000000..17f903023 Binary files /dev/null and b/HMCL/src/main/icon.icns differ diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/Events.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/Events.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/Events.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/Events.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/MainApplication.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/MainApplication.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/MainApplication.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/MainApplication.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameRepository.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/game/HMCLGameRepository.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameRepository.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/game/HMCLGameRepository.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/game/LauncherHelper.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/game/LauncherHelper.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Config.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/setting/Config.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/setting/Config.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/setting/Config.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/EnumGameDirectory.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/setting/EnumGameDirectory.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/setting/EnumGameDirectory.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/setting/EnumGameDirectory.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/LauncherVisibility.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/setting/LauncherVisibility.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/setting/LauncherVisibility.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/setting/LauncherVisibility.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Profile.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/setting/Profile.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/setting/Profile.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/setting/Profile.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/Settings.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/setting/Settings.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/setting/Settings.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/setting/Settings.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/setting/VersionSetting.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/setting/VersionSetting.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/setting/VersionSetting.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/setting/VersionSetting.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/AccountItem.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/AccountItem.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/AccountItem.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/AccountItem.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/AccountsPage.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/AccountsPage.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/AccountsPage.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/AccountsPage.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/ClassTitle.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/ClassTitle.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/ClassTitle.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/ClassTitle.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/Controllers.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/Controllers.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/Controllers.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/Decorator.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/Decorator.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/Decorator.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/Decorator.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/FXUtils.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/FXUtils.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/FXUtils.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/FXUtils.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/IconedItem.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/IconedItem.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/IconedItem.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/IconedItem.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/LeftPaneController.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/LeftPaneController.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/LeftPaneController.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/LeftPaneController.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/MainPage.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/MainPage.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/MainPage.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/MainPage.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/ModController.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/ModController.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/ModController.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/ModController.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/ModItem.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/ModItem.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/ModItem.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/ModItem.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/NumberValidator.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/NumberValidator.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/NumberValidator.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/NumberValidator.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/RipplerContainer.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/RipplerContainer.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/RipplerContainer.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/RipplerContainer.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/SVG.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/SVG.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/SVG.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/SVG.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/SafeIntStringConverter.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/SafeIntStringConverter.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/SafeIntStringConverter.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/SafeIntStringConverter.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/VersionListItem.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/VersionListItem.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/VersionListItem.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/VersionListItem.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/VersionPage.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/VersionPage.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/VersionPage.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/VersionPage.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/VersionSettingsController.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/VersionSettingsController.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/VersionSettingsController.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/VersionSettingsController.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/animation/AnimationHandler.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/animation/AnimationHandler.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/animation/AnimationHandler.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/animation/AnimationHandler.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/animation/ContainerAnimations.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/animation/ContainerAnimations.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/animation/ContainerAnimations.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/animation/ContainerAnimations.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/animation/TransitionHandler.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/animation/TransitionHandler.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/animation/TransitionHandler.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/animation/TransitionHandler.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/DownloadWizardProvider.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/download/DownloadWizardProvider.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/download/DownloadWizardProvider.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/download/DownloadWizardProvider.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/InstallTypePage.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/download/InstallTypePage.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/download/InstallTypePage.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/download/InstallTypePage.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/InstallersPage.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/download/InstallersPage.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/download/InstallersPage.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/download/InstallersPage.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VersionsPage.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/download/VersionsPage.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VersionsPage.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/download/VersionsPage.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VersionsPageItem.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/download/VersionsPageItem.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/download/VersionsPageItem.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/download/VersionsPageItem.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/AbstractWizardDisplayer.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/AbstractWizardDisplayer.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/AbstractWizardDisplayer.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/AbstractWizardDisplayer.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/DecoratorPage.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/DecoratorPage.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/DecoratorPage.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/DecoratorPage.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/DefaultWizardDisplayer.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/DefaultWizardDisplayer.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/DefaultWizardDisplayer.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/DefaultWizardDisplayer.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/DeferredWizardResult.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/DeferredWizardResult.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/DeferredWizardResult.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/DeferredWizardResult.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/Navigation.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/Navigation.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/Navigation.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/Navigation.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/Refreshable.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/Refreshable.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/Refreshable.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/Refreshable.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/ResultProgressHandle.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/ResultProgressHandle.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/ResultProgressHandle.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/ResultProgressHandle.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/Summary.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/Summary.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/Summary.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/Summary.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/Wizard.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/Wizard.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/Wizard.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/Wizard.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/WizardController.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/WizardController.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/WizardController.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/WizardController.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/WizardDisplayer.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/WizardDisplayer.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/WizardDisplayer.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/WizardDisplayer.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/WizardNavigationResult.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/WizardNavigationResult.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/WizardNavigationResult.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/WizardNavigationResult.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/WizardPage.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/WizardPage.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/WizardPage.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/WizardPage.kt diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/WizardProvider.kt b/HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/WizardProvider.kt similarity index 100% rename from HMCL/src/main/java/org/jackhuang/hmcl/ui/wizard/WizardProvider.kt rename to HMCL/src/main/kotlin/org/jackhuang/hmcl/ui/wizard/WizardProvider.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/Account.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/Account.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/auth/Account.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/Account.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/AccountFactory.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/AccountFactory.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/auth/AccountFactory.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/AccountFactory.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/Accounts.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/Accounts.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/auth/Accounts.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/Accounts.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/AuthInfo.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/AuthInfo.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/auth/AuthInfo.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/AuthInfo.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/AuthenticationException.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/AuthenticationException.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/auth/AuthenticationException.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/AuthenticationException.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/OfflineAccount.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/OfflineAccount.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/auth/OfflineAccount.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/OfflineAccount.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/UserType.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/UserType.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/auth/UserType.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/UserType.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/AuthenticationRequest.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/AuthenticationRequest.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/AuthenticationRequest.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/AuthenticationRequest.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/GameProfile.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/GameProfile.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/GameProfile.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/GameProfile.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/Property.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/Property.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/Property.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/Property.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/PropertyMap.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/PropertyMap.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/PropertyMap.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/PropertyMap.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/RefreshRequest.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/RefreshRequest.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/RefreshRequest.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/RefreshRequest.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/Response.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/Response.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/Response.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/Response.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/User.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/User.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/User.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/User.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/ValidateRequest.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/ValidateRequest.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/ValidateRequest.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/ValidateRequest.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilAccount.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilAccount.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilAccount.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/auth/yggdrasil/YggdrasilAccount.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/AbstractDependencyManager.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/AbstractDependencyManager.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/AbstractDependencyManager.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/AbstractDependencyManager.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/BMCLAPIDownloadProvider.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/BMCLAPIDownloadProvider.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/BMCLAPIDownloadProvider.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/BMCLAPIDownloadProvider.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultDependencyManager.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/DefaultDependencyManager.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultDependencyManager.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/DefaultDependencyManager.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultGameBuilder.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/DefaultGameBuilder.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/DefaultGameBuilder.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/DefaultGameBuilder.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/DependencyManager.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/DependencyManager.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/DependencyManager.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/DependencyManager.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/DownloadProvider.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/DownloadProvider.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/DownloadProvider.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/DownloadProvider.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/ForgeInstallTask.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/ForgeInstallTask.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/ForgeInstallTask.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/ForgeInstallTask.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/ForgeRemote.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/ForgeRemote.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/ForgeRemote.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/ForgeRemote.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/ForgeVersionList.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/ForgeVersionList.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/ForgeVersionList.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/ForgeVersionList.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/GameBuilder.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/GameBuilder.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/GameBuilder.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/GameBuilder.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/GameDownloadTasks.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/GameDownloadTasks.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/GameDownloadTasks.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/GameDownloadTasks.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/GameRemoteVersions.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/GameRemoteVersions.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/GameRemoteVersions.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/GameRemoteVersions.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/GameVersionList.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/GameVersionList.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/GameVersionList.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/GameVersionList.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/LiteLoaderInstallTask.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/LiteLoaderInstallTask.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/LiteLoaderInstallTask.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/LiteLoaderInstallTask.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/LiteLoaderRemote.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/LiteLoaderRemote.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/LiteLoaderRemote.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/LiteLoaderRemote.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/LiteLoaderVersionList.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/LiteLoaderVersionList.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/LiteLoaderVersionList.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/LiteLoaderVersionList.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/MojangDownloadProvider.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/MojangDownloadProvider.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/MojangDownloadProvider.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/MojangDownloadProvider.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/OptiFineBMCLVersionList.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/OptiFineBMCLVersionList.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/OptiFineBMCLVersionList.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/OptiFineBMCLVersionList.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/OptiFineDownloadFormatter.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/OptiFineDownloadFormatter.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/OptiFineDownloadFormatter.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/OptiFineDownloadFormatter.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/OptiFineInstallTask.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/OptiFineInstallTask.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/OptiFineInstallTask.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/OptiFineInstallTask.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/OptiFineRemotes.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/OptiFineRemotes.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/OptiFineRemotes.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/OptiFineRemotes.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/OptiFineVersionList.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/OptiFineVersionList.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/OptiFineVersionList.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/OptiFineVersionList.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/RemoteVersion.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/RemoteVersion.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/RemoteVersion.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/RemoteVersion.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/VersionList.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/VersionList.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/download/VersionList.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/download/VersionList.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/event/Event.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/event/Event.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/event/Event.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/event/Event.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/event/EventBus.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/event/EventBus.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/event/EventBus.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/event/EventBus.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/event/EventManager.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/event/EventManager.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/event/EventManager.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/event/EventManager.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/event/EventPriority.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/event/EventPriority.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/event/EventPriority.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/event/EventPriority.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/event/Events.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/event/Events.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/event/Events.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/event/Events.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/event/ResultEvent.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/event/ResultEvent.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/event/ResultEvent.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/event/ResultEvent.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/AssetIndex.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/AssetIndex.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/AssetIndex.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/AssetIndex.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/AssetIndexInfo.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/AssetIndexInfo.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/AssetIndexInfo.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/AssetIndexInfo.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/AssetObject.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/AssetObject.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/AssetObject.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/AssetObject.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/CircleDependencyException.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/CircleDependencyException.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/CircleDependencyException.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/CircleDependencyException.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/ClassicVersion.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/ClassicVersion.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/ClassicVersion.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/ClassicVersion.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/CompatibilityRule.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/CompatibilityRule.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/CompatibilityRule.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/CompatibilityRule.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/DefaultGameRepository.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/DefaultGameRepository.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/DefaultGameRepository.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/DefaultGameRepository.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/DownloadInfo.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/DownloadInfo.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/DownloadInfo.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/DownloadInfo.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/DownloadType.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/DownloadType.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/DownloadType.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/DownloadType.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/ExtractRules.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/ExtractRules.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/ExtractRules.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/ExtractRules.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameException.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/GameException.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameException.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/GameException.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameRepository.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/GameRepository.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameRepository.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/GameRepository.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameVersion.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/GameVersion.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameVersion.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/GameVersion.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/LaunchOptions.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/LaunchOptions.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/LaunchOptions.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/LaunchOptions.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/LibrariesDownloadInfo.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/LibrariesDownloadInfo.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/LibrariesDownloadInfo.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/LibrariesDownloadInfo.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Library.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/Library.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/Library.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/Library.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/LibraryDownloadInfo.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/LibraryDownloadInfo.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/LibraryDownloadInfo.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/LibraryDownloadInfo.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/LoggingInfo.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/LoggingInfo.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/LoggingInfo.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/LoggingInfo.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/ReleaseType.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/ReleaseType.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/ReleaseType.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/ReleaseType.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/SimpleVersionProvider.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/SimpleVersionProvider.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/SimpleVersionProvider.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/SimpleVersionProvider.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/Version.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/Version.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/Version.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/Version.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/VersionNotFoundException.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/VersionNotFoundException.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/VersionNotFoundException.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/VersionNotFoundException.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/VersionProvider.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/VersionProvider.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/game/VersionProvider.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/game/VersionProvider.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/launch/DefaultLauncher.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/launch/DefaultLauncher.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/launch/DefaultLauncher.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/Launcher.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/launch/Launcher.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/launch/Launcher.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/launch/Launcher.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/launch/ProcessListener.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/launch/ProcessListener.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/launch/ProcessListener.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/launch/ProcessListener.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ForgeModMetadata.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/mod/ForgeModMetadata.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ForgeModMetadata.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/mod/ForgeModMetadata.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/LiteModMetadata.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/mod/LiteModMetadata.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/mod/LiteModMetadata.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/mod/LiteModMetadata.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModInfo.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/mod/ModInfo.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModInfo.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/mod/ModInfo.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModManager.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/mod/ModManager.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModManager.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/mod/ModManager.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/Modpack.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/mod/Modpack.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/mod/Modpack.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/mod/Modpack.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModpackManager.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/mod/ModpackManager.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/mod/ModpackManager.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/mod/ModpackManager.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/CoupleTask.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/CoupleTask.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/task/CoupleTask.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/CoupleTask.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/FileDownloadTask.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/FileDownloadTask.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/task/FileDownloadTask.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/FileDownloadTask.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/GetTask.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/GetTask.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/task/GetTask.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/GetTask.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/ParallelTask.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/ParallelTask.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/task/ParallelTask.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/ParallelTask.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/Scheduler.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/Scheduler.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/task/Scheduler.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/Scheduler.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SilentException.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/SilentException.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/task/SilentException.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/SilentException.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/SimpleTask.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/SimpleTask.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/task/SimpleTask.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/SimpleTask.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/Task.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/Task.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/task/Task.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/Task.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/TaskCallable.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/TaskCallable.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/task/TaskCallable.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/TaskCallable.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/TaskEvent.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/TaskEvent.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/task/TaskEvent.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/TaskEvent.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/TaskExecutor.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/TaskExecutor.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/task/TaskExecutor.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/TaskExecutor.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/TaskListener.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/TaskListener.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/task/TaskListener.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/TaskListener.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/task/TaskResult.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/TaskResult.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/task/TaskResult.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/task/TaskResult.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Annotation.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Annotation.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/Annotation.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Annotation.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Constants.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Constants.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/Constants.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Constants.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/DigestUtils.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/DigestUtils.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/DigestUtils.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/DigestUtils.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ExitWaiter.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/ExitWaiter.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/ExitWaiter.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/ExitWaiter.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/FileUtils.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/FileUtils.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/FileUtils.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/FileUtils.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Gson.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Gson.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/Gson.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Gson.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Hex.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Hex.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/Hex.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Hex.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/IOUtils.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/IOUtils.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/IOUtils.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/IOUtils.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/JavaProcess.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/JavaProcess.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/JavaProcess.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/JavaProcess.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/JavaVersion.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/JavaVersion.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/JavaVersion.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/JavaVersion.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Lang.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Lang.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/Lang.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Lang.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Lib.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Lib.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/Lib.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Lib.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Logging.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Logging.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/Logging.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Logging.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/NetUtils.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/NetUtils.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/NetUtils.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/NetUtils.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/OS.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/OS.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/OS.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/OS.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Platform.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Platform.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/Platform.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Platform.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/Properties.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Properties.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/Properties.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/Properties.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ReflectionHelper.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/ReflectionHelper.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/ReflectionHelper.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/ReflectionHelper.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/SimpleMultimap.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/SimpleMultimap.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/SimpleMultimap.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/SimpleMultimap.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/StreamPump.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/StreamPump.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/StreamPump.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/StreamPump.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/VersionNumber.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/VersionNumber.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/VersionNumber.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/VersionNumber.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/ZipUtils.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/ZipUtils.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/ZipUtils.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/ZipUtils.kt diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/property/ImmediateStringProperty.kt b/HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/property/ImmediateStringProperty.kt similarity index 100% rename from HMCLCore/src/main/java/org/jackhuang/hmcl/util/property/ImmediateStringProperty.kt rename to HMCLCore/src/main/kotlin/org/jackhuang/hmcl/util/property/ImmediateStringProperty.kt