mirror of
https://github.com/GTNewHorizons/Angelica.git
synced 2026-11-11 07:57:52 +00:00
58 lines
1.6 KiB
Java
58 lines
1.6 KiB
Java
package shadersmodcore.loading;
|
|
|
|
import java.io.File;
|
|
import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
|
|
import net.minecraft.launchwrapper.ITweaker;
|
|
import net.minecraft.launchwrapper.Launch;
|
|
import net.minecraft.launchwrapper.LaunchClassLoader;
|
|
|
|
public class SMCTweaker implements ITweaker {
|
|
public List<String> args;
|
|
public File gameDir;
|
|
public File assetsDir;
|
|
public String version;
|
|
|
|
@Override
|
|
public void acceptOptions(List<String> args, File gameDir, File assetsDir, String version) {
|
|
this.args = args;
|
|
this.gameDir = gameDir;
|
|
this.assetsDir = assetsDir;
|
|
this.version = version;
|
|
}
|
|
|
|
@Override
|
|
public void injectIntoClassLoader(LaunchClassLoader launchClassLoader) {
|
|
launchClassLoader.addTransformerExclusion("shadersmodcore.loading.");
|
|
launchClassLoader.addTransformerExclusion("shadersmodcore.transform.");
|
|
launchClassLoader.registerTransformer("shadersmodcore.transform.SMCClassTransformer");
|
|
}
|
|
|
|
@Override
|
|
public String[] getLaunchArguments() {
|
|
ArrayList argumentList = (ArrayList)Launch.blackboard.get("ArgumentList");
|
|
if (argumentList.isEmpty()) {
|
|
List<String> argsList = new ArrayList();
|
|
if (gameDir != null) {
|
|
argumentList.add("--gameDir");
|
|
argumentList.add(gameDir.getPath());
|
|
}
|
|
if (assetsDir != null) {
|
|
argumentList.add("--assetsDir");
|
|
argumentList.add(assetsDir.getPath());
|
|
}
|
|
argumentList.add("--version");
|
|
argumentList.add(version);
|
|
argumentList.addAll(args);
|
|
}
|
|
return new String[0];
|
|
}
|
|
|
|
@Override
|
|
public String getLaunchTarget() {
|
|
return "net.minecraft.client.main.Main";
|
|
}
|
|
}
|