-
-
Notifications
You must be signed in to change notification settings - Fork 44
/
PatchHook.java
35 lines (29 loc) · 1.16 KB
/
PatchHook.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package nallar.tickthreading.patcher;
import nallar.tickthreading.PatchLog;
import java.lang.reflect.*;
public class PatchHook {
private static Patcher patcher;
static {
try {
Class<?> clazz = Class.forName("cpw.mods.fml.relauncher.ServerLaunchWrapper");
try {
Field field = clazz.getDeclaredField("startupArgs");
field.set(null, PatchLauncher.startupArgs);
} catch (NoSuchFieldError ignored) { }
} catch (Throwable t) {
PatchLog.severe("Failed to set up MCPC+ startup args. This is only a problem if you are using MCPC+", t);
}
try {
patcher = new Patcher(PatchLauncher.class.getResourceAsStream("/patches.xml"), Patches.class);
} catch (Throwable t) {
PatchLog.severe("Failed to create Patcher", t);
System.exit(1);
}
}
public static byte[] preSrgTransformationHook(String name, String transformedName, byte[] originalBytes) {
return patcher.preSrgTransformation(name, transformedName, originalBytes);
}
public static byte[] postSrgTransformationHook(String name, String transformedName, byte[] originalBytes) {
return patcher.postSrgTransformation(name, transformedName, originalBytes);
}
}