From b559e1ed7254c27853ca492b57d512d86c60ac67 Mon Sep 17 00:00:00 2001 From: HaHaWTH <102713261+HaHaWTH@users.noreply.github.com> Date: Fri, 20 Jun 2025 08:06:42 +1400 Subject: [PATCH] Add missing rewrite rules --- .../0062-Add-missing-rewrite-rules.patch | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 leaf-server/paper-patches/features/0062-Add-missing-rewrite-rules.patch diff --git a/leaf-server/paper-patches/features/0062-Add-missing-rewrite-rules.patch b/leaf-server/paper-patches/features/0062-Add-missing-rewrite-rules.patch new file mode 100644 index 00000000..43921cad --- /dev/null +++ b/leaf-server/paper-patches/features/0062-Add-missing-rewrite-rules.patch @@ -0,0 +1,27 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: HaHaWTH <102713261+HaHaWTH@users.noreply.github.com> +Date: Tue, 9 Nov 2077 00:00:00 +0800 +Subject: [PATCH] Add missing rewrite rules + +Tracking PR: https://github.com/PaperMC/asm-utils/pull/48 + +diff --git a/src/main/java/io/papermc/paper/pluginremap/reflect/ReflectionRemapper.java b/src/main/java/io/papermc/paper/pluginremap/reflect/ReflectionRemapper.java +index a3045afbc0cc057e99189b909367b21cf6a9e03f..2831b8b48a12815f8fb7e82327f654e90d1530a3 100644 +--- a/src/main/java/io/papermc/paper/pluginremap/reflect/ReflectionRemapper.java ++++ b/src/main/java/io/papermc/paper/pluginremap/reflect/ReflectionRemapper.java +@@ -22,7 +22,14 @@ public final class ReflectionRemapper { + private static final RewriteRuleVisitorFactory VISITOR_FACTORY = RewriteRuleVisitorFactory.create( + Opcodes.ASM9, + chain -> chain.then(new BaseReflectionRules(PAPER_REFLECTION_HOLDER).rules()) +- .then(DefineClassRule.create(PAPER_REFLECTION_HOLDER_DESC, true)), ++ // Leaf start - Add missing rewrite rules ++ .then( ++ io.papermc.asm.rules.RewriteRule.forOwnerClass(Class.class, rf -> { ++ rf.plainStaticRewrite(java.lang.constant.ClassDesc.of(PAPER_REFLECTION_HOLDER), b -> b ++ .match("forName").desc("(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;", "(Ljava/lang/Module;Ljava/lang/String;)Ljava/lang/Class;")); ++ }) ++ ).then(DefineClassRule.create(PAPER_REFLECTION_HOLDER_DESC, true)), ++ // Leaf end - Add missing rewrite rules + ClassInfoProvider.basic() + ); +