Skip to content

Commit 6464d81

Browse files
committed
feat: 优化代码
1 parent e74db72 commit 6464d81

File tree

3 files changed

+13
-24
lines changed

3 files changed

+13
-24
lines changed

HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameRepository.java

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@
6060

6161
public final class HMCLGameRepository extends DefaultGameRepository {
6262
private final Profile profile;
63-
private QuickPlayOption quickPlayOption;
6463

6564
// local version settings
6665
private final Map<String, VersionSetting> localVersionSettings = new HashMap<>();
@@ -111,13 +110,6 @@ public Stream<Version> getDisplayVersions() {
111110
.thenComparing(v -> VersionNumber.asVersion(v.getId())));
112111
}
113112

114-
public QuickPlayOption getQuickPlayOption() {
115-
return quickPlayOption;
116-
}
117-
118-
public void setQuickPlayOption(QuickPlayOption quickPlayOption) {
119-
this.quickPlayOption = quickPlayOption;
120-
}
121113

122114
@Override
123115
protected void refreshVersionsImpl() {
@@ -397,6 +389,11 @@ public void globalizeVersionSetting(String id) {
397389
}
398390

399391
public LaunchOptions getLaunchOptions(String version, JavaRuntime javaVersion, Path gameDir, List<String> javaAgents, List<String> javaArguments, boolean makeLaunchScript) {
392+
return getLaunchOptions(version, javaVersion, gameDir, javaAgents, javaArguments, makeLaunchScript, null);
393+
}
394+
395+
396+
public LaunchOptions getLaunchOptions(String version, JavaRuntime javaVersion, Path gameDir, List<String> javaAgents, List<String> javaArguments, boolean makeLaunchScript, QuickPlayOption quickPlayOption) {
400397
VersionSetting vs = getVersionSetting(version);
401398

402399
LaunchOptions.Builder builder = new LaunchOptions.Builder()
@@ -444,10 +441,10 @@ public LaunchOptions getLaunchOptions(String version, JavaRuntime javaVersion, P
444441
.setJavaArguments(javaArguments);
445442

446443
if (quickPlayOption != null) {
447-
switch (quickPlayOption.type) {
448-
case SINGLEPLAYER -> builder.setWorldFolderName(quickPlayOption.target);
449-
case MULTIPLAYER -> builder.setServerIp(quickPlayOption.target);
450-
case REALM -> builder.setRealmID(quickPlayOption.target);
444+
switch (quickPlayOption.type()) {
445+
case SINGLEPLAYER -> builder.setWorldFolderName(quickPlayOption.target());
446+
case MULTIPLAYER -> builder.setServerIp(quickPlayOption.target());
447+
case REALM -> builder.setRealmID(quickPlayOption.target());
451448
}
452449
quickPlayOption = null;
453450
}

HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public final class LauncherHelper {
8181
private final VersionSetting setting;
8282
private LauncherVisibility launcherVisibility;
8383
private boolean showLogs;
84-
private String worldFolderName;
84+
private QuickPlayOption quickPlayOption;
8585

8686
public LauncherHelper(Profile profile, Account account, String selectedVersion) {
8787
this.profile = Objects.requireNonNull(profile);
@@ -113,8 +113,7 @@ public void setKeep() {
113113
}
114114

115115
public void setQuickEnterWorld(String worldFolderName) {
116-
//this.worldFolderName = worldFolderName;
117-
profile.getRepository().setQuickPlayOption(new QuickPlayOption(QuickPlayOption.Type.SINGLEPLAYER, worldFolderName));
116+
quickPlayOption = new QuickPlayOption(QuickPlayOption.Type.SINGLEPLAYER, worldFolderName);
118117
}
119118

120119
public void launch() {
@@ -195,7 +194,7 @@ private void launch0() {
195194
.thenComposeAsync(() -> logIn(account).withStage("launch.state.logging_in"))
196195
.thenComposeAsync(authInfo -> Task.supplyAsync(() -> {
197196
LaunchOptions launchOptions = repository.getLaunchOptions(
198-
selectedVersion, javaVersionRef.get(), profile.getGameDir(), javaAgents, javaArguments, scriptFile != null);
197+
selectedVersion, javaVersionRef.get(), profile.getGameDir(), javaAgents, javaArguments, scriptFile != null, quickPlayOption);
199198

200199
LOG.info("Here's the structure of game mod directory:\n" + FileUtils.printFileStructure(repository.getModsDirectory(selectedVersion), 10));
201200

HMCL/src/main/java/org/jackhuang/hmcl/game/QuickPlayOption.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
11
package org.jackhuang.hmcl.game;
22

3-
public class QuickPlayOption {
4-
Type type;
5-
String target;
6-
7-
public QuickPlayOption(Type type, String target) {
8-
this.type = type;
9-
this.target = target;
10-
}
3+
public record QuickPlayOption(Type type, String target) {
114

125
enum Type {
136
SINGLEPLAYER, MULTIPLAYER, REALM

0 commit comments

Comments
 (0)