add a wrapper to catch some uncaught exception
This commit is contained in:
parent
b0e686bc88
commit
7f7e53553a
Binary file not shown.
|
@ -150,6 +150,14 @@ public final class LauncherHelper {
|
|||
}
|
||||
return null;
|
||||
})
|
||||
.thenComposeAsync(() -> {
|
||||
try (InputStream input = LauncherHelper.class.getResourceAsStream("/assets/game/MioLaunchWrapper.jar")) {
|
||||
Files.copy(input, new File(FCLPath.MIO_LAUNCH_WRAPPER).toPath(), StandardCopyOption.REPLACE_EXISTING);
|
||||
} catch (IOException e) {
|
||||
Logging.LOG.log(Level.WARNING, "Unable to unpack MioLaunchWrapper.jar", e);
|
||||
}
|
||||
return null;
|
||||
})
|
||||
.thenComposeAsync(() -> gameVersion.map(s -> new GameVerificationFixTask(dependencyManager, s, version.get())).orElse(null))
|
||||
.thenComposeAsync(() -> logIn(context, account).withStage("launch.state.logging_in"))
|
||||
.thenComposeAsync(authInfo -> Task.supplyAsync(() -> {
|
||||
|
|
|
@ -168,7 +168,7 @@ public class DefaultLauncher extends Launcher {
|
|||
}
|
||||
|
||||
Set<String> classpath = repository.getClasspath(version);
|
||||
|
||||
classpath.add(FCLPath.MIO_LAUNCH_WRAPPER);
|
||||
File jar = new File(repository.getVersionRoot(version.getId()), version.getId() + ".jar");
|
||||
// if (!jar.exists() || !jar.isFile())
|
||||
// throw new IOException("Minecraft jar does not exist");
|
||||
|
@ -192,6 +192,7 @@ public class DefaultLauncher extends Launcher {
|
|||
res.add("-javaagent:" + javaAgent);
|
||||
}
|
||||
|
||||
res.add("mio.Wrapper");
|
||||
res.add(version.getMainClass());
|
||||
|
||||
res.addAll(Arguments.parseStringArguments(version.getMinecraftArguments().map(StringUtils::tokenize).orElseGet(ArrayList::new), configuration));
|
||||
|
|
|
@ -34,6 +34,7 @@ public class FCLPath {
|
|||
|
||||
public static String AUTHLIB_INJECTOR_PATH;
|
||||
public static String MULTIPLAYER_FIX_PATH;
|
||||
public static String MIO_LAUNCH_WRAPPER;
|
||||
public static String LT_BACKGROUND_PATH;
|
||||
public static String DK_BACKGROUND_PATH;
|
||||
|
||||
|
@ -64,6 +65,7 @@ public class FCLPath {
|
|||
|
||||
AUTHLIB_INJECTOR_PATH = PLUGIN_DIR + "/authlib-injector.jar";
|
||||
MULTIPLAYER_FIX_PATH = PLUGIN_DIR + "/MultiplayerFix.jar";
|
||||
MIO_LAUNCH_WRAPPER = PLUGIN_DIR + "/MioLaunchWrapper.jar";
|
||||
LT_BACKGROUND_PATH = BACKGROUND_DIR + "/lt.png";
|
||||
DK_BACKGROUND_PATH = BACKGROUND_DIR + "/dk.png";
|
||||
|
||||
|
|
Loading…
Reference in New Issue