From 64758231802bab29b1d5a1487ab9e1d03aa8b671 Mon Sep 17 00:00:00 2001 From: IzzelAliz Date: Sat, 6 Feb 2021 14:00:14 +0800 Subject: [PATCH] Update define class hook --- .../util/remapper/generated/ArclightReflectionHandler.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/remapper/generated/ArclightReflectionHandler.java b/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/remapper/generated/ArclightReflectionHandler.java index 14a6603a..c9f95ffe 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/remapper/generated/ArclightReflectionHandler.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mod/util/remapper/generated/ArclightReflectionHandler.java @@ -225,6 +225,10 @@ public class ArclightReflectionHandler extends ClassLoader { public static Object redirectDefineClassInvoke(Method method, Object src, Object[] param) throws Exception { if (method.getDeclaringClass() == ArclightReflectionHandler.class && method.getName().equals("defineClass")) { + Class[] classes = new Class[method.getParameterCount() + 1]; + classes[0] = ClassLoader.class; + System.arraycopy(method.getParameterTypes(), 0, classes, 1, method.getParameterCount()); + method = ArclightReflectionHandler.class.getMethod(method.getName(), classes); Object[] args = new Object[param.length + 1]; args[0] = src; System.arraycopy(param, 0, args, 1, param.length);