alt: merge dependency resolving and modpack launching stage
This commit is contained in:
@@ -130,25 +130,25 @@ public final class LauncherHelper {
|
|||||||
|
|
||||||
TaskExecutor executor = Task.runAsync(() -> {
|
TaskExecutor executor = Task.runAsync(() -> {
|
||||||
})
|
})
|
||||||
.thenComposeAsync(() -> Task.composeAsync(() -> {
|
.thenComposeAsync(() -> Task.allOf(
|
||||||
if (setting.isNotCheckGame())
|
Task.composeAsync(null, () -> {
|
||||||
return null;
|
if (setting.isNotCheckGame())
|
||||||
else
|
return null;
|
||||||
return dependencyManager.checkGameCompletionAsync(version);
|
else
|
||||||
}).withStage("launch.state.dependencies"))
|
return dependencyManager.checkGameCompletionAsync(version);
|
||||||
.thenComposeAsync(() -> Task.composeAsync(null, () -> {
|
}), Task.composeAsync(null, () -> {
|
||||||
try {
|
try {
|
||||||
ModpackConfiguration<?> configuration = ModpackHelper.readModpackConfiguration(repository.getModpackConfiguration(selectedVersion));
|
ModpackConfiguration<?> configuration = ModpackHelper.readModpackConfiguration(repository.getModpackConfiguration(selectedVersion));
|
||||||
if ("Curse".equals(configuration.getType()))
|
if ("Curse".equals(configuration.getType()))
|
||||||
return new CurseCompletionTask(dependencyManager, selectedVersion);
|
return new CurseCompletionTask(dependencyManager, selectedVersion);
|
||||||
else if ("Server".equals(configuration.getType()))
|
else if ("Server".equals(configuration.getType()))
|
||||||
return new ServerModpackCompletionTask(dependencyManager, selectedVersion);
|
return new ServerModpackCompletionTask(dependencyManager, selectedVersion);
|
||||||
else
|
else
|
||||||
return null;
|
return null;
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}).withStage("launch.state.modpack"))
|
})).withStage("launch.state.dependencies"))
|
||||||
.thenComposeAsync(() -> Task.supplyAsync((String) null, () -> {
|
.thenComposeAsync(() -> Task.supplyAsync((String) null, () -> {
|
||||||
try {
|
try {
|
||||||
return account.logIn();
|
return account.logIn();
|
||||||
@@ -202,7 +202,6 @@ public final class LauncherHelper {
|
|||||||
.cancellableExecutor();
|
.cancellableExecutor();
|
||||||
executor.setStages(new LocalizedTaskStages(Lang.immutableListOf(
|
executor.setStages(new LocalizedTaskStages(Lang.immutableListOf(
|
||||||
"launch.state.dependencies",
|
"launch.state.dependencies",
|
||||||
"launch.state.modpack",
|
|
||||||
"launch.state.logging_in",
|
"launch.state.logging_in",
|
||||||
"launch.state.waiting_launching")));
|
"launch.state.waiting_launching")));
|
||||||
launchingStepsPane.setExecutor(executor, false);
|
launchingStepsPane.setExecutor(executor, false);
|
||||||
|
|||||||
@@ -29,8 +29,6 @@ import org.jackhuang.hmcl.task.TaskExecutor;
|
|||||||
import org.jackhuang.hmcl.task.TaskListener;
|
import org.jackhuang.hmcl.task.TaskListener;
|
||||||
import org.jackhuang.hmcl.ui.FXUtils;
|
import org.jackhuang.hmcl.ui.FXUtils;
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
@@ -74,7 +72,7 @@ public class TaskExecutorDialogPane extends StackPane {
|
|||||||
double finalSpeed = speed;
|
double finalSpeed = speed;
|
||||||
String finalUnit = unit;
|
String finalUnit = unit;
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
lblProgress.setText(String.format("%.1f", finalSpeed) + " " + finalUnit);
|
lblProgress.setText(String.format("%.1f %s", finalSpeed, finalUnit));
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
FileDownloadTask.speedEvent.channel(FileDownloadTask.SpeedEvent.class).registerWeak(speedEventHandler);
|
FileDownloadTask.speedEvent.channel(FileDownloadTask.SpeedEvent.class).registerWeak(speedEventHandler);
|
||||||
|
|||||||
Reference in New Issue
Block a user