From 0821b670198cab1a8e6aea64b36e23ca5782d87a Mon Sep 17 00:00:00 2001 From: huangyuhui Date: Tue, 2 Feb 2016 19:12:05 +0800 Subject: [PATCH] Fix snapshot version wrong gathering --- .../liteloader/LiteLoaderVersionList.java | 2 + .../launcher/setting/Profile.java | 5 ++ .../launcher/ui/GameDownloadPanel.form | 7 +-- .../launcher/ui/GameDownloadPanel.java | 7 +-- .../launcher/ui/GameSettingsPanel.form | 61 +++++++++---------- .../launcher/ui/GameSettingsPanel.java | 54 ++++++++-------- .../launcher/ui/InstallerPanel.form | 6 +- .../launcher/ui/InstallerPanel.java | 6 +- .../util/version/MinecraftVersionRequest.java | 4 +- .../hellominecraft/lang/I18N_en.lang | 8 +-- .../hellominecraft/lang/I18N_en.properties | 4 +- 11 files changed, 82 insertions(+), 82 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/install/liteloader/LiteLoaderVersionList.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/install/liteloader/LiteLoaderVersionList.java index b187d4c7c..6bd527627 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/install/liteloader/LiteLoaderVersionList.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/install/liteloader/LiteLoaderVersionList.java @@ -63,6 +63,8 @@ public class LiteLoaderVersionList extends InstallerVersionList { for (Map.Entry arr : root.versions.entrySet()) { ArrayList al = new ArrayList<>(); LiteLoaderMCVersions mcv = arr.getValue(); + if (mcv == null || mcv.artefacts == null || mcv.artefacts.get("com.mumfrey:liteloader") == null) + continue; for (Map.Entry entry : mcv.artefacts.get("com.mumfrey:liteloader").entrySet()) { if ("latest".equals(entry.getKey())) continue; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/setting/Profile.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/setting/Profile.java index 6790abb76..2b4949078 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/setting/Profile.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/setting/Profile.java @@ -60,7 +60,12 @@ public final class Profile { return service; } + private transient final VersionSetting defaultVersionSetting = new VersionSetting(); + public VersionSetting getSelectedVersionSetting() { + String s = getSelectedVersion(); + if (s == null) + return defaultVersionSetting; return getVersionSetting(getSelectedVersion()); } diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameDownloadPanel.form b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameDownloadPanel.form index b3c03362e..220f84fd9 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameDownloadPanel.form +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameDownloadPanel.form @@ -17,13 +17,12 @@ - + - - + + - diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameDownloadPanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameDownloadPanel.java index 02134b36a..95d707f47 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameDownloadPanel.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameDownloadPanel.java @@ -78,12 +78,11 @@ public class GameDownloadPanel extends AnimatedPanel implements Selectable { layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 352, Short.MAX_VALUE) + .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 350, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(btnRefreshGameDownloads, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(btnDownload)) - .addGap(0, 0, 0)) + .addComponent(btnDownload, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(btnRefreshGameDownloads, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameSettingsPanel.form b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameSettingsPanel.form index 67af828f8..36d1228df 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameSettingsPanel.form +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameSettingsPanel.form @@ -23,7 +23,11 @@ - + + + + + @@ -31,8 +35,8 @@ - - + + @@ -68,7 +72,7 @@ - + @@ -88,7 +92,7 @@ - + @@ -355,7 +359,7 @@ - + @@ -559,21 +563,16 @@ - - - - - - - - - - - - - + + + + + - + + + + @@ -587,11 +586,10 @@ - + - + - @@ -731,16 +729,13 @@ - - - - - - - - - - + + + + + + + diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameSettingsPanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameSettingsPanel.java index eb8e5d02f..9324caf09 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameSettingsPanel.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/GameSettingsPanel.java @@ -405,7 +405,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget pnlSettingsLayout.setHorizontalGroup( pnlSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlSettingsLayout.createSequentialGroup() - .addContainerGap() + .addGap(0, 0, 0) .addGroup(pnlSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlSettingsLayout.createSequentialGroup() .addGroup(pnlSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -424,7 +424,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget .addComponent(lblDimensionX) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(txtHeight, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 414, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 402, Short.MAX_VALUE) .addComponent(chkFullscreen)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlSettingsLayout.createSequentialGroup() .addComponent(txtMaxMemory) @@ -557,7 +557,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget pnlAdvancedSettingsLayout.setHorizontalGroup( pnlAdvancedSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlAdvancedSettingsLayout.createSequentialGroup() - .addContainerGap() + .addGap(0, 0, 0) .addGroup(pnlAdvancedSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(txtPrecalledCommand) .addComponent(txtServerIP) @@ -655,17 +655,14 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget pnlModManagementContentLayout.setHorizontalGroup( pnlModManagementContentLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(pnlModManagementContentLayout.createSequentialGroup() - .addGroup(pnlModManagementContentLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(pnlModManagementContentLayout.createSequentialGroup() - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 913, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(pnlModManagementContentLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(btnRemoveMod) - .addComponent(btnAddMod))) - .addGroup(pnlModManagementContentLayout.createSequentialGroup() - .addContainerGap() - .addComponent(lblModInfo, javax.swing.GroupLayout.DEFAULT_SIZE, 1009, Short.MAX_VALUE))) - .addGap(0, 0, 0)) + .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 889, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnlModManagementContentLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(btnRemoveMod, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(btnAddMod, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlModManagementContentLayout.createSequentialGroup() + .addComponent(lblModInfo, javax.swing.GroupLayout.DEFAULT_SIZE, 985, Short.MAX_VALUE) + .addContainerGap()) ); pnlModManagementContentLayout.setVerticalGroup( pnlModManagementContentLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -676,10 +673,9 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(btnRemoveMod) .addGap(0, 0, Short.MAX_VALUE)) - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 272, Short.MAX_VALUE)) + .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 284, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(lblModInfo) - .addContainerGap()) + .addComponent(lblModInfo)) ); javax.swing.GroupLayout pnlModManagementLayout = new javax.swing.GroupLayout(pnlModManagement); @@ -733,14 +729,12 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget .addGroup(pnlSelectionLayout.createSequentialGroup() .addContainerGap() .addGroup(pnlSelectionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(pnlSelectionLayout.createSequentialGroup() - .addComponent(lblProfile) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cboProfiles, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addGroup(pnlSelectionLayout.createSequentialGroup() - .addComponent(lblVersions) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cboVersions, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) + .addComponent(lblVersions) + .addComponent(lblProfile)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnlSelectionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(cboProfiles, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(cboVersions, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) ); pnlSelectionLayout.setVerticalGroup( pnlSelectionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) @@ -852,15 +846,18 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(pnlTop, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(tabVersionEdit) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(tabVersionEdit) + .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(pnlTop, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(tabVersionEdit, javax.swing.GroupLayout.PREFERRED_SIZE, 338, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addComponent(tabVersionEdit) + .addContainerGap()) ); ((NewTabPane)tabVersionEdit).initializing = false; @@ -1235,6 +1232,7 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget public void versionChanged(String version) { this.mcVersion = version; prepareVersionSetting(getProfile().getVersionSetting(version)); + loadMinecraftVersion(version); for (InstallerPanel p : installerPanels) p.loadVersions(); } diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/InstallerPanel.form b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/InstallerPanel.form index fff6903de..b80dde8be 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/InstallerPanel.form +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/InstallerPanel.form @@ -19,9 +19,9 @@ - - - + + + diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/InstallerPanel.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/InstallerPanel.java index fc57dcbcb..00b0db12f 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/InstallerPanel.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/ui/InstallerPanel.java @@ -95,9 +95,9 @@ public class InstallerPanel extends AnimatedPanel implements Selectable { .addGroup(layout.createSequentialGroup() .addComponent(jScrollPane12, javax.swing.GroupLayout.DEFAULT_SIZE, 292, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(btnInstall, javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(btnRefresh, javax.swing.GroupLayout.Alignment.TRAILING))) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addComponent(btnRefresh, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(btnInstall, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/util/version/MinecraftVersionRequest.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/util/version/MinecraftVersionRequest.java index 074fb7544..6481a3687 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/util/version/MinecraftVersionRequest.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/util/version/MinecraftVersionRequest.java @@ -139,7 +139,9 @@ public class MinecraftVersionRequest { return r; } int k = i; - while (tmp[k] >= 48 && tmp[k] <= 57 || tmp[k] == 46) + if (tmp[i + 1] >= (int) 'a' && tmp[i + 1] <= (int) 'z') + i++; + while (tmp[k] >= 48 && tmp[k] <= 57 || tmp[k] == (int) '.' || tmp[k] == (int) 'w') k--; k++; r.version = new String(tmp, k, i - k + 1); diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_en.lang b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_en.lang index 8696016da..68300e6d1 100755 --- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_en.lang +++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_en.lang @@ -239,14 +239,14 @@ mods.default_information=Please ensure that you have i advancedsettings=Advanced advancedsettings.launcher_visible=Launcher Visibility advancedsettings.debug_mode=Debug Mode -advancedsettings.java_permanent_generation_space=Permanent Generation Space/MB +advancedsettings.java_permanent_generation_space=PermGen Space/MB advancedsettings.jvm_args=Java VM Arguments advancedsettings.Minecraft_arguments=Minecraft Arguments advancedsettings.launcher_visibility.close=Close the launcher when the game launched. advancedsettings.launcher_visibility.hide=Hide the launcher when the game launched. advancedsettings.launcher_visibility.keep=Keep the launcher visible. advancedsettings.game_dir.default=Default (.minecraft/) -advancedsettings.game_dir.independent=Independent (.minecraft/versions//,\u9664assets,libraries) +advancedsettings.game_dir.independent=Independent (.minecraft/versions//,除assets,libraries) advancedsettings.no_jvm_args=No JVM Args advancedsettings.java_args_default=Default java args: -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -XX:MaxPermSize=???m -Xmx???m -Dfml.ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true advancedsettings.wrapper_launcher=Wrapper Launcher(like optirun...) @@ -260,7 +260,7 @@ mainwindow.enter_script_name=Enter the script name. mainwindow.make_launch_succeed=Finished script creation. mainwindow.no_version=No version found. Switch to Game Downloads Tab? -launcher.about=About Author
\nEmail\uff1ahuanghongxun2008@126.com
\nMinecraft Forum ID: klkl6523
\nCopyright (c) 2013 huangyuhui
Opened source under GPL v3 license:http://github.com/huanghongxun/HMCL/
This software used project Gson which is under Apache License 2.0, thanks contributors. +launcher.about=About Author
\nEmail:huanghongxun2008@126.com
\nMinecraft Forum ID: klkl6523
\nCopyright (c) 2013 huangyuhui
Opened source under GPL v3 license:http://github.com/huanghongxun/HMCL/
This software used project Gson which is under Apache License 2.0, thanks contributors. launcher.download_source=Download Source launcher.background_location=Background Location launcher.exit_failed=Failed to shutdown. @@ -315,7 +315,7 @@ taskwindow.total_progress=Total progress taskwindow.cancel=Cancel taskwindow.no_more_instance=Maybe you opened more than one task window, dont open it again! taskwindow.file_name=Task -taskwindow.download_progress=Progress +taskwindow.download_progress=Pgs. setupwindow.include_minecraft=Import game setupwindow.find_in_configurations=Finished importing. You can find it in the configuration selection bar. diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_en.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_en.properties index 8696016da..9cabc1f00 100755 --- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_en.properties +++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_en.properties @@ -239,7 +239,7 @@ mods.default_information=Please ensure that you have i advancedsettings=Advanced advancedsettings.launcher_visible=Launcher Visibility advancedsettings.debug_mode=Debug Mode -advancedsettings.java_permanent_generation_space=Permanent Generation Space/MB +advancedsettings.java_permanent_generation_space=PermGen Space/MB advancedsettings.jvm_args=Java VM Arguments advancedsettings.Minecraft_arguments=Minecraft Arguments advancedsettings.launcher_visibility.close=Close the launcher when the game launched. @@ -315,7 +315,7 @@ taskwindow.total_progress=Total progress taskwindow.cancel=Cancel taskwindow.no_more_instance=Maybe you opened more than one task window, dont open it again! taskwindow.file_name=Task -taskwindow.download_progress=Progress +taskwindow.download_progress=Pgs. setupwindow.include_minecraft=Import game setupwindow.find_in_configurations=Finished importing. You can find it in the configuration selection bar.