diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/install/forge/ForgeInstaller.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/install/forge/ForgeInstaller.java index 6311f3489..fa7703026 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/install/forge/ForgeInstaller.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/install/forge/ForgeInstaller.java @@ -97,6 +97,8 @@ public class ForgeInstaller extends Task { while ((c = is.read()) != -1) bos.write((byte) c); } + + mp.version().refreshVersions(); } @Override diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/install/liteloader/LiteLoaderInstaller.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/install/liteloader/LiteLoaderInstaller.java index e3129f5ff..5e555f67f 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/install/liteloader/LiteLoaderInstaller.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/install/liteloader/LiteLoaderInstaller.java @@ -79,6 +79,8 @@ public class LiteLoaderInstaller extends Task implements PreviousResultRegistrar File json = new File(folder, mv.id + ".json"); HMCLog.log("Creating new version profile..." + mv.id + ".json"); FileUtils.write(json, C.GSON.toJson(mv)); + + service.version().refreshVersions(); } @Override diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/install/optifine/OptiFineInstaller.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/install/optifine/OptiFineInstaller.java index b0bc2e20f..0f66a47d9 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/install/optifine/OptiFineInstaller.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/install/optifine/OptiFineInstaller.java @@ -76,6 +76,8 @@ public class OptiFineInstaller extends Task implements PreviousResultRegistrar { +public final class GameSettingsPanel extends AnimatedPanel implements DropTargetListener { boolean isLoading = false; public MinecraftVersionRequest minecraftVersion; @@ -891,13 +891,6 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget getProfile().setSelectedMinecraftVersion(mcv); }//GEN-LAST:event_cboVersionsItemStateChanged - @Override - public boolean call(Object sender, String mcv) { - versionChanged(mcv); - cboVersions.setToolTipText(mcv); - return true; - } - private void btnRefreshVersionsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnRefreshVersionsActionPerformed refreshVersions(); }//GEN-LAST:event_btnRefreshVersionsActionPerformed @@ -1100,10 +1093,16 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget return getProfile().getSelectedVersion(); } + Event onRefreshedVersions = (sender, e) -> { + loadVersions(); + return true; + }; + void prepareProfile(Profile profile) { if (profile == null) return; - profile.selectedVersionChangedEvent.register(this); + profile.selectedVersionChangedEvent.register(selectedVersionChangedEvent); + profile.service().version().onRefreshedVersions.register(onRefreshedVersions); txtGameDir.setText(profile.getGameDir()); loadVersions(); @@ -1204,7 +1203,6 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget void refreshVersions() { getProfile().service().version().refreshVersions(); - loadVersions(); } // @@ -1318,4 +1316,10 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget private final javax.swing.JPanel pnlGameDownloads; // + + Event selectedVersionChangedEvent = (Object sender, String e) -> { + versionChanged(e); + cboVersions.setToolTipText(e); + return true; + }; } 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 68300e6d1..47613ad26 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 @@ -246,7 +246,7 @@ advancedsettings.launcher_visibility.close=Close the launcher when the game laun 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//,除assets,libraries) +advancedsettings.game_dir.independent=Independent (.minecraft/versions//, except 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...) 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 9cabc1f00..d7d07f3fa 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 @@ -246,7 +246,7 @@ advancedsettings.launcher_visibility.close=Close the launcher when the game laun 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//, except 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...)