-
Notifications
You must be signed in to change notification settings - Fork 22
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Support being called as Java-Agent would enable Packwiz-Installer to be used on:
- Launchers that has incorrect handling of
$INST_JAVA, meaning they can't start packwiz-installer from pre-launch commands reliably (HMCL / PCL2) - Launchers that don't support pre-launch commands (Mojang Launcher, IIRC?)
Currently there's a community workaround for the aforementioned issues ("packwiz-installer-bootstrap-wrapper") by teacon.org:
package org.teacon.codenamed;
import java.io.File;
import java.lang.instrument.Instrumentation;
public class JavaAgentEntryPoint {
public static void premain(String args, Instrumentation inst) {
String javaExecutable = System.getProperty("java.home") + System.getProperty("java.home") + "bin" + File.separator;
if (System.getProperty("os.name").startsWith("Win")) {
javaExecutable = javaExecutable + "javaw.exe";
} else {
javaExecutable = javaExecutable + "java";
}
try {
Process p = (new ProcessBuilder(new String[] { javaExecutable, "-jar", "packwiz-installer-bootstrap.jar", "--bootstrap-main-jar", "packwiz-installer.jar", "--bootstrap-no-update", args })).inheritIO().start();
int exitCode;
if ((exitCode = p.waitFor()) != 0)
throw new RuntimeException("Process exit status is " + exitCode + ", meaning an error has occurred.");
} catch (Exception e) {
throw new RuntimeException("Game failed to launch, see console output for details.", e);
}
}
}Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request