Auto-refresh versions after installing

This commit is contained in:
huangyuhui 2016-02-02 19:39:20 +08:00
parent 0821b67019
commit 06d15b045e
6 changed files with 22 additions and 12 deletions

View File

@ -97,6 +97,8 @@ public class ForgeInstaller extends Task {
while ((c = is.read()) != -1)
bos.write((byte) c);
}
mp.version().refreshVersions();
}
@Override

View File

@ -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

View File

@ -76,6 +76,8 @@ public class OptiFineInstaller extends Task implements PreviousResultRegistrar<F
loc.mkdirs();
File json = new File(loc, mv.id + ".json");
FileUtils.writeStringToFile(json, C.GSON.toJson(mv, MinecraftVersion.class));
service.version().refreshVersions();
}
@Override

View File

@ -66,7 +66,7 @@ import org.jackhuang.hellominecraft.util.system.Java;
*
* @author huangyuhui
*/
public final class GameSettingsPanel extends AnimatedPanel implements DropTargetListener, Event<String> {
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<Void> 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();
}
// </editor-fold>
@ -1318,4 +1316,10 @@ public final class GameSettingsPanel extends AnimatedPanel implements DropTarget
private final javax.swing.JPanel pnlGameDownloads;
// </editor-fold>
Event<String> selectedVersionChangedEvent = (Object sender, String e) -> {
versionChanged(e);
cboVersions.setToolTipText(e);
return true;
};
}

View File

@ -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/<version name>/,assets,libraries)
advancedsettings.game_dir.independent=Independent (.minecraft/versions/<version name>/, 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...)

View File

@ -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/<version name>/,\u9664assets,libraries)
advancedsettings.game_dir.independent=Independent (.minecraft/versions/<version name>/, 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...)