From 95598df273a96be0d59b529ee7a4ab239d9275e7 Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Tue, 4 Aug 2015 15:13:04 +0800 Subject: [PATCH] Now can choose Java Installation in Windows --- HMCL/build.gradle | 3 +- HMCL/obfuscate_2.3.3.map | 1184 +++++++++-------- .../launcher/settings/Profile.java | 38 +- .../launcher/settings/Settings.java | 14 +- .../utils/auth/SkinmeAuthenticator.java | 3 + .../launcher/views/GameSettingsPanel.form | 29 +- .../launcher/views/GameSettingsPanel.java | 58 +- .../hellominecraft/utils/system/IOUtils.java | 41 +- .../hellominecraft/utils/system/Java.java | 100 ++ .../utils/system/JdkVersion.java | 19 +- .../hellominecraft/launcher/I18N.properties | 3 + .../launcher/I18N_en_US.properties | 3 + .../launcher/I18N_zh_CN.properties | 3 + .../launcher/I18N_zh_TW.properties | 3 + HMCSM/build.gradle | 11 +- 15 files changed, 887 insertions(+), 625 deletions(-) create mode 100644 HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/Java.java diff --git a/HMCL/build.gradle b/HMCL/build.gradle index 3c9f6787f..c89f5f885 100644 --- a/HMCL/build.gradle +++ b/HMCL/build.gradle @@ -25,8 +25,7 @@ if (!hasProperty('mainClass')) { ext.mainClass = 'org.jackhuang.hellominecraft.launcher.Main' } - -def buildnumber = System.getenv("BUILD_NUMBER") == null ? "" : "-"+System.getenv("BUILD_NUMBER") +def buildnumber = System.getenv("BUILD_NUMBER") == null ? "" : "."+System.getenv("BUILD_NUMBER") String mavenGroupId = 'HMCL' String mavenVersion = '2.3.3' + buildnumber diff --git a/HMCL/obfuscate_2.3.3.map b/HMCL/obfuscate_2.3.3.map index 58a1cd8e3..3bb113700 100644 --- a/HMCL/obfuscate_2.3.3.map +++ b/HMCL/obfuscate_2.3.3.map @@ -1234,11 +1234,11 @@ org.jackhuang.hellominecraft.launcher.launch.AbstractMinecraftLoader -> org.jack org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider lr -> a java.io.File gameDir -> a org.jackhuang.hellominecraft.launcher.launch.IMinecraftProvider provider -> a - 58:131:void makeHeadCommand(java.util.List) -> a - 135:166:java.util.List makeLaunchingCommand() -> a + 58:136:void makeHeadCommand(java.util.List) -> a + 140:171:java.util.List makeLaunchingCommand() -> a void makeSelf(java.util.List) -> b - 182:182:void appendJVMArgs(java.util.List) -> c - 185:185:org.jackhuang.hellominecraft.launcher.settings.Profile getUserVersion() -> a + 187:187:void appendJVMArgs(java.util.List) -> c + 190:190:org.jackhuang.hellominecraft.launcher.settings.Profile getUserVersion() -> a org.jackhuang.hellominecraft.launcher.launch.DefaultGameLauncher -> org.jackhuang.hellominecraft.launcher.h: 46:69:void register() -> a 61:67:boolean lambda$register$3(java.lang.Object,org.jackhuang.hellominecraft.launcher.launch.GameLauncher$DecompressLibraryJob) -> b @@ -1414,6 +1414,7 @@ org.jackhuang.hellominecraft.launcher.settings.Profile -> org.jackhuang.hellomin java.lang.String javaDir -> javaDir java.lang.String wrapperLauncher -> wrapperLauncher java.lang.String serverIp -> serverIp + java.lang.String java -> java boolean fullscreen -> fullscreen boolean debug -> debug boolean noJVMArgs -> noJVMArgs @@ -1421,72 +1422,77 @@ org.jackhuang.hellominecraft.launcher.settings.Profile -> org.jackhuang.hellomin int launcherVisibility -> launcherVisibility int gameDirType -> gameDirType org.jackhuang.hellominecraft.launcher.launch.IMinecraftProvider minecraftProvider -> a - 91:92:org.jackhuang.hellominecraft.launcher.launch.IMinecraftProvider getMinecraftProvider() -> a - 96:105:org.jackhuang.hellominecraft.launcher.version.MinecraftVersion getSelectedMinecraftVersion() -> a - 109:110:java.lang.String getGameDir() -> a - 114:114:java.lang.String getCanonicalGameDir() -> b - 118:118:java.io.File getCanonicalGameDirFile() -> a - 122:122:java.io.File getGameDirFile() -> b - 126:128:org.jackhuang.hellominecraft.launcher.settings.Profile setGameDir(java.lang.String) -> a - 132:134:java.lang.String getJavaDir() -> c - 138:138:java.io.File getJavaDirFile() -> c - 142:144:void setJavaDir(java.lang.String) -> a - 147:147:java.io.File getFolder(java.lang.String) -> a - 151:151:java.lang.String getName() -> d - 155:156:void setName(java.lang.String) -> b - 159:160:void setSelectedMinecraftVersion(java.lang.String) -> c - 163:164:java.lang.String getJavaArgs() -> e - 168:170:void setJavaArgs(java.lang.String) -> d - 173:173:boolean hasJavaArgs() -> a - 177:178:java.lang.String getMaxMemory() -> f - 182:184:void setMaxMemory(java.lang.String) -> e - 187:188:java.lang.String getWidth() -> g - 192:193:void setWidth(java.lang.String) -> f - 196:197:java.lang.String getHeight() -> h - 201:203:void setHeight(java.lang.String) -> g - 206:207:java.lang.String getUserProperties() -> i - 211:212:void setUserProperties(java.lang.String) -> h - 215:215:boolean isFullscreen() -> b - 219:221:void setFullscreen(boolean) -> a - 224:224:boolean isDebug() -> c - 228:230:void setDebug(boolean) -> b - 233:233:org.jackhuang.hellominecraft.launcher.settings.LauncherVisibility getLauncherVisibility() -> a - 237:239:void setLauncherVisibility(org.jackhuang.hellominecraft.launcher.settings.LauncherVisibility) -> a - 242:242:org.jackhuang.hellominecraft.launcher.version.GameDirType getGameDirType() -> a - 246:248:void setGameDirType(org.jackhuang.hellominecraft.launcher.version.GameDirType) -> a - 251:251:java.lang.String getPermSize() -> j - 255:257:void setPermSize(java.lang.String) -> i - 260:260:boolean isNoJVMArgs() -> d - 264:265:void setNoJVMArgs(boolean) -> c - 268:268:java.lang.String getMinecraftArgs() -> k - 272:274:void setMinecraftArgs(java.lang.String) -> j - 277:277:boolean isCanceledWrapper() -> e - 281:283:void setCanceledWrapper(boolean) -> d - 286:286:java.lang.String getWrapperLauncher() -> l - 290:292:void setWrapperLauncher(java.lang.String) -> k - 295:295:java.lang.String getServerIp() -> m - 299:301:void setServerIp(java.lang.String) -> l - 304:305:void checkFormat() -> a + 94:95:org.jackhuang.hellominecraft.launcher.launch.IMinecraftProvider getMinecraftProvider() -> a + 99:108:org.jackhuang.hellominecraft.launcher.version.MinecraftVersion getSelectedMinecraftVersion() -> a + 112:113:java.lang.String getGameDir() -> a + 117:117:java.lang.String getCanonicalGameDir() -> b + 121:121:java.io.File getCanonicalGameDirFile() -> a + 125:125:java.io.File getGameDirFile() -> b + 129:131:org.jackhuang.hellominecraft.launcher.settings.Profile setGameDir(java.lang.String) -> a + 135:137:java.lang.String getJavaDir() -> c + 141:141:java.lang.String getSettingsJavaDir() -> d + 145:145:java.io.File getJavaDirFile() -> c + 149:151:void setJavaDir(java.lang.String) -> a + 154:154:org.jackhuang.hellominecraft.utils.system.Java getJava() -> a + 158:166:int getJavaIndexInAllJavas() -> a + 170:174:void setJava(org.jackhuang.hellominecraft.utils.system.Java) -> a + 177:177:java.io.File getFolder(java.lang.String) -> a + 181:181:java.lang.String getName() -> e + 185:186:void setName(java.lang.String) -> b + 189:190:void setSelectedMinecraftVersion(java.lang.String) -> c + 193:194:java.lang.String getJavaArgs() -> f + 198:200:void setJavaArgs(java.lang.String) -> d + 203:203:boolean hasJavaArgs() -> a + 207:208:java.lang.String getMaxMemory() -> g + 212:214:void setMaxMemory(java.lang.String) -> e + 217:218:java.lang.String getWidth() -> h + 222:223:void setWidth(java.lang.String) -> f + 226:227:java.lang.String getHeight() -> i + 231:233:void setHeight(java.lang.String) -> g + 236:237:java.lang.String getUserProperties() -> j + 241:242:void setUserProperties(java.lang.String) -> h + 245:245:boolean isFullscreen() -> b + 249:251:void setFullscreen(boolean) -> a + 254:254:boolean isDebug() -> c + 258:260:void setDebug(boolean) -> b + 263:263:org.jackhuang.hellominecraft.launcher.settings.LauncherVisibility getLauncherVisibility() -> a + 267:269:void setLauncherVisibility(org.jackhuang.hellominecraft.launcher.settings.LauncherVisibility) -> a + 272:272:org.jackhuang.hellominecraft.launcher.version.GameDirType getGameDirType() -> a + 276:278:void setGameDirType(org.jackhuang.hellominecraft.launcher.version.GameDirType) -> a + 281:281:java.lang.String getPermSize() -> k + 285:287:void setPermSize(java.lang.String) -> i + 290:290:boolean isNoJVMArgs() -> d + 294:295:void setNoJVMArgs(boolean) -> c + 298:298:java.lang.String getMinecraftArgs() -> l + 302:304:void setMinecraftArgs(java.lang.String) -> j + 307:307:boolean isCanceledWrapper() -> e + 311:313:void setCanceledWrapper(boolean) -> d + 316:316:java.lang.String getWrapperLauncher() -> m + 320:322:void setWrapperLauncher(java.lang.String) -> k + 325:325:java.lang.String getServerIp() -> n + 329:331:void setServerIp(java.lang.String) -> l + 334:335:void checkFormat() -> a org.jackhuang.hellominecraft.launcher.settings.Settings -> org.jackhuang.hellominecraft.launcher.z: java.lang.String DEFAULT_PROFILE -> a java.io.File settingsFile -> a boolean isFirstLoad -> a org.jackhuang.hellominecraft.launcher.settings.Config settings -> a org.jackhuang.hellominecraft.utils.UpdateChecker UPDATE_CHECKER -> a - 52:52:org.jackhuang.hellominecraft.launcher.settings.Config getInstance() -> a - 56:56:boolean isFirstLoad() -> a - 72:95:org.jackhuang.hellominecraft.launcher.settings.Config initSettings() -> b - 100:104:void save() -> a - 107:107:org.jackhuang.hellominecraft.launcher.settings.Profile getVersion(java.lang.String) -> a - 111:111:java.util.Map getVersions() -> a - 115:117:void setVersion(org.jackhuang.hellominecraft.launcher.settings.Profile) -> a - 120:120:java.util.Collection getProfiles() -> a - 124:124:org.jackhuang.hellominecraft.launcher.settings.Profile getOneProfile() -> a - 128:131:boolean trySetVersion(org.jackhuang.hellominecraft.launcher.settings.Profile) -> a - 135:135:boolean delVersion(org.jackhuang.hellominecraft.launcher.settings.Profile) -> b - 139:143:boolean delVersion(java.lang.String) -> a - 120:120:boolean lambda$getProfiles$7(org.jackhuang.hellominecraft.launcher.settings.Profile) -> d - 68:68:void lambda$static$6() -> c + java.util.List JAVA -> a + 57:57:org.jackhuang.hellominecraft.launcher.settings.Config getInstance() -> a + 61:61:boolean isFirstLoad() -> a + 84:107:org.jackhuang.hellominecraft.launcher.settings.Config initSettings() -> b + 112:116:void save() -> a + 119:119:org.jackhuang.hellominecraft.launcher.settings.Profile getVersion(java.lang.String) -> a + 123:123:java.util.Map getVersions() -> a + 127:129:void setVersion(org.jackhuang.hellominecraft.launcher.settings.Profile) -> a + 132:132:java.util.Collection getProfiles() -> a + 136:136:org.jackhuang.hellominecraft.launcher.settings.Profile getOneProfile() -> a + 140:143:boolean trySetVersion(org.jackhuang.hellominecraft.launcher.settings.Profile) -> a + 147:147:boolean delVersion(org.jackhuang.hellominecraft.launcher.settings.Profile) -> b + 151:155:boolean delVersion(java.lang.String) -> a + 132:132:boolean lambda$getProfiles$7(org.jackhuang.hellominecraft.launcher.settings.Profile) -> d + 73:73:void lambda$static$6() -> c boolean access$lambda$0(org.jackhuang.hellominecraft.launcher.settings.Profile) -> c void access$lambda$1() -> b org.jackhuang.hellominecraft.launcher.settings.Settings$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.A: @@ -1646,10 +1652,10 @@ org.jackhuang.hellominecraft.launcher.utils.auth.OfflineAuthenticator -> org.jac org.jackhuang.hellominecraft.launcher.utils.auth.SkinmeAuthenticator -> org.jackhuang.hellominecraft.launcher.X: 36:36:java.lang.String[] parseType1(java.lang.String) -> a 40:44:java.lang.String getCharacter(java.lang.String,java.lang.String,java.lang.String) -> a - 50:118:org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider login(org.jackhuang.hellominecraft.launcher.utils.auth.LoginInfo) -> a - 124:124:java.lang.String getName() -> a - 129:129:org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider loginBySettings() -> a - 135:135:void logout() -> a + 50:121:org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider login(org.jackhuang.hellominecraft.launcher.utils.auth.LoginInfo) -> a + 127:127:java.lang.String getName() -> a + 132:132:org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider loginBySettings() -> a + 138:138:void logout() -> a org.jackhuang.hellominecraft.launcher.utils.auth.UserProfileProvider -> org.jackhuang.hellominecraft.launcher.Y: java.lang.String username -> a java.lang.String userId -> b @@ -2065,9 +2071,10 @@ org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel -> org.jackhuang.h javax.swing.JButton btnRefreshVersions -> o javax.swing.JButton btnRemoveProfile -> p javax.swing.JComboBox cboGameDirType -> a - javax.swing.JComboBox cboLauncherVisibility -> b - javax.swing.JComboBox cboProfiles -> c - javax.swing.JComboBox cboVersions -> d + javax.swing.JComboBox cboJava -> b + javax.swing.JComboBox cboLauncherVisibility -> c + javax.swing.JComboBox cboProfiles -> d + javax.swing.JComboBox cboVersions -> e javax.swing.JCheckBox chkCancelWrapper -> a javax.swing.JCheckBox chkDebug -> b javax.swing.JCheckBox chkFullscreen -> c @@ -2118,97 +2125,99 @@ org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel -> org.jackhuang.h javax.swing.JTextField txtServerIP -> i javax.swing.JTextField txtWidth -> j javax.swing.JTextField txtWrapperLauncher -> k - 175:892:void initComponents() -> d - 895:900:void cboProfilesItemStateChanged(java.awt.event.ItemEvent) -> a - 903:906:void btnNewProfileActionPerformed(java.awt.event.ActionEvent) -> a - 909:919:void btnRemoveProfileActionPerformed(java.awt.event.ActionEvent) -> b - 923:931:void cboVersionsItemStateChanged(java.awt.event.ItemEvent) -> b - 934:935:void btnRefreshVersionsActionPerformed(java.awt.event.ActionEvent) -> c - 938:939:void btnRefreshForgeActionPerformed(java.awt.event.ActionEvent) -> d - 942:957:void btnDownloadForgeActionPerformed(java.awt.event.ActionEvent) -> e - 960:961:void btnRefreshOptifineActionPerformed(java.awt.event.ActionEvent) -> f - 964:978:void btnDownloadOptifineActionPerformed(java.awt.event.ActionEvent) -> g - 981:994:void btnInstallLiteLoaderActionPerformed(java.awt.event.ActionEvent) -> h - 997:998:void btnRefreshLiteLoaderActionPerformed(java.awt.event.ActionEvent) -> i - 1001:1003:void btnDownloadActionPerformed(java.awt.event.ActionEvent) -> j - 1006:1007:void btnRefreshGameDownloadsActionPerformed(java.awt.event.ActionEvent) -> k - 1010:1011:void btnExploreMouseClicked(java.awt.event.MouseEvent) -> a - 1014:1028:void btnIncludeMinecraftActionPerformed(java.awt.event.ActionEvent) -> l - 1031:1032:void btnModifyMouseClicked(java.awt.event.MouseEvent) -> b - 1035:1036:void txtJavaArgsFocusLost(java.awt.event.FocusEvent) -> a - 1039:1040:void txtMinecraftArgsFocusLost(java.awt.event.FocusEvent) -> b - 1043:1044:void txtPermSizeFocusLost(java.awt.event.FocusEvent) -> c - 1047:1048:void chkDebugFocusLost(java.awt.event.FocusEvent) -> d - 1051:1052:void chkNoJVMArgsFocusLost(java.awt.event.FocusEvent) -> e - 1055:1056:void chkCancelWrapperFocusLost(java.awt.event.FocusEvent) -> f - 1059:1060:void txtWrapperLauncherFocusLost(java.awt.event.FocusEvent) -> g - 1063:1064:void txtServerIPFocusLost(java.awt.event.FocusEvent) -> h - 1067:1069:void cboGameDirTypeFocusLost(java.awt.event.FocusEvent) -> i - 1072:1074:void cboLauncherVisibilityFocusLost(java.awt.event.FocusEvent) -> j - 1077:1098:void btnDownloadAllAssetsActionPerformed(java.awt.event.ActionEvent) -> m - 1101:1102:void txtMaxMemoryFocusLost(java.awt.event.FocusEvent) -> k - 1105:1106:void txtJavaDirFocusLost(java.awt.event.FocusEvent) -> l - 1109:1110:void chkFullscreenFocusLost(java.awt.event.FocusEvent) -> m - 1113:1114:void txtHeightFocusLost(java.awt.event.FocusEvent) -> n - 1117:1118:void txtWidthFocusLost(java.awt.event.FocusEvent) -> o - 1121:1124:void txtGameDirFocusLost(java.awt.event.FocusEvent) -> p - 1127:1145:void btnChoosingJavaDirActionPerformed(java.awt.event.ActionEvent) -> n - 1150:1173:void loadProfiles() -> e - 1176:1178:org.jackhuang.hellominecraft.launcher.settings.Profile getProfile() -> a - 1182:1202:void prepare(org.jackhuang.hellominecraft.launcher.settings.Profile) -> a - 1205:1218:void loadVersions() -> a - 1221:1222:void loadMinecraftVersion() -> b - 1225:1226:void loadMinecraftVersion(java.lang.String) -> a - 1235:1240:void loadMinecraftVersion(org.jackhuang.hellominecraft.launcher.version.MinecraftVersion) -> a - 1246:1251:void downloadAssets(org.jackhuang.hellominecraft.launcher.utils.assets.IAssetsHandler) -> a - 1256:1291:void refreshDownloads(org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a - 1294:1303:void downloadMinecraft(org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> b - 1308:1308:java.lang.String getMinecraftVersionFormatted() -> a - 1361:1363:void refreshVersions() -> f - 1376:1389:void versionChanged(org.jackhuang.hellominecraft.launcher.settings.Profile,java.lang.String) -> a - 1392:1397:void onSelected() -> c - 1248:1250:void lambda$downloadAssets$16(org.jackhuang.hellominecraft.launcher.utils.assets.IAssetsHandler,java.lang.String[]) -> b - 158:161:void lambda$new$15(java.awt.event.ActionEvent) -> o - 151:154:void lambda$new$14(java.awt.event.ActionEvent) -> p - 143:147:void lambda$new$13(java.awt.event.ActionEvent) -> q - 132:139:void lambda$new$12(java.awt.event.ActionEvent) -> r - 108:110:void lambda$new$11(java.awt.event.ActionEvent) -> s - 76:76:void access$000(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ItemEvent) -> a - 76:76:void access$100(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ItemEvent) -> b - 76:76:void access$200(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.MouseEvent) -> a - 76:76:void access$300(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> a - 76:76:void access$400(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> b - 76:76:void access$500(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> c - 76:76:void access$600(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.MouseEvent) -> b - 76:76:void access$700(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> a - 76:76:void access$800(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> b - 76:76:void access$900(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> c - 76:76:void access$1000(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> d - 76:76:void access$1100(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> e - 76:76:void access$1200(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> f - 76:76:void access$1300(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> d - 76:76:void access$1400(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> g - 76:76:void access$1500(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> h - 76:76:void access$1600(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> e - 76:76:void access$1700(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> i - 76:76:void access$1800(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> j - 76:76:void access$1900(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> k - 76:76:void access$2000(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> l - 76:76:void access$2100(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> m - 76:76:void access$2200(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> n - 76:76:void access$2300(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> o - 76:76:void access$2400(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> p - 76:76:void access$2500(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> f - 76:76:void access$2600(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> g - 76:76:void access$2700(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> h - 76:76:void access$2800(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> i - 76:76:void access$2900(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> j - 76:76:void access$3000(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> k - 76:76:void access$3100(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> l - 76:76:void access$3200(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> m - 76:76:void access$3300(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> n - 76:76:javax.swing.JTable access$3400(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> a - 76:76:java.lang.String access$3500(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> a + 181:909:void initComponents() -> d + 912:917:void cboProfilesItemStateChanged(java.awt.event.ItemEvent) -> a + 920:923:void btnNewProfileActionPerformed(java.awt.event.ActionEvent) -> a + 926:936:void btnRemoveProfileActionPerformed(java.awt.event.ActionEvent) -> b + 940:948:void cboVersionsItemStateChanged(java.awt.event.ItemEvent) -> b + 951:952:void btnRefreshVersionsActionPerformed(java.awt.event.ActionEvent) -> c + 955:956:void btnRefreshForgeActionPerformed(java.awt.event.ActionEvent) -> d + 959:974:void btnDownloadForgeActionPerformed(java.awt.event.ActionEvent) -> e + 977:978:void btnRefreshOptifineActionPerformed(java.awt.event.ActionEvent) -> f + 981:995:void btnDownloadOptifineActionPerformed(java.awt.event.ActionEvent) -> g + 998:1011:void btnInstallLiteLoaderActionPerformed(java.awt.event.ActionEvent) -> h + 1014:1015:void btnRefreshLiteLoaderActionPerformed(java.awt.event.ActionEvent) -> i + 1018:1020:void btnDownloadActionPerformed(java.awt.event.ActionEvent) -> j + 1023:1024:void btnRefreshGameDownloadsActionPerformed(java.awt.event.ActionEvent) -> k + 1027:1028:void btnExploreMouseClicked(java.awt.event.MouseEvent) -> a + 1031:1045:void btnIncludeMinecraftActionPerformed(java.awt.event.ActionEvent) -> l + 1048:1049:void btnModifyMouseClicked(java.awt.event.MouseEvent) -> b + 1052:1053:void txtJavaArgsFocusLost(java.awt.event.FocusEvent) -> a + 1056:1057:void txtMinecraftArgsFocusLost(java.awt.event.FocusEvent) -> b + 1060:1061:void txtPermSizeFocusLost(java.awt.event.FocusEvent) -> c + 1064:1065:void chkDebugFocusLost(java.awt.event.FocusEvent) -> d + 1068:1069:void chkNoJVMArgsFocusLost(java.awt.event.FocusEvent) -> e + 1072:1073:void chkCancelWrapperFocusLost(java.awt.event.FocusEvent) -> f + 1076:1077:void txtWrapperLauncherFocusLost(java.awt.event.FocusEvent) -> g + 1080:1081:void txtServerIPFocusLost(java.awt.event.FocusEvent) -> h + 1084:1086:void cboGameDirTypeFocusLost(java.awt.event.FocusEvent) -> i + 1089:1091:void cboLauncherVisibilityFocusLost(java.awt.event.FocusEvent) -> j + 1094:1115:void btnDownloadAllAssetsActionPerformed(java.awt.event.ActionEvent) -> m + 1118:1119:void txtMaxMemoryFocusLost(java.awt.event.FocusEvent) -> k + 1122:1123:void txtJavaDirFocusLost(java.awt.event.FocusEvent) -> l + 1126:1127:void chkFullscreenFocusLost(java.awt.event.FocusEvent) -> m + 1130:1131:void txtHeightFocusLost(java.awt.event.FocusEvent) -> n + 1134:1135:void txtWidthFocusLost(java.awt.event.FocusEvent) -> o + 1138:1141:void txtGameDirFocusLost(java.awt.event.FocusEvent) -> p + 1144:1163:void btnChoosingJavaDirActionPerformed(java.awt.event.ActionEvent) -> n + 1166:1175:void cboJavaItemStateChanged(java.awt.event.ItemEvent) -> c + 1180:1203:void loadProfiles() -> e + 1206:1208:org.jackhuang.hellominecraft.launcher.settings.Profile getProfile() -> a + 1212:1237:void prepare(org.jackhuang.hellominecraft.launcher.settings.Profile) -> a + 1240:1253:void loadVersions() -> a + 1256:1257:void loadMinecraftVersion() -> b + 1260:1261:void loadMinecraftVersion(java.lang.String) -> a + 1270:1275:void loadMinecraftVersion(org.jackhuang.hellominecraft.launcher.version.MinecraftVersion) -> a + 1281:1286:void downloadAssets(org.jackhuang.hellominecraft.launcher.utils.assets.IAssetsHandler) -> a + 1291:1326:void refreshDownloads(org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> a + 1329:1338:void downloadMinecraft(org.jackhuang.hellominecraft.launcher.utils.download.DownloadType) -> b + 1343:1343:java.lang.String getMinecraftVersionFormatted() -> a + 1396:1398:void refreshVersions() -> f + 1411:1424:void versionChanged(org.jackhuang.hellominecraft.launcher.settings.Profile,java.lang.String) -> a + 1427:1432:void onSelected() -> c + 1283:1285:void lambda$downloadAssets$16(org.jackhuang.hellominecraft.launcher.utils.assets.IAssetsHandler,java.lang.String[]) -> b + 157:160:void lambda$new$15(java.awt.event.ActionEvent) -> o + 150:153:void lambda$new$14(java.awt.event.ActionEvent) -> p + 142:146:void lambda$new$13(java.awt.event.ActionEvent) -> q + 131:138:void lambda$new$12(java.awt.event.ActionEvent) -> r + 107:109:void lambda$new$11(java.awt.event.ActionEvent) -> s + 75:75:void access$000(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ItemEvent) -> a + 75:75:void access$100(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ItemEvent) -> b + 75:75:void access$200(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.MouseEvent) -> a + 75:75:void access$300(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> a + 75:75:void access$400(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> b + 75:75:void access$500(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> c + 75:75:void access$600(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.MouseEvent) -> b + 75:75:void access$700(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> a + 75:75:void access$800(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> b + 75:75:void access$900(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> c + 75:75:void access$1000(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> d + 75:75:void access$1100(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> e + 75:75:void access$1200(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> f + 75:75:void access$1300(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> d + 75:75:void access$1400(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> g + 75:75:void access$1500(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> h + 75:75:void access$1600(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> e + 75:75:void access$1700(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ItemEvent) -> c + 75:75:void access$1800(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> i + 75:75:void access$1900(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> j + 75:75:void access$2000(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> k + 75:75:void access$2100(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> l + 75:75:void access$2200(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> m + 75:75:void access$2300(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> n + 75:75:void access$2400(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> o + 75:75:void access$2500(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.FocusEvent) -> p + 75:75:void access$2600(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> f + 75:75:void access$2700(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> g + 75:75:void access$2800(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> h + 75:75:void access$2900(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> i + 75:75:void access$3000(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> j + 75:75:void access$3100(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> k + 75:75:void access$3200(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> l + 75:75:void access$3300(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> m + 75:75:void access$3400(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> n + 75:75:javax.swing.JTable access$3500(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> a + 75:75:java.lang.String access$3600(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel) -> a void access$lambda$0(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> o void access$lambda$1(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> p void access$lambda$2(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel,java.awt.event.ActionEvent) -> q @@ -2247,136 +2256,139 @@ org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$$Lambda$6 -> org.j org.jackhuang.hellominecraft.utils.functions.Consumer lambdaFactory$(org.jackhuang.hellominecraft.launcher.utils.assets.IAssetsHandler) -> a org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$1 -> org.jackhuang.hellominecraft.launcher.bb: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 255:256:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged + 262:263:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$10 -> org.jackhuang.hellominecraft.launcher.bc: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 409:410:void focusLost(java.awt.event.FocusEvent) -> focusLost + 416:417:void focusLost(java.awt.event.FocusEvent) -> focusLost org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$11 -> org.jackhuang.hellominecraft.launcher.bd: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 418:419:void focusLost(java.awt.event.FocusEvent) -> focusLost + 425:426:void focusLost(java.awt.event.FocusEvent) -> focusLost org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$12 -> org.jackhuang.hellominecraft.launcher.be: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 424:425:void focusLost(java.awt.event.FocusEvent) -> focusLost + 431:432:void focusLost(java.awt.event.FocusEvent) -> focusLost org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$13 -> org.jackhuang.hellominecraft.launcher.bf: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 434:435:void focusLost(java.awt.event.FocusEvent) -> focusLost + 441:442:void focusLost(java.awt.event.FocusEvent) -> focusLost org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$14 -> org.jackhuang.hellominecraft.launcher.bg: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 444:445:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + 451:452:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$15 -> org.jackhuang.hellominecraft.launcher.bh: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 451:452:void focusLost(java.awt.event.FocusEvent) -> focusLost + 458:459:void focusLost(java.awt.event.FocusEvent) -> focusLost org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$16 -> org.jackhuang.hellominecraft.launcher.bi: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 462:463:void focusLost(java.awt.event.FocusEvent) -> focusLost + 469:470:void focusLost(java.awt.event.FocusEvent) -> focusLost org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$17 -> org.jackhuang.hellominecraft.launcher.bj: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 469:470:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + 476:477:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$18 -> org.jackhuang.hellominecraft.launcher.bk: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 556:557:void focusLost(java.awt.event.FocusEvent) -> focusLost + 482:483:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$19 -> org.jackhuang.hellominecraft.launcher.bl: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 565:566:void focusLost(java.awt.event.FocusEvent) -> focusLost + 573:574:void focusLost(java.awt.event.FocusEvent) -> focusLost org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$1ImplementedActionListener -> org.jackhuang.hellominecraft.launcher.bm: java.lang.String a -> a org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 100:103:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + 99:102:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$2 -> org.jackhuang.hellominecraft.launcher.bn: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 261:262:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged + 268:269:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$20 -> org.jackhuang.hellominecraft.launcher.bo: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 571:572:void focusLost(java.awt.event.FocusEvent) -> focusLost + 582:583:void focusLost(java.awt.event.FocusEvent) -> focusLost org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$21 -> org.jackhuang.hellominecraft.launcher.bp: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 581:582:void focusLost(java.awt.event.FocusEvent) -> focusLost + 588:589:void focusLost(java.awt.event.FocusEvent) -> focusLost org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$22 -> org.jackhuang.hellominecraft.launcher.bq: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 588:589:void focusLost(java.awt.event.FocusEvent) -> focusLost + 598:599:void focusLost(java.awt.event.FocusEvent) -> focusLost org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$23 -> org.jackhuang.hellominecraft.launcher.br: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 595:596:void focusLost(java.awt.event.FocusEvent) -> focusLost + 605:606:void focusLost(java.awt.event.FocusEvent) -> focusLost org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$24 -> org.jackhuang.hellominecraft.launcher.bs: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 603:604:void focusLost(java.awt.event.FocusEvent) -> focusLost + 612:613:void focusLost(java.awt.event.FocusEvent) -> focusLost org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$25 -> org.jackhuang.hellominecraft.launcher.bt: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 611:612:void focusLost(java.awt.event.FocusEvent) -> focusLost + 620:621:void focusLost(java.awt.event.FocusEvent) -> focusLost org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$26 -> org.jackhuang.hellominecraft.launcher.bu: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 688:689:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + 628:629:void focusLost(java.awt.event.FocusEvent) -> focusLost org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$27 -> org.jackhuang.hellominecraft.launcher.bv: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 695:696:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + 705:706:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$28 -> org.jackhuang.hellominecraft.launcher.bw: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 731:732:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + 712:713:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$29 -> org.jackhuang.hellominecraft.launcher.bx: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 738:739:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + 748:749:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$3 -> org.jackhuang.hellominecraft.launcher.by: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 300:301:void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked + 307:308:void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$30 -> org.jackhuang.hellominecraft.launcher.bz: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 769:770:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + 755:756:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$31 -> org.jackhuang.hellominecraft.launcher.bA: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 781:782:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + 786:787:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$32 -> org.jackhuang.hellominecraft.launcher.bB: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 825:826:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + 798:799:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$33 -> org.jackhuang.hellominecraft.launcher.bC: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 837:838:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + 842:843:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$34 -> org.jackhuang.hellominecraft.launcher.bD: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 867:868:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed + 854:855:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$35 -> org.jackhuang.hellominecraft.launcher.bE: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 884:885:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$36 -> org.jackhuang.hellominecraft.launcher.bF: org.jackhuang.hellominecraft.tasks.download.HTTPGetTask tsk -> a org.jackhuang.hellominecraft.launcher.utils.download.DownloadType val$provider -> a org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 1261:1278:boolean executeTask() -> a - 1283:1283:java.lang.String getInfo() -> a - 1288:1288:java.util.Collection getDependTasks() -> b - 1265:1277:void lambda$executeTask$17(org.jackhuang.hellominecraft.version.MinecraftRemoteVersions) -> a - void access$lambda$0(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$35,org.jackhuang.hellominecraft.version.MinecraftRemoteVersions) -> a -org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$35$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.bF: - org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$35 arg$1 -> a + 1296:1313:boolean executeTask() -> a + 1318:1318:java.lang.String getInfo() -> a + 1323:1323:java.util.Collection getDependTasks() -> b + 1300:1312:void lambda$executeTask$17(org.jackhuang.hellominecraft.version.MinecraftRemoteVersions) -> a + void access$lambda$0(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$36,org.jackhuang.hellominecraft.version.MinecraftRemoteVersions) -> a +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$36$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.bG: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$36 arg$1 -> a org.jackhuang.hellominecraft.version.MinecraftRemoteVersions arg$2 -> a - java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$35,org.jackhuang.hellominecraft.version.MinecraftRemoteVersions) -> b + java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$36,org.jackhuang.hellominecraft.version.MinecraftRemoteVersions) -> b void run() -> run - java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$35,org.jackhuang.hellominecraft.version.MinecraftRemoteVersions) -> a -org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$4 -> org.jackhuang.hellominecraft.launcher.bG: + java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$36,org.jackhuang.hellominecraft.version.MinecraftRemoteVersions) -> a +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$4 -> org.jackhuang.hellominecraft.launcher.bH: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 307:308:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$5 -> org.jackhuang.hellominecraft.launcher.bH: - org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 316:317:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$6 -> org.jackhuang.hellominecraft.launcher.bI: + 314:315:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$5 -> org.jackhuang.hellominecraft.launcher.bI: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a 323:324:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$7 -> org.jackhuang.hellominecraft.launcher.bJ: +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$6 -> org.jackhuang.hellominecraft.launcher.bJ: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 331:332:void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked -org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$8 -> org.jackhuang.hellominecraft.launcher.bK: + 330:331:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$7 -> org.jackhuang.hellominecraft.launcher.bK: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 394:395:void focusLost(java.awt.event.FocusEvent) -> focusLost -org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$9 -> org.jackhuang.hellominecraft.launcher.bL: + 338:339:void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$8 -> org.jackhuang.hellominecraft.launcher.bL: org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 403:404:void focusLost(java.awt.event.FocusEvent) -> focusLost -org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$InstallerHelper -> org.jackhuang.hellominecraft.launcher.bM: + 401:402:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$9 -> org.jackhuang.hellominecraft.launcher.bM: + org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a + 410:411:void focusLost(java.awt.event.FocusEvent) -> focusLost +org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel$InstallerHelper -> org.jackhuang.hellominecraft.launcher.bN: java.util.List versions -> a org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList list -> a javax.swing.JTable jt -> a java.lang.String id -> a org.jackhuang.hellominecraft.launcher.views.GameSettingsPanel this$0 -> a - 1324:1325:void loadVersions() -> a - 1328:1333:void refreshVersions() -> b - 1336:1336:org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList$InstallerVersion getVersion(int) -> a - 1340:1356:java.util.List loadVersions(org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList,javax.swing.JTable) -> a -org.jackhuang.hellominecraft.launcher.views.HeaderTab -> org.jackhuang.hellominecraft.launcher.bN: + 1359:1360:void loadVersions() -> a + 1363:1368:void refreshVersions() -> b + 1371:1371:org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList$InstallerVersion getVersion(int) -> a + 1375:1391:java.util.List loadVersions(org.jackhuang.hellominecraft.launcher.utils.installers.InstallerVersionList,javax.swing.JTable) -> a +org.jackhuang.hellominecraft.launcher.views.HeaderTab -> org.jackhuang.hellominecraft.launcher.bO: boolean isActive -> a javax.swing.DefaultButtonModel model -> a 48:48:boolean isActive() -> a @@ -2391,12 +2403,12 @@ org.jackhuang.hellominecraft.launcher.views.HeaderTab -> org.jackhuang.hellomine 90:92:void mouseReleased(java.awt.event.MouseEvent) -> mouseReleased 96:97:void mouseEntered(java.awt.event.MouseEvent) -> mouseEntered 101:102:void mouseExited(java.awt.event.MouseEvent) -> mouseExited -org.jackhuang.hellominecraft.launcher.views.HeaderTab$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.bO: +org.jackhuang.hellominecraft.launcher.views.HeaderTab$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.bP: org.jackhuang.hellominecraft.launcher.views.HeaderTab arg$1 -> a java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.launcher.views.HeaderTab) -> b void run() -> run java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.HeaderTab) -> a -org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel -> org.jackhuang.hellominecraft.launcher.bP: +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel -> org.jackhuang.hellominecraft.launcher.bQ: javax.swing.JButton btnCheckUpdate -> a javax.swing.JButton btnSelBackgroundPath -> b javax.swing.JComboBox cboDownloadSource -> a @@ -2437,37 +2449,37 @@ org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel -> org.jackhua 34:34:void access$700(org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel,java.awt.event.FocusEvent) -> d 34:34:void access$800(org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel,java.awt.event.FocusEvent) -> e 34:34:void access$900(org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel,java.awt.event.FocusEvent) -> f -org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$1 -> org.jackhuang.hellominecraft.launcher.bQ: +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$1 -> org.jackhuang.hellominecraft.launcher.bR: org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a 87:88:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged -org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$10 -> org.jackhuang.hellominecraft.launcher.bR: +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$10 -> org.jackhuang.hellominecraft.launcher.bS: org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a 164:165:void focusLost(java.awt.event.FocusEvent) -> focusLost -org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$2 -> org.jackhuang.hellominecraft.launcher.bS: +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$2 -> org.jackhuang.hellominecraft.launcher.bT: org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a 97:98:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$3 -> org.jackhuang.hellominecraft.launcher.bT: +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$3 -> org.jackhuang.hellominecraft.launcher.bU: org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a 107:108:void focusLost(java.awt.event.FocusEvent) -> focusLost -org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$4 -> org.jackhuang.hellominecraft.launcher.bU: +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$4 -> org.jackhuang.hellominecraft.launcher.bV: org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a 116:117:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$5 -> org.jackhuang.hellominecraft.launcher.bV: +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$5 -> org.jackhuang.hellominecraft.launcher.bW: org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a 123:124:void focusLost(java.awt.event.FocusEvent) -> focusLost -org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$6 -> org.jackhuang.hellominecraft.launcher.bW: +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$6 -> org.jackhuang.hellominecraft.launcher.bX: org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a 132:133:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged -org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$7 -> org.jackhuang.hellominecraft.launcher.bX: +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$7 -> org.jackhuang.hellominecraft.launcher.bY: org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a 140:141:void focusLost(java.awt.event.FocusEvent) -> focusLost -org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$8 -> org.jackhuang.hellominecraft.launcher.bY: +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$8 -> org.jackhuang.hellominecraft.launcher.bZ: org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a 148:149:void focusLost(java.awt.event.FocusEvent) -> focusLost -org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$9 -> org.jackhuang.hellominecraft.launcher.bZ: +org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel$9 -> org.jackhuang.hellominecraft.launcher.ca: org.jackhuang.hellominecraft.launcher.views.LauncherSettingsPanel this$0 -> a 158:159:void focusLost(java.awt.event.FocusEvent) -> focusLost -org.jackhuang.hellominecraft.launcher.views.MainFrame -> org.jackhuang.hellominecraft.launcher.ca: +org.jackhuang.hellominecraft.launcher.views.MainFrame -> org.jackhuang.hellominecraft.launcher.cb: org.jackhuang.hellominecraft.launcher.views.MainFrame instance -> a org.jackhuang.hellominecraft.launcher.views.HeaderTab mainTab -> a org.jackhuang.hellominecraft.launcher.views.HeaderTab gameTab -> b @@ -2510,29 +2522,29 @@ org.jackhuang.hellominecraft.launcher.views.MainFrame -> org.jackhuang.hellomine void access$lambda$0(org.jackhuang.hellominecraft.launcher.views.MainFrame,java.awt.event.ActionEvent) -> a void access$lambda$1(org.jackhuang.hellominecraft.launcher.views.MainFrame,java.awt.event.ActionEvent) -> b void access$lambda$2(org.jackhuang.hellominecraft.launcher.views.MainFrame,java.awt.event.ActionEvent) -> c -org.jackhuang.hellominecraft.launcher.views.MainFrame$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.cb: +org.jackhuang.hellominecraft.launcher.views.MainFrame$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.cc: org.jackhuang.hellominecraft.launcher.views.MainFrame arg$1 -> a java.awt.event.ActionListener get$Lambda(org.jackhuang.hellominecraft.launcher.views.MainFrame) -> b void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed java.awt.event.ActionListener lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.MainFrame) -> a -org.jackhuang.hellominecraft.launcher.views.MainFrame$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.cc: +org.jackhuang.hellominecraft.launcher.views.MainFrame$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.cd: org.jackhuang.hellominecraft.launcher.views.MainFrame arg$1 -> a java.awt.event.ActionListener get$Lambda(org.jackhuang.hellominecraft.launcher.views.MainFrame) -> b void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed java.awt.event.ActionListener lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.MainFrame) -> a -org.jackhuang.hellominecraft.launcher.views.MainFrame$$Lambda$3 -> org.jackhuang.hellominecraft.launcher.cd: +org.jackhuang.hellominecraft.launcher.views.MainFrame$$Lambda$3 -> org.jackhuang.hellominecraft.launcher.ce: org.jackhuang.hellominecraft.launcher.views.MainFrame arg$1 -> a java.awt.event.ActionListener get$Lambda(org.jackhuang.hellominecraft.launcher.views.MainFrame) -> b void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed java.awt.event.ActionListener lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.MainFrame) -> a -org.jackhuang.hellominecraft.launcher.views.MainFrame$1 -> org.jackhuang.hellominecraft.launcher.ce: +org.jackhuang.hellominecraft.launcher.views.MainFrame$1 -> org.jackhuang.hellominecraft.launcher.cf: org.jackhuang.hellominecraft.launcher.views.MainFrame this$0 -> a 189:190:void mouseClicked(java.awt.event.MouseEvent) -> mouseClicked 194:194:void mousePressed(java.awt.event.MouseEvent) -> mousePressed 198:198:void mouseReleased(java.awt.event.MouseEvent) -> mouseReleased 202:202:void mouseEntered(java.awt.event.MouseEvent) -> mouseEntered 206:206:void mouseExited(java.awt.event.MouseEvent) -> mouseExited -org.jackhuang.hellominecraft.launcher.views.MainPagePanel -> org.jackhuang.hellominecraft.launcher.cf: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel -> org.jackhuang.hellominecraft.launcher.cg: boolean showedNoVersion -> a boolean preaparingAuth -> b boolean isLoading -> c @@ -2604,45 +2616,45 @@ org.jackhuang.hellominecraft.launcher.views.MainPagePanel -> org.jackhuang.hello void access$lambda$3(org.jackhuang.hellominecraft.launcher.views.MainPagePanel,org.jackhuang.hellominecraft.launcher.launch.GameLauncher) -> b void access$lambda$4() -> d void access$lambda$5() -> e -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.cg: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.ch: org.jackhuang.hellominecraft.launcher.views.MainPagePanel arg$1 -> a java.awt.event.ActionListener get$Lambda(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> b void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed java.awt.event.ActionListener lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> a -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.ch: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.ci: org.jackhuang.hellominecraft.launcher.views.MainPagePanel arg$1 -> a org.jackhuang.hellominecraft.utils.functions.Consumer get$Lambda(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> b void accept(java.lang.Object) -> a org.jackhuang.hellominecraft.utils.functions.Consumer lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> a -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$3 -> org.jackhuang.hellominecraft.launcher.ci: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$3 -> org.jackhuang.hellominecraft.launcher.cj: org.jackhuang.hellominecraft.launcher.views.MainPagePanel arg$1 -> a java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> b void run() -> run java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> a -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$4 -> org.jackhuang.hellominecraft.launcher.cj: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$4 -> org.jackhuang.hellominecraft.launcher.ck: org.jackhuang.hellominecraft.launcher.views.MainPagePanel arg$1 -> a org.jackhuang.hellominecraft.utils.functions.Consumer get$Lambda(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> b void accept(java.lang.Object) -> a org.jackhuang.hellominecraft.utils.functions.Consumer lambdaFactory$(org.jackhuang.hellominecraft.launcher.views.MainPagePanel) -> a -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$5 -> org.jackhuang.hellominecraft.launcher.ck: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$5 -> org.jackhuang.hellominecraft.launcher.cl: org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$5 instance -> a void run() -> run java.lang.Runnable lambdaFactory$() -> a -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$6 -> org.jackhuang.hellominecraft.launcher.cl: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$6 -> org.jackhuang.hellominecraft.launcher.cm: org.jackhuang.hellominecraft.launcher.views.MainPagePanel$$Lambda$6 instance -> a void run() -> run java.lang.Runnable lambdaFactory$() -> a -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$1 -> org.jackhuang.hellominecraft.launcher.cm: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$1 -> org.jackhuang.hellominecraft.launcher.cn: org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a 117:118:void focusGained(java.awt.event.FocusEvent) -> focusGained 120:121:void focusLost(java.awt.event.FocusEvent) -> focusLost -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$10 -> org.jackhuang.hellominecraft.launcher.cn: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$10 -> org.jackhuang.hellominecraft.launcher.co: org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a 220:221:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$11 -> org.jackhuang.hellominecraft.launcher.co: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$11 -> org.jackhuang.hellominecraft.launcher.cp: org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a 227:228:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12 -> org.jackhuang.hellominecraft.launcher.cp: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12 -> org.jackhuang.hellominecraft.launcher.cq: org.jackhuang.hellominecraft.launcher.utils.auth.LoginInfo val$li -> a org.jackhuang.hellominecraft.launcher.utils.auth.IAuthenticator val$l -> a org.jackhuang.hellominecraft.utils.functions.Consumer val$listener -> a @@ -2650,39 +2662,39 @@ org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12 -> org.jackhuang.he 408:417:void run() -> run 411:413:boolean lambda$run$23(java.lang.Object,java.lang.String) -> b boolean access$lambda$0(java.lang.Object,java.lang.String) -> a -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.cq: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.cr: org.jackhuang.hellominecraft.launcher.views.MainPagePanel$12$$Lambda$1 instance -> a boolean call(java.lang.Object,java.lang.Object) -> a org.jackhuang.hellominecraft.utils.Event lambdaFactory$() -> a -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$2 -> org.jackhuang.hellominecraft.launcher.cr: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$2 -> org.jackhuang.hellominecraft.launcher.cs: org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a 125:126:void keyPressed(java.awt.event.KeyEvent) -> keyPressed -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$3 -> org.jackhuang.hellominecraft.launcher.cs: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$3 -> org.jackhuang.hellominecraft.launcher.ct: org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a 134:135:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$4 -> org.jackhuang.hellominecraft.launcher.ct: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$4 -> org.jackhuang.hellominecraft.launcher.cu: org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a 144:145:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$5 -> org.jackhuang.hellominecraft.launcher.cu: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$5 -> org.jackhuang.hellominecraft.launcher.cv: org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a 153:154:void itemStateChanged(java.awt.event.ItemEvent) -> itemStateChanged -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$6 -> org.jackhuang.hellominecraft.launcher.cv: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$6 -> org.jackhuang.hellominecraft.launcher.cw: org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a 163:164:void focusGained(java.awt.event.FocusEvent) -> focusGained -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$7 -> org.jackhuang.hellominecraft.launcher.cw: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$7 -> org.jackhuang.hellominecraft.launcher.cx: org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a 168:169:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$8 -> org.jackhuang.hellominecraft.launcher.cx: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$8 -> org.jackhuang.hellominecraft.launcher.cy: org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a 173:174:void keyPressed(java.awt.event.KeyEvent) -> keyPressed -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$9 -> org.jackhuang.hellominecraft.launcher.cy: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$9 -> org.jackhuang.hellominecraft.launcher.cz: org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a 200:201:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.launcher.views.MainPagePanel$PrepareAuthDoneListener -> org.jackhuang.hellominecraft.launcher.cz: +org.jackhuang.hellominecraft.launcher.views.MainPagePanel$PrepareAuthDoneListener -> org.jackhuang.hellominecraft.launcher.cA: org.jackhuang.hellominecraft.launcher.views.MainPagePanel this$0 -> a 501:502:boolean call(java.lang.Object,java.util.List) -> a 497:497:boolean call(java.lang.Object,java.lang.Object) -> a -org.jackhuang.hellominecraft.launcher.views.NewProfileWindow -> org.jackhuang.hellominecraft.launcher.cA: +org.jackhuang.hellominecraft.launcher.views.NewProfileWindow -> org.jackhuang.hellominecraft.launcher.cB: javax.swing.JButton btnCancel -> a javax.swing.JButton btnOK -> b javax.swing.JComboBox cboProfiles -> a @@ -2696,26 +2708,26 @@ org.jackhuang.hellominecraft.launcher.views.NewProfileWindow -> org.jackhuang.he 27:27:void access$000(org.jackhuang.hellominecraft.launcher.views.NewProfileWindow,java.awt.event.KeyEvent) -> a 27:27:void access$100(org.jackhuang.hellominecraft.launcher.views.NewProfileWindow,java.awt.event.ActionEvent) -> a 27:27:void access$200(org.jackhuang.hellominecraft.launcher.views.NewProfileWindow,java.awt.event.ActionEvent) -> b -org.jackhuang.hellominecraft.launcher.views.NewProfileWindow$1 -> org.jackhuang.hellominecraft.launcher.cB: +org.jackhuang.hellominecraft.launcher.views.NewProfileWindow$1 -> org.jackhuang.hellominecraft.launcher.cC: org.jackhuang.hellominecraft.launcher.views.NewProfileWindow this$0 -> a 63:64:void keyTyped(java.awt.event.KeyEvent) -> keyTyped -org.jackhuang.hellominecraft.launcher.views.NewProfileWindow$2 -> org.jackhuang.hellominecraft.launcher.cC: +org.jackhuang.hellominecraft.launcher.views.NewProfileWindow$2 -> org.jackhuang.hellominecraft.launcher.cD: org.jackhuang.hellominecraft.launcher.views.NewProfileWindow this$0 -> a 72:73:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.launcher.views.NewProfileWindow$3 -> org.jackhuang.hellominecraft.launcher.cD: +org.jackhuang.hellominecraft.launcher.views.NewProfileWindow$3 -> org.jackhuang.hellominecraft.launcher.cE: org.jackhuang.hellominecraft.launcher.views.NewProfileWindow this$0 -> a 79:80:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.logging.AppenderControl -> org.jackhuang.hellominecraft.launcher.cE: +org.jackhuang.hellominecraft.logging.AppenderControl -> org.jackhuang.hellominecraft.launcher.cF: java.lang.ThreadLocal recursive -> a org.jackhuang.hellominecraft.logging.appender.IAppender appender -> a org.jackhuang.hellominecraft.logging.Level level -> a int intLevel -> a 35:35:org.jackhuang.hellominecraft.logging.appender.IAppender getAppender() -> a 39:69:void callAppender(org.jackhuang.hellominecraft.logging.LogEvent) -> a -org.jackhuang.hellominecraft.logging.Configuration -> org.jackhuang.hellominecraft.launcher.cF: +org.jackhuang.hellominecraft.logging.Configuration -> org.jackhuang.hellominecraft.launcher.cG: java.util.ArrayList appenders -> a org.jackhuang.hellominecraft.logging.Configuration DEFAULT -> a -org.jackhuang.hellominecraft.logging.Level -> org.jackhuang.hellominecraft.launcher.cG: +org.jackhuang.hellominecraft.logging.Level -> org.jackhuang.hellominecraft.launcher.cH: org.jackhuang.hellominecraft.logging.Level OFF -> a org.jackhuang.hellominecraft.logging.Level FATAL -> b org.jackhuang.hellominecraft.logging.Level ERROR -> c @@ -2730,52 +2742,52 @@ org.jackhuang.hellominecraft.logging.Level -> org.jackhuang.hellominecraft.launc 23:23:org.jackhuang.hellominecraft.logging.Level valueOf(java.lang.String) -> a 41:41:boolean lessOrEqual(org.jackhuang.hellominecraft.logging.Level) -> a 45:45:boolean lessOrEqual(int) -> a -org.jackhuang.hellominecraft.logging.LogEvent -> org.jackhuang.hellominecraft.launcher.cH: +org.jackhuang.hellominecraft.logging.LogEvent -> org.jackhuang.hellominecraft.launcher.cI: org.jackhuang.hellominecraft.logging.Level level -> a java.lang.String threadName -> a java.lang.Throwable thrown -> a org.jackhuang.hellominecraft.logging.message.IMessage message -> a -org.jackhuang.hellominecraft.logging.LoggingException -> org.jackhuang.hellominecraft.launcher.cI: -org.jackhuang.hellominecraft.logging.appender.AbstractAppender -> org.jackhuang.hellominecraft.launcher.cJ: +org.jackhuang.hellominecraft.logging.LoggingException -> org.jackhuang.hellominecraft.launcher.cJ: +org.jackhuang.hellominecraft.logging.appender.AbstractAppender -> org.jackhuang.hellominecraft.launcher.cK: java.lang.String name -> a org.jackhuang.hellominecraft.logging.layout.ILayout layout -> a boolean ignoreExceptions -> a 44:44:java.lang.String getName() -> a 49:49:boolean ignoreExceptions() -> a 54:54:org.jackhuang.hellominecraft.logging.layout.ILayout getLayout() -> a -org.jackhuang.hellominecraft.logging.appender.ConsoleAppender -> org.jackhuang.hellominecraft.launcher.cK: -org.jackhuang.hellominecraft.logging.appender.ConsoleAppender$SystemErrStream -> org.jackhuang.hellominecraft.launcher.cL: +org.jackhuang.hellominecraft.logging.appender.ConsoleAppender -> org.jackhuang.hellominecraft.launcher.cL: +org.jackhuang.hellominecraft.logging.appender.ConsoleAppender$SystemErrStream -> org.jackhuang.hellominecraft.launcher.cM: 66:66:void close() -> close 70:71:void flush() -> flush 75:76:void write(byte[]) -> write 81:82:void write(byte[],int,int) -> write 86:87:void write(int) -> write -org.jackhuang.hellominecraft.logging.appender.ConsoleAppender$SystemOutStream -> org.jackhuang.hellominecraft.launcher.cM: +org.jackhuang.hellominecraft.logging.appender.ConsoleAppender$SystemOutStream -> org.jackhuang.hellominecraft.launcher.cN: 38:38:void close() -> close 42:43:void flush() -> flush 47:48:void write(byte[]) -> write 53:54:void write(byte[],int,int) -> write 58:59:void write(int) -> write -org.jackhuang.hellominecraft.logging.appender.IAppender -> org.jackhuang.hellominecraft.launcher.cN: +org.jackhuang.hellominecraft.logging.appender.IAppender -> org.jackhuang.hellominecraft.launcher.cO: void append(org.jackhuang.hellominecraft.logging.LogEvent) -> a java.lang.String getName() -> a boolean ignoreExceptions() -> a org.jackhuang.hellominecraft.logging.layout.ILayout getLayout() -> a -org.jackhuang.hellominecraft.logging.appender.OutputStreamAppender -> org.jackhuang.hellominecraft.launcher.cO: +org.jackhuang.hellominecraft.logging.appender.OutputStreamAppender -> org.jackhuang.hellominecraft.launcher.cP: java.io.OutputStream stream -> a boolean immediateFlush -> a java.util.concurrent.locks.Lock readLock -> a 48:62:void append(org.jackhuang.hellominecraft.logging.LogEvent) -> a -org.jackhuang.hellominecraft.logging.layout.AbstractStringLayout -> org.jackhuang.hellominecraft.launcher.cP: +org.jackhuang.hellominecraft.logging.layout.AbstractStringLayout -> org.jackhuang.hellominecraft.launcher.cQ: 29:29:byte[] toByteArray(org.jackhuang.hellominecraft.logging.LogEvent) -> a -org.jackhuang.hellominecraft.logging.layout.DefaultLayout -> org.jackhuang.hellominecraft.launcher.cQ: +org.jackhuang.hellominecraft.logging.layout.DefaultLayout -> org.jackhuang.hellominecraft.launcher.cR: java.text.SimpleDateFormat sdf -> a 32:32:java.lang.String toSerializable(org.jackhuang.hellominecraft.logging.LogEvent) -> a 27:27:java.io.Serializable toSerializable(org.jackhuang.hellominecraft.logging.LogEvent) -> a -org.jackhuang.hellominecraft.logging.layout.ILayout -> org.jackhuang.hellominecraft.launcher.cR: +org.jackhuang.hellominecraft.logging.layout.ILayout -> org.jackhuang.hellominecraft.launcher.cS: byte[] toByteArray(org.jackhuang.hellominecraft.logging.LogEvent) -> a java.io.Serializable toSerializable(org.jackhuang.hellominecraft.logging.LogEvent) -> a -org.jackhuang.hellominecraft.logging.logger.AbstractLogger -> org.jackhuang.hellominecraft.launcher.cS: +org.jackhuang.hellominecraft.logging.logger.AbstractLogger -> org.jackhuang.hellominecraft.launcher.cT: java.lang.Class DEFAULT_MESSAGE_FACTORY_CLASS -> a java.lang.String FQCN -> a java.lang.String THROWING -> b @@ -2855,7 +2867,7 @@ org.jackhuang.hellominecraft.logging.logger.AbstractLogger -> org.jackhuang.hell 515:518:void warn(java.lang.String) -> f 522:526:void warn(java.lang.String,java.lang.Object[]) -> f 530:533:void warn(java.lang.String,java.lang.Throwable) -> f -org.jackhuang.hellominecraft.logging.logger.ILogger -> org.jackhuang.hellominecraft.launcher.cT: +org.jackhuang.hellominecraft.logging.logger.ILogger -> org.jackhuang.hellominecraft.launcher.cU: void catching(org.jackhuang.hellominecraft.logging.Level,java.lang.Throwable) -> a void catching(java.lang.Throwable) -> a void debug(org.jackhuang.hellominecraft.logging.message.IMessage) -> a @@ -2920,7 +2932,7 @@ org.jackhuang.hellominecraft.logging.logger.ILogger -> org.jackhuang.hellominecr void warn(java.lang.String) -> f void warn(java.lang.String,java.lang.Object[]) -> f void warn(java.lang.String,java.lang.Throwable) -> f -org.jackhuang.hellominecraft.logging.logger.Logger -> org.jackhuang.hellominecraft.launcher.cU: +org.jackhuang.hellominecraft.logging.logger.Logger -> org.jackhuang.hellominecraft.launcher.cV: org.jackhuang.hellominecraft.logging.logger.Logger$PrivateConfig config -> a java.util.Map appenders -> a 45:48:void setLevel(org.jackhuang.hellominecraft.logging.Level) -> a @@ -2937,7 +2949,7 @@ org.jackhuang.hellominecraft.logging.logger.Logger -> org.jackhuang.hellominecra 105:106:void removeAppender(org.jackhuang.hellominecraft.logging.appender.IAppender) -> b 109:113:java.util.Map getAppenders() -> a 118:119:java.lang.String toString() -> toString -org.jackhuang.hellominecraft.logging.logger.Logger$PrivateConfig -> org.jackhuang.hellominecraft.launcher.cV: +org.jackhuang.hellominecraft.logging.logger.Logger$PrivateConfig -> org.jackhuang.hellominecraft.launcher.cW: org.jackhuang.hellominecraft.logging.Configuration config -> a org.jackhuang.hellominecraft.logging.Level level -> a int intLevel -> a @@ -2949,7 +2961,7 @@ org.jackhuang.hellominecraft.logging.logger.Logger$PrivateConfig -> org.jackhuan 160:160:boolean filter(org.jackhuang.hellominecraft.logging.Level,java.lang.Object,java.lang.Throwable) -> a 165:165:boolean filter(org.jackhuang.hellominecraft.logging.Level,org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> a 122:122:org.jackhuang.hellominecraft.logging.Level access$000(org.jackhuang.hellominecraft.logging.logger.Logger$PrivateConfig) -> a -org.jackhuang.hellominecraft.logging.logger.SimpleLogger -> org.jackhuang.hellominecraft.launcher.cW: +org.jackhuang.hellominecraft.logging.logger.SimpleLogger -> org.jackhuang.hellominecraft.launcher.cX: char SPACE -> a java.text.DateFormat dateFormatter -> a org.jackhuang.hellominecraft.logging.Level level -> a @@ -2966,19 +2978,19 @@ org.jackhuang.hellominecraft.logging.logger.SimpleLogger -> org.jackhuang.hellom 129:129:boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,java.lang.String,java.lang.Object[]) -> a 134:134:boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,java.lang.Object,java.lang.Throwable) -> a 139:139:boolean isEnabled(org.jackhuang.hellominecraft.logging.Level,org.jackhuang.hellominecraft.logging.message.IMessage,java.lang.Throwable) -> a -org.jackhuang.hellominecraft.logging.message.AbstractMessageFactory -> org.jackhuang.hellominecraft.launcher.cX: +org.jackhuang.hellominecraft.logging.message.AbstractMessageFactory -> org.jackhuang.hellominecraft.launcher.cY: 28:28:org.jackhuang.hellominecraft.logging.message.IMessage newMessage(java.lang.Object) -> a 33:33:org.jackhuang.hellominecraft.logging.message.IMessage newMessage(java.lang.String) -> a -org.jackhuang.hellominecraft.logging.message.IMessage -> org.jackhuang.hellominecraft.launcher.cY: +org.jackhuang.hellominecraft.logging.message.IMessage -> org.jackhuang.hellominecraft.launcher.cZ: java.lang.String getFormattedMessage() -> a java.lang.String getFormat() -> b java.lang.Object[] getParameters() -> a java.lang.Throwable getThrowable() -> a -org.jackhuang.hellominecraft.logging.message.IMessageFactory -> org.jackhuang.hellominecraft.launcher.cZ: +org.jackhuang.hellominecraft.logging.message.IMessageFactory -> org.jackhuang.hellominecraft.launcher.da: org.jackhuang.hellominecraft.logging.message.IMessage newMessage(java.lang.Object) -> a org.jackhuang.hellominecraft.logging.message.IMessage newMessage(java.lang.String) -> a org.jackhuang.hellominecraft.logging.message.IMessage newMessage(java.lang.String,java.lang.Object[]) -> a -org.jackhuang.hellominecraft.logging.message.ObjectMessage -> org.jackhuang.hellominecraft.launcher.da: +org.jackhuang.hellominecraft.logging.message.ObjectMessage -> org.jackhuang.hellominecraft.launcher.db: long serialVersionUID -> a java.lang.Object obj -> a 34:34:java.lang.String getFormattedMessage() -> a @@ -2988,7 +3000,7 @@ org.jackhuang.hellominecraft.logging.message.ObjectMessage -> org.jackhuang.hell 63:63:int hashCode() -> hashCode 68:68:java.lang.String toString() -> toString 73:73:java.lang.Throwable getThrowable() -> a -org.jackhuang.hellominecraft.logging.message.ParameterizedMessage -> org.jackhuang.hellominecraft.launcher.db: +org.jackhuang.hellominecraft.logging.message.ParameterizedMessage -> org.jackhuang.hellominecraft.launcher.dc: java.lang.String RECURSION_PREFIX -> a java.lang.String RECURSION_SUFFIX -> b java.lang.String ERROR_PREFIX -> c @@ -3019,10 +3031,10 @@ org.jackhuang.hellominecraft.logging.message.ParameterizedMessage -> org.jackhua 233:336:void recursiveDeepToString(java.lang.Object,java.lang.StringBuilder,java.util.Set) -> a 339:340:java.lang.String identityToString(java.lang.Object) -> b 345:345:java.lang.String toString() -> toString -org.jackhuang.hellominecraft.logging.message.ParameterizedMessageFactory -> org.jackhuang.hellominecraft.launcher.dc: +org.jackhuang.hellominecraft.logging.message.ParameterizedMessageFactory -> org.jackhuang.hellominecraft.launcher.dd: org.jackhuang.hellominecraft.logging.message.ParameterizedMessageFactory INSTANCE -> a 29:29:org.jackhuang.hellominecraft.logging.message.IMessage newMessage(java.lang.String,java.lang.Object[]) -> a -org.jackhuang.hellominecraft.logging.message.SimpleMessage -> org.jackhuang.hellominecraft.launcher.dd: +org.jackhuang.hellominecraft.logging.message.SimpleMessage -> org.jackhuang.hellominecraft.launcher.de: long serialVersionUID -> a java.lang.String message -> a 39:39:java.lang.String getFormattedMessage() -> a @@ -3032,7 +3044,7 @@ org.jackhuang.hellominecraft.logging.message.SimpleMessage -> org.jackhuang.hell 68:68:int hashCode() -> hashCode 73:73:java.lang.String toString() -> toString 78:78:java.lang.Throwable getThrowable() -> a -org.jackhuang.hellominecraft.logging.message.StringFormattedMessage -> org.jackhuang.hellominecraft.launcher.de: +org.jackhuang.hellominecraft.logging.message.StringFormattedMessage -> org.jackhuang.hellominecraft.launcher.df: long serialVersionUID -> a java.lang.String messagePattern -> a java.lang.Object[] argArray -> a @@ -3061,7 +3073,7 @@ org.jackhuang.hellominecraft.lookandfeel.HelloMinecraftLookAndFeel -> org.jackhu 43:43:java.lang.String getName() -> getName 53:53:java.lang.String getID() -> getID 63:63:java.lang.String getDescription() -> getDescription -org.jackhuang.hellominecraft.lookandfeel.components.ConstomButton -> org.jackhuang.hellominecraft.launcher.df: +org.jackhuang.hellominecraft.lookandfeel.components.ConstomButton -> org.jackhuang.hellominecraft.launcher.dg: java.awt.Color normalFg -> a java.awt.Color normalBg -> b java.awt.Color prelightFg -> c @@ -3072,7 +3084,7 @@ org.jackhuang.hellominecraft.lookandfeel.components.ConstomButton -> org.jackhua long lastDrawTime -> a int radix -> b boolean notDraw -> a -org.jackhuang.hellominecraft.lookandfeel.components.IConstomable -> org.jackhuang.hellominecraft.launcher.dg: +org.jackhuang.hellominecraft.lookandfeel.components.IConstomable -> org.jackhuang.hellominecraft.launcher.dh: boolean constomBackground() -> a boolean constomForeground() -> b org.jackhuang.hellominecraft.lookandfeel.painters.ButtonPainter -> org.jackhuang.hellominecraft.lookandfeel.painters.ButtonPainter: @@ -3219,21 +3231,21 @@ org.jackhuang.hellominecraft.lookandfeel.ui.ScrollButton -> org.jackhuang.hellom 66:66:java.awt.Dimension getPreferredSize() -> getPreferredSize 71:72:void repaint(long,int,int,int,int) -> repaint 81:81:void paint(java.awt.Graphics) -> paint -org.jackhuang.hellominecraft.tasks.DoingDoneListener -> org.jackhuang.hellominecraft.launcher.dh: +org.jackhuang.hellominecraft.tasks.DoingDoneListener -> org.jackhuang.hellominecraft.launcher.di: void onDone(java.lang.Object) -> a void onDoing(java.lang.Object) -> b void onFailed(java.lang.Object) -> c -org.jackhuang.hellominecraft.tasks.ParallelTask -> org.jackhuang.hellominecraft.launcher.di: +org.jackhuang.hellominecraft.tasks.ParallelTask -> org.jackhuang.hellominecraft.launcher.dj: java.util.Collection dependsTask -> a 32:32:boolean executeTask() -> a 37:37:java.lang.String getInfo() -> a 42:42:java.util.Collection getDependTasks() -> b 46:47:void addDependsTask(org.jackhuang.hellominecraft.tasks.Task) -> a -org.jackhuang.hellominecraft.tasks.ProgressProviderListener -> org.jackhuang.hellominecraft.launcher.dj: +org.jackhuang.hellominecraft.tasks.ProgressProviderListener -> org.jackhuang.hellominecraft.launcher.dk: void setProgress(org.jackhuang.hellominecraft.tasks.Task,int,int) -> a void setStatus(org.jackhuang.hellominecraft.tasks.Task,java.lang.String) -> a void onProgressProviderDone(org.jackhuang.hellominecraft.tasks.Task) -> a -org.jackhuang.hellominecraft.tasks.Task -> org.jackhuang.hellominecraft.launcher.dk: +org.jackhuang.hellominecraft.tasks.Task -> org.jackhuang.hellominecraft.launcher.dl: boolean aborted -> b java.lang.Throwable failReason -> a java.lang.String tag -> c @@ -3254,10 +3266,10 @@ org.jackhuang.hellominecraft.tasks.Task -> org.jackhuang.hellominecraft.launcher 91:91:java.util.Collection getDependTasks() -> b 95:95:java.util.Collection getAfterTasks() -> a 101:102:org.jackhuang.hellominecraft.tasks.Task setProgressProviderListener(org.jackhuang.hellominecraft.tasks.ProgressProviderListener) -> a -org.jackhuang.hellominecraft.tasks.TaskInfo -> org.jackhuang.hellominecraft.launcher.dl: +org.jackhuang.hellominecraft.tasks.TaskInfo -> org.jackhuang.hellominecraft.launcher.dm: java.lang.String info -> a 33:33:java.lang.String getInfo() -> a -org.jackhuang.hellominecraft.tasks.TaskList -> org.jackhuang.hellominecraft.launcher.dm: +org.jackhuang.hellominecraft.tasks.TaskList -> org.jackhuang.hellominecraft.launcher.dn: java.util.List taskQueue -> a java.util.ArrayList allDone -> a java.util.ArrayList taskListener -> b @@ -3276,20 +3288,20 @@ org.jackhuang.hellominecraft.tasks.TaskList -> org.jackhuang.hellominecraft.laun 150:150:boolean isEmpty() -> a 154:162:void abort() -> b 32:32:void access$000(org.jackhuang.hellominecraft.tasks.TaskList,org.jackhuang.hellominecraft.tasks.Task) -> a -org.jackhuang.hellominecraft.tasks.TaskList$InvokeThread -> org.jackhuang.hellominecraft.launcher.dn: +org.jackhuang.hellominecraft.tasks.TaskList$InvokeThread -> org.jackhuang.hellominecraft.launcher.do: org.jackhuang.hellominecraft.tasks.Task task -> a java.util.Set s -> a org.jackhuang.hellominecraft.tasks.TaskList this$0 -> a 77:80:void run() -> run -org.jackhuang.hellominecraft.tasks.TaskRunnable -> org.jackhuang.hellominecraft.launcher.do: +org.jackhuang.hellominecraft.tasks.TaskRunnable -> org.jackhuang.hellominecraft.launcher.dp: java.lang.Runnable r -> a 35:39:boolean executeTask() -> a -org.jackhuang.hellominecraft.tasks.TaskRunnableArg1 -> org.jackhuang.hellominecraft.launcher.dp: +org.jackhuang.hellominecraft.tasks.TaskRunnableArg1 -> org.jackhuang.hellominecraft.launcher.dq: org.jackhuang.hellominecraft.utils.functions.Consumer r -> a java.util.ArrayList al -> a 38:44:boolean executeTask() -> a 52:53:org.jackhuang.hellominecraft.tasks.Task registerPreviousResult(org.jackhuang.hellominecraft.tasks.communication.PreviousResult) -> a -org.jackhuang.hellominecraft.tasks.TaskWindow -> org.jackhuang.hellominecraft.launcher.dq: +org.jackhuang.hellominecraft.tasks.TaskWindow -> org.jackhuang.hellominecraft.launcher.dr: org.jackhuang.hellominecraft.tasks.TaskWindow instance -> a boolean suc -> a org.jackhuang.hellominecraft.tasks.TaskList taskList -> a @@ -3333,12 +3345,12 @@ org.jackhuang.hellominecraft.tasks.TaskWindow -> org.jackhuang.hellominecraft.la void access$lambda$2(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> b void access$lambda$3(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> c void access$lambda$4(org.jackhuang.hellominecraft.tasks.TaskWindow,java.lang.String) -> a -org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.dr: +org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.ds: org.jackhuang.hellominecraft.tasks.TaskList arg$1 -> a java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.tasks.TaskList) -> b void run() -> run java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.tasks.TaskList) -> a -org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.ds: +org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.dt: org.jackhuang.hellominecraft.tasks.TaskWindow arg$1 -> a org.jackhuang.hellominecraft.tasks.Task arg$2 -> a int arg$3 -> a @@ -3346,53 +3358,53 @@ org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$2 -> org.jackhuang.hellomi java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task,int,int) -> b void run() -> run java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task,int,int) -> a -org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$3 -> org.jackhuang.hellominecraft.launcher.dt: +org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$3 -> org.jackhuang.hellominecraft.launcher.du: org.jackhuang.hellominecraft.tasks.TaskWindow arg$1 -> a org.jackhuang.hellominecraft.tasks.Task arg$2 -> a java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> b void run() -> run java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> a -org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$4 -> org.jackhuang.hellominecraft.launcher.du: +org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$4 -> org.jackhuang.hellominecraft.launcher.dv: org.jackhuang.hellominecraft.tasks.TaskWindow arg$1 -> a org.jackhuang.hellominecraft.tasks.Task arg$2 -> a java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> b void run() -> run java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> a -org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$5 -> org.jackhuang.hellominecraft.launcher.dv: +org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$5 -> org.jackhuang.hellominecraft.launcher.dw: org.jackhuang.hellominecraft.tasks.TaskWindow arg$1 -> a org.jackhuang.hellominecraft.tasks.Task arg$2 -> a java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> b void run() -> run java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.tasks.TaskWindow,org.jackhuang.hellominecraft.tasks.Task) -> a -org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$6 -> org.jackhuang.hellominecraft.launcher.dw: +org.jackhuang.hellominecraft.tasks.TaskWindow$$Lambda$6 -> org.jackhuang.hellominecraft.launcher.dx: org.jackhuang.hellominecraft.tasks.TaskWindow arg$1 -> a java.lang.String arg$2 -> a java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.tasks.TaskWindow,java.lang.String) -> b void run() -> run java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.tasks.TaskWindow,java.lang.String) -> a -org.jackhuang.hellominecraft.tasks.TaskWindow$1 -> org.jackhuang.hellominecraft.launcher.dx: +org.jackhuang.hellominecraft.tasks.TaskWindow$1 -> org.jackhuang.hellominecraft.launcher.dy: org.jackhuang.hellominecraft.tasks.TaskWindow this$0 -> a 112:113:void windowClosed(java.awt.event.WindowEvent) -> windowClosed -org.jackhuang.hellominecraft.tasks.TaskWindow$2 -> org.jackhuang.hellominecraft.launcher.dy: +org.jackhuang.hellominecraft.tasks.TaskWindow$2 -> org.jackhuang.hellominecraft.launcher.dz: org.jackhuang.hellominecraft.tasks.TaskWindow this$0 -> a 119:120:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.tasks.communication.DefaultPreviousResult -> org.jackhuang.hellominecraft.launcher.dz: +org.jackhuang.hellominecraft.tasks.communication.DefaultPreviousResult -> org.jackhuang.hellominecraft.launcher.dA: java.lang.Object a -> a 34:34:java.lang.Object getResult() -> a -org.jackhuang.hellominecraft.tasks.communication.PreviousResult -> org.jackhuang.hellominecraft.launcher.dA: +org.jackhuang.hellominecraft.tasks.communication.PreviousResult -> org.jackhuang.hellominecraft.launcher.dB: java.lang.Object getResult() -> a -org.jackhuang.hellominecraft.tasks.communication.PreviousResultRegistrator -> org.jackhuang.hellominecraft.launcher.dB: +org.jackhuang.hellominecraft.tasks.communication.PreviousResultRegistrator -> org.jackhuang.hellominecraft.launcher.dC: org.jackhuang.hellominecraft.tasks.Task registerPreviousResult(org.jackhuang.hellominecraft.tasks.communication.PreviousResult) -> a -org.jackhuang.hellominecraft.tasks.download.ContentGetAndShowTask -> org.jackhuang.hellominecraft.launcher.dC: +org.jackhuang.hellominecraft.tasks.download.ContentGetAndShowTask -> org.jackhuang.hellominecraft.launcher.dD: java.lang.String info -> b 35:36:boolean executeTask() -> a 43:43:java.lang.String getInfo() -> a 48:51:boolean call(java.lang.Object,java.lang.String) -> a 26:26:boolean call(java.lang.Object,java.lang.Object) -> a -org.jackhuang.hellominecraft.tasks.download.DownloadListener -> org.jackhuang.hellominecraft.launcher.dD: +org.jackhuang.hellominecraft.tasks.download.DownloadListener -> org.jackhuang.hellominecraft.launcher.dE: boolean OnFailed() -> a void OnFailedMoreThan5Times(java.lang.String) -> a -org.jackhuang.hellominecraft.tasks.download.FileDownloadTask -> org.jackhuang.hellominecraft.launcher.dE: +org.jackhuang.hellominecraft.tasks.download.FileDownloadTask -> org.jackhuang.hellominecraft.launcher.dF: javax.net.ssl.X509TrustManager xtm -> a javax.net.ssl.HostnameVerifier hnv -> a int MAX_BUFFER_SIZE -> a @@ -3415,15 +3427,15 @@ org.jackhuang.hellominecraft.tasks.download.FileDownloadTask -> org.jackhuang.he 44:44:java.lang.Object getResult() -> a 60:60:boolean lambda$static$5(java.lang.String,javax.net.ssl.SSLSession) -> b boolean access$lambda$0(java.lang.String,javax.net.ssl.SSLSession) -> a -org.jackhuang.hellominecraft.tasks.download.FileDownloadTask$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.dF: +org.jackhuang.hellominecraft.tasks.download.FileDownloadTask$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.dG: org.jackhuang.hellominecraft.tasks.download.FileDownloadTask$$Lambda$1 instance -> a boolean verify(java.lang.String,javax.net.ssl.SSLSession) -> verify javax.net.ssl.HostnameVerifier lambdaFactory$() -> a -org.jackhuang.hellominecraft.tasks.download.FileDownloadTask$1 -> org.jackhuang.hellominecraft.launcher.dG: +org.jackhuang.hellominecraft.tasks.download.FileDownloadTask$1 -> org.jackhuang.hellominecraft.launcher.dH: 49:49:void checkClientTrusted(java.security.cert.X509Certificate[],java.lang.String) -> checkClientTrusted 53:53:void checkServerTrusted(java.security.cert.X509Certificate[],java.lang.String) -> checkServerTrusted 57:57:java.security.cert.X509Certificate[] getAcceptedIssuers() -> getAcceptedIssuers -org.jackhuang.hellominecraft.tasks.download.HTTPGetTask -> org.jackhuang.hellominecraft.launcher.dH: +org.jackhuang.hellominecraft.tasks.download.HTTPGetTask -> org.jackhuang.hellominecraft.launcher.dI: java.lang.String url -> d java.lang.String encoding -> e java.lang.String result -> f @@ -3434,8 +3446,8 @@ org.jackhuang.hellominecraft.tasks.download.HTTPGetTask -> org.jackhuang.hellomi 90:90:java.lang.String getInfo() -> a 95:95:java.lang.String getResult() -> b 32:32:java.lang.Object getResult() -> a -org.jackhuang.hellominecraft.tasks.download.NetException -> org.jackhuang.hellominecraft.launcher.dI: -org.jackhuang.hellominecraft.utils.ArrayUtils -> org.jackhuang.hellominecraft.launcher.dJ: +org.jackhuang.hellominecraft.tasks.download.NetException -> org.jackhuang.hellominecraft.launcher.dJ: +org.jackhuang.hellominecraft.utils.ArrayUtils -> org.jackhuang.hellominecraft.launcher.dK: 30:30:boolean isEmpty(java.lang.Object[]) -> a 34:34:boolean isNotEmpty(java.lang.Object[]) -> b 38:38:boolean contains(java.lang.Object[],java.lang.Object) -> a @@ -3448,19 +3460,19 @@ org.jackhuang.hellominecraft.utils.ArrayUtils -> org.jackhuang.hellominecraft.la 86:89:java.util.List tryGetMapWithList(java.util.Map,java.lang.String) -> a 93:104:int matchArray(java.lang.Object[],java.lang.Object[]) -> a 108:119:int matchArray(byte[],byte[]) -> a -org.jackhuang.hellominecraft.utils.CollectionUtils -> org.jackhuang.hellominecraft.launcher.dK: +org.jackhuang.hellominecraft.utils.CollectionUtils -> org.jackhuang.hellominecraft.launcher.dL: 32:33:void forEach(java.util.Collection,org.jackhuang.hellominecraft.utils.functions.Consumer) -> a 36:40:java.util.Collection sortOut(java.util.Collection,org.jackhuang.hellominecraft.utils.functions.Predicate) -> a 44:51:boolean removeIf(java.util.Collection,org.jackhuang.hellominecraft.utils.functions.Predicate) -> a 38:39:void lambda$sortOut$6(org.jackhuang.hellominecraft.utils.functions.Predicate,java.util.ArrayList,java.lang.Object) -> b void access$lambda$0(org.jackhuang.hellominecraft.utils.functions.Predicate,java.util.ArrayList,java.lang.Object) -> a -org.jackhuang.hellominecraft.utils.CollectionUtils$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.dL: +org.jackhuang.hellominecraft.utils.CollectionUtils$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.dM: org.jackhuang.hellominecraft.utils.functions.Predicate arg$1 -> a java.util.ArrayList arg$2 -> a org.jackhuang.hellominecraft.utils.functions.Consumer get$Lambda(org.jackhuang.hellominecraft.utils.functions.Predicate,java.util.ArrayList) -> b void accept(java.lang.Object) -> a org.jackhuang.hellominecraft.utils.functions.Consumer lambdaFactory$(org.jackhuang.hellominecraft.utils.functions.Predicate,java.util.ArrayList) -> a -org.jackhuang.hellominecraft.utils.DoubleOutputStream -> org.jackhuang.hellominecraft.launcher.dM: +org.jackhuang.hellominecraft.utils.DoubleOutputStream -> org.jackhuang.hellominecraft.launcher.dN: java.io.OutputStream a -> a java.io.OutputStream b -> b boolean c -> a @@ -3469,23 +3481,23 @@ org.jackhuang.hellominecraft.utils.DoubleOutputStream -> org.jackhuang.hellomine 64:70:void write(int) -> write 74:80:void close() -> close 84:88:void flush() -> flush -org.jackhuang.hellominecraft.utils.Event -> org.jackhuang.hellominecraft.launcher.dN: +org.jackhuang.hellominecraft.utils.Event -> org.jackhuang.hellominecraft.launcher.dO: boolean call(java.lang.Object,java.lang.Object) -> a -org.jackhuang.hellominecraft.utils.EventHandler -> org.jackhuang.hellominecraft.launcher.dO: +org.jackhuang.hellominecraft.utils.EventHandler -> org.jackhuang.hellominecraft.launcher.dP: java.util.HashSet handlers -> a java.lang.Object sender -> a 37:38:void register(org.jackhuang.hellominecraft.utils.Event) -> a 41:42:void unregister(org.jackhuang.hellominecraft.utils.Event) -> b 45:48:boolean execute(java.lang.Object) -> a -org.jackhuang.hellominecraft.utils.LauncherPrintStream -> org.jackhuang.hellominecraft.launcher.dP: +org.jackhuang.hellominecraft.utils.LauncherPrintStream -> org.jackhuang.hellominecraft.launcher.dQ: java.util.ArrayList printListeners -> a 38:42:void println(java.lang.String) -> println 45:46:void addPrintListener(org.jackhuang.hellominecraft.utils.functions.Consumer) -> a -org.jackhuang.hellominecraft.utils.MathUtils -> org.jackhuang.hellominecraft.launcher.dQ: +org.jackhuang.hellominecraft.utils.MathUtils -> org.jackhuang.hellominecraft.launcher.dR: 27:29:int parseInt(java.lang.String,int) -> a 35:38:boolean canParseInt(java.lang.String) -> a 44:49:int parseMemory(java.lang.String,int) -> b -org.jackhuang.hellominecraft.utils.NetUtils -> org.jackhuang.hellominecraft.launcher.dR: +org.jackhuang.hellominecraft.utils.NetUtils -> org.jackhuang.hellominecraft.launcher.dS: java.lang.String METHOD_POST -> a java.lang.String DEFAULT_CHARSET -> b 39:45:byte[] getBytesFromStream(java.io.InputStream) -> a @@ -3497,13 +3509,13 @@ org.jackhuang.hellominecraft.utils.NetUtils -> org.jackhuang.hellominecraft.laun 116:158:java.lang.String post(java.lang.String,java.util.Map) -> a 166:169:java.net.URL constantURL(java.lang.String) -> a 175:179:java.net.URL concatenateURL(java.net.URL,java.lang.String) -> a -org.jackhuang.hellominecraft.utils.Pair -> org.jackhuang.hellominecraft.launcher.dS: +org.jackhuang.hellominecraft.utils.Pair -> org.jackhuang.hellominecraft.launcher.dT: java.lang.Object key -> a java.lang.Object value -> b 39:39:java.lang.Object getKey() -> getKey 44:44:java.lang.Object getValue() -> getValue 49:51:java.lang.Object setValue(java.lang.Object) -> setValue -org.jackhuang.hellominecraft.utils.StrUtils -> org.jackhuang.hellominecraft.launcher.dT: +org.jackhuang.hellominecraft.utils.StrUtils -> org.jackhuang.hellominecraft.launcher.dU: 35:40:java.lang.String substring(java.lang.String,int,int) -> a 44:71:java.lang.String makeCommand(java.util.List) -> a 75:75:boolean startsWith(java.lang.String,java.lang.String) -> a @@ -3522,7 +3534,7 @@ org.jackhuang.hellominecraft.utils.StrUtils -> org.jackhuang.hellominecraft.laun 221:221:boolean isBlank(java.lang.String) -> a 225:225:boolean isNotBlank(java.lang.String) -> b 229:232:java.lang.String getStackTrace(java.lang.Throwable) -> a -org.jackhuang.hellominecraft.utils.SwingUtils -> org.jackhuang.hellominecraft.launcher.dU: +org.jackhuang.hellominecraft.utils.SwingUtils -> org.jackhuang.hellominecraft.launcher.dV: 44:44:javax.swing.table.DefaultTableModel makeDefaultTableModel(java.lang.String[],java.lang.Class[],boolean[]) -> a 68:72:void openLink(java.net.URI) -> a 79:81:void moveEnd(javax.swing.JTextArea) -> a @@ -3535,14 +3547,14 @@ org.jackhuang.hellominecraft.utils.SwingUtils -> org.jackhuang.hellominecraft.la 131:133:void appendLast(javax.swing.JTable,java.lang.Object[]) -> a 136:138:void setValueAt(javax.swing.JTable,java.lang.Object,int,int) -> a 141:143:void removeRow(javax.swing.JTable,int) -> a -org.jackhuang.hellominecraft.utils.SwingUtils$1 -> org.jackhuang.hellominecraft.launcher.dV: +org.jackhuang.hellominecraft.utils.SwingUtils$1 -> org.jackhuang.hellominecraft.launcher.dW: java.lang.Class[] types -> a boolean[] canEdit -> a java.lang.Class[] val$typesA -> b boolean[] val$canEditA -> b 52:52:java.lang.Class getColumnClass(int) -> getColumnClass 57:57:boolean isCellEditable(int,int) -> isCellEditable -org.jackhuang.hellominecraft.utils.TextComponentOutputStream -> org.jackhuang.hellominecraft.launcher.dW: +org.jackhuang.hellominecraft.utils.TextComponentOutputStream -> org.jackhuang.hellominecraft.launcher.dX: javax.swing.text.JTextComponent txt -> a 37:38:void write(byte[]) -> write 42:43:void write(byte[],int,int) -> write @@ -3550,13 +3562,13 @@ org.jackhuang.hellominecraft.utils.TextComponentOutputStream -> org.jackhuang.he 59:60:void write(int) -> write 48:51:void lambda$append$7(java.lang.String) -> b void access$lambda$0(org.jackhuang.hellominecraft.utils.TextComponentOutputStream,java.lang.String) -> a -org.jackhuang.hellominecraft.utils.TextComponentOutputStream$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.dX: +org.jackhuang.hellominecraft.utils.TextComponentOutputStream$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.dY: org.jackhuang.hellominecraft.utils.TextComponentOutputStream arg$1 -> a java.lang.String arg$2 -> a java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.utils.TextComponentOutputStream,java.lang.String) -> b void run() -> run java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.utils.TextComponentOutputStream,java.lang.String) -> a -org.jackhuang.hellominecraft.utils.UpdateChecker -> org.jackhuang.hellominecraft.launcher.dY: +org.jackhuang.hellominecraft.utils.UpdateChecker -> org.jackhuang.hellominecraft.launcher.dZ: boolean OUT_DATED -> a org.jackhuang.hellominecraft.utils.VersionNumber base -> a java.lang.String type -> a @@ -3566,7 +3578,7 @@ org.jackhuang.hellominecraft.utils.UpdateChecker -> org.jackhuang.hellominecraft 49:60:void run() -> run 63:72:void process(boolean) -> a 75:75:org.jackhuang.hellominecraft.utils.VersionNumber getNewVersion() -> a -org.jackhuang.hellominecraft.utils.Utils -> org.jackhuang.hellominecraft.launcher.dZ: +org.jackhuang.hellominecraft.utils.Utils -> org.jackhuang.hellominecraft.launcher.ea: com.google.gson.GsonBuilder gsonBuilder -> a 51:51:com.google.gson.GsonBuilder getDefaultGsonBuilder() -> a 55:63:java.lang.String[] getURL() -> a @@ -3578,7 +3590,7 @@ org.jackhuang.hellominecraft.utils.Utils -> org.jackhuang.hellominecraft.launche 120:120:javax.swing.ImageIcon scaleImage(javax.swing.ImageIcon,int,int) -> a 124:172:javax.swing.ImageIcon searchBackgroundImage(javax.swing.ImageIcon,java.lang.String,int,int) -> a 180:188:void shutdownForcely() -> a -org.jackhuang.hellominecraft.utils.VersionNumber -> org.jackhuang.hellominecraft.launcher.ea: +org.jackhuang.hellominecraft.utils.VersionNumber -> org.jackhuang.hellominecraft.launcher.eb: byte firstVer -> a byte secondVer -> b byte thirdVer -> c @@ -3586,14 +3598,14 @@ org.jackhuang.hellominecraft.utils.VersionNumber -> org.jackhuang.hellominecraft 58:66:boolean isOlder(org.jackhuang.hellominecraft.utils.VersionNumber,org.jackhuang.hellominecraft.utils.VersionNumber) -> a 71:73:int compareTo(org.jackhuang.hellominecraft.utils.VersionNumber) -> a 25:25:int compareTo(java.lang.Object) -> compareTo -org.jackhuang.hellominecraft.utils.code.Base64 -> org.jackhuang.hellominecraft.launcher.eb: +org.jackhuang.hellominecraft.utils.code.Base64 -> org.jackhuang.hellominecraft.launcher.ec: char[] alphabet -> a byte[] codes -> a 28:51:char[] encode(byte[]) -> a 55:55:char[] encode(java.lang.String,java.lang.String) -> a 59:59:char[] encode(java.lang.String) -> a 63:89:byte[] decode(char[]) -> a -org.jackhuang.hellominecraft.utils.code.Charsets -> org.jackhuang.hellominecraft.launcher.ec: +org.jackhuang.hellominecraft.utils.code.Charsets -> org.jackhuang.hellominecraft.launcher.ed: java.nio.charset.Charset ISO_8859_1 -> a java.nio.charset.Charset US_ASCII -> b java.nio.charset.Charset UTF_16 -> c @@ -3602,7 +3614,7 @@ org.jackhuang.hellominecraft.utils.code.Charsets -> org.jackhuang.hellominecraft java.nio.charset.Charset UTF_8 -> f 36:36:java.nio.charset.Charset toCharset(java.nio.charset.Charset) -> a 40:40:java.nio.charset.Charset toCharset(java.lang.String) -> a -org.jackhuang.hellominecraft.utils.code.DigestUtils -> org.jackhuang.hellominecraft.launcher.ed: +org.jackhuang.hellominecraft.utils.code.DigestUtils -> org.jackhuang.hellominecraft.launcher.ee: int STREAM_BUFFER_LENGTH -> a 34:34:byte[] digest(java.security.MessageDigest,java.io.InputStream) -> a 39:41:java.security.MessageDigest getDigest(java.lang.String) -> a @@ -3658,7 +3670,7 @@ org.jackhuang.hellominecraft.utils.code.DigestUtils -> org.jackhuang.hellominecr 263:264:java.security.MessageDigest updateDigest(java.security.MessageDigest,byte[]) -> a 269:277:java.security.MessageDigest updateDigest(java.security.MessageDigest,java.io.InputStream) -> a 281:282:java.security.MessageDigest updateDigest(java.security.MessageDigest,java.lang.String) -> a -org.jackhuang.hellominecraft.utils.code.Hex -> org.jackhuang.hellominecraft.launcher.ee: +org.jackhuang.hellominecraft.utils.code.Hex -> org.jackhuang.hellominecraft.launcher.ef: java.nio.charset.Charset DEFAULT_CHARSET -> a java.lang.String DEFAULT_CHARSET_NAME -> a char[] DIGITS_LOWER -> a @@ -3677,30 +3689,30 @@ org.jackhuang.hellominecraft.utils.code.Hex -> org.jackhuang.hellominecraft.laun 124:124:java.nio.charset.Charset getCharset() -> a 128:128:java.lang.String getCharsetName() -> a 133:133:java.lang.String toString() -> toString -org.jackhuang.hellominecraft.utils.functions.BiConsumer -> org.jackhuang.hellominecraft.launcher.ef: +org.jackhuang.hellominecraft.utils.functions.BiConsumer -> org.jackhuang.hellominecraft.launcher.eg: void onDone(java.lang.Object,java.lang.Object) -> a -org.jackhuang.hellominecraft.utils.functions.BiFunction -> org.jackhuang.hellominecraft.launcher.eg: +org.jackhuang.hellominecraft.utils.functions.BiFunction -> org.jackhuang.hellominecraft.launcher.eh: java.lang.Object apply(java.lang.Object,java.lang.Object) -> a -org.jackhuang.hellominecraft.utils.functions.Consumer -> org.jackhuang.hellominecraft.launcher.eh: +org.jackhuang.hellominecraft.utils.functions.Consumer -> org.jackhuang.hellominecraft.launcher.ei: void accept(java.lang.Object) -> a -org.jackhuang.hellominecraft.utils.functions.FalseFunction -> org.jackhuang.hellominecraft.launcher.ei: +org.jackhuang.hellominecraft.utils.functions.FalseFunction -> org.jackhuang.hellominecraft.launcher.ej: 27:27:java.lang.Boolean onDone() -> a 23:23:java.lang.Object onDone() -> a -org.jackhuang.hellominecraft.utils.functions.Function -> org.jackhuang.hellominecraft.launcher.ej: +org.jackhuang.hellominecraft.utils.functions.Function -> org.jackhuang.hellominecraft.launcher.ek: java.lang.Object apply(java.lang.Object) -> a -org.jackhuang.hellominecraft.utils.functions.NonConsumer -> org.jackhuang.hellominecraft.launcher.ek: +org.jackhuang.hellominecraft.utils.functions.NonConsumer -> org.jackhuang.hellominecraft.launcher.el: void onDone() -> a -org.jackhuang.hellominecraft.utils.functions.NonFunction -> org.jackhuang.hellominecraft.launcher.el: +org.jackhuang.hellominecraft.utils.functions.NonFunction -> org.jackhuang.hellominecraft.launcher.em: java.lang.Object onDone() -> a -org.jackhuang.hellominecraft.utils.functions.Predicate -> org.jackhuang.hellominecraft.launcher.em: +org.jackhuang.hellominecraft.utils.functions.Predicate -> org.jackhuang.hellominecraft.launcher.en: boolean apply(java.lang.Object) -> a -org.jackhuang.hellominecraft.utils.functions.TriConsumer -> org.jackhuang.hellominecraft.launcher.en: +org.jackhuang.hellominecraft.utils.functions.TriConsumer -> org.jackhuang.hellominecraft.launcher.eo: void onDone(java.lang.Object,java.lang.Object,java.lang.Object) -> a -org.jackhuang.hellominecraft.utils.functions.TrueFunction -> org.jackhuang.hellominecraft.launcher.eo: +org.jackhuang.hellominecraft.utils.functions.TrueFunction -> org.jackhuang.hellominecraft.launcher.ep: org.jackhuang.hellominecraft.utils.functions.TrueFunction instance -> a 31:31:java.lang.Boolean onDone() -> a 23:23:java.lang.Object onDone() -> a -org.jackhuang.hellominecraft.utils.system.Compressor -> org.jackhuang.hellominecraft.launcher.ep: +org.jackhuang.hellominecraft.utils.system.Compressor -> org.jackhuang.hellominecraft.launcher.eq: 39:40:void zip(java.lang.String,java.lang.String) -> a 51:62:void zip(java.io.File,java.io.File) -> a 74:100:void zipFile(java.io.File,java.lang.String,java.util.zip.ZipOutputStream) -> a @@ -3708,7 +3720,7 @@ org.jackhuang.hellominecraft.utils.system.Compressor -> org.jackhuang.hellominec 107:108:void unzip(java.io.File,java.io.File) -> b 119:157:void unzip(java.io.File,java.io.File,java.lang.String[]) -> a 167:192:void merge(java.io.File,java.io.File) -> c -org.jackhuang.hellominecraft.utils.system.FileUtils -> org.jackhuang.hellominecraft.launcher.eq: +org.jackhuang.hellominecraft.utils.system.FileUtils -> org.jackhuang.hellominecraft.launcher.er: 42:53:void deleteDirectory(java.io.File) -> a 57:61:boolean deleteDirectoryQuietly(java.io.File) -> a 67:71:boolean cleanDirectoryQuietly(java.io.File) -> b @@ -3745,35 +3757,49 @@ org.jackhuang.hellominecraft.utils.system.FileUtils -> org.jackhuang.hellominecr 406:406:java.io.FileOutputStream openOutputStream(java.io.File) -> a 411:424:java.io.FileOutputStream openOutputStream(java.io.File,boolean) -> a 428:432:java.io.File[] searchSuffix(java.io.File,java.lang.String) -> a -org.jackhuang.hellominecraft.utils.system.IOUtils -> org.jackhuang.hellominecraft.launcher.er: - 45:50:java.lang.String addSeparator(java.lang.String) -> a - 54:54:boolean isSeparator(char) -> a - 58:62:java.lang.String removeLastSeparator(java.lang.String) -> b - 66:72:java.lang.String extractLastDirectory(java.lang.String) -> c - 76:84:java.util.ArrayList findAllFile(java.io.File) -> a - 88:96:java.util.ArrayList findAllFileWithFullName(java.io.File) -> b - 100:108:java.util.ArrayList findAllDir(java.io.File) -> c - 112:112:java.io.File currentDir() -> a - 116:116:java.lang.String currentDirWithSeparator() -> a - 122:128:java.lang.String getLocalMAC() -> b - 133:158:java.lang.String getMacAddress(java.lang.String) -> d - 162:163:java.lang.String extractFileName(java.lang.String) -> e - 167:172:java.lang.String getJavaDir() -> c - 176:186:byte[] readFully(java.io.InputStream) -> a - 190:191:void closeQuietly(java.io.Reader) -> a - 194:195:void closeQuietly(java.io.Writer) -> a - 198:199:void closeQuietly(java.io.InputStream) -> a - 202:203:void closeQuietly(java.io.OutputStream) -> a - 207:211:void closeQuietly(java.io.Closeable) -> a - 215:217:void write(byte[],java.io.OutputStream) -> a - 221:223:void write(java.lang.String,java.io.OutputStream,java.lang.String) -> a - 227:234:java.io.FileInputStream openInputStream(java.io.File) -> a - 239:241:java.lang.String tryGetCanonicalFolderPath(java.io.File) -> a - 247:249:java.io.File tryGetCanonicalFile(java.io.File) -> a - 254:254:java.io.File tryGetCanonicalFile(java.lang.String) -> a - 259:261:java.lang.String tryGetCanonicalFilePath(java.io.File) -> b - 267:270:java.net.URL parseURL(java.lang.String) -> a -org.jackhuang.hellominecraft.utils.system.JavaProcess -> org.jackhuang.hellominecraft.launcher.es: +org.jackhuang.hellominecraft.utils.system.IOUtils -> org.jackhuang.hellominecraft.launcher.es: + 48:53:java.lang.String addSeparator(java.lang.String) -> a + 57:57:boolean isSeparator(char) -> a + 61:65:java.lang.String removeLastSeparator(java.lang.String) -> b + 69:75:java.lang.String extractLastDirectory(java.lang.String) -> c + 79:87:java.util.ArrayList findAllFile(java.io.File) -> a + 91:99:java.util.ArrayList findAllFileWithFullName(java.io.File) -> b + 103:111:java.util.ArrayList findAllDir(java.io.File) -> c + 115:115:java.io.File currentDir() -> a + 119:119:java.lang.String currentDirWithSeparator() -> a + 125:131:java.lang.String getLocalMAC() -> b + 136:161:java.lang.String getMacAddress(java.lang.String) -> d + 165:166:java.lang.String extractFileName(java.lang.String) -> e + 170:170:java.lang.String getJavaDir() -> c + 174:179:java.lang.String getJavaDir(java.lang.String) -> f + 183:193:byte[] readFully(java.io.InputStream) -> a + 197:198:void closeQuietly(java.io.Reader) -> a + 201:202:void closeQuietly(java.io.Writer) -> a + 205:206:void closeQuietly(java.io.InputStream) -> a + 209:210:void closeQuietly(java.io.OutputStream) -> a + 214:218:void closeQuietly(java.io.Closeable) -> a + 222:224:void write(byte[],java.io.OutputStream) -> a + 228:230:void write(java.lang.String,java.io.OutputStream,java.lang.String) -> a + 234:241:java.io.FileInputStream openInputStream(java.io.File) -> a + 246:248:java.lang.String tryGetCanonicalFolderPath(java.io.File) -> a + 254:256:java.io.File tryGetCanonicalFile(java.io.File) -> a + 261:261:java.io.File tryGetCanonicalFile(java.lang.String) -> a + 266:268:java.lang.String tryGetCanonicalFilePath(java.io.File) -> b + 274:277:java.net.URL parseURL(java.lang.String) -> a + 282:291:java.util.List readProcessByInputStream(java.lang.String[]) -> a + 295:304:java.util.List readProcessByErrorStream(java.lang.String[]) -> b +org.jackhuang.hellominecraft.utils.system.Java -> org.jackhuang.hellominecraft.launcher.et: + java.lang.String name -> a + java.lang.String home -> b + 37:37:java.lang.String getName() -> a + 41:41:java.lang.String getHome() -> b + 45:45:java.lang.String getJava() -> c + 50:54:boolean equals(java.lang.Object) -> equals + 59:59:int hashCode() -> hashCode + 64:78:java.util.List queryAllJavaHomeInWindowsByReg() -> a + 83:89:java.util.List queryRegSubFolders(java.lang.String) -> a + 93:97:java.lang.String queryRegValue(java.lang.String,java.lang.String) -> a +org.jackhuang.hellominecraft.utils.system.JavaProcess -> org.jackhuang.hellominecraft.launcher.eu: java.util.List commands -> a java.lang.Process process -> a java.util.ArrayList stdOutLines -> a @@ -3787,7 +3813,7 @@ org.jackhuang.hellominecraft.utils.system.JavaProcess -> org.jackhuang.hellomine 76:79:int getExitCode() -> a 85:85:java.lang.String toString() -> toString 89:90:void stop() -> a -org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor -> org.jackhuang.hellominecraft.launcher.et: +org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor -> org.jackhuang.hellominecraft.launcher.ev: java.util.HashSet al -> a org.jackhuang.hellominecraft.utils.EventHandler stoppedEvent -> a org.jackhuang.hellominecraft.utils.system.JavaProcess p -> a @@ -3799,21 +3825,21 @@ org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor -> org.jackhuang.he boolean access$lambda$0(org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor,java.lang.Object,org.jackhuang.hellominecraft.utils.system.JavaProcess) -> a boolean access$lambda$1(org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor,java.lang.Object,org.jackhuang.hellominecraft.utils.system.JavaProcess) -> b boolean access$lambda$2(java.lang.Thread) -> a -org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.eu: +org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.ew: org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor arg$1 -> a org.jackhuang.hellominecraft.utils.Event get$Lambda(org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor) -> b boolean call(java.lang.Object,java.lang.Object) -> a org.jackhuang.hellominecraft.utils.Event lambdaFactory$(org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor) -> a -org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor$$Lambda$4 -> org.jackhuang.hellominecraft.launcher.ev: +org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor$$Lambda$4 -> org.jackhuang.hellominecraft.launcher.ex: org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor arg$1 -> a org.jackhuang.hellominecraft.utils.Event get$Lambda(org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor) -> b boolean call(java.lang.Object,java.lang.Object) -> a org.jackhuang.hellominecraft.utils.Event lambdaFactory$(org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor) -> a -org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor$$Lambda$5 -> org.jackhuang.hellominecraft.launcher.ew: +org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor$$Lambda$5 -> org.jackhuang.hellominecraft.launcher.ey: org.jackhuang.hellominecraft.utils.system.JavaProcessMonitor$$Lambda$5 instance -> a boolean apply(java.lang.Object) -> a org.jackhuang.hellominecraft.utils.functions.Predicate lambdaFactory$() -> a -org.jackhuang.hellominecraft.utils.system.JdkVersion -> org.jackhuang.hellominecraft.launcher.ex: +org.jackhuang.hellominecraft.utils.system.JdkVersion -> org.jackhuang.hellominecraft.launcher.ez: java.lang.String ver -> ver int platform -> platform java.lang.String location -> location @@ -3824,21 +3850,21 @@ org.jackhuang.hellominecraft.utils.system.JdkVersion -> org.jackhuang.hellominec int JAVA_19 -> e java.lang.String javaVersion -> javaVersion int majorJavaVersion -> majorJavaVersion - java.util.regex.Pattern p -> a - 38:38:java.lang.String getVersion() -> a - 42:42:org.jackhuang.hellominecraft.utils.system.Platform getPlatform() -> a - 46:46:java.lang.String getLocation() -> b - 50:50:int getParsedVersion() -> a - 61:63:boolean equals(java.lang.Object) -> equals - 68:68:int hashCode() -> hashCode - 114:120:int parseVersion(java.lang.String) -> a - 131:131:java.lang.String getJavaVersion() -> c - 149:149:int getMajorJavaVersion() -> b - 153:154:boolean isJava64Bit() -> a - 160:186:org.jackhuang.hellominecraft.utils.system.JdkVersion getJavaVersionFromExecutable(java.lang.String) -> a - 190:192:void write(java.io.File) -> a - 195:195:boolean isEarlyAccess() -> b -org.jackhuang.hellominecraft.utils.system.MessageBox -> org.jackhuang.hellominecraft.launcher.ey: + java.util.regex.Pattern p -> p + 35:35:java.lang.String getVersion() -> a + 39:39:org.jackhuang.hellominecraft.utils.system.Platform getPlatform() -> a + 43:43:java.lang.String getLocation() -> b + 47:47:int getParsedVersion() -> a + 58:60:boolean equals(java.lang.Object) -> equals + 65:65:int hashCode() -> hashCode + 111:117:int parseVersion(java.lang.String) -> a + 128:128:java.lang.String getJavaVersion() -> c + 146:146:int getMajorJavaVersion() -> b + 150:151:boolean isJava64Bit() -> a + 157:173:org.jackhuang.hellominecraft.utils.system.JdkVersion getJavaVersionFromExecutable(java.lang.String) -> a + 177:179:void write(java.io.File) -> a + 182:182:boolean isEarlyAccess() -> b +org.jackhuang.hellominecraft.utils.system.MessageBox -> org.jackhuang.hellominecraft.launcher.eA: java.lang.String Title -> a int DEFAULT_OPTION -> a int YES_NO_OPTION -> b @@ -3857,7 +3883,7 @@ org.jackhuang.hellominecraft.utils.system.MessageBox -> org.jackhuang.hellominec 94:102:int Show(java.lang.String,java.lang.String,int) -> a 113:113:int Show(java.lang.String,int) -> a 123:123:int Show(java.lang.String) -> a -org.jackhuang.hellominecraft.utils.system.OS -> org.jackhuang.hellominecraft.launcher.ez: +org.jackhuang.hellominecraft.utils.system.OS -> org.jackhuang.hellominecraft.launcher.eB: org.jackhuang.hellominecraft.utils.system.OS LINUX -> a org.jackhuang.hellominecraft.utils.system.OS WINDOWS -> b org.jackhuang.hellominecraft.utils.system.OS OSX -> c @@ -3868,7 +3894,7 @@ org.jackhuang.hellominecraft.utils.system.OS -> org.jackhuang.hellominecraft.lau 26:26:org.jackhuang.hellominecraft.utils.system.OS valueOf(java.lang.String) -> a 41:54:org.jackhuang.hellominecraft.utils.system.OS os() -> a 62:66:long getTotalPhysicalMemory() -> a -org.jackhuang.hellominecraft.utils.system.Platform -> org.jackhuang.hellominecraft.launcher.eA: +org.jackhuang.hellominecraft.utils.system.Platform -> org.jackhuang.hellominecraft.launcher.eC: org.jackhuang.hellominecraft.utils.system.Platform UNKNOWN -> a org.jackhuang.hellominecraft.utils.system.Platform BIT_32 -> b org.jackhuang.hellominecraft.utils.system.Platform BIT_64 -> c @@ -3877,18 +3903,18 @@ org.jackhuang.hellominecraft.utils.system.Platform -> org.jackhuang.hellominecra 23:23:org.jackhuang.hellominecraft.utils.system.Platform valueOf(java.lang.String) -> a java.lang.String getBit() -> a 53:53:org.jackhuang.hellominecraft.utils.system.Platform getPlatform() -> a -org.jackhuang.hellominecraft.utils.system.Platform$1 -> org.jackhuang.hellominecraft.launcher.eB: +org.jackhuang.hellominecraft.utils.system.Platform$1 -> org.jackhuang.hellominecraft.launcher.eD: 29:29:java.lang.String getBit() -> a -org.jackhuang.hellominecraft.utils.system.Platform$2 -> org.jackhuang.hellominecraft.launcher.eC: +org.jackhuang.hellominecraft.utils.system.Platform$2 -> org.jackhuang.hellominecraft.launcher.eE: 37:37:java.lang.String getBit() -> a -org.jackhuang.hellominecraft.utils.system.Platform$3 -> org.jackhuang.hellominecraft.launcher.eD: +org.jackhuang.hellominecraft.utils.system.Platform$3 -> org.jackhuang.hellominecraft.launcher.eF: 45:45:java.lang.String getBit() -> a -org.jackhuang.hellominecraft.utils.system.ProcessManager -> org.jackhuang.hellominecraft.launcher.eE: +org.jackhuang.hellominecraft.utils.system.ProcessManager -> org.jackhuang.hellominecraft.launcher.eG: java.util.HashSet gameProcesses -> a 30:31:void registerProcess(org.jackhuang.hellominecraft.utils.system.JavaProcess) -> a 34:37:void stopAllProcesses() -> a 40:41:void onProcessStopped(org.jackhuang.hellominecraft.utils.system.JavaProcess) -> b -org.jackhuang.hellominecraft.utils.system.ProcessThread -> org.jackhuang.hellominecraft.launcher.eF: +org.jackhuang.hellominecraft.utils.system.ProcessThread -> org.jackhuang.hellominecraft.launcher.eH: org.jackhuang.hellominecraft.utils.system.JavaProcess p -> a boolean readError -> a boolean enableReading -> b @@ -3897,19 +3923,19 @@ org.jackhuang.hellominecraft.utils.system.ProcessThread -> org.jackhuang.hellomi 45:45:org.jackhuang.hellominecraft.utils.system.JavaProcess getProcess() -> a 50:96:void run() -> run 99:99:void stopped() -> a -org.jackhuang.hellominecraft.version.MinecraftRemoteLatestVersion -> org.jackhuang.hellominecraft.launcher.eG: +org.jackhuang.hellominecraft.version.MinecraftRemoteLatestVersion -> org.jackhuang.hellominecraft.launcher.eI: java.lang.String snapshot -> snapshot java.lang.String release -> release -org.jackhuang.hellominecraft.version.MinecraftRemoteVersion -> org.jackhuang.hellominecraft.launcher.eH: +org.jackhuang.hellominecraft.version.MinecraftRemoteVersion -> org.jackhuang.hellominecraft.launcher.eJ: java.lang.String id -> id java.lang.String time -> time java.lang.String releaseTime -> releaseTime java.lang.String type -> type -org.jackhuang.hellominecraft.version.MinecraftRemoteVersions -> org.jackhuang.hellominecraft.launcher.eI: +org.jackhuang.hellominecraft.version.MinecraftRemoteVersions -> org.jackhuang.hellominecraft.launcher.eK: java.util.ArrayList versions -> versions org.jackhuang.hellominecraft.version.MinecraftRemoteLatestVersion latest -> latest 32:32:org.jackhuang.hellominecraft.version.MinecraftRemoteVersions fromJson(java.lang.String) -> a -org.jackhuang.hellominecraft.version.MinecraftVersionRequest -> org.jackhuang.hellominecraft.launcher.eJ: +org.jackhuang.hellominecraft.version.MinecraftVersionRequest -> org.jackhuang.hellominecraft.launcher.eL: int Unkown -> a int Invaild -> b int InvaildJar -> c @@ -3921,7 +3947,7 @@ org.jackhuang.hellominecraft.version.MinecraftVersionRequest -> org.jackhuang.he int type -> i java.lang.String version -> a 32:59:java.lang.String getResponse(org.jackhuang.hellominecraft.version.MinecraftVersionRequest) -> a -org.jackhuang.hellominecraft.views.AbstractFilter -> org.jackhuang.hellominecraft.launcher.eK: +org.jackhuang.hellominecraft.views.AbstractFilter -> org.jackhuang.hellominecraft.launcher.eM: java.awt.image.BufferedImage filter(java.awt.image.BufferedImage,java.awt.image.BufferedImage) -> filter 37:37:java.awt.geom.Rectangle2D getBounds2D(java.awt.image.BufferedImage) -> getBounds2D 42:45:java.awt.image.BufferedImage createCompatibleDestImage(java.awt.image.BufferedImage,java.awt.image.ColorModel) -> createCompatibleDestImage @@ -3929,7 +3955,7 @@ org.jackhuang.hellominecraft.views.AbstractFilter -> org.jackhuang.hellominecraf 55:55:java.awt.RenderingHints getRenderingHints() -> getRenderingHints 59:73:int[] getPixels(java.awt.image.BufferedImage,int,int,int,int,int[]) -> a 77:88:void setPixels(java.awt.image.BufferedImage,int,int,int,int,int[]) -> a -org.jackhuang.hellominecraft.views.BasicColors -> org.jackhuang.hellominecraft.launcher.eL: +org.jackhuang.hellominecraft.views.BasicColors -> org.jackhuang.hellominecraft.launcher.eN: java.awt.Color COLOR_RED -> a java.awt.Color COLOR_RED_DARKER -> b java.awt.Color COLOR_GREEN -> c @@ -3940,7 +3966,7 @@ org.jackhuang.hellominecraft.views.BasicColors -> org.jackhuang.hellominecraft.l java.awt.Color[] bgcolors -> a java.awt.Color[] bgcolors_darker -> b 28:31:java.awt.Color getWebColor(java.lang.String) -> a -org.jackhuang.hellominecraft.views.DropShadowBorder -> org.jackhuang.hellominecraft.launcher.eM: +org.jackhuang.hellominecraft.views.DropShadowBorder -> org.jackhuang.hellominecraft.launcher.eO: java.awt.Color color -> a int thickness -> a java.awt.Insets insets -> a @@ -3949,12 +3975,12 @@ org.jackhuang.hellominecraft.views.DropShadowBorder -> org.jackhuang.hellominecr 55:55:java.awt.Insets getBorderInsets(java.awt.Component) -> getBorderInsets 60:60:java.awt.Insets getBorderInsets(java.awt.Component,java.awt.Insets) -> getBorderInsets 65:87:void paintBorder(java.awt.Component,java.awt.Graphics,int,int,int,int) -> paintBorder -org.jackhuang.hellominecraft.views.FastBlurFilter -> org.jackhuang.hellominecraft.launcher.eN: +org.jackhuang.hellominecraft.views.FastBlurFilter -> org.jackhuang.hellominecraft.launcher.eP: int radius -> a 38:38:int getRadius() -> a 43:61:java.awt.image.BufferedImage filter(java.awt.image.BufferedImage,java.awt.image.BufferedImage) -> filter 65:143:void blur(int[],int[],int,int,int) -> a -org.jackhuang.hellominecraft.views.LogWindow -> org.jackhuang.hellominecraft.launcher.eO: +org.jackhuang.hellominecraft.views.LogWindow -> org.jackhuang.hellominecraft.launcher.eQ: boolean movingEnd -> a org.jackhuang.hellominecraft.utils.functions.NonFunction listener -> a org.jackhuang.hellominecraft.utils.functions.NonConsumer terminateGameListener -> a @@ -3998,34 +4024,34 @@ org.jackhuang.hellominecraft.views.LogWindow -> org.jackhuang.hellominecraft.lau 32:32:void access$600(org.jackhuang.hellominecraft.views.LogWindow,java.awt.event.ActionEvent) -> f 32:32:void access$700(org.jackhuang.hellominecraft.views.LogWindow,java.awt.event.ActionEvent) -> g 32:32:void access$800(org.jackhuang.hellominecraft.views.LogWindow,java.awt.event.ActionEvent) -> h -org.jackhuang.hellominecraft.views.LogWindow$1 -> org.jackhuang.hellominecraft.launcher.eP: +org.jackhuang.hellominecraft.views.LogWindow$1 -> org.jackhuang.hellominecraft.launcher.eR: org.jackhuang.hellominecraft.views.LogWindow this$0 -> a 83:84:void windowClosed(java.awt.event.WindowEvent) -> windowClosed -org.jackhuang.hellominecraft.views.LogWindow$2 -> org.jackhuang.hellominecraft.launcher.eQ: +org.jackhuang.hellominecraft.views.LogWindow$2 -> org.jackhuang.hellominecraft.launcher.eS: org.jackhuang.hellominecraft.views.LogWindow this$0 -> a 95:96:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.views.LogWindow$3 -> org.jackhuang.hellominecraft.launcher.eR: +org.jackhuang.hellominecraft.views.LogWindow$3 -> org.jackhuang.hellominecraft.launcher.eT: org.jackhuang.hellominecraft.views.LogWindow this$0 -> a 102:103:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.views.LogWindow$4 -> org.jackhuang.hellominecraft.launcher.eS: +org.jackhuang.hellominecraft.views.LogWindow$4 -> org.jackhuang.hellominecraft.launcher.eU: org.jackhuang.hellominecraft.views.LogWindow this$0 -> a 109:110:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.views.LogWindow$5 -> org.jackhuang.hellominecraft.launcher.eT: +org.jackhuang.hellominecraft.views.LogWindow$5 -> org.jackhuang.hellominecraft.launcher.eV: org.jackhuang.hellominecraft.views.LogWindow this$0 -> a 118:119:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.views.LogWindow$6 -> org.jackhuang.hellominecraft.launcher.eU: +org.jackhuang.hellominecraft.views.LogWindow$6 -> org.jackhuang.hellominecraft.launcher.eW: org.jackhuang.hellominecraft.views.LogWindow this$0 -> a 125:126:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.views.LogWindow$7 -> org.jackhuang.hellominecraft.launcher.eV: +org.jackhuang.hellominecraft.views.LogWindow$7 -> org.jackhuang.hellominecraft.launcher.eX: org.jackhuang.hellominecraft.views.LogWindow this$0 -> a 132:133:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.views.LogWindow$8 -> org.jackhuang.hellominecraft.launcher.eW: +org.jackhuang.hellominecraft.views.LogWindow$8 -> org.jackhuang.hellominecraft.launcher.eY: org.jackhuang.hellominecraft.views.LogWindow this$0 -> a 139:140:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.views.LogWindow$9 -> org.jackhuang.hellominecraft.launcher.eX: +org.jackhuang.hellominecraft.views.LogWindow$9 -> org.jackhuang.hellominecraft.launcher.eZ: org.jackhuang.hellominecraft.views.LogWindow this$0 -> a 146:147:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.views.Selector -> org.jackhuang.hellominecraft.launcher.eY: +org.jackhuang.hellominecraft.views.Selector -> org.jackhuang.hellominecraft.launcher.fa: java.lang.String[] selList -> a java.lang.String msg -> a int sel -> a @@ -4039,13 +4065,13 @@ org.jackhuang.hellominecraft.views.Selector -> org.jackhuang.hellominecraft.laun 129:131:void jButton1ActionPerformed(java.awt.event.ActionEvent) -> b 24:24:void access$000(org.jackhuang.hellominecraft.views.Selector,java.awt.event.ActionEvent) -> a 24:24:void access$100(org.jackhuang.hellominecraft.views.Selector,java.awt.event.ActionEvent) -> b -org.jackhuang.hellominecraft.views.Selector$1 -> org.jackhuang.hellominecraft.launcher.eZ: +org.jackhuang.hellominecraft.views.Selector$1 -> org.jackhuang.hellominecraft.launcher.fb: org.jackhuang.hellominecraft.views.Selector this$0 -> a 75:76:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.views.Selector$2 -> org.jackhuang.hellominecraft.launcher.fa: +org.jackhuang.hellominecraft.views.Selector$2 -> org.jackhuang.hellominecraft.launcher.fc: org.jackhuang.hellominecraft.views.Selector this$0 -> a 82:83:void actionPerformed(java.awt.event.ActionEvent) -> actionPerformed -org.jackhuang.hellominecraft.views.TintablePanel -> org.jackhuang.hellominecraft.launcher.fb: +org.jackhuang.hellominecraft.views.TintablePanel -> org.jackhuang.hellominecraft.launcher.fd: java.awt.Color tintColor -> a boolean tintActive -> a javax.swing.JLabel overIcon -> a @@ -4056,17 +4082,17 @@ org.jackhuang.hellominecraft.views.TintablePanel -> org.jackhuang.hellominecraft 63:70:void setTintActive(boolean) -> a 74:81:void doLayout() -> doLayout 85:91:void paint(java.awt.Graphics) -> paint -org.jackhuang.hellominecraft.views.TintablePanel$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.fc: +org.jackhuang.hellominecraft.views.TintablePanel$$Lambda$1 -> org.jackhuang.hellominecraft.launcher.fe: org.jackhuang.hellominecraft.views.TintablePanel arg$1 -> a java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.views.TintablePanel) -> b void run() -> run java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.views.TintablePanel) -> a -org.jackhuang.hellominecraft.views.TintablePanel$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.fd: +org.jackhuang.hellominecraft.views.TintablePanel$$Lambda$2 -> org.jackhuang.hellominecraft.launcher.ff: org.jackhuang.hellominecraft.views.TintablePanel arg$1 -> a java.lang.Runnable get$Lambda(org.jackhuang.hellominecraft.views.TintablePanel) -> b void run() -> run java.lang.Runnable lambdaFactory$(org.jackhuang.hellominecraft.views.TintablePanel) -> a -org.jackhuang.mojang.authlib.Agent -> org.jackhuang.hellominecraft.launcher.fe: +org.jackhuang.mojang.authlib.Agent -> org.jackhuang.hellominecraft.launcher.fg: org.jackhuang.mojang.authlib.Agent MINECRAFT -> MINECRAFT org.jackhuang.mojang.authlib.Agent SCROLLS -> SCROLLS java.lang.String name -> name @@ -4074,12 +4100,12 @@ org.jackhuang.mojang.authlib.Agent -> org.jackhuang.hellominecraft.launcher.fe: 16:16:java.lang.String getName() -> getName 20:20:int getVersion() -> getVersion 25:25:java.lang.String toString() -> toString -org.jackhuang.mojang.authlib.AuthenticationService -> org.jackhuang.hellominecraft.launcher.ff: +org.jackhuang.mojang.authlib.AuthenticationService -> org.jackhuang.hellominecraft.launcher.fh: org.jackhuang.mojang.authlib.UserAuthentication createUserAuthentication(org.jackhuang.mojang.authlib.Agent) -> a org.jackhuang.mojang.authlib.minecraft.MinecraftSessionService createMinecraftSessionService() -> a org.jackhuang.mojang.authlib.GameProfileRepository createProfileRepository() -> a -org.jackhuang.mojang.authlib.BaseAuthenticationService -> org.jackhuang.hellominecraft.launcher.fg: -org.jackhuang.mojang.authlib.BaseUserAuthentication -> org.jackhuang.hellominecraft.launcher.fh: +org.jackhuang.mojang.authlib.BaseAuthenticationService -> org.jackhuang.hellominecraft.launcher.fi: +org.jackhuang.mojang.authlib.BaseUserAuthentication -> org.jackhuang.hellominecraft.launcher.fj: org.jackhuang.hellominecraft.logging.logger.Logger LOGGER -> a java.lang.String STORAGE_KEY_PROFILE_NAME -> a java.lang.String STORAGE_KEY_PROFILE_ID -> b @@ -4113,7 +4139,7 @@ org.jackhuang.mojang.authlib.BaseUserAuthentication -> org.jackhuang.hellominecr 250:253:org.jackhuang.mojang.authlib.UserType getUserType() -> a 257:258:void setUserType(org.jackhuang.mojang.authlib.UserType) -> a 261:262:void setUserid(java.lang.String) -> c -org.jackhuang.mojang.authlib.GameProfile -> org.jackhuang.hellominecraft.launcher.fi: +org.jackhuang.mojang.authlib.GameProfile -> org.jackhuang.hellominecraft.launcher.fk: java.util.UUID id -> a java.lang.String name -> a org.jackhuang.mojang.authlib.properties.PropertyMap properties -> a @@ -4126,9 +4152,9 @@ org.jackhuang.mojang.authlib.GameProfile -> org.jackhuang.hellominecraft.launche 58:60:int hashCode() -> hashCode 65:65:java.lang.String toString() -> toString 70:70:boolean isLegacy() -> b -org.jackhuang.mojang.authlib.GameProfileRepository -> org.jackhuang.hellominecraft.launcher.fj: +org.jackhuang.mojang.authlib.GameProfileRepository -> org.jackhuang.hellominecraft.launcher.fl: void findProfilesByNames(java.lang.String[],org.jackhuang.mojang.authlib.Agent,org.jackhuang.mojang.authlib.ProfileLookupCallback) -> a -org.jackhuang.mojang.authlib.HttpAuthenticationService -> org.jackhuang.hellominecraft.launcher.fk: +org.jackhuang.mojang.authlib.HttpAuthenticationService -> org.jackhuang.hellominecraft.launcher.fm: org.jackhuang.hellominecraft.logging.logger.Logger LOGGER -> a java.net.Proxy proxy -> a 28:28:java.net.Proxy getProxy() -> a @@ -4136,13 +4162,13 @@ org.jackhuang.mojang.authlib.HttpAuthenticationService -> org.jackhuang.hellomin 42:87:java.lang.String performPostRequest(java.net.URL,java.lang.String,java.lang.String) -> a 93:121:java.lang.String performGetRequest(java.net.URL) -> a 126:148:java.lang.String buildQuery(java.util.Map) -> a -org.jackhuang.mojang.authlib.HttpUserAuthentication -> org.jackhuang.hellominecraft.launcher.fl: +org.jackhuang.mojang.authlib.HttpUserAuthentication -> org.jackhuang.hellominecraft.launcher.fn: 11:11:org.jackhuang.mojang.authlib.HttpAuthenticationService getAuthenticationService() -> a 3:3:org.jackhuang.mojang.authlib.AuthenticationService getAuthenticationService() -> a -org.jackhuang.mojang.authlib.ProfileLookupCallback -> org.jackhuang.hellominecraft.launcher.fm: +org.jackhuang.mojang.authlib.ProfileLookupCallback -> org.jackhuang.hellominecraft.launcher.fo: void onProfileLookupSucceeded(org.jackhuang.mojang.authlib.GameProfile) -> a void onProfileLookupFailed(org.jackhuang.mojang.authlib.GameProfile,java.lang.Exception) -> a -org.jackhuang.mojang.authlib.UserAuthentication -> org.jackhuang.hellominecraft.launcher.fn: +org.jackhuang.mojang.authlib.UserAuthentication -> org.jackhuang.hellominecraft.launcher.fp: boolean canLogIn() -> a void logIn() -> b void logOut() -> a @@ -4159,7 +4185,7 @@ org.jackhuang.mojang.authlib.UserAuthentication -> org.jackhuang.hellominecraft. java.lang.String getUserID() -> c org.jackhuang.mojang.authlib.properties.PropertyMap getUserProperties() -> a org.jackhuang.mojang.authlib.UserType getUserType() -> a -org.jackhuang.mojang.authlib.UserType -> org.jackhuang.hellominecraft.launcher.fo: +org.jackhuang.mojang.authlib.UserType -> org.jackhuang.hellominecraft.launcher.fq: org.jackhuang.mojang.authlib.UserType LEGACY -> LEGACY org.jackhuang.mojang.authlib.UserType MOJANG -> MOJANG java.util.Map BY_NAME -> BY_NAME @@ -4169,21 +4195,21 @@ org.jackhuang.mojang.authlib.UserType -> org.jackhuang.hellominecraft.launcher.f 6:6:org.jackhuang.mojang.authlib.UserType valueOf(java.lang.String) -> valueOf 19:19:org.jackhuang.mojang.authlib.UserType byName(java.lang.String) -> byName 23:23:java.lang.String getName() -> getName -org.jackhuang.mojang.authlib.exceptions.AuthenticationException -> org.jackhuang.hellominecraft.launcher.fp: -org.jackhuang.mojang.authlib.exceptions.AuthenticationUnavailableException -> org.jackhuang.hellominecraft.launcher.fq: -org.jackhuang.mojang.authlib.exceptions.InvalidCredentialsException -> org.jackhuang.hellominecraft.launcher.fr: -org.jackhuang.mojang.authlib.exceptions.UserMigratedException -> org.jackhuang.hellominecraft.launcher.fs: -org.jackhuang.mojang.authlib.minecraft.BaseMinecraftSessionService -> org.jackhuang.hellominecraft.launcher.ft: +org.jackhuang.mojang.authlib.exceptions.AuthenticationException -> org.jackhuang.hellominecraft.launcher.fr: +org.jackhuang.mojang.authlib.exceptions.AuthenticationUnavailableException -> org.jackhuang.hellominecraft.launcher.fs: +org.jackhuang.mojang.authlib.exceptions.InvalidCredentialsException -> org.jackhuang.hellominecraft.launcher.ft: +org.jackhuang.mojang.authlib.exceptions.UserMigratedException -> org.jackhuang.hellominecraft.launcher.fu: +org.jackhuang.mojang.authlib.minecraft.BaseMinecraftSessionService -> org.jackhuang.hellominecraft.launcher.fv: org.jackhuang.mojang.authlib.AuthenticationService authenticationService -> a 15:15:org.jackhuang.mojang.authlib.AuthenticationService getAuthenticationService() -> a -org.jackhuang.mojang.authlib.minecraft.HttpMinecraftSessionService -> org.jackhuang.hellominecraft.launcher.fu: +org.jackhuang.mojang.authlib.minecraft.HttpMinecraftSessionService -> org.jackhuang.hellominecraft.launcher.fw: 13:13:org.jackhuang.mojang.authlib.HttpAuthenticationService getAuthenticationService() -> a 5:5:org.jackhuang.mojang.authlib.AuthenticationService getAuthenticationService() -> a -org.jackhuang.mojang.authlib.minecraft.MinecraftSessionService -> org.jackhuang.hellominecraft.launcher.fv: +org.jackhuang.mojang.authlib.minecraft.MinecraftSessionService -> org.jackhuang.hellominecraft.launcher.fx: void joinServer(org.jackhuang.mojang.authlib.GameProfile,java.lang.String,java.lang.String) -> a org.jackhuang.mojang.authlib.GameProfile hasJoinedServer(org.jackhuang.mojang.authlib.GameProfile,java.lang.String) -> a org.jackhuang.mojang.authlib.GameProfile fillProfileProperties(org.jackhuang.mojang.authlib.GameProfile,boolean) -> a -org.jackhuang.mojang.authlib.properties.Property -> org.jackhuang.hellominecraft.launcher.fw: +org.jackhuang.mojang.authlib.properties.Property -> org.jackhuang.hellominecraft.launcher.fy: java.lang.String name -> name java.lang.String value -> value java.lang.String signature -> signature @@ -4192,15 +4218,15 @@ org.jackhuang.mojang.authlib.properties.Property -> org.jackhuang.hellominecraft 35:35:java.lang.String getSignature() -> getSignature 39:39:boolean hasSignature() -> hasSignature 44:55:boolean isSignatureValid(java.security.PublicKey) -> isSignatureValid -org.jackhuang.mojang.authlib.properties.PropertyMap -> org.jackhuang.hellominecraft.launcher.fx: -org.jackhuang.mojang.authlib.properties.PropertyMap$Serializer -> org.jackhuang.hellominecraft.launcher.fy: +org.jackhuang.mojang.authlib.properties.PropertyMap -> org.jackhuang.hellominecraft.launcher.fz: +org.jackhuang.mojang.authlib.properties.PropertyMap$Serializer -> org.jackhuang.hellominecraft.launcher.fA: 25:56:org.jackhuang.mojang.authlib.properties.PropertyMap deserialize(com.google.gson.JsonElement,java.lang.reflect.Type,com.google.gson.JsonDeserializationContext) -> a 61:76:com.google.gson.JsonElement serialize(org.jackhuang.mojang.authlib.properties.PropertyMap,java.lang.reflect.Type,com.google.gson.JsonSerializationContext) -> a 21:21:com.google.gson.JsonElement serialize(java.lang.Object,java.lang.reflect.Type,com.google.gson.JsonSerializationContext) -> serialize 21:21:java.lang.Object deserialize(com.google.gson.JsonElement,java.lang.reflect.Type,com.google.gson.JsonDeserializationContext) -> deserialize -org.jackhuang.mojang.authlib.yggdrasil.ProfileIncompleteException -> org.jackhuang.hellominecraft.launcher.fz: -org.jackhuang.mojang.authlib.yggdrasil.ProfileNotFoundException -> org.jackhuang.hellominecraft.launcher.fA: -org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService -> org.jackhuang.hellominecraft.launcher.fB: +org.jackhuang.mojang.authlib.yggdrasil.ProfileIncompleteException -> org.jackhuang.hellominecraft.launcher.fB: +org.jackhuang.mojang.authlib.yggdrasil.ProfileNotFoundException -> org.jackhuang.hellominecraft.launcher.fC: +org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService -> org.jackhuang.hellominecraft.launcher.fD: java.lang.String clientToken -> a com.google.gson.Gson gson -> a 50:50:org.jackhuang.mojang.authlib.UserAuthentication createUserAuthentication(org.jackhuang.mojang.authlib.Agent) -> a @@ -4208,13 +4234,13 @@ org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService -> org.jac 60:60:org.jackhuang.mojang.authlib.GameProfileRepository createProfileRepository() -> a 65:88:org.jackhuang.mojang.authlib.yggdrasil.response.Response makeRequest(java.net.URL,java.lang.Object,java.lang.Class) -> a 93:93:java.lang.String getClientToken() -> a -org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService$1 -> org.jackhuang.hellominecraft.launcher.fC: -org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService$GameProfileSerializer -> org.jackhuang.hellominecraft.launcher.fD: +org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService$1 -> org.jackhuang.hellominecraft.launcher.fE: +org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService$GameProfileSerializer -> org.jackhuang.hellominecraft.launcher.fF: 100:103:org.jackhuang.mojang.authlib.GameProfile deserialize(com.google.gson.JsonElement,java.lang.reflect.Type,com.google.gson.JsonDeserializationContext) -> a 108:115:com.google.gson.JsonElement serialize(org.jackhuang.mojang.authlib.GameProfile,java.lang.reflect.Type,com.google.gson.JsonSerializationContext) -> a 96:96:com.google.gson.JsonElement serialize(java.lang.Object,java.lang.reflect.Type,com.google.gson.JsonSerializationContext) -> serialize 96:96:java.lang.Object deserialize(com.google.gson.JsonElement,java.lang.reflect.Type,com.google.gson.JsonDeserializationContext) -> deserialize -org.jackhuang.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository -> org.jackhuang.hellominecraft.launcher.fE: +org.jackhuang.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository -> org.jackhuang.hellominecraft.launcher.fG: org.jackhuang.hellominecraft.logging.logger.Logger LOGGER -> a java.lang.String BASE_URL -> a java.lang.String SEARCH_PAGE_URL -> b @@ -4223,8 +4249,8 @@ org.jackhuang.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository -> org.jac int DELAY_BETWEEN_FAILURES -> c org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService authenticationService -> a 32:91:void findProfilesByNames(java.lang.String[],org.jackhuang.mojang.authlib.Agent,org.jackhuang.mojang.authlib.ProfileLookupCallback) -> a -org.jackhuang.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository$1 -> org.jackhuang.hellominecraft.launcher.fF: -org.jackhuang.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository$ProfileCriteria -> org.jackhuang.hellominecraft.launcher.fG: +org.jackhuang.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository$1 -> org.jackhuang.hellominecraft.launcher.fH: +org.jackhuang.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository$ProfileCriteria -> org.jackhuang.hellominecraft.launcher.fI: java.lang.String name -> a java.lang.String agent -> b org.jackhuang.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository this$0 -> a @@ -4233,7 +4259,7 @@ org.jackhuang.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository$ProfileCri 113:120:boolean equals(java.lang.Object) -> equals 125:125:int hashCode() -> hashCode 130:130:java.lang.String toString() -> toString -org.jackhuang.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService -> org.jackhuang.hellominecraft.launcher.fH: +org.jackhuang.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService -> org.jackhuang.hellominecraft.launcher.fJ: org.jackhuang.hellominecraft.logging.logger.Logger LOGGER -> a java.lang.String BASE_URL -> a java.net.URL JOIN_URL -> a @@ -4244,7 +4270,7 @@ org.jackhuang.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService -> org.j 95:95:org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService getAuthenticationService() -> a 19:19:org.jackhuang.mojang.authlib.HttpAuthenticationService getAuthenticationService() -> a 19:19:org.jackhuang.mojang.authlib.AuthenticationService getAuthenticationService() -> a -org.jackhuang.mojang.authlib.yggdrasil.YggdrasilUserAuthentication -> org.jackhuang.hellominecraft.launcher.fI: +org.jackhuang.mojang.authlib.yggdrasil.YggdrasilUserAuthentication -> org.jackhuang.hellominecraft.launcher.fK: org.jackhuang.hellominecraft.logging.logger.Logger LOGGER -> a java.lang.String BASE_URL -> g java.net.URL ROUTE_AUTHENTICATE -> a @@ -4276,22 +4302,22 @@ org.jackhuang.mojang.authlib.yggdrasil.YggdrasilUserAuthentication -> org.jackhu 246:246:org.jackhuang.mojang.authlib.yggdrasil.YggdrasilAuthenticationService getAuthenticationService() -> a 23:23:org.jackhuang.mojang.authlib.HttpAuthenticationService getAuthenticationService() -> a 23:23:org.jackhuang.mojang.authlib.AuthenticationService getAuthenticationService() -> a -org.jackhuang.mojang.authlib.yggdrasil.request.AuthenticationRequest -> org.jackhuang.hellominecraft.launcher.fJ: +org.jackhuang.mojang.authlib.yggdrasil.request.AuthenticationRequest -> org.jackhuang.hellominecraft.launcher.fL: org.jackhuang.mojang.authlib.Agent agent -> agent java.lang.String username -> username java.lang.String password -> password java.lang.String clientToken -> clientToken boolean requestUser -> requestUser -org.jackhuang.mojang.authlib.yggdrasil.request.JoinMinecraftServerRequest -> org.jackhuang.hellominecraft.launcher.fK: +org.jackhuang.mojang.authlib.yggdrasil.request.JoinMinecraftServerRequest -> org.jackhuang.hellominecraft.launcher.fM: java.lang.String accessToken -> accessToken java.util.UUID selectedProfile -> selectedProfile java.lang.String serverId -> serverId -org.jackhuang.mojang.authlib.yggdrasil.request.RefreshRequest -> org.jackhuang.hellominecraft.launcher.fL: +org.jackhuang.mojang.authlib.yggdrasil.request.RefreshRequest -> org.jackhuang.hellominecraft.launcher.fN: java.lang.String clientToken -> clientToken java.lang.String accessToken -> accessToken org.jackhuang.mojang.authlib.GameProfile selectedProfile -> selectedProfile boolean requestUser -> requestUser -org.jackhuang.mojang.authlib.yggdrasil.response.AuthenticationResponse -> org.jackhuang.hellominecraft.launcher.fM: +org.jackhuang.mojang.authlib.yggdrasil.response.AuthenticationResponse -> org.jackhuang.hellominecraft.launcher.fO: java.lang.String accessToken -> accessToken java.lang.String clientToken -> clientToken org.jackhuang.mojang.authlib.GameProfile selectedProfile -> selectedProfile @@ -4302,24 +4328,24 @@ org.jackhuang.mojang.authlib.yggdrasil.response.AuthenticationResponse -> org.ja 22:22:org.jackhuang.mojang.authlib.GameProfile[] getAvailableProfiles() -> getAvailableProfiles 26:26:org.jackhuang.mojang.authlib.GameProfile getSelectedProfile() -> getSelectedProfile 30:30:org.jackhuang.mojang.authlib.yggdrasil.response.User getUser() -> getUser -org.jackhuang.mojang.authlib.yggdrasil.response.HasJoinedMinecraftServerResponse -> org.jackhuang.hellominecraft.launcher.fN: +org.jackhuang.mojang.authlib.yggdrasil.response.HasJoinedMinecraftServerResponse -> org.jackhuang.hellominecraft.launcher.fP: java.util.UUID id -> id org.jackhuang.mojang.authlib.properties.PropertyMap properties -> properties 12:12:java.util.UUID getId() -> getId 16:16:org.jackhuang.mojang.authlib.properties.PropertyMap getProperties() -> getProperties -org.jackhuang.mojang.authlib.yggdrasil.response.MinecraftProfilePropertiesResponse -> org.jackhuang.hellominecraft.launcher.fO: +org.jackhuang.mojang.authlib.yggdrasil.response.MinecraftProfilePropertiesResponse -> org.jackhuang.hellominecraft.launcher.fQ: java.util.UUID id -> id java.lang.String name -> name org.jackhuang.mojang.authlib.properties.PropertyMap properties -> properties 13:13:java.util.UUID getId() -> getId 17:17:java.lang.String getName() -> getName 21:21:org.jackhuang.mojang.authlib.properties.PropertyMap getProperties() -> getProperties -org.jackhuang.mojang.authlib.yggdrasil.response.ProfileSearchResultsResponse -> org.jackhuang.hellominecraft.launcher.fP: +org.jackhuang.mojang.authlib.yggdrasil.response.ProfileSearchResultsResponse -> org.jackhuang.hellominecraft.launcher.fR: org.jackhuang.mojang.authlib.GameProfile[] profiles -> profiles int size -> size 11:11:org.jackhuang.mojang.authlib.GameProfile[] getProfiles() -> getProfiles 15:15:int getSize() -> getSize -org.jackhuang.mojang.authlib.yggdrasil.response.RefreshResponse -> org.jackhuang.hellominecraft.launcher.fQ: +org.jackhuang.mojang.authlib.yggdrasil.response.RefreshResponse -> org.jackhuang.hellominecraft.launcher.fS: java.lang.String accessToken -> accessToken java.lang.String clientToken -> clientToken org.jackhuang.mojang.authlib.GameProfile selectedProfile -> selectedProfile @@ -4330,29 +4356,29 @@ org.jackhuang.mojang.authlib.yggdrasil.response.RefreshResponse -> org.jackhuang 22:22:org.jackhuang.mojang.authlib.GameProfile[] getAvailableProfiles() -> getAvailableProfiles 26:26:org.jackhuang.mojang.authlib.GameProfile getSelectedProfile() -> getSelectedProfile 30:30:org.jackhuang.mojang.authlib.yggdrasil.response.User getUser() -> getUser -org.jackhuang.mojang.authlib.yggdrasil.response.Response -> org.jackhuang.hellominecraft.launcher.fR: +org.jackhuang.mojang.authlib.yggdrasil.response.Response -> org.jackhuang.hellominecraft.launcher.fT: java.lang.String error -> error java.lang.String errorMessage -> errorMessage java.lang.String cause -> cause 10:10:java.lang.String getError() -> getError 14:14:java.lang.String getCause() -> getCause 18:18:java.lang.String getErrorMessage() -> getErrorMessage -org.jackhuang.mojang.authlib.yggdrasil.response.User -> org.jackhuang.hellominecraft.launcher.fS: +org.jackhuang.mojang.authlib.yggdrasil.response.User -> org.jackhuang.hellominecraft.launcher.fU: java.lang.String id -> id org.jackhuang.mojang.authlib.properties.PropertyMap properties -> properties 11:11:java.lang.String getId() -> getId 15:15:org.jackhuang.mojang.authlib.properties.PropertyMap getProperties() -> getProperties -org.jackhuang.mojang.util.LegacyPropertyMapSerializer -> org.jackhuang.hellominecraft.launcher.fT: +org.jackhuang.mojang.util.LegacyPropertyMapSerializer -> org.jackhuang.hellominecraft.launcher.fV: 26:36:com.google.gson.JsonElement serialize(org.jackhuang.mojang.authlib.properties.PropertyMap,java.lang.reflect.Type,com.google.gson.JsonSerializationContext) -> a 21:21:com.google.gson.JsonElement serialize(java.lang.Object,java.lang.reflect.Type,com.google.gson.JsonSerializationContext) -> serialize -org.jackhuang.mojang.util.UUIDTypeAdapter -> org.jackhuang.hellominecraft.launcher.fU: +org.jackhuang.mojang.util.UUIDTypeAdapter -> org.jackhuang.hellominecraft.launcher.fW: 13:14:void write(com.google.gson.stream.JsonWriter,java.util.UUID) -> a 17:17:java.util.UUID read(com.google.gson.stream.JsonReader) -> a 21:21:java.lang.String fromUUID(java.util.UUID) -> a 25:25:java.util.UUID fromString(java.lang.String) -> a 9:9:java.lang.Object read(com.google.gson.stream.JsonReader) -> read 9:9:void write(com.google.gson.stream.JsonWriter,java.lang.Object) -> write -org.tukaani.xz.ARMOptions -> org.jackhuang.hellominecraft.launcher.fV: +org.tukaani.xz.ARMOptions -> org.jackhuang.hellominecraft.launcher.fX: int ALIGNMENT -> b 26:26:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a 30:30:java.io.InputStream getInputStream(java.io.InputStream) -> a @@ -4362,7 +4388,7 @@ org.tukaani.xz.ARMOptions -> org.jackhuang.hellominecraft.launcher.fV: 18:18:int getEncoderMemoryUsage() -> b 18:18:int getStartOffset() -> c 18:18:void setStartOffset(int) -> a -org.tukaani.xz.ARMThumbOptions -> org.jackhuang.hellominecraft.launcher.fW: +org.tukaani.xz.ARMThumbOptions -> org.jackhuang.hellominecraft.launcher.fY: int ALIGNMENT -> b 26:26:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a 30:30:java.io.InputStream getInputStream(java.io.InputStream) -> a @@ -4372,7 +4398,7 @@ org.tukaani.xz.ARMThumbOptions -> org.jackhuang.hellominecraft.launcher.fW: 18:18:int getEncoderMemoryUsage() -> b 18:18:int getStartOffset() -> c 18:18:void setStartOffset(int) -> a -org.tukaani.xz.BCJCoder -> org.jackhuang.hellominecraft.launcher.fX: +org.tukaani.xz.BCJCoder -> org.jackhuang.hellominecraft.launcher.fZ: long X86_FILTER_ID -> a long POWERPC_FILTER_ID -> b long IA64_FILTER_ID -> c @@ -4383,13 +4409,13 @@ org.tukaani.xz.BCJCoder -> org.jackhuang.hellominecraft.launcher.fX: 25:25:boolean changesSize() -> a 29:29:boolean nonLastOK() -> b 33:33:boolean lastOK() -> c -org.tukaani.xz.BCJDecoder -> org.jackhuang.hellominecraft.launcher.fY: +org.tukaani.xz.BCJDecoder -> org.jackhuang.hellominecraft.launcher.ga: long filterID -> g int startOffset -> a boolean $assertionsDisabled -> a 39:39:int getMemoryUsage() -> a 43:60:java.io.InputStream getInputStream(java.io.InputStream) -> a -org.tukaani.xz.BCJEncoder -> org.jackhuang.hellominecraft.launcher.fZ: +org.tukaani.xz.BCJEncoder -> org.jackhuang.hellominecraft.launcher.gb: org.tukaani.xz.BCJOptions options -> a long filterID -> g byte[] props -> a @@ -4398,7 +4424,7 @@ org.tukaani.xz.BCJEncoder -> org.jackhuang.hellominecraft.launcher.fZ: 38:38:byte[] getFilterProps() -> a 42:42:boolean supportsFlushing() -> d 46:46:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a -org.tukaani.xz.BCJOptions -> org.jackhuang.hellominecraft.launcher.ga: +org.tukaani.xz.BCJOptions -> org.jackhuang.hellominecraft.launcher.gc: int alignment -> b int startOffset -> a boolean $assertionsDisabled -> a @@ -4407,7 +4433,7 @@ org.tukaani.xz.BCJOptions -> org.jackhuang.hellominecraft.launcher.ga: 42:42:int getEncoderMemoryUsage() -> b 46:46:int getDecoderMemoryUsage() -> a 51:54:java.lang.Object clone() -> clone -org.tukaani.xz.BlockInputStream -> org.jackhuang.hellominecraft.launcher.gb: +org.tukaani.xz.BlockInputStream -> org.jackhuang.hellominecraft.launcher.gd: java.io.DataInputStream inData -> a org.tukaani.xz.CountingInputStream inCounted -> a java.io.InputStream filterChain -> a @@ -4425,7 +4451,7 @@ org.tukaani.xz.BlockInputStream -> org.jackhuang.hellominecraft.launcher.gb: 270:270:int available() -> available 274:274:long getUnpaddedSize() -> a 278:278:long getUncompressedSize() -> b -org.tukaani.xz.BlockOutputStream -> org.jackhuang.hellominecraft.launcher.gc: +org.tukaani.xz.BlockOutputStream -> org.jackhuang.hellominecraft.launcher.ge: java.io.OutputStream out -> a org.tukaani.xz.CountingOutputStream outCounted -> a org.tukaani.xz.FinishableOutputStream filterChain -> a @@ -4441,14 +4467,14 @@ org.tukaani.xz.BlockOutputStream -> org.jackhuang.hellominecraft.launcher.gc: 118:125:void validate() -> b 128:128:long getUnpaddedSize() -> a 132:132:long getUncompressedSize() -> b -org.tukaani.xz.CorruptedInputException -> org.jackhuang.hellominecraft.launcher.gd: +org.tukaani.xz.CorruptedInputException -> org.jackhuang.hellominecraft.launcher.gf: long serialVersionUID -> a -org.tukaani.xz.CountingInputStream -> org.jackhuang.hellominecraft.launcher.ge: +org.tukaani.xz.CountingInputStream -> org.jackhuang.hellominecraft.launcher.gg: long size -> a 27:31:int read() -> read 35:39:int read(byte[],int,int) -> read 43:43:long getSize() -> a -org.tukaani.xz.CountingOutputStream -> org.jackhuang.hellominecraft.launcher.gf: +org.tukaani.xz.CountingOutputStream -> org.jackhuang.hellominecraft.launcher.gh: java.io.OutputStream out -> a long size -> a 32:35:void write(int) -> write @@ -4456,23 +4482,23 @@ org.tukaani.xz.CountingOutputStream -> org.jackhuang.hellominecraft.launcher.gf: 44:45:void flush() -> flush 48:49:void close() -> close 52:52:long getSize() -> a -org.tukaani.xz.DeltaCoder -> org.jackhuang.hellominecraft.launcher.gg: +org.tukaani.xz.DeltaCoder -> org.jackhuang.hellominecraft.launcher.gi: long FILTER_ID -> a 16:16:boolean changesSize() -> a 20:20:boolean nonLastOK() -> b 24:24:boolean lastOK() -> c -org.tukaani.xz.DeltaDecoder -> org.jackhuang.hellominecraft.launcher.gh: +org.tukaani.xz.DeltaDecoder -> org.jackhuang.hellominecraft.launcher.gj: int distance -> a 26:26:int getMemoryUsage() -> a 30:30:java.io.InputStream getInputStream(java.io.InputStream) -> a -org.tukaani.xz.DeltaEncoder -> org.jackhuang.hellominecraft.launcher.gi: +org.tukaani.xz.DeltaEncoder -> org.jackhuang.hellominecraft.launcher.gk: org.tukaani.xz.DeltaOptions options -> a byte[] props -> a 22:22:long getFilterID() -> a 26:26:byte[] getFilterProps() -> a 30:30:boolean supportsFlushing() -> d 34:34:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a -org.tukaani.xz.DeltaInputStream -> org.jackhuang.hellominecraft.launcher.gj: +org.tukaani.xz.DeltaInputStream -> org.jackhuang.hellominecraft.launcher.gl: int DISTANCE_MIN -> a int DISTANCE_MAX -> b java.io.InputStream in -> a @@ -4483,7 +4509,7 @@ org.tukaani.xz.DeltaInputStream -> org.jackhuang.hellominecraft.launcher.gj: 92:113:int read(byte[],int,int) -> read 122:128:int available() -> available 138:145:void close() -> close -org.tukaani.xz.DeltaOptions -> org.jackhuang.hellominecraft.launcher.gk: +org.tukaani.xz.DeltaOptions -> org.jackhuang.hellominecraft.launcher.gm: int DISTANCE_MIN -> a int DISTANCE_MAX -> b int distance -> c @@ -4496,7 +4522,7 @@ org.tukaani.xz.DeltaOptions -> org.jackhuang.hellominecraft.launcher.gk: 87:87:java.io.InputStream getInputStream(java.io.InputStream) -> a 91:91:org.tukaani.xz.FilterEncoder getFilterEncoder() -> a 96:99:java.lang.Object clone() -> clone -org.tukaani.xz.DeltaOutputStream -> org.jackhuang.hellominecraft.launcher.gl: +org.tukaani.xz.DeltaOutputStream -> org.jackhuang.hellominecraft.launcher.gn: int FILTER_BUF_SIZE -> a org.tukaani.xz.FinishableOutputStream out -> a org.tukaani.xz.delta.DeltaEncoder delta -> a @@ -4510,19 +4536,19 @@ org.tukaani.xz.DeltaOutputStream -> org.jackhuang.hellominecraft.launcher.gl: 68:80:void flush() -> flush 83:96:void finish() -> a 99:112:void close() -> close -org.tukaani.xz.FilterCoder -> org.jackhuang.hellominecraft.launcher.gm: +org.tukaani.xz.FilterCoder -> org.jackhuang.hellominecraft.launcher.go: boolean changesSize() -> a boolean nonLastOK() -> b boolean lastOK() -> c -org.tukaani.xz.FilterDecoder -> org.jackhuang.hellominecraft.launcher.gn: +org.tukaani.xz.FilterDecoder -> org.jackhuang.hellominecraft.launcher.gp: int getMemoryUsage() -> a java.io.InputStream getInputStream(java.io.InputStream) -> a -org.tukaani.xz.FilterEncoder -> org.jackhuang.hellominecraft.launcher.go: +org.tukaani.xz.FilterEncoder -> org.jackhuang.hellominecraft.launcher.gq: long getFilterID() -> a byte[] getFilterProps() -> a boolean supportsFlushing() -> d org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a -org.tukaani.xz.FilterOptions -> org.jackhuang.hellominecraft.launcher.gp: +org.tukaani.xz.FilterOptions -> org.jackhuang.hellominecraft.launcher.gr: 27:32:int getEncoderMemoryUsage(org.tukaani.xz.FilterOptions[]) -> a 42:47:int getDecoderMemoryUsage(org.tukaani.xz.FilterOptions[]) -> b int getEncoderMemoryUsage() -> b @@ -4530,16 +4556,16 @@ org.tukaani.xz.FilterOptions -> org.jackhuang.hellominecraft.launcher.gp: int getDecoderMemoryUsage() -> a java.io.InputStream getInputStream(java.io.InputStream) -> a org.tukaani.xz.FilterEncoder getFilterEncoder() -> a -org.tukaani.xz.FinishableOutputStream -> org.jackhuang.hellominecraft.launcher.gq: +org.tukaani.xz.FinishableOutputStream -> org.jackhuang.hellominecraft.launcher.gs: 30:30:void finish() -> a -org.tukaani.xz.FinishableWrapperOutputStream -> org.jackhuang.hellominecraft.launcher.gr: +org.tukaani.xz.FinishableWrapperOutputStream -> org.jackhuang.hellominecraft.launcher.gt: java.io.OutputStream out -> a 39:40:void write(int) -> write 46:47:void write(byte[]) -> write 54:55:void write(byte[],int,int) -> write 61:62:void flush() -> flush 68:69:void close() -> close -org.tukaani.xz.IA64Options -> org.jackhuang.hellominecraft.launcher.gs: +org.tukaani.xz.IA64Options -> org.jackhuang.hellominecraft.launcher.gu: int ALIGNMENT -> b 26:26:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a 30:30:java.io.InputStream getInputStream(java.io.InputStream) -> a @@ -4549,25 +4575,25 @@ org.tukaani.xz.IA64Options -> org.jackhuang.hellominecraft.launcher.gs: 18:18:int getEncoderMemoryUsage() -> b 18:18:int getStartOffset() -> c 18:18:void setStartOffset(int) -> a -org.tukaani.xz.IndexIndicatorException -> org.jackhuang.hellominecraft.launcher.gt: +org.tukaani.xz.IndexIndicatorException -> org.jackhuang.hellominecraft.launcher.gv: long serialVersionUID -> a -org.tukaani.xz.LZMA2Coder -> org.jackhuang.hellominecraft.launcher.gu: +org.tukaani.xz.LZMA2Coder -> org.jackhuang.hellominecraft.launcher.gw: long FILTER_ID -> a 16:16:boolean changesSize() -> a 20:20:boolean nonLastOK() -> b 24:24:boolean lastOK() -> c -org.tukaani.xz.LZMA2Decoder -> org.jackhuang.hellominecraft.launcher.gv: +org.tukaani.xz.LZMA2Decoder -> org.jackhuang.hellominecraft.launcher.gx: int dictSize -> a 29:29:int getMemoryUsage() -> a 33:33:java.io.InputStream getInputStream(java.io.InputStream) -> a -org.tukaani.xz.LZMA2Encoder -> org.jackhuang.hellominecraft.launcher.gw: +org.tukaani.xz.LZMA2Encoder -> org.jackhuang.hellominecraft.launcher.gy: org.tukaani.xz.LZMA2Options options -> a byte[] props -> a 36:36:long getFilterID() -> a 40:40:byte[] getFilterProps() -> a 44:44:boolean supportsFlushing() -> d 48:48:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a -org.tukaani.xz.LZMA2InputStream -> org.jackhuang.hellominecraft.launcher.gx: +org.tukaani.xz.LZMA2InputStream -> org.jackhuang.hellominecraft.launcher.gz: int DICT_SIZE_MIN -> a int DICT_SIZE_MAX -> b int COMPRESSED_SIZE_MAX -> c @@ -4590,7 +4616,7 @@ org.tukaani.xz.LZMA2InputStream -> org.jackhuang.hellominecraft.launcher.gx: 301:315:void decodeProps() -> b 334:340:int available() -> available 350:357:void close() -> close -org.tukaani.xz.LZMA2Options -> org.jackhuang.hellominecraft.launcher.gy: +org.tukaani.xz.LZMA2Options -> org.jackhuang.hellominecraft.launcher.gA: int PRESET_MIN -> a int PRESET_MAX -> b int PRESET_DEFAULT -> c @@ -4647,7 +4673,7 @@ org.tukaani.xz.LZMA2Options -> org.jackhuang.hellominecraft.launcher.gy: 566:566:java.io.InputStream getInputStream(java.io.InputStream) -> a 570:570:org.tukaani.xz.FilterEncoder getFilterEncoder() -> a 575:578:java.lang.Object clone() -> clone -org.tukaani.xz.LZMA2OutputStream -> org.jackhuang.hellominecraft.launcher.gz: +org.tukaani.xz.LZMA2OutputStream -> org.jackhuang.hellominecraft.launcher.gB: int COMPRESSED_SIZE_MAX -> a org.tukaani.xz.FinishableOutputStream out -> a java.io.DataOutputStream outData -> a @@ -4674,7 +4700,7 @@ org.tukaani.xz.LZMA2OutputStream -> org.jackhuang.hellominecraft.launcher.gz: 204:223:void flush() -> flush 226:238:void finish() -> a 241:260:void close() -> close -org.tukaani.xz.LZMAInputStream -> org.jackhuang.hellominecraft.launcher.gA: +org.tukaani.xz.LZMAInputStream -> org.jackhuang.hellominecraft.launcher.gC: int DICT_SIZE_MAX -> a java.io.InputStream in -> a org.tukaani.xz.lz.LZDecoder lz -> a @@ -4693,13 +4719,13 @@ org.tukaani.xz.LZMAInputStream -> org.jackhuang.hellominecraft.launcher.gA: 444:444:int read() -> read 471:550:int read(byte[],int,int) -> read 561:568:void close() -> close -org.tukaani.xz.MemoryLimitException -> org.jackhuang.hellominecraft.launcher.gB: +org.tukaani.xz.MemoryLimitException -> org.jackhuang.hellominecraft.launcher.gD: long serialVersionUID -> a int memoryNeeded -> a int memoryLimit -> b 48:48:int getMemoryNeeded() -> a 58:58:int getMemoryLimit() -> b -org.tukaani.xz.PowerPCOptions -> org.jackhuang.hellominecraft.launcher.gC: +org.tukaani.xz.PowerPCOptions -> org.jackhuang.hellominecraft.launcher.gE: int ALIGNMENT -> b 26:26:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a 30:30:java.io.InputStream getInputStream(java.io.InputStream) -> a @@ -4709,9 +4735,9 @@ org.tukaani.xz.PowerPCOptions -> org.jackhuang.hellominecraft.launcher.gC: 18:18:int getEncoderMemoryUsage() -> b 18:18:int getStartOffset() -> c 18:18:void setStartOffset(int) -> a -org.tukaani.xz.RawCoder -> org.jackhuang.hellominecraft.launcher.gD: +org.tukaani.xz.RawCoder -> org.jackhuang.hellominecraft.launcher.gF: 15:32:void validate(org.tukaani.xz.FilterCoder[]) -> a -org.tukaani.xz.SPARCOptions -> org.jackhuang.hellominecraft.launcher.gE: +org.tukaani.xz.SPARCOptions -> org.jackhuang.hellominecraft.launcher.gG: int ALIGNMENT -> b 26:26:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a 30:30:java.io.InputStream getInputStream(java.io.InputStream) -> a @@ -4721,7 +4747,7 @@ org.tukaani.xz.SPARCOptions -> org.jackhuang.hellominecraft.launcher.gE: 18:18:int getEncoderMemoryUsage() -> b 18:18:int getStartOffset() -> c 18:18:void setStartOffset(int) -> a -org.tukaani.xz.SeekableFileInputStream -> org.jackhuang.hellominecraft.launcher.gF: +org.tukaani.xz.SeekableFileInputStream -> org.jackhuang.hellominecraft.launcher.gH: java.io.RandomAccessFile randomAccessFile -> a 55:55:int read() -> read 62:62:int read(byte[]) -> read @@ -4730,12 +4756,12 @@ org.tukaani.xz.SeekableFileInputStream -> org.jackhuang.hellominecraft.launcher. 85:85:long length() -> a 93:93:long position() -> b 100:101:void seek(long) -> a -org.tukaani.xz.SeekableInputStream -> org.jackhuang.hellominecraft.launcher.gG: +org.tukaani.xz.SeekableInputStream -> org.jackhuang.hellominecraft.launcher.gI: 42:54:long skip(long) -> skip long length() -> a long position() -> b void seek(long) -> a -org.tukaani.xz.SeekableXZInputStream -> org.jackhuang.hellominecraft.launcher.gH: +org.tukaani.xz.SeekableXZInputStream -> org.jackhuang.hellominecraft.launcher.gJ: org.tukaani.xz.SeekableInputStream in -> a int memoryLimit -> a int indexMemoryUsage -> b @@ -4778,7 +4804,7 @@ org.tukaani.xz.SeekableXZInputStream -> org.jackhuang.hellominecraft.launcher.gH 827:846:void locateBlockByPos(org.tukaani.xz.index.BlockInfo,long) -> a 854:868:void locateBlockByNumber(org.tukaani.xz.index.BlockInfo,int) -> a 881:895:void initBlockDecoder() -> b -org.tukaani.xz.SimpleInputStream -> org.jackhuang.hellominecraft.launcher.gI: +org.tukaani.xz.SimpleInputStream -> org.jackhuang.hellominecraft.launcher.gK: int FILTER_BUF_SIZE -> a java.io.InputStream in -> a org.tukaani.xz.simple.SimpleFilter simpleFilter -> a @@ -4795,7 +4821,7 @@ org.tukaani.xz.SimpleInputStream -> org.jackhuang.hellominecraft.launcher.gI: 55:115:int read(byte[],int,int) -> read 120:126:int available() -> available 130:137:void close() -> close -org.tukaani.xz.SimpleOutputStream -> org.jackhuang.hellominecraft.launcher.gJ: +org.tukaani.xz.SimpleOutputStream -> org.jackhuang.hellominecraft.launcher.gL: int FILTER_BUF_SIZE -> a org.tukaani.xz.FinishableOutputStream out -> a org.tukaani.xz.simple.SimpleFilter simpleFilter -> a @@ -4813,7 +4839,7 @@ org.tukaani.xz.SimpleOutputStream -> org.jackhuang.hellominecraft.launcher.gJ: 108:108:void flush() -> flush 112:123:void finish() -> a 126:150:void close() -> close -org.tukaani.xz.SingleXZInputStream -> org.jackhuang.hellominecraft.launcher.gK: +org.tukaani.xz.SingleXZInputStream -> org.jackhuang.hellominecraft.launcher.gM: java.io.InputStream in -> a int memoryLimit -> a org.tukaani.xz.common.StreamFlags streamHeaderFlags -> a @@ -4832,7 +4858,7 @@ org.tukaani.xz.SingleXZInputStream -> org.jackhuang.hellominecraft.launcher.gK: 271:280:void validateStreamFooter() -> a 294:300:int available() -> available 310:317:void close() -> close -org.tukaani.xz.UncompressedLZMA2OutputStream -> org.jackhuang.hellominecraft.launcher.gL: +org.tukaani.xz.UncompressedLZMA2OutputStream -> org.jackhuang.hellominecraft.launcher.gN: org.tukaani.xz.FinishableOutputStream out -> a java.io.DataOutputStream outData -> a byte[] uncompBuf -> a @@ -4849,9 +4875,9 @@ org.tukaani.xz.UncompressedLZMA2OutputStream -> org.jackhuang.hellominecraft.lau 100:115:void flush() -> flush 118:130:void finish() -> a 133:152:void close() -> close -org.tukaani.xz.UnsupportedOptionsException -> org.jackhuang.hellominecraft.launcher.gM: +org.tukaani.xz.UnsupportedOptionsException -> org.jackhuang.hellominecraft.launcher.gO: long serialVersionUID -> a -org.tukaani.xz.X86Options -> org.jackhuang.hellominecraft.launcher.gN: +org.tukaani.xz.X86Options -> org.jackhuang.hellominecraft.launcher.gP: int ALIGNMENT -> b 26:26:org.tukaani.xz.FinishableOutputStream getOutputStream(org.tukaani.xz.FinishableOutputStream) -> a 30:30:java.io.InputStream getInputStream(java.io.InputStream) -> a @@ -4861,18 +4887,18 @@ org.tukaani.xz.X86Options -> org.jackhuang.hellominecraft.launcher.gN: 18:18:int getEncoderMemoryUsage() -> b 18:18:int getStartOffset() -> c 18:18:void setStartOffset(int) -> a -org.tukaani.xz.XZ -> org.jackhuang.hellominecraft.launcher.gO: +org.tukaani.xz.XZ -> org.jackhuang.hellominecraft.launcher.gQ: byte[] HEADER_MAGIC -> a byte[] FOOTER_MAGIC -> b int CHECK_NONE -> a int CHECK_CRC32 -> b int CHECK_CRC64 -> c int CHECK_SHA256 -> d -org.tukaani.xz.XZFormatException -> org.jackhuang.hellominecraft.launcher.gP: +org.tukaani.xz.XZFormatException -> org.jackhuang.hellominecraft.launcher.gR: long serialVersionUID -> a -org.tukaani.xz.XZIOException -> org.jackhuang.hellominecraft.launcher.gQ: +org.tukaani.xz.XZIOException -> org.jackhuang.hellominecraft.launcher.gS: long serialVersionUID -> a -org.tukaani.xz.XZInputStream -> org.jackhuang.hellominecraft.launcher.gR: +org.tukaani.xz.XZInputStream -> org.jackhuang.hellominecraft.launcher.gT: int memoryLimit -> a java.io.InputStream in -> a org.tukaani.xz.SingleXZInputStream xzIn -> a @@ -4884,7 +4910,7 @@ org.tukaani.xz.XZInputStream -> org.jackhuang.hellominecraft.launcher.gR: 242:275:void prepareNextStream() -> a 289:295:int available() -> available 305:312:void close() -> close -org.tukaani.xz.XZOutputStream -> org.jackhuang.hellominecraft.launcher.gS: +org.tukaani.xz.XZOutputStream -> org.jackhuang.hellominecraft.launcher.gU: java.io.OutputStream out -> a org.tukaani.xz.common.StreamFlags streamFlags -> a org.tukaani.xz.check.Check check -> a @@ -4906,17 +4932,17 @@ org.tukaani.xz.XZOutputStream -> org.jackhuang.hellominecraft.launcher.gS: 462:464:void encodeStreamFlags(byte[],int) -> a 467:474:void encodeStreamHeader() -> c 477:487:void encodeStreamFooter() -> d -org.tukaani.xz.check.CRC32 -> org.jackhuang.hellominecraft.launcher.gT: +org.tukaani.xz.check.CRC32 -> org.jackhuang.hellominecraft.launcher.gV: java.util.zip.CRC32 state -> a 21:22:void update(byte[],int,int) -> a 25:31:byte[] finish() -> a -org.tukaani.xz.check.CRC64 -> org.jackhuang.hellominecraft.launcher.gU: +org.tukaani.xz.check.CRC64 -> org.jackhuang.hellominecraft.launcher.gW: long poly -> a long[] crcTable -> a long crc -> b 38:42:void update(byte[],int,int) -> a 45:52:byte[] finish() -> a -org.tukaani.xz.check.Check -> org.jackhuang.hellominecraft.launcher.gV: +org.tukaani.xz.check.Check -> org.jackhuang.hellominecraft.launcher.gX: int size -> a java.lang.String name -> a void update(byte[],int,int) -> a @@ -4925,45 +4951,45 @@ org.tukaani.xz.check.Check -> org.jackhuang.hellominecraft.launcher.gV: 27:27:int getSize() -> a 31:31:java.lang.String getName() -> a 36:54:org.tukaani.xz.check.Check getInstance(int) -> a -org.tukaani.xz.check.None -> org.jackhuang.hellominecraft.launcher.gW: +org.tukaani.xz.check.None -> org.jackhuang.hellominecraft.launcher.gY: 18:18:void update(byte[],int,int) -> a 21:22:byte[] finish() -> a -org.tukaani.xz.check.SHA256 -> org.jackhuang.hellominecraft.launcher.gX: +org.tukaani.xz.check.SHA256 -> org.jackhuang.hellominecraft.launcher.gZ: java.security.MessageDigest sha256 -> a 22:23:void update(byte[],int,int) -> a 26:28:byte[] finish() -> a -org.tukaani.xz.common.DecoderUtil -> org.jackhuang.hellominecraft.launcher.gY: +org.tukaani.xz.common.DecoderUtil -> org.jackhuang.hellominecraft.launcher.ha: 24:32:boolean isCRC32Valid(byte[],int,int,int) -> a 37:48:org.tukaani.xz.common.StreamFlags decodeStreamHeader(byte[]) -> a 55:78:org.tukaani.xz.common.StreamFlags decodeStreamFooter(byte[]) -> b 83:89:org.tukaani.xz.common.StreamFlags decodeStreamFlags(byte[],int) -> a 94:94:boolean areStreamFlagsEqual(org.tukaani.xz.common.StreamFlags,org.tukaani.xz.common.StreamFlags) -> a 98:119:long decodeVLI(java.io.InputStream) -> a -org.tukaani.xz.common.EncoderUtil -> org.jackhuang.hellominecraft.launcher.gZ: +org.tukaani.xz.common.EncoderUtil -> org.jackhuang.hellominecraft.launcher.hb: 19:25:void writeCRC32(java.io.OutputStream,byte[]) -> a 29:35:void encodeVLI(java.io.OutputStream,long) -> a -org.tukaani.xz.common.StreamFlags -> org.jackhuang.hellominecraft.launcher.ha: +org.tukaani.xz.common.StreamFlags -> org.jackhuang.hellominecraft.launcher.hc: int checkType -> a long backwardSize -> a -org.tukaani.xz.common.Util -> org.jackhuang.hellominecraft.launcher.hb: +org.tukaani.xz.common.Util -> org.jackhuang.hellominecraft.launcher.hd: int STREAM_HEADER_SIZE -> a long BACKWARD_SIZE_MAX -> a int BLOCK_HEADER_SIZE_MAX -> b long VLI_MAX -> b int VLI_SIZE_MAX -> c 20:26:int getVLISize(long) -> a -org.tukaani.xz.delta.DeltaCoder -> org.jackhuang.hellominecraft.launcher.hc: +org.tukaani.xz.delta.DeltaCoder -> org.jackhuang.hellominecraft.launcher.he: int DISTANCE_MIN -> a int DISTANCE_MAX -> b int DISTANCE_MASK -> c int distance -> d byte[] history -> a int pos -> e -org.tukaani.xz.delta.DeltaDecoder -> org.jackhuang.hellominecraft.launcher.hd: +org.tukaani.xz.delta.DeltaDecoder -> org.jackhuang.hellominecraft.launcher.hf: 18:23:void decode(byte[],int,int) -> a -org.tukaani.xz.delta.DeltaEncoder -> org.jackhuang.hellominecraft.launcher.he: +org.tukaani.xz.delta.DeltaEncoder -> org.jackhuang.hellominecraft.launcher.hg: 18:23:void encode(byte[],int,int,byte[]) -> a -org.tukaani.xz.index.BlockInfo -> org.jackhuang.hellominecraft.launcher.hf: +org.tukaani.xz.index.BlockInfo -> org.jackhuang.hellominecraft.launcher.hh: int blockNumber -> a long compressedOffset -> a long uncompressedOffset -> b @@ -4973,7 +4999,7 @@ org.tukaani.xz.index.BlockInfo -> org.jackhuang.hellominecraft.launcher.hf: 28:28:int getCheckType() -> a 32:32:boolean hasNext() -> a 36:37:void setNext() -> a -org.tukaani.xz.index.IndexBase -> org.jackhuang.hellominecraft.launcher.hg: +org.tukaani.xz.index.IndexBase -> org.jackhuang.hellominecraft.launcher.hi: org.tukaani.xz.XZIOException invalidIndexException -> a long blocksSum -> a long uncompressedSum -> b @@ -4984,7 +5010,7 @@ org.tukaani.xz.index.IndexBase -> org.jackhuang.hellominecraft.launcher.hg: 36:36:long getStreamSize() -> b 41:41:int getIndexPaddingSize() -> a 45:55:void add(long,long) -> a -org.tukaani.xz.index.IndexDecoder -> org.jackhuang.hellominecraft.launcher.hh: +org.tukaani.xz.index.IndexDecoder -> org.jackhuang.hellominecraft.launcher.hj: org.tukaani.xz.common.StreamFlags streamFlags -> a long streamPadding -> e int memoryUsage -> a @@ -5007,22 +5033,22 @@ org.tukaani.xz.index.IndexDecoder -> org.jackhuang.hellominecraft.launcher.hh: 200:222:void setBlockInfo(org.tukaani.xz.index.BlockInfo,int) -> a 22:22:long getStreamSize() -> b 22:22:long getIndexSize() -> a -org.tukaani.xz.index.IndexEncoder -> org.jackhuang.hellominecraft.launcher.hi: +org.tukaani.xz.index.IndexEncoder -> org.jackhuang.hellominecraft.launcher.hk: java.util.ArrayList records -> a 29:31:void add(long,long) -> a 34:58:void encode(java.io.OutputStream) -> a 20:20:long getStreamSize() -> b 20:20:long getIndexSize() -> a -org.tukaani.xz.index.IndexHash -> org.jackhuang.hellominecraft.launcher.hj: +org.tukaani.xz.index.IndexHash -> org.jackhuang.hellominecraft.launcher.hl: org.tukaani.xz.check.Check hash -> a 37:43:void add(long,long) -> a 48:93:void validate(java.io.InputStream) -> a 22:22:long getStreamSize() -> b 22:22:long getIndexSize() -> a -org.tukaani.xz.index.IndexRecord -> org.jackhuang.hellominecraft.launcher.hk: +org.tukaani.xz.index.IndexRecord -> org.jackhuang.hellominecraft.launcher.hm: long unpadded -> a long uncompressed -> b -org.tukaani.xz.lz.BT4 -> org.jackhuang.hellominecraft.launcher.hl: +org.tukaani.xz.lz.BT4 -> org.jackhuang.hellominecraft.launcher.hn: org.tukaani.xz.lz.Hash234 hash -> a int[] tree -> a org.tukaani.xz.lz.Matches matches -> a @@ -5035,10 +5061,10 @@ org.tukaani.xz.lz.BT4 -> org.jackhuang.hellominecraft.launcher.hl: 64:184:org.tukaani.xz.lz.Matches getMatches() -> a 188:233:void skip(int,int) -> a 237:254:void skip(int) -> a -org.tukaani.xz.lz.CRC32Hash -> org.jackhuang.hellominecraft.launcher.hm: +org.tukaani.xz.lz.CRC32Hash -> org.jackhuang.hellominecraft.launcher.ho: int CRC32_POLY -> a int[] crcTable -> a -org.tukaani.xz.lz.HC4 -> org.jackhuang.hellominecraft.launcher.hn: +org.tukaani.xz.lz.HC4 -> org.jackhuang.hellominecraft.launcher.hp: org.tukaani.xz.lz.Hash234 hash -> a int[] chain -> a org.tukaani.xz.lz.Matches matches -> a @@ -5051,7 +5077,7 @@ org.tukaani.xz.lz.HC4 -> org.jackhuang.hellominecraft.launcher.hn: 63:77:int movePos() -> c 81:185:org.tukaani.xz.lz.Matches getMatches() -> a 189:199:void skip(int) -> a -org.tukaani.xz.lz.Hash234 -> org.jackhuang.hellominecraft.launcher.ho: +org.tukaani.xz.lz.Hash234 -> org.jackhuang.hellominecraft.launcher.hq: int HASH_2_SIZE -> a int HASH_2_MASK -> b int HASH_3_SIZE -> c @@ -5071,7 +5097,7 @@ org.tukaani.xz.lz.Hash234 -> org.jackhuang.hellominecraft.launcher.ho: 75:75:int getHash4Pos() -> c 79:82:void updateTables(int) -> a 85:88:void normalize(int) -> b -org.tukaani.xz.lz.LZDecoder -> org.jackhuang.hellominecraft.launcher.hp: +org.tukaani.xz.lz.LZDecoder -> org.jackhuang.hellominecraft.launcher.hr: byte[] buf -> a int start -> a int pos -> b @@ -5090,7 +5116,7 @@ org.tukaani.xz.lz.LZDecoder -> org.jackhuang.hellominecraft.launcher.hp: 102:104:void repeatPending() -> b 108:114:void copyUncompressed(java.io.DataInputStream,int) -> a 117:124:int flush(byte[],int) -> a -org.tukaani.xz.lz.LZEncoder -> org.jackhuang.hellominecraft.launcher.hq: +org.tukaani.xz.lz.LZEncoder -> org.jackhuang.hellominecraft.launcher.hs: int MF_HC4 -> a int MF_BT4 -> b int keepSizeBefore -> f @@ -5127,11 +5153,11 @@ org.tukaani.xz.lz.LZEncoder -> org.jackhuang.hellominecraft.launcher.hq: 395:407:int movePos(int,int) -> c org.tukaani.xz.lz.Matches getMatches() -> a void skip(int) -> a -org.tukaani.xz.lz.Matches -> org.jackhuang.hellominecraft.launcher.hr: +org.tukaani.xz.lz.Matches -> org.jackhuang.hellominecraft.launcher.ht: int[] len -> a int[] dist -> b int count -> a -org.tukaani.xz.lzma.LZMACoder -> org.jackhuang.hellominecraft.launcher.hs: +org.tukaani.xz.lzma.LZMACoder -> org.jackhuang.hellominecraft.launcher.hu: int POS_STATES_MAX -> a int MATCH_LEN_MIN -> b int MATCH_LEN_MAX -> c @@ -5158,7 +5184,7 @@ org.tukaani.xz.lzma.LZMACoder -> org.jackhuang.hellominecraft.launcher.hs: short[] distAlign -> e 55:55:int getDistState(int) -> a 65:89:void reset() -> a -org.tukaani.xz.lzma.LZMACoder$LengthCoder -> org.jackhuang.hellominecraft.launcher.ht: +org.tukaani.xz.lzma.LZMACoder$LengthCoder -> org.jackhuang.hellominecraft.launcher.hv: int LOW_SYMBOLS -> a int MID_SYMBOLS -> b int HIGH_SYMBOLS -> c @@ -5168,16 +5194,16 @@ org.tukaani.xz.lzma.LZMACoder$LengthCoder -> org.jackhuang.hellominecraft.launch short[] high -> b org.tukaani.xz.lzma.LZMACoder this$0 -> a 129:138:void reset() -> a -org.tukaani.xz.lzma.LZMACoder$LiteralCoder -> org.jackhuang.hellominecraft.launcher.hu: +org.tukaani.xz.lzma.LZMACoder$LiteralCoder -> org.jackhuang.hellominecraft.launcher.hw: int lc -> a int literalPosMask -> b org.tukaani.xz.lzma.LZMACoder this$0 -> a 102:104:int getSubcoderIndex(int,int) -> a -org.tukaani.xz.lzma.LZMACoder$LiteralCoder$LiteralSubcoder -> org.jackhuang.hellominecraft.launcher.hv: +org.tukaani.xz.lzma.LZMACoder$LiteralCoder$LiteralSubcoder -> org.jackhuang.hellominecraft.launcher.hx: short[] probs -> a org.tukaani.xz.lzma.LZMACoder$LiteralCoder this$1 -> a 112:113:void reset() -> a -org.tukaani.xz.lzma.LZMADecoder -> org.jackhuang.hellominecraft.launcher.hw: +org.tukaani.xz.lzma.LZMADecoder -> org.jackhuang.hellominecraft.launcher.hy: org.tukaani.xz.lz.LZDecoder lz -> a org.tukaani.xz.rangecoder.RangeDecoder rc -> a org.tukaani.xz.lzma.LZMADecoder$LiteralDecoder literalDecoder -> a @@ -5190,19 +5216,19 @@ org.tukaani.xz.lzma.LZMADecoder -> org.jackhuang.hellominecraft.launcher.hw: 102:129:int decodeRepMatch(int) -> c 17:17:org.tukaani.xz.lz.LZDecoder access$200(org.tukaani.xz.lzma.LZMADecoder) -> a 17:17:org.tukaani.xz.rangecoder.RangeDecoder access$300(org.tukaani.xz.lzma.LZMADecoder) -> a -org.tukaani.xz.lzma.LZMADecoder$1 -> org.jackhuang.hellominecraft.launcher.hx: -org.tukaani.xz.lzma.LZMADecoder$LengthDecoder -> org.jackhuang.hellominecraft.launcher.hy: +org.tukaani.xz.lzma.LZMADecoder$1 -> org.jackhuang.hellominecraft.launcher.hz: +org.tukaani.xz.lzma.LZMADecoder$LengthDecoder -> org.jackhuang.hellominecraft.launcher.hA: org.tukaani.xz.lzma.LZMADecoder this$0 -> a 188:195:int decode(int) -> a -org.tukaani.xz.lzma.LZMADecoder$LiteralDecoder -> org.jackhuang.hellominecraft.launcher.hz: +org.tukaani.xz.lzma.LZMADecoder$LiteralDecoder -> org.jackhuang.hellominecraft.launcher.hB: org.tukaani.xz.lzma.LZMADecoder$LiteralDecoder$LiteralSubdecoder[] subdecoders -> a org.tukaani.xz.lzma.LZMADecoder this$0 -> a 145:147:void reset() -> a 150:152:void decode() -> b -org.tukaani.xz.lzma.LZMADecoder$LiteralDecoder$LiteralSubdecoder -> org.jackhuang.hellominecraft.launcher.hA: +org.tukaani.xz.lzma.LZMADecoder$LiteralDecoder$LiteralSubdecoder -> org.jackhuang.hellominecraft.launcher.hC: org.tukaani.xz.lzma.LZMADecoder$LiteralDecoder this$1 -> a 157:181:void decode() -> b -org.tukaani.xz.lzma.LZMAEncoder -> org.jackhuang.hellominecraft.launcher.hB: +org.tukaani.xz.lzma.LZMAEncoder -> org.jackhuang.hellominecraft.launcher.hD: int MODE_FAST -> n int MODE_NORMAL -> o int LZMA2_UNCOMPRESSED_LIMIT -> s @@ -5251,8 +5277,8 @@ org.tukaani.xz.lzma.LZMAEncoder -> org.jackhuang.hellominecraft.launcher.hB: 472:477:void updateAlignPrices() -> e 485:493:void updatePrices() -> c 17:17:org.tukaani.xz.rangecoder.RangeEncoder access$100(org.tukaani.xz.lzma.LZMAEncoder) -> a -org.tukaani.xz.lzma.LZMAEncoder$1 -> org.jackhuang.hellominecraft.launcher.hC: -org.tukaani.xz.lzma.LZMAEncoder$LengthEncoder -> org.jackhuang.hellominecraft.launcher.hD: +org.tukaani.xz.lzma.LZMAEncoder$1 -> org.jackhuang.hellominecraft.launcher.hE: +org.tukaani.xz.lzma.LZMAEncoder$LengthEncoder -> org.jackhuang.hellominecraft.launcher.hF: int PRICE_UPDATE_INTERVAL -> d int[] counters -> a int[][] prices -> a @@ -5262,7 +5288,7 @@ org.tukaani.xz.lzma.LZMAEncoder$LengthEncoder -> org.jackhuang.hellominecraft.la 675:675:int getPrice(int,int) -> a 679:685:void updatePrices() -> b 688:709:void updatePrices(int) -> a -org.tukaani.xz.lzma.LZMAEncoder$LiteralEncoder -> org.jackhuang.hellominecraft.launcher.hE: +org.tukaani.xz.lzma.LZMAEncoder$LiteralEncoder -> org.jackhuang.hellominecraft.launcher.hG: org.tukaani.xz.lzma.LZMAEncoder$LiteralEncoder$LiteralSubencoder[] subencoders -> a boolean $assertionsDisabled -> a org.tukaani.xz.lzma.LZMAEncoder this$0 -> a @@ -5270,19 +5296,19 @@ org.tukaani.xz.lzma.LZMAEncoder$LiteralEncoder -> org.jackhuang.hellominecraft.l 516:518:void encodeInit() -> b 521:525:void encode() -> c 529:537:int getPrice(int,int,int,int,org.tukaani.xz.lzma.State) -> a -org.tukaani.xz.lzma.LZMAEncoder$LiteralEncoder$LiteralSubencoder -> org.jackhuang.hellominecraft.launcher.hF: +org.tukaani.xz.lzma.LZMAEncoder$LiteralEncoder$LiteralSubencoder -> org.jackhuang.hellominecraft.launcher.hH: org.tukaani.xz.lzma.LZMAEncoder$LiteralEncoder this$1 -> a 542:574:void encode() -> b 577:591:int getNormalPrice(int) -> a 595:614:int getMatchedPrice(int,int) -> a -org.tukaani.xz.lzma.LZMAEncoderFast -> org.jackhuang.hellominecraft.launcher.hG: +org.tukaani.xz.lzma.LZMAEncoderFast -> org.jackhuang.hellominecraft.launcher.hI: int EXTRA_SIZE_BEFORE -> s int EXTRA_SIZE_AFTER -> t org.tukaani.xz.lz.Matches matches -> a 24:25:int getMemoryUsage(int,int,int) -> a 42:42:boolean changePair(int,int) -> a 49:149:int getNextSymbol() -> a -org.tukaani.xz.lzma.LZMAEncoderNormal -> org.jackhuang.hellominecraft.launcher.hH: +org.tukaani.xz.lzma.LZMAEncoderNormal -> org.jackhuang.hellominecraft.launcher.hJ: int OPTS -> s int EXTRA_SIZE_BEFORE -> t int EXTRA_SIZE_AFTER -> u @@ -5301,7 +5327,7 @@ org.tukaani.xz.lzma.LZMAEncoderNormal -> org.jackhuang.hellominecraft.launcher.h 374:422:void calc1BytePrices(int,int,int,int) -> a 429:486:int calcLongRepPrices(int,int,int,int) -> c 496:565:void calcNormalMatchPrices(int,int,int,int,int) -> a -org.tukaani.xz.lzma.Optimum -> org.jackhuang.hellominecraft.launcher.hI: +org.tukaani.xz.lzma.Optimum -> org.jackhuang.hellominecraft.launcher.hK: int INFINITY_PRICE -> f org.tukaani.xz.lzma.State state -> a int[] reps -> a @@ -5316,7 +5342,7 @@ org.tukaani.xz.lzma.Optimum -> org.jackhuang.hellominecraft.launcher.hI: 43:47:void set1(int,int,int) -> a 53:58:void set2(int,int,int) -> b 65:72:void set3(int,int,int,int,int) -> a -org.tukaani.xz.lzma.State -> org.jackhuang.hellominecraft.launcher.hJ: +org.tukaani.xz.lzma.State -> org.jackhuang.hellominecraft.launcher.hL: int STATES -> a int LIT_STATES -> b int LIT_LIT -> c @@ -5340,7 +5366,7 @@ org.tukaani.xz.lzma.State -> org.jackhuang.hellominecraft.launcher.hJ: 65:66:void updateLongRep() -> d 69:70:void updateShortRep() -> e 73:73:boolean isLiteral() -> a -org.tukaani.xz.rangecoder.RangeCoder -> org.jackhuang.hellominecraft.launcher.hK: +org.tukaani.xz.rangecoder.RangeCoder -> org.jackhuang.hellominecraft.launcher.hM: int SHIFT_BITS -> a int TOP_MASK -> b int BIT_MODEL_TOTAL_BITS -> c @@ -5348,7 +5374,7 @@ org.tukaani.xz.rangecoder.RangeCoder -> org.jackhuang.hellominecraft.launcher.hK short PROB_INIT -> a int MOVE_BITS -> e 24:25:void initProbs(short[]) -> a -org.tukaani.xz.rangecoder.RangeDecoder -> org.jackhuang.hellominecraft.launcher.hL: +org.tukaani.xz.rangecoder.RangeDecoder -> org.jackhuang.hellominecraft.launcher.hN: int range -> f int code -> g void normalize() -> a @@ -5356,7 +5382,7 @@ org.tukaani.xz.rangecoder.RangeDecoder -> org.jackhuang.hellominecraft.launcher. 46:52:int decodeBitTree(short[]) -> a 56:66:int decodeReverseBitTree(short[]) -> b 70:81:int decodeDirectBits(int) -> a -org.tukaani.xz.rangecoder.RangeDecoderFromBuffer -> org.jackhuang.hellominecraft.launcher.hM: +org.tukaani.xz.rangecoder.RangeDecoderFromBuffer -> org.jackhuang.hellominecraft.launcher.hO: int INIT_SIZE -> h byte[] buf -> a int pos -> i @@ -5365,11 +5391,11 @@ org.tukaani.xz.rangecoder.RangeDecoderFromBuffer -> org.jackhuang.hellominecraft 45:45:boolean isInBufferOK() -> a 49:49:boolean isFinished() -> b 53:63:void normalize() -> a -org.tukaani.xz.rangecoder.RangeDecoderFromStream -> org.jackhuang.hellominecraft.launcher.hN: +org.tukaani.xz.rangecoder.RangeDecoderFromStream -> org.jackhuang.hellominecraft.launcher.hP: java.io.DataInputStream inData -> a 32:32:boolean isFinished() -> a 36:40:void normalize() -> a -org.tukaani.xz.rangecoder.RangeEncoder -> org.jackhuang.hellominecraft.launcher.hO: +org.tukaani.xz.rangecoder.RangeEncoder -> org.jackhuang.hellominecraft.launcher.hQ: int MOVE_REDUCING_BITS -> f int BIT_PRICE_SHIFT_BITS -> g int[] prices -> a @@ -5393,30 +5419,30 @@ org.tukaani.xz.rangecoder.RangeEncoder -> org.jackhuang.hellominecraft.launcher. 174:185:int getReverseBitTreePrice(short[],int) -> b 190:198:void encodeDirectBits(int,int) -> a 201:201:int getDirectBitsPrice(int) -> a -org.tukaani.xz.simple.ARM -> org.jackhuang.hellominecraft.launcher.hP: +org.tukaani.xz.simple.ARM -> org.jackhuang.hellominecraft.launcher.hR: boolean isEncoder -> a int pos -> a 23:48:int code(byte[],int,int) -> a -org.tukaani.xz.simple.ARMThumb -> org.jackhuang.hellominecraft.launcher.hQ: +org.tukaani.xz.simple.ARMThumb -> org.jackhuang.hellominecraft.launcher.hS: boolean isEncoder -> a int pos -> a 23:51:int code(byte[],int,int) -> a -org.tukaani.xz.simple.IA64 -> org.jackhuang.hellominecraft.launcher.hR: +org.tukaani.xz.simple.IA64 -> org.jackhuang.hellominecraft.launcher.hT: int[] BRANCH_TABLE -> a boolean isEncoder -> a int pos -> a 29:79:int code(byte[],int,int) -> a -org.tukaani.xz.simple.PowerPC -> org.jackhuang.hellominecraft.launcher.hS: +org.tukaani.xz.simple.PowerPC -> org.jackhuang.hellominecraft.launcher.hU: boolean isEncoder -> a int pos -> a 23:48:int code(byte[],int,int) -> a -org.tukaani.xz.simple.SPARC -> org.jackhuang.hellominecraft.launcher.hT: +org.tukaani.xz.simple.SPARC -> org.jackhuang.hellominecraft.launcher.hV: boolean isEncoder -> a int pos -> a 23:54:int code(byte[],int,int) -> a -org.tukaani.xz.simple.SimpleFilter -> org.jackhuang.hellominecraft.launcher.hU: +org.tukaani.xz.simple.SimpleFilter -> org.jackhuang.hellominecraft.launcher.hW: int code(byte[],int,int) -> a -org.tukaani.xz.simple.X86 -> org.jackhuang.hellominecraft.launcher.hV: +org.tukaani.xz.simple.X86 -> org.jackhuang.hellominecraft.launcher.hX: boolean[] MASK_TO_ALLOWED_STATUS -> a int[] MASK_TO_BIT_NUMBER -> a boolean isEncoder -> a diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/settings/Profile.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/settings/Profile.java index 1b7bf39ea..afc94fcbd 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/settings/Profile.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/settings/Profile.java @@ -25,6 +25,7 @@ import org.jackhuang.hellominecraft.utils.StrUtils; import org.jackhuang.hellominecraft.utils.Utils; import org.jackhuang.hellominecraft.launcher.version.MinecraftVersion; import org.jackhuang.hellominecraft.launcher.version.MinecraftVersionManager; +import org.jackhuang.hellominecraft.utils.system.Java; import org.jackhuang.hellominecraft.utils.system.OS; /** @@ -34,7 +35,7 @@ import org.jackhuang.hellominecraft.utils.system.OS; public final class Profile { private String name, selectedMinecraftVersion = "", javaArgs, minecraftArgs, maxMemory, permSize, width, height, userProperties; - private String gameDir, javaDir, wrapperLauncher, serverIp; + private String gameDir, javaDir, wrapperLauncher, serverIp, java; private boolean fullscreen, debug, noJVMArgs, canceledWrapper; /** @@ -60,7 +61,8 @@ public final class Profile { this.name = name; gameDir = MCUtils.getInitGameDir().getPath(); debug = fullscreen = canceledWrapper = false; - javaDir = IOUtils.getJavaDir(); + javaDir = ""; + java = "Default"; launcherVisibility = gameDirType = 0; minecraftArgs = serverIp = ""; } @@ -73,6 +75,7 @@ public final class Profile { maxMemory = v.maxMemory; width = v.width; height = v.height; + java = v.java; fullscreen = v.fullscreen; javaArgs = v.javaArgs; javaDir = v.javaDir; @@ -129,8 +132,12 @@ public final class Profile { } public String getJavaDir() { - if (StrUtils.isBlank(javaDir)) - javaDir = IOUtils.getJavaDir(); + Java j = getJava(); + if (j.getHome() == null) return javaDir; + else return j.getJava(); + } + + public String getSettingsJavaDir() { return javaDir; } @@ -143,6 +150,29 @@ public final class Profile { Settings.save(); } + public Java getJava() { + return Settings.JAVA.get(getJavaIndexInAllJavas()); + } + + public int getJavaIndexInAllJavas() { + if(StrUtils.isBlank(java) && StrUtils.isNotBlank(javaDir)) { + java = "Custom"; + } + int idx = Settings.JAVA.indexOf(new Java(java, null)); + if (idx == -1) { + java = "Default"; + idx = 0; + } + return idx; + } + + public void setJava(Java java) { + int idx = Settings.JAVA.indexOf(java); + if (idx == -1) return; + this.java = java.getName(); + Settings.save(); + } + public File getFolder(String folder) { return new File(getGameDir(), folder); } diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/settings/Settings.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/settings/Settings.java index 286b8cbcc..153e26e80 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/settings/Settings.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/settings/Settings.java @@ -19,7 +19,10 @@ package org.jackhuang.hellominecraft.launcher.settings; import com.google.gson.JsonSyntaxException; import java.io.File; import java.io.IOException; +import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; +import java.util.List; import java.util.Map; import java.util.Objects; import org.jackhuang.hellominecraft.C; @@ -32,6 +35,8 @@ import org.jackhuang.hellominecraft.utils.system.MessageBox; import org.jackhuang.hellominecraft.utils.StrUtils; import org.jackhuang.hellominecraft.utils.UpdateChecker; import org.jackhuang.hellominecraft.utils.VersionNumber; +import org.jackhuang.hellominecraft.utils.system.Java; +import org.jackhuang.hellominecraft.utils.system.OS; /** * @@ -42,11 +47,11 @@ public final class Settings { public static final String DEFAULT_PROFILE = "Default"; public static final File settingsFile = new File(IOUtils.currentDir(), "hmcl.json"); - //public static final Gson gson = new GsonBuilder().setPrettyPrinting().registerTypeAdapter(Platform.class, new EnumAdapter<>(Platform.values())).create(); private static boolean isFirstLoad; private static final Config settings; public static final UpdateChecker UPDATE_CHECKER; + public static final List JAVA; public static Config getInstance() { return settings; @@ -66,6 +71,13 @@ public final class Settings { UPDATE_CHECKER = new UpdateChecker(new VersionNumber(Main.firstVer, Main.secondVer, Main.thirdVer), "hmcl", settings.isCheckUpdate(), () -> Main.invokeUpdate()); + + List temp = new ArrayList<>(); + temp.add(new Java("Default", System.getProperty("java.home"))); + temp.add(new Java("Custom", null)); + if (OS.os() == OS.WINDOWS) + temp.addAll(Java.queryAllJavaHomeInWindowsByReg()); + JAVA = Collections.unmodifiableList(temp); } private static Config initSettings() { diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/auth/SkinmeAuthenticator.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/auth/SkinmeAuthenticator.java index 5e3968c89..2f54867d0 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/auth/SkinmeAuthenticator.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/utils/auth/SkinmeAuthenticator.java @@ -64,6 +64,9 @@ public final class SkinmeAuthenticator extends IAuthenticator { if (null != sl[0]) switch (sl[0]) { case "0": req.setSuccess(false); + if(sl[1].contains("No Valid Character")) { + sl[1] = C.i18n("login.no_valid_character"); + } req.setErrorReason(sl[1]); break; case "1": { diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.form b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.form index 393da8c7a..457d8a464 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.form +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.form @@ -312,7 +312,11 @@ - + + + + + @@ -339,7 +343,8 @@ - + + @@ -506,6 +511,16 @@ + + + + + + + + + + @@ -585,7 +600,7 @@ - + @@ -745,7 +760,7 @@ - + @@ -830,7 +845,7 @@ - + @@ -905,7 +920,7 @@ - + @@ -996,7 +1011,7 @@ - + diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.java index af43eeeb6..62599abfa 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/views/GameSettingsPanel.java @@ -32,8 +32,6 @@ import javax.swing.JOptionPane; import javax.swing.JPopupMenu; import javax.swing.JTable; import javax.swing.SwingUtilities; -import javax.swing.filechooser.FileFilter; -import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.table.DefaultTableModel; import org.jackhuang.hellominecraft.C; import org.jackhuang.hellominecraft.HMCLog; @@ -65,6 +63,7 @@ import org.jackhuang.hellominecraft.version.MinecraftVersionRequest; import org.jackhuang.hellominecraft.utils.system.OS; import org.jackhuang.hellominecraft.utils.StrUtils; import org.jackhuang.hellominecraft.utils.SwingUtils; +import org.jackhuang.hellominecraft.utils.system.Java; import org.jackhuang.hellominecraft.version.MinecraftRemoteVersion; import org.jackhuang.hellominecraft.version.MinecraftRemoteVersions; import org.jackhuang.hellominecraft.views.Selector; @@ -161,6 +160,13 @@ public class GameSettingsPanel extends javax.swing.JPanel { }); ppmManage.add(itm); // + + for (Java j : Settings.JAVA) { + String name = j.getName(); + if (name.equals("Default")) name = C.i18n("settings.default"); + if (name.equals("Custom")) name = C.i18n("settings.custom"); + cboJava.addItem(name); + } } /** @@ -205,6 +211,7 @@ public class GameSettingsPanel extends javax.swing.JPanel { jLabel12 = new javax.swing.JLabel(); cboGameDirType = new javax.swing.JComboBox(); btnChoosingJavaDir = new javax.swing.JButton(); + cboJava = new javax.swing.JComboBox(); jPanel2 = new javax.swing.JPanel(); chkDebug = new javax.swing.JCheckBox(); jLabel26 = new javax.swing.JLabel(); @@ -470,6 +477,12 @@ public class GameSettingsPanel extends javax.swing.JPanel { } }); + cboJava.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + cboJavaItemStateChanged(evt); + } + }); + javax.swing.GroupLayout jPanel22Layout = new javax.swing.GroupLayout(jPanel22); jPanel22.setLayout(jPanel22Layout); jPanel22Layout.setHorizontalGroup( @@ -504,7 +517,10 @@ public class GameSettingsPanel extends javax.swing.JPanel { .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel22Layout.createSequentialGroup() .addGroup(jPanel22Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(txtMaxMemory) - .addComponent(txtJavaDir)) + .addGroup(jPanel22Layout.createSequentialGroup() + .addComponent(cboJava, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(txtJavaDir))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel22Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(btnChoosingJavaDir, javax.swing.GroupLayout.Alignment.TRAILING) @@ -522,7 +538,8 @@ public class GameSettingsPanel extends javax.swing.JPanel { .addGroup(jPanel22Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(txtJavaDir, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel11) - .addComponent(btnChoosingJavaDir)) + .addComponent(btnChoosingJavaDir, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(cboJava, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel22Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(lblMaxMemory) @@ -667,7 +684,7 @@ public class GameSettingsPanel extends javax.swing.JPanel { .addComponent(jLabel31) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(txtServerIP, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 85, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 86, Short.MAX_VALUE) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(chkDebug) .addComponent(chkNoJVMArgs) @@ -710,7 +727,7 @@ public class GameSettingsPanel extends javax.swing.JPanel { ); jPanel16Layout.setVerticalGroup( jPanel16Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jScrollPane11, javax.swing.GroupLayout.DEFAULT_SIZE, 291, Short.MAX_VALUE) + .addComponent(jScrollPane11, javax.swing.GroupLayout.DEFAULT_SIZE, 292, Short.MAX_VALUE) .addGroup(jPanel16Layout.createSequentialGroup() .addComponent(btnDownloadForge) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) @@ -758,7 +775,7 @@ btnRefreshOptifine.addActionListener(new java.awt.event.ActionListener() { .addComponent(btnDownloadOptifine) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(btnRefreshOptifine) - .addGap(0, 239, Short.MAX_VALUE)) + .addGap(0, 240, Short.MAX_VALUE)) ); tabInstallers.addTab("OptiFine", pnlOptifine); @@ -796,7 +813,7 @@ btnRefreshLiteLoader.addActionListener(new java.awt.event.ActionListener() { ); jPanel3Layout.setVerticalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jScrollPane12, javax.swing.GroupLayout.DEFAULT_SIZE, 291, Short.MAX_VALUE) + .addComponent(jScrollPane12, javax.swing.GroupLayout.DEFAULT_SIZE, 292, Short.MAX_VALUE) .addGroup(jPanel3Layout.createSequentialGroup() .addComponent(btnInstallLiteLoader) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) @@ -856,7 +873,7 @@ btnRefreshLiteLoader.addActionListener(new java.awt.event.ActionListener() { .addComponent(btnRefreshGameDownloads) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(btnDownload)) - .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 320, Short.MAX_VALUE) + .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 321, Short.MAX_VALUE) ); tabVersionEdit.addTab(bundle.getString("settings.tabs.game_download"), pnlGameDownloads); // NOI18N @@ -877,7 +894,7 @@ btnRefreshLiteLoader.addActionListener(new java.awt.event.ActionListener() { .addContainerGap() .addComponent(btnIncludeMinecraft) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addComponent(tabVersionEdit, javax.swing.GroupLayout.DEFAULT_SIZE, 684, Short.MAX_VALUE) + .addComponent(tabVersionEdit) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -1124,6 +1141,7 @@ btnRefreshLiteLoader.addActionListener(new java.awt.event.ActionListener() { }//GEN-LAST:event_txtGameDirFocusLost private void btnChoosingJavaDirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnChoosingJavaDirActionPerformed + if (cboJava.getSelectedIndex() != 1) return; JFileChooser fc = new JFileChooser(); fc.setFileSelectionMode(JFileChooser.FILES_ONLY); fc.setDialogTitle(C.i18n("settings.choose_javapath")); @@ -1144,6 +1162,18 @@ btnRefreshLiteLoader.addActionListener(new java.awt.event.ActionListener() { } }//GEN-LAST:event_btnChoosingJavaDirActionPerformed + private void cboJavaItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cboJavaItemStateChanged + if (isLoading || evt.getStateChange() != ItemEvent.SELECTED || cboJava.getSelectedIndex() < 0 || StrUtils.isBlank((String) cboJava.getSelectedItem()) || getProfile() == null) + return; + int idx = cboJava.getSelectedIndex(); + if (idx != -1) { + Java j = Settings.JAVA.get(idx); + profile.setJava(j); + txtJavaDir.setEnabled(idx == 1); + txtJavaDir.setText(j.getHome() == null ? profile.getSettingsJavaDir() : j.getJava()); + } + }//GEN-LAST:event_cboJavaItemStateChanged + // // private void loadProfiles() { @@ -1187,7 +1217,7 @@ btnRefreshLiteLoader.addActionListener(new java.awt.event.ActionListener() { txtGameDir.setText(profile.getGameDir()); txtJavaArgs.setText(profile.getJavaArgs()); txtMinecraftArgs.setText(profile.getMinecraftArgs()); - txtJavaDir.setText(profile.getJavaDir()); + txtJavaDir.setText(profile.getSettingsJavaDir()); txtWrapperLauncher.setText(profile.getWrapperLauncher()); txtServerIP.setText(profile.getServerIp()); chkDebug.setSelected(profile.isDebug()); @@ -1197,6 +1227,11 @@ btnRefreshLiteLoader.addActionListener(new java.awt.event.ActionListener() { cboLauncherVisibility.setSelectedIndex(profile.getLauncherVisibility().ordinal()); cboGameDirType.setSelectedIndex(profile.getGameDirType().ordinal()); + isLoading = true; + cboJava.setSelectedIndex(profile.getJavaIndexInAllJavas()); + isLoading = false; + cboJavaItemStateChanged(new ItemEvent(cboJava, 0, cboJava.getSelectedItem(), ItemEvent.SELECTED)); + loadVersions(); loadMinecraftVersion(); } @@ -1416,6 +1451,7 @@ btnRefreshLiteLoader.addActionListener(new java.awt.event.ActionListener() { private javax.swing.JButton btnRefreshVersions; private javax.swing.JButton btnRemoveProfile; private javax.swing.JComboBox cboGameDirType; + private javax.swing.JComboBox cboJava; private javax.swing.JComboBox cboLauncherVisibility; private javax.swing.JComboBox cboProfiles; private javax.swing.JComboBox cboVersions; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/IOUtils.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/IOUtils.java index a6b8e413c..d72cb6323 100644 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/IOUtils.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/IOUtils.java @@ -16,6 +16,7 @@ */ package org.jackhuang.hellominecraft.utils.system; +import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.Closeable; import java.io.File; @@ -23,6 +24,7 @@ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.io.OutputStream; import java.io.Reader; import java.io.Writer; @@ -33,6 +35,7 @@ import java.net.SocketException; import java.net.URL; import java.net.UnknownHostException; import java.util.ArrayList; +import java.util.List; import org.jackhuang.hellominecraft.HMCLog; /** @@ -164,7 +167,11 @@ public class IOUtils { } public static String getJavaDir() { - String path = System.getProperty("java.home") + File.separatorChar + "bin" + File.separatorChar; + return getJavaDir(System.getProperty("java.home")); + } + + public static String getJavaDir(String home) { + String path = home + File.separatorChar + "bin" + File.separatorChar; path = addSeparator(path); if (OS.os() == OS.WINDOWS && new File(path + "javaw.exe").isFile()) return path + "javaw.exe"; @@ -237,7 +244,7 @@ public class IOUtils { public static String tryGetCanonicalFolderPath(File file) { try { return IOUtils.addSeparator(file.getCanonicalPath()); - } catch (IOException ex) { + } catch (IOException ignored) { return IOUtils.addSeparator(file.getAbsolutePath()); } } @@ -245,7 +252,7 @@ public class IOUtils { public static File tryGetCanonicalFile(File file) { try { return file.getCanonicalFile(); - } catch (IOException ex) { + } catch (IOException ignored) { return file.getAbsoluteFile(); } } @@ -257,7 +264,7 @@ public class IOUtils { public static String tryGetCanonicalFilePath(File file) { try { return file.getCanonicalPath(); - } catch (IOException ex) { + } catch (IOException ignored) { return file.getAbsolutePath(); } } @@ -270,4 +277,30 @@ public class IOUtils { return null; } } + + public static List readProcessByInputStream(String[] cmd) throws IOException, InterruptedException { + JavaProcess jp = new JavaProcess(cmd, new ProcessBuilder(cmd).start(), null); + ArrayList lines = new ArrayList<>(); + try (BufferedReader br = new BufferedReader(new InputStreamReader(jp.getRawProcess().getInputStream()))) { + jp.getRawProcess().waitFor(); + String line; + while((line = br.readLine()) != null) { + lines.add(line); + } + } + return lines; + } + + public static List readProcessByErrorStream(String[] cmd) throws IOException, InterruptedException { + JavaProcess jp = new JavaProcess(cmd, new ProcessBuilder(cmd).start(), null); + ArrayList lines = new ArrayList<>(); + try (BufferedReader br = new BufferedReader(new InputStreamReader(jp.getRawProcess().getErrorStream()))) { + jp.getRawProcess().waitFor(); + String line; + while((line = br.readLine()) != null) { + lines.add(line); + } + } + return lines; + } } diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/Java.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/Java.java new file mode 100644 index 000000000..9c9faf04d --- /dev/null +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/Java.java @@ -0,0 +1,100 @@ +/* + * Copyright 2013 huangyuhui + * + * 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 2 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. + */ +package org.jackhuang.hellominecraft.utils.system; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.jackhuang.hellominecraft.HMCLog; + +/** + * + * @author huangyuhui + */ +public class Java { + String name, home; + + public Java(String name, String home) { + this.name = name; + this.home = home; + } + + public String getName() { + return name; + } + + public String getHome() { + return home; + } + + public String getJava() { + return IOUtils.getJavaDir(getHome()); + } + + @Override + public boolean equals(Object obj) { + if(obj instanceof Java) { + Java j = (Java) obj; + return (j.getName() == null && this.getName() == null) || ((Java) obj).getName().equals(this.getName()); + } + else return false; + } + + @Override + public int hashCode() { + return name.hashCode(); + } + + public static List queryAllJavaHomeInWindowsByReg() { + try { + List ans = new ArrayList<>(); + List javas = queryRegSubFolders("HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Runtime Environment"); + for (String java : javas) { + int s = 0; + for (char c : java.toCharArray()) + if (c == '.') s++; + if (s <= 1) continue; + String javahome = queryRegValue(java, "JavaHome"); + if (javahome != null) + ans.add(new Java(java.substring("HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Runtime Environment\\".length()), javahome)); + } + return ans; + } catch (IOException | InterruptedException ex) { + HMCLog.err("Faield to query java", ex); + return null; + } + } + + private static List queryRegSubFolders(String location) throws IOException, InterruptedException { + String[] cmd = new String[]{"cmd", "/c", "reg", "query", location}; + List l = IOUtils.readProcessByInputStream(cmd); + List ans = new ArrayList<>(); + for (String line : l) + if (line.startsWith(location) && !line.equals(location)) + ans.add(line); + return ans; + } + + private static String queryRegValue(String location, String name) throws IOException, InterruptedException { + String[] cmd = new String[]{"cmd", "/c", "reg", "query", location, "/v", name}; + List l = IOUtils.readProcessByInputStream(cmd); + if (l.size() < 3) return null; + // 18 = 4 spaces + [name.length()] + 4 spaces + "REG_SZ".length()=6 characters + 4 spaces + return l.get(2).substring(18 + name.length()); + } + +} diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/JdkVersion.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/JdkVersion.java index dd6a1fded..32823516c 100644 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/JdkVersion.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/utils/system/JdkVersion.java @@ -16,11 +16,8 @@ */ package org.jackhuang.hellominecraft.utils.system; -import java.io.BufferedReader; import java.io.File; import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.jackhuang.hellominecraft.HMCLog; @@ -154,21 +151,14 @@ public final class JdkVersion { return jdkBit.contains("64"); } - static Pattern p = Pattern.compile("java version \"[1-9]*\\.[1-9]*\\.[0-9]*(.*?)\""); + private static final Pattern p = Pattern.compile("java version \"[1-9]*\\.[1-9]*\\.[0-9]*(.*?)\""); public static JdkVersion getJavaVersionFromExecutable(String file) throws IOException { String[] str = new String[]{file, "-version"}; - ProcessBuilder pb = new ProcessBuilder(str); - JavaProcess jp = new JavaProcess(str, pb.start(), null); - InputStream is = jp.getRawProcess().getErrorStream(); - BufferedReader br = null; - String ver = null; Platform platform = Platform.BIT_32; + String ver = null; try { - br = new BufferedReader(new InputStreamReader(is)); - String line; - jp.getRawProcess().waitFor(); - while ((line = br.readLine()) != null) { + for(String line : IOUtils.readProcessByErrorStream(str)) { Matcher m = p.matcher(line); if (m.find()) { ver = m.group(); @@ -179,9 +169,6 @@ public final class JdkVersion { } } catch (InterruptedException | IOException e) { HMCLog.warn("Failed to get java version", e); - } finally { - if (br != null) - br.close(); } return new JdkVersion(file, ver, platform); } diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N.properties index 1d1dbe9e6..b3358122d 100644 --- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N.properties +++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N.properties @@ -73,6 +73,7 @@ login.not_email=\u7528\u6237\u540d\u5fc5\u987b\u662f\u90ae\u7bb1 login.type=\u767b\u5f55 login.username=\u540d\u5b57 login.account=\u90ae\u7bb1 +login.no_valid_character=\u65e0\u6709\u6548\u7684\u89d2\u8272\uff0c\u81ea\u884c\u5230skinme.cc\u767b\u9646\u5e76\u521b\u5efa\u89d2\u8272 proxy.username=\u8d26\u6237 proxy.password=\u5bc6\u7801 @@ -192,6 +193,8 @@ settings.fullscreen=\u5168\u5c4f settings.update_version=\u66f4\u65b0\u7248\u672c\u6587\u4ef6 settings.physical_memory=\u7269\u7406\u5185\u5b58\u5927\u5c0f settings.choose_javapath=\u9009\u62e9Java\u8def\u5f84 +settings.default=\u9ed8\u8ba4 +settings.custom=\u81ea\u5b9a\u4e49 settings.failed_load=\u8bbe\u7f6e\u6587\u4ef6\u52a0\u8f7d\u5931\u8d25\uff0c\u53ef\u80fd\u662f\u5347\u7ea7\u4e86\u542f\u52a8\u5668\u6216\u88ab\u4eba\u5de5\u4fee\u6539\u9020\u6210\u9519\u8bef\uff0c\u662f\u5426\u6e05\u9664\uff1f diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_en_US.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_en_US.properties index 5f0718a63..e3b773a1d 100644 --- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_en_US.properties +++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_en_US.properties @@ -73,6 +73,7 @@ login.not_email=The username must be a e-mail. login.type=Login login.username=Name login.account=Email +login.no_valid_character=No Valid Character, please visit skinme.cc and create your own character. login.failed.connect_authentication_server=Cannot connect the authentication server. Check your network. @@ -187,6 +188,8 @@ settings.fullscreen=Fullscreen settings.update_version=Update version json. settings.physical_memory=Physical Memory Size settings.choose_javapath=Choose Java Directory. +settings.default=Default +settings.custom=Custom settings.failed_load=Failed to load settings file. Remove it? diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh_CN.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh_CN.properties index 5981a4975..c897a5b40 100644 --- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh_CN.properties +++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh_CN.properties @@ -73,6 +73,7 @@ login.not_email=\u7528\u6237\u540d\u5fc5\u987b\u662f\u90ae\u7bb1 login.type=\u767b\u5f55 login.username=\u540d\u5b57 login.account=\u90ae\u7bb1 +login.no_valid_character=\u65e0\u6709\u6548\u7684\u89d2\u8272\uff0c\u81ea\u884c\u5230skinme.cc\u767b\u9646\u5e76\u521b\u5efa\u89d2\u8272 login.failed.connect_authentication_server=\u65e0\u6cd5\u8fde\u63a5\u8ba4\u8bc1\u670d\u52a1\u5668,\u53ef\u80fd\u662f\u7f51\u7edc\u95ee\u9898 @@ -187,6 +188,8 @@ settings.fullscreen=\u5168\u5c4f settings.update_version=\u66f4\u65b0\u7248\u672c\u6587\u4ef6 settings.physical_memory=\u7269\u7406\u5185\u5b58\u5927\u5c0f settings.choose_javapath=\u9009\u62e9Java\u8def\u5f84 +settings.default=\u9ed8\u8ba4 +settings.custom=\u81ea\u5b9a\u4e49 settings.failed_load=\u8bbe\u7f6e\u6587\u4ef6\u52a0\u8f7d\u5931\u8d25\uff0c\u53ef\u80fd\u662f\u5347\u7ea7\u4e86\u542f\u52a8\u5668\u6216\u88ab\u4eba\u5de5\u4fee\u6539\u9020\u6210\u9519\u8bef\uff0c\u662f\u5426\u6e05\u9664\uff1f diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh_TW.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh_TW.properties index 66aa4fd9d..97a9562b5 100644 --- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh_TW.properties +++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/launcher/I18N_zh_TW.properties @@ -73,6 +73,7 @@ login.not_email=\u7528\u6236\u540d\u5fc5\u9808\u662f\u90f5\u7bb1 login.type=\u767b\u9304 login.username=\u540d\u5b57 login.account=\u90ae\u7bb1 +login.no_valid_character=\u7121\u6709\u6548\u7684\u89d2\u8272\uff0c\u81ea\u884c\u5230skinme.cc\u767b\u9678\u4e26\u5275\u5efa\u89d2\u8272 login.failed.connect_authentication_server=\u7121\u6cd5\u9023\u63a5\u8a8d\u8b49\u670d\u52d9\u5668,\u53ef\u80fd\u662f\u7db2\u7d61\u554f\u984c @@ -187,6 +188,8 @@ settings.fullscreen=\u5168\u5c4f settings.update_version=\u66f4\u65b0\u7248\u672c\u6587\u4ef6 settings.physical_memory=\u7269\u7406\u5185\u5b58\u5927\u5c0f settings.choose_javapath=\u9009\u62e9Java\u8def\u5f84 +settings.default=\u9ed8\u8a8d +settings.custom=\u81ea\u5b9a\u7fa9 settings.failed_load=\u8a2d\u5b9a\u6587\u4ef6\u52a0\u8f09\u5931\u6557\uff0c\u53ef\u80fd\u662f\u5347\u7d1a\u4e86\u555f\u52d5\u5668\u6216\u88ab\u4eba\u5de5\u4fee\u6539\u9020\u6210\u932f\u8aa4\uff0c\u662f\u5426\u6e05\u9664\uff1f diff --git a/HMCSM/build.gradle b/HMCSM/build.gradle index 9b6b97b16..823985c14 100644 --- a/HMCSM/build.gradle +++ b/HMCSM/build.gradle @@ -15,13 +15,16 @@ * along with this program. */ apply plugin: 'launch4j' +apply plugin: 'me.tatarka.retrolambda' if (!hasProperty('mainClass')) { ext.mainClass = 'org.jackhuang.hellominecraft.svrmgr.Main' } +def buildnumber = System.getenv("BUILD_NUMBER") == null ? "" : "."+System.getenv("BUILD_NUMBER") + String mavenGroupId = 'HMCSM' -String mavenVersion = '0.8.6' +String mavenVersion = '0.8.6' + buildnumber String bundleName = "Hello Minecraft! Server Manager" group = mavenGroupId @@ -35,6 +38,7 @@ buildscript { dependencies { classpath 'net.sf.proguard:proguard-gradle:4.10' classpath 'edu.sc.seis.gradle:launch4j:1.0.6' + classpath 'me.tatarka:gradle-retrolambda:3.1.0' } } } @@ -47,6 +51,10 @@ configure(install.repositories.mavenInstaller) { } } +retrolambda { + javaVersion = JavaVersion.VERSION_1_7 +} + dependencies { compile project(":HMCLAPI") compile project(":MetroLookAndFeel") @@ -79,6 +87,7 @@ task proguard(type: proguard.gradle.ProGuardTask, dependsOn: jar) { configuration 'proguard.pro' } + processResources { from(sourceSets.main.resources.srcDirs) { exclude 'icon.icns'